1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Shadowigor

Beiträge von Shadowigor

  • Label und $GUI_WS_EX_PARENTDRAG

    • Shadowigor
    • 9. Oktober 2011 um 00:12

    Funktioniert es nicht wenn du das einfach beim ex-stil einfügst. Dem sollte doch egal sein ob das transparent ist oder nicht.

  • Anfängerfrage bezüglich ShellExecute

    • Shadowigor
    • 7. Oktober 2011 um 23:52

    Sieh dir mal den @error an nach dem ShellExecute. Wenn der i.O. ist, weis ich auch nicht. Liegts vielleicht am Spiel?

  • Textdateien oder solche die Text enthalten, nach Werten durchsuchen und durch andere Werte ersetzen..

    • Shadowigor
    • 7. Oktober 2011 um 17:56

    Versuchs mal so:

    Spoiler anzeigen
    [autoit]

    $aTxt = _FileReadToArray($IN_Path, $aRecords)

    [/autoit] [autoit][/autoit] [autoit]

    If Not $sTxt Then
    MsgBox(4096, "Fehler", "Fehler beim Einlesen der Datei in das Array!" & @CRLF & "Fehlercode: " & @error)
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $aTxt[0] - 1
    $aTxt[$i] = StringReplace($aTxt[$i], $Old_P, $New_P)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _FileWriteFromArray($New_Path, $aRecords, 1)

    [/autoit]


    Ist halt etwas umständlich aber wenns nur so funktioniert...

    Und das mit der 8 am anfang ist, weil _FileReadToArray im ersten Element die Anzahl der eingelesenen Zeilen hat. Und die hast du dann auch noch reingeschrieben.

  • Textdateien oder solche die Text enthalten, nach Werten durchsuchen und durch andere Werte ersetzen..

    • Shadowigor
    • 7. Oktober 2011 um 17:08

    Ok, das heisst, dass er das File nicht öffnen kann. Ich vermute, dass das File gar nicht existiert. Überprüfe nochmal den Pfad den du eingegeben hast. Falls der definitiv stimmt, liegt es vielleicht daran:
    Zitat aus der Hilfe:
    "Das Öffnen einer Datei kann möglicherweise fehlschlagen, durch fehlende Zugriffsrechte oder Attribute."
    Das solltest du auch noch überprüfen. Sonst weis ich auch gerade nicht mehr weiter.

  • Textdateien oder solche die Text enthalten, nach Werten durchsuchen und durch andere Werte ersetzen..

    • Shadowigor
    • 7. Oktober 2011 um 16:29

    Ich hoffe die Kommentare sind dir Erklärung genug. Und sonst sagst dus einfach.

    Spoiler anzeigen
    [autoit]

    $hOld = FileOpen($Origin, 0) ; So öffnest du das alte File,
    $hNew = FileOpen($New_Path, 2) ; und das neue File. Mit dem Flag = 0 öffnest du es zum lesen und
    ; mit dem Flag = 2 öffnsest du es zum schreiben und löschst den vorherigen Inhalt

    $sOld = FileRead($hOld) ; Hier liest du das alte File komplett ein
    $sNew = StringReplace($sOld, $Old_P, $New_P) ; Um dann hier den Inhalt des Files zu prüfen und $Old_P durch $New_P zu ersetzen
    FileWrite($hNew, $sNew) ; Nach dem ersetzen schreibst du den erhaltenen Text in das neue File

    FileClose($hOld) ; Zum schluss die Files wider schliessen
    FileClose($hNew)

    MsgBox(0, "Fertig!", "Vorgang abgeschlossen!") ; Und vielleicht noch mitteilen, dass du Fertig bist. z.B. so.

    [/autoit]


    Gruss Shadowigor

  • Anfängerfrage bezüglich ShellExecute

    • Shadowigor
    • 6. Oktober 2011 um 23:08

    Vermutlich kannst du bei Workingdir nicht "" nehmen. Probiers mal mit Default:

    Run("D:/Spiele/Fifa 12/Game/set.exe", Default, @SW_MAXIMIZE)

  • Anfängerfrage bezüglich ShellExecute

    • Shadowigor
    • 6. Oktober 2011 um 21:58

    Das könnte daran liegen, dass du ein Leerzeichen im Pfad hast. So sollte es gehen:

    ShellExecute("D:/Spiele/Fifa" & Chr(32) & "12/Game/set.exe", "", @SW_MAXIMIZE)

    Hab das Problem auch schon gehabt. Bin mir aber nicht mehr sicher ob genau das die lösung war.

  • Client und Server Anwendung

    • Shadowigor
    • 6. Oktober 2011 um 21:51

    Also. Serverseitig siehts gut aus. Auf der Client Seite müsstest du aber noch was ändern.
    Du frägst wahrscheinlich zu schnell TCPRecv ab. Wenn du TCPRecv sofort und nur einmal abfrägst hat es der Server noch überhaupt nicht gesendet.
    Ich würde es so machen (einfach dort einsetzen wo du auskommentiert hast):

    Spoiler anzeigen
    [autoit]

    If $Data = "Space" Then
    Do
    $incomming = TCPRecv($ConnectedSocket, 2048)
    Until $incomming <> ""
    ;$incomming = StringSplit($incomming, "|") Geht nicht gut. Du würdest sonst das ganze Arrray in der MsgBox anzeigen wollen.
    MsgBox(0, "Incoming Message", $incomming)
    $incomming = ""
    EndIf

    [/autoit]


    Sollte funktionieren.

    Gruss Shadowigor

  • Anfängerfrage bezüglich ShellExecute

    • Shadowigor
    • 6. Oktober 2011 um 21:38

    Wenn du das Passwort beim ersten mal richtig eingibst, kommt er gar nicht in die Schleife. Du machst es am besten so:

    [autoit]


    $input = "" ; Dann kommt er sicher in die Schleife
    $passwort = "fifa12tl050493"
    while ($input <> $passwort)
    if($input = $passwort) Then
    ShellExecute("D:/Spiele/Fifa 12/Game/set.exe", "", @SW_MAXIMIZE)
    Else
    $input = InputBox("Password-Abfrage", "Bitte Passwort eingeben:")
    EndIf
    ;Sleep(200); Kann weggelassen werden. Bringt gar nichts.
    WEnd

    [/autoit]

    Gruss Shadowigor

  • GUI schließen

    • Shadowigor
    • 6. Oktober 2011 um 17:23

    Also das sollte nur passieren wenn du gar nichts machst, aber wenn du auf das X drückst sollte da nicht 0 sein.

  • GUI schließen

    • Shadowigor
    • 6. Oktober 2011 um 17:08

    Mit GuiGetMsg(1) bekommst du ein Array in dem auch das GUI, welches die Meldung sendet enthalten ist. Einfach mal die Hilfe anschauen.

  • Variable in Body einer E-Mail einfügen

    • Shadowigor
    • 6. Oktober 2011 um 15:26

    Zitat aus der Hilfe:
    "$as_Body [optional] Baut den Inhalt der Email als 1-dimensionales Array aus Strings auf. Jeder Wert innerhalb des Arrays wird in der Email mit @CRLF beendet."

    $as_Body muss also ein Array aus Strings sein und nicht ein einzelner String. Am besten machst du das also so:
    $as_Body = StringSplit($rueckgabe, @CRLF, 2)

    Und bei dieser Funktion liegt es definitiv nicht an Lotus Notes.

    Gruss Shadowigor

  • Variable in Body einer E-Mail einfügen

    • Shadowigor
    • 5. Oktober 2011 um 20:33

    Wie Schnuffel schon gesagt hat, bei mir funktioniert es auch. Aber bei dir scheint ja gar nichts zu gehen. Kann es sein das es an Outlook liegt? Hast du schon mal probiert ein weiteres Script zu schreiben, in dem du nur ein E-Mail sendest mit einem definierten Text? Wenn das auch nicht klappt, liegt das Problem wohl anderswo.

  • Variable in Body einer E-Mail einfügen

    • Shadowigor
    • 5. Oktober 2011 um 17:58

    Mir ist noch nicht ganz klar für was das GUI ist, aber so wie du das beschrieben hast müsste es eigentlich gehen. Hast du schon geprüft ob dein Rückgabewert überhaupt stimmt?

  • Variable in Body einer E-Mail einfügen

    • Shadowigor
    • 5. Oktober 2011 um 17:19

    Du kannst doch bei Body einfach deine Variable einfügen. Das müsste eigentlich gehen. Oder sonst musst du dein Problem genauer beschreiben.

  • Wieso funktiert es nicht?

    • Shadowigor
    • 4. Oktober 2011 um 23:49

    Also erstens würde ich das ganze mit Arrays machen (Kannst du sonst Hier nachlesen). Das würde der übersicht sehr gut tun.
    Nun zu deinem Problem. Bei der überprüfung des gewinnes von Spieler 2 (If $Feld1 = 2 And $Feld2 = 2 ... u.s.w) hast du bei der ganz letzten prüfung $Feld3 = 1 And ... geschrieben und nicht $Feld3 = 2 And ...

    Gruss Shadowigor

  • switch Case

    • Shadowigor
    • 4. Oktober 2011 um 17:27

    So z.B.:

    [autoit]

    $i = IniRead("m47.ini", "Freedom_Server_Wechsel", "Wert", "") + 1
    if $i = 11 Then $i = 1

    [/autoit]

    Gruss Shadowigor

  • Suche 2D-Grafiker für Flutch

    • Shadowigor
    • 1. Oktober 2011 um 21:41

    Also ich wäre interessiert, wenn du immer noch suchst. Mit Irrlicht hab ich jetzt nicht so wahnsinnig viel Erfahrung. Hab nur mal was mit XNA (C#) gemacht.
    Ich bin aber immer offen für neues und im Moment bin ich sowieso auf der suche nach einem neuen Projekt.
    Würde mich freuen mithelfen zu dürfen.

    Gruss Shadowigor

  • ...exe abbrechen

    • Shadowigor
    • 27. September 2011 um 18:03

    z.B. mit AdLibRegister. Nach einer bestimmten Zeit rufst du einfach eine Funktion auf, die das Programm beendet. (siehe Hilfe)
    Wenn sich das Programm aber aufgehängt hat und nichts mehr geht musst du wohl parallel ein zweites Prog. laufen lassen, welches ersteres und sich selber nach einer gewissen Zeit beendet.

    Gruss Shadowigor

  • AdlibRegister -> progi

    • Shadowigor
    • 25. September 2011 um 17:05

    Du fragst ab ob die Gesamtdauer = 0 ist. Wenn du 1 eingibst, ist Sie zu beginn jedoch 7.2 da kannst du noch so oft 1 abziehen du wirst nie genau 0 erhalten. Nimm statdessen einfach z.B. Gesamtdauer < 0.

    Gruss Shadowigor

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™