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. BugFix

Beiträge von BugFix

  • Profifrage: _SendMessage/ControlSend verursachen systemlags

    • BugFix
    • 13. Juli 2010 um 20:13

    Ohne den Code zu sehen, ist es nicht möglich darauf zu antworten.
    Ich habe auch schon häufiger mit diesen Befehlen gearbeitet aber dieses Verhalten kann ich nicht bestätigen.

  • Prozent ausrechnen

    • BugFix
    • 13. Juli 2010 um 19:00

    Stimmt, da waren die Finger schneller als der Kopf :P

  • Koda erzeugtes Fenster egal welchen rechner und auflösung immer geanu anzeigen!

    • BugFix
    • 13. Juli 2010 um 18:26

    Und wenn Styles angegeben werden, kann für die Parameter X u. Y entweder "-1" oder "Default" angegeben werden. Dann wird der Standardwert (mittig zentriert) verwendet.

  • Prozent ausrechnen

    • BugFix
    • 13. Juli 2010 um 17:52

    Startwert = 65 = 0%
    Endwert = 90 = 100%
    ==> Differenz = 35
    1% = 35/100
    Wert 80 = 80-65 = 15*35/100

  • ID3-Skript Problem - "Error allocating memory."-Error

    • BugFix
    • 13. Juli 2010 um 12:59

    Ich rate mal:
    Ein rekursiver Aufruf, der sich totläuft?

  • Anzahl der Werte in einem Array

    • BugFix
    • 13. Juli 2010 um 11:17

    In der Funktion aber statt:

    [autoit]

    Func _ArrayCount($array, $search, $index = 0)

    [/autoit]

    besser:

    [autoit]

    Func _ArrayCount(ByRef $array, $search, $index = 0)

    [/autoit]


    Das hat den Effekt, dass das Array nicht nochmal kopiert werden muss beim Funktionsaufruf, spart somit Speicher und Zeit. ByRef verwendet man i.A. um einen übergebenen Wert auch in der Quellvariablen verändern zu können aber der Effekt des Speicher-/Zeitsparens ist doch ganz angenehm. ;)

  • Anzahl der Werte in einem Array

    • BugFix
    • 13. Juli 2010 um 11:05
    [autoit]

    $vergleich = 55
    $count = 0
    For $i = 0 To UBound($array) -1
    If $array[$i] = $vergleich Then $count += 1
    Next
    ConsoleWrite('Treffer: ' & $count & @CRLF)

    [/autoit]
  • Zeit ablesen und kürzen

    • BugFix
    • 13. Juli 2010 um 09:31

    Ich halte es für wenig sinnvoll ein Skript mit einer Laufzeitbegrenzung zu versehen.
    Das funktioniert nur, wenn du die Version mit einem hardcodierten Installationsgrenzdatum versiehst. Danach kann man die Version weder installieren noch starten.
    Eine Begrenzung in der Form: "Installdatum + Testzeitraum" läßt sich doch spätestens mit einem virtuellen System einfach umgehen.
    Man kann natürlich recht verwinkelte Wege gehen um das Installationsdatum zu verstecken und es so dem User zu erschweren das zu manipulieren. Aber dann sollte man darüber nicht in einem offen zugänglichen Forum diskutieren. Da könntest du auch deinen Wohnungsschlüssel verstecken und das Versteck in der Zeitung bekannt geben. :rofl:

  • ID3-Skript Problem - "Error allocating memory."-Error

    • BugFix
    • 13. Juli 2010 um 09:05
    Zitat von Antispeed

    denn es gibt einen "Error allocating memory." Fehler aus.


    Die Fehlerausgabe teilt dir auch immer mit, von welchem Skript und welcher Skriptzeile der Fehler verursacht wird.
    - Ist es die UDF oder dein Skript?
    - An welcher Position entsteht der Fehler?

    Schon mal alle Zeilen auf evtl. Fehlerausgaben geprüft?
    (In SciTE kannst du über <Extras> <Trace: Add trace lines> nach jeder Skriptzeile eine Ausgabe des Fehlerwertes in die Console bewirken)

  • API für *.AMR Dateien?

    • BugFix
    • 12. Juli 2010 um 20:11

    Da kann man aber viel raten :D
    - wieviel Parameter
    - welche Datentypen
    ...
    :S

  • API für *.AMR Dateien?

    • BugFix
    • 12. Juli 2010 um 19:59
    Zitat von Developer30

    Oder gibt es eine Möglichkeit die Funktionen beliebiger DLLs herauszufinden?


    Die Funktionsnamen lassen sich auslesen (Dependency Walker) aber ohne Beschreibung der Parameter kann man die Funktionen nicht anwenden.

    Und ja, VLC spielt auch Handy-Audio-Format (amr). ;)

  • API für *.AMR Dateien?

    • BugFix
    • 12. Juli 2010 um 19:30

    Ich würde besser den VLC-Player verwenden und über Kommandozeile steuern.

  • Inno Setup mit Auto-It steuern

    • BugFix
    • 12. Juli 2010 um 16:05
    [autoit]

    $PID = Run('Programm')
    SplashTextOn('....')
    While ProcessExists($PID)
    Sleep(100)
    WEnd
    SplashOff()

    [/autoit]
  • auslesen welche datums und Uhrzeit Formate ausgewählt sind.

    • BugFix
    • 12. Juli 2010 um 15:52
    Zitat von franzp

    Oder wie erkenne ich welches der aktuelle Benutzer ist?


    Deswegen habe ich ja den zweiten Pfad "HKCU" hinzugefügt. ;)

  • Scipt ausfüehren JA/NEIN

    • BugFix
    • 12. Juli 2010 um 15:46

    Das Problem entsteht m.M. nach, weil du 2 getrennte Abfragen für einen Zustand machst.
    Ich habe mal etwas geändert (Änderungen markiert mit ";#############"). Probiers aus.

    Spoiler anzeigen
    [autoit]

    #RequireAdmin
    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=netskatstart.ico
    #AutoIt3Wrapper_Outfile=netskatstart.exe
    #AutoIt3Wrapper_Res_Comment=Codet by Gummibaer
    #AutoIt3Wrapper_Res_Description=AutoRunner for Netskat
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.12
    #AutoIt3Wrapper_Res_FileVersion_AutoIncrement=p
    #AutoIt3Wrapper_Res_LegalCopyright=Gummibaer
    #AutoIt3Wrapper_Res_SaveSource=y
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Run_Tidy=y
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    Opt("TrayAutoPause", 0)
    Opt("TrayIconDebug", 0)
    Opt("TrayIconHide", 0)
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ;[includes]
    #include <Inet.au3>
    #include <GuiTab.au3>
    #include <SendMessage.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #include <File.au3>
    #include <Array.au3>

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

    _Checkinstallation()

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

    If UBound($CmdLine) <> 4 Then
    MsgBox(0, "Parameter", "nicht alle Parameter beim Start von Netskatstart.exe eingegeben" & @CRLF & "Autoit wird beendet.")
    ;Exit

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

    EndIf
    Global $netskat_Title = "NetSkat -"
    Global $tTitle = "Turnier-Liste"
    Global $sTitle = "Einstellungen für"
    Global $neuTitle = "Neuen Spielernamen eingeben"
    Global $spielername_bearbeiten = "Eigenen Spielernamen bearbeiten"
    Global $netskatexe = "netskat.exe"
    Global $spieler_neu = $CmdLine[2]
    Global $mail_forts = $CmdLine[3]
    ;Global $NetSkatDir = _getNetSkatDir()
    $NetSkatDir = "c:\Programme\Cutesoft\Netskat\"

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

    ;########################################################## Code so ändern erspart spätere Abfrage auf Gültigkeit
    If Not FileExists($NetSkatDir) Then
    Do
    $NetSkatDir = FileSelectFolder("mIRC Verzeichniss auswählen!" & @CRLF & "Den Ordner wo sich die Netskat.exe", "C:\Programme", 7)
    Until FileExists($NetSkatDir)
    ;~ MsgBox(0, "pfad", $NetSkatDir & @CRLF & "existiert nicht")
    ;~ $NetSkatDir = FileSelectFolder("mIRC Verzeichniss auswählen!" & @CRLF & "Den Ordner wo sich die Netskat.exe", "C:\Programme", 7)
    EndIf
    ;~ MsgBox(0, "Pfad netskat", $NetSkatDir, 1)

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

    If Not ProcessExists($netskatexe) Then ; Wenn NetSkat nicht gestartet ist starte sie
    ;~ If Not $NetSkatDir Then ; Prüfe ob string lerr wenn ja dann msgbox + programm beenden
    ;~ MsgBox(48, "Fehler", "NetSkat wurde nicht gefunden!")
    ;~ Exit
    ;~ Else
    Run($NetSkatDir & "\" & $netskatexe, $NetSkatDir)
    ;~ EndIf
    EndIf
    WinActivate($netskat_Title) ; Sende Actevirungsbefehl
    WinWaitActive($netskat_Title) ; Warte auf Actives Fenster

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

    Local $netskat_gesamt_titel = WinGetTitle("[active]")
    $baseline = StringSplit($netskat_gesamt_titel, " ") ; teile sting anhand des lerrzeichen

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

    $Spieler = $baseline[5] ;
    ;MsgBox(0, "", $Spieler)
    If $Spieler <> $CmdLine[2] Then
    ControlSend($netskat_Title, "", "", "!es") ; Sende ALT+e+s
    WinActivate($spielername_bearbeiten) ; Sende Actevirungsbefehl
    WinWaitActive($spielername_bearbeiten) ; Warte auf Actives Fenster

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

    $gefunden = ControlCommand($spielername_bearbeiten, "", "[CLASS:ListBox; INSTANCE:1]", "FindString", $spieler_neu)
    ;MsgBox(0, "find ", $gefunden)
    If $gefunden = 0 Then
    ControlClick($spielername_bearbeiten, "", "[CLASS:Button; INSTANCE:1]")
    WinActivate($neuTitle) ; Sende Actevirungsbefehl
    WinWaitActive($neuTitle) ; Warte auf Actives Fenster
    ControlSetText($neuTitle, "", "Edit1", $spieler_neu)
    Sleep(2000)
    ControlClick($neuTitle, "", "[CLASS:Button; INSTANCE:2]")
    Sleep(2000)
    WinActivate($spielername_bearbeiten) ; Sende Actevirungsbefehl
    WinWaitActive($spielername_bearbeiten) ; Warte auf Actives Fenster
    ControlClick($spielername_bearbeiten, "", "[CLASS:Button; INSTANCE:4]")

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

    WinActivate($netskat_Title) ; Sende Actevirungsbefehl
    WinWaitActive($netskat_Title) ; Warte auf Actives Fenster
    ControlSend($netskat_Title, "", "", "!ee") ; Sende ALT+e+e
    WinWait($sTitle) ; Warte auf einstellungsfenster "Einstellungen für"
    WinActivate($sTitle) ; Sende Actevirungsbefehl
    WinWaitActive($sTitle) ; Warte auf Actives Fenster

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

    ; Hole Handle und ids für tabzuweisung
    $shWnd = WinGetHandle($sTitle)
    $shTab = ControlGetHandle($shWnd, "", "SysTabControl321")
    $TabID = DllCall("user32.dll", "int", "GetDlgCtrlID", "hwnd", $shTab)
    $TabID = $TabID[0]

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

    ; Wechsel zum Tab persönliche daten
    _GUICtrlTab_SetCurFocus($shTab, 2) ; Daten Spielerverzeichniss
    $sResult = _SendMessage($shWnd, $WM_NOTIFY, $TabID, $TCN_SELCHANGE)
    ControlClick($sTitle, "", "[CLASS:Button; INSTANCE:1]")
    ;MsgBox(0, "", "1")
    ;ControlClick($sTitle, "", "[CLASS:Button; INSTANCE:6]")
    ; Wechsel zum Tab Spiel-server
    _GUICtrlTab_SetCurFocus($shTab, 8) ; Daten Spielerverzeichniss
    $sResult = _SendMessage($shWnd, $WM_NOTIFY, $TabID, $TCN_SELCHANGE)
    ControlSetText($sTitle, "", "Edit1", "92.51.143.26")

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

    ;MsgBox(0, "", "2")
    ControlClick($sTitle, "", "[CLASS:Button; INSTANCE:5]")
    EndIf

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

    ControlCommand($spielername_bearbeiten, "", "[CLASS:ListBox; INSTANCE:1]", "SelectString", $spieler_neu)
    MsgBox(0, "Spielername wechseln", "Neu eingestellt" & " " & $spieler_neu & @CRLF & "nach 2 sec schliesse ich selbst ", 2)
    ControlClick($spielername_bearbeiten, "", "[CLASS:Button; INSTANCE:4]")

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

    EndIf

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

    WinActivate($netskat_Title) ; Sende Actevirungsbefehl
    WinWaitActive($netskat_Title) ; Warte auf Actives Fenster
    ControlSend($netskat_Title, "", "", "!ee") ; Sende ALT+e+e

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

    WinWait($sTitle) ; Warte auf einstellungsfenster
    WinActivate($sTitle) ; Sende Actevirungsbefehl
    WinWaitActive($sTitle) ; Warte auf Actives Fenster
    ;MsgBox(0, "", "?????????")
    ; Hole Handle und ids für tabzuweisung
    $shWnd = WinGetHandle($sTitle)
    $shTab = ControlGetHandle($shWnd, "", "SysTabControl321")
    $TabID = DllCall("user32.dll", "int", "GetDlgCtrlID", "hwnd", $shTab)
    $TabID = $TabID[0]

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

    ; Wechsel zum Tab Datenverzeichniss
    _GUICtrlTab_SetCurFocus($shTab, 4) ; Daten Spielerverzeichniss
    $sResult = _SendMessage($shWnd, $WM_NOTIFY, $TabID, $TCN_SELCHANGE)
    ; Lese SpielerDatenVerzeichniss aus
    $Pfad_SpielProtokol = ControlGetText($sTitle, "", "Edit1")
    IniWrite(@ScriptDir & "\netskat.mrc", "super-tool", "Pfad_SpielProtokoll", $Pfad_SpielProtokol)
    ;MsgBox(0, "", "pfad geschrieben")
    ControlClick("Einstellungen für ", "", "[CLASS:Button; INSTANCE:2]")

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

    _ScanneLogDir($Pfad_SpielProtokol, 1)

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

    If $CmdLine[1] == "E" Then
    ControlSend($netskat_Title, "", "", "{F2}")
    ControlSend($netskat_Title, "", "", "!e")
    ControlSend($netskat_Title, "", "", "{ENTER}")
    ControlSend($netskat_Title, "", "", "{TAB 3}")
    ControlSend($netskat_Title, "", "", "{ENTER}")
    ElseIf $CmdLine[1] == "M" Then
    ControlSend($netskat_Title, "", "", "{F2}")
    ControlSend($netskat_Title, "", "", "!M")
    ControlSend($netskat_Title, "", "", "{ENTER}")
    ControlSend($netskat_Title, "", "", "^v")
    ElseIf $CmdLine[1] == "FE" Then
    ControlSend($netskat_Title, "", "", "!sf")
    ControlSend($netskat_Title, "", "", "!e")
    ElseIf $CmdLine[1] == "FM" Then
    ControlSend($netskat_Title, "", "", "!sf")
    ControlSend($netskat_Title, "", "", "!n")
    EndIf

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

    If _Singleton("NetSkatUeberwachung", 1) = 0 Then Exit ; Nur eine Instance erlauben
    While ProcessExists($netskatexe)
    ; Hauptschleife Wartet auf Spielende
    If WinExists($tTitle) Then
    While WinActive($tTitle)
    $thWnd = WinGetHandle($tTitle)
    $thandle = ControlGetHandle($thWnd, "", "Button3")
    $var = ControlGetText($thWnd, "", "Button3")
    If $var = "Spielergebnis als Email verschicken" Then
    _ScanneLogDir($Pfad_SpielProtokol)
    EndIf
    Sleep(30)
    WEnd
    EndIf
    Sleep(30)
    #cs
    ; Hauptschleife Wartet auf Fortsetzen
    If WinExists("Daten zum Fortsetzen einer Runde exportieren") Then
    If WinActive("Daten zum Fortsetzen einer Runde exportieren") And MsgBox(4, "Auswahl", "Automatisch ist JA" & @CRLF & "Selbst wählen = NEIM") = 6 Then
    ControlSetText("Daten zum Fortsetzen einer Runde exportieren", "", "Edit1", $mail_forts)
    Send("{ENTER}")
    Sleep(10000)
    ;MsgBox(0, "", "Ich sende Daten ab", 2)
    ControlClick("Daten zum Fortsetzen einer Runde exportieren", "", "[ID:64]")
    Sleep(10000)
    EndIf
    EndIf
    #ce
    ; Hauptschleife Wartet auf Fortsetzen
    ;Hauptschleife Wartet auf Fortsetzen
    ;########################################################################################################
    While WinExists("Daten zum Fortsetzen einer Runde exportieren") And _
    WinActive("Daten zum Fortsetzen einer Runde exportieren")
    If MsgBox(4, "Auswahl", "Automatisch ist JA" & @CRLF & "Selbst wählen = NEIN") = 6 Then
    ControlSetText("Daten zum Fortsetzen einer Runde exportieren", "", "Edit1", $mail_forts)
    Send("{ENTER}")
    Sleep(10000)
    ;MsgBox(0, "", "Ich sende Daten ab", 2)
    ControlClick("Daten zum Fortsetzen einer Runde exportieren", "", "[ID:64]")
    Sleep(10000)
    EndIf
    WEnd

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

    WEnd
    _ScanneLogDir($Pfad_SpielProtokol)

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

    Func _ScanneLogDir($logdir, $verschieben = 0)

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

    If $logdir = "" Then Return
    If Not FileExists($logdir & "\Spielprotokolle\Archiv") Then DirCreate($logdir & "\Spielprotokolle\Archiv")
    If Not FileExists($logdir & "\Spielprotokolle\Unbekannt") Then DirCreate($logdir & "\Spielprotokolle\Unbekannt")
    Local $hSearch, $sFile, $tFile
    $count = 0
    Dim $FileListArray[1][2]
    $hSearch = FileFindFirstFile($logdir & "\Spielprotokolle\*.TXT")
    ;MsgBox(0, "4---------$hSearch", $hSearch)

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

    If $hSearch <> -1 Then
    While 1
    $sFile = FileFindNextFile($hSearch)
    ;MsgBox(0, '155----------$sfile', $sFile)

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

    If @error Then
    SetError(0)
    ExitLoop
    EndIf
    If StringInStr(FileGetAttrib($sFile), "D") == 1 Then ContinueLoop
    $tFile = $logdir & "\Spielprotokolle\" & $sFile
    ;MsgBox(0, '5----------$tfile', $tFile)
    ;MsgBox(0, "6--------------------verschieben", $verschieben)

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

    If $verschieben = 0 Then
    ReDim $FileListArray[$count + 1][2]
    $t = FileGetTime($tFile, 0)
    $FileListArray[$count][0] = $tFile
    $FileListArray[$count][1] = $t[0] & "." & $t[1] & "." & $t[2] & "." & $t[3] & "." & $t[4] & "." & $t[5]
    $count += 1
    Else
    ;MsgBox(0, "173-------------##", $verschieben & @CRLF & $tFile & @CRLF & $logdir & @CRLF & $sFile)

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

    FileMove($tFile, $logdir & "\Spielprotokolle\Unbekannt\" & $sFile, 1)
    EndIf
    WEnd
    FileClose($hSearch)
    EndIf
    If $verschieben = 0 Then

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

    _ArraySort($FileListArray, 1, 0, 0, 1)

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

    If $FileListArray[0][0] <> "" Then _oeffne_LOG_und_lese_daten_aus($FileListArray[0][0], $logdir)
    EndIf
    ;FileMove($logdir & "\Spielprotokolle\*.TXT", $logdir & "\Spielprotokolle\Unbekannt\", 8)
    EndFunc ;==>_ScanneLogDir

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

    Func _oeffne_LOG_und_lese_daten_aus($file, $logdir)
    Local $ende = False, $counter, $SpielCounter, $Spieler[3][5]
    Dim $aRecords
    _FileReadToArray($file, $aRecords)
    ;_ArrayDisplay($aRecords, "$aRecords")
    For $i = 1 To $aRecords[0]
    If StringLeft($aRecords[$i], 6) = "Spiel " And StringIsDigit(StringMid($aRecords[$i], 7)) Then
    $rLine = StringSplit($aRecords[$i], " ", 2)
    $SpielCounter = $rLine[1]
    EndIf
    If $ende = True Then
    $counter += 1
    $rLine = StringSplit($aRecords[$i], " ", 2)
    If $counter = 1 Then
    $playerS = $rLine[5]
    ElseIf $counter = 3 Then
    $playerE = $rLine[5]
    ElseIf $counter = 5 Then
    $Spieler[0][0] = $rLine[0]
    $Spieler[0][1] = $rLine[2]
    $Spieler[0][2] = $rLine[5]
    ElseIf $counter = 6 Then
    $Spieler[0][3] = $rLine[4]
    ElseIf $counter = 7 Then
    $Spieler[0][4] = $rLine[2]
    ElseIf $counter = 9 Then
    $Spieler[1][0] = $rLine[0]
    $Spieler[1][1] = $rLine[2]
    $Spieler[1][2] = $rLine[5]
    ElseIf $counter = 10 Then
    $Spieler[1][3] = $rLine[4]
    ElseIf $counter = 11 Then
    $Spieler[1][4] = $rLine[2]
    ElseIf $counter = 13 Then
    $Spieler[2][0] = $rLine[0]
    $Spieler[2][1] = $rLine[2]
    $Spieler[2][2] = $rLine[5]
    ElseIf $counter = 14 Then
    $Spieler[2][3] = $rLine[4]
    ElseIf $counter = 15 Then
    $Spieler[2][4] = $rLine[2]
    EndIf
    EndIf
    If $ende = False And $SpielCounter = 36 And $aRecords[$i] = "******************************************************************" Then $ende = True
    Next
    $t = FileGetTime($file, 0)

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

    ;~ id datum sp s1 s2 s3 p1 p2 p3 g1 g2 g3 v1 v2 v3 E Spieler
    $url = "http://super-skat.de/skat/Gummibaer/eintragen.php"
    $daten = "/?Datum=" & $t[2] & "." & $t[1] & "." & $t[0] & "." & $t[3] & "&Uhrzeit=" & $t[3] & ":" & $t[4] & ":" & $t[5] & "&sp=36&s1=" & $Spieler[0][0] & "&s2=" & $Spieler[1][0] & "&s3=" & $Spieler[2][0] & "&p1=" & $Spieler[0][4] & "&p2=" & $Spieler[1][4] & "&p3=" & $Spieler[2][4] & "&g1=" & $Spieler[0][1] & "&g2=" & $Spieler[1][1] & "&g3=" & $Spieler[2][1] & "&v1=" & $Spieler[0][2] & "&v2=" & $Spieler[1][2] & "&v3=" & $Spieler[2][2] & "&E=" & $playerE & "&Spieler=" & $playerS
    $string = $url & $daten
    ;MsgBox(0, 'Datensatz', $string);------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    $result = _INetGetSource($string)
    If $result = "OK" Then
    $result = "Daten wurden eingetragen!"
    ElseIf $result = "OK2" Then
    $result = "Daten schon vorhanden!"
    ElseIf $result = "Error" Or $result = "" Then
    $result = "Daten nicht eingetragen!" & @CRLF & " server problem wahrscheinllich"
    Else
    $result = "Keine Verbindung zum Server"
    EndIf
    If MsgBox(4 + 32, "Soll Netskat beendet werde?", "AutoIt--Meldung: " & @CRLF & $result) = 6 Then
    FileMove($file, $logdir & "\Spielprotokolle\Archiv\", 8)
    MsgBox(0 + 48, "verschieben", "Protokolldatei wurde in Ordner Archiv Verschoben")
    Exit
    Else
    MsgBox(0 + 64, "Ergebniss melden:", "Nun kannst du aus Netskat heraus Mailen")
    Exit
    EndIf
    EndFunc ;==>_oeffne_LOG_und_lese_daten_aus

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

    Func _getNetSkatDir()
    $temp = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NetSkat", "UninstallString") ; Hole String aus der Reg db
    If Not $temp Then Return
    $baseline = StringSplit($temp, " ") ; teile sting anhand des lerrzeichen
    $tNetSkatDir = StringMid($baseline[2], 3, StringLen($baseline[2]) - 13) ; schneide vore -f und hinten DeIsL1.isu ab
    If $tNetSkatDir = "" Then
    While 1
    $pfad = FileSelectFolder("NetSkat Verzeichniss auswählen!" & @CRLF & "Den Ordner wo sich die netskat.exe befindet", "", 7)
    If @error = 1 Then
    MsgBox(48, "Instalation Fehler", "Instalation Abgebrochen")
    Exit
    EndIf
    If FileExists($pfad & "\netskat.exe") Then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NetSkat", "UninstallString", "REG_SZ", @WindowsDir & "\unin0407.exe -f" & $pfad & "\DeIsL1.isu")
    Return $pfad
    ExitLoop
    EndIf
    MsgBox(48, "Instalation Fehler", "Im Ordner" & @CRLF & $pfad & @CRLF & "Befindet sich keine netskat.exe")
    WEnd
    MsgBox(48, "282 suche Netskatordner", "mit oeffnen dialog")

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

    EndIf

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

    Return $tNetSkatDir
    EndFunc ;==>_getNetSkatDir

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

    Func _Checkinstallation()
    If FileExists("mirc.exe") And FileExists("mirc.ini") Then
    If Not FileExists("netskat.mrc") Then FileInstall("netskat.mrc", "netskat.mrc")
    Return
    Else
    While 1
    $pfad = FileSelectFolder("mIRC Verzeichniss auswählen!" & @CRLF & "Den Ordner wo sich die mIRC.exe" & @CRLF & "und die mIRC.ini befindet", "", 7)
    If @error = 1 Then
    MsgBox(48, "Instalation Fehler", "Instalation Abgebrochen")
    Exit
    EndIf
    If FileExists($pfad & "\mirc.exe") And FileExists($pfad & "\mirc.ini") Then ExitLoop
    MsgBox(48, "Instalation Fehler", "Im Ordner" & @CRLF & $pfad & @CRLF & "Befindet sich keine mIRC.exe")
    WEnd
    FileCopy(@ScriptFullPath, $pfad & "\netskatstart.exe", 1)
    FileInstall("netskat.mrc", $pfad & "\netskat.mrc")
    FileInstall("netskat.jpg", $pfad & "\netskat.jpg")
    FileInstall("netskat_import.exe", $pfad & "\netskat_import.exe")
    FileInstall("grandovert.exe", $pfad & "\grandovert.exe")
    $filenams = $pfad & "\mirc.ini"
    $section = "script"
    $key = "n0"
    $value = "on 1:START:{ /.load -rs netskat.mrc }"
    IniWrite($filenams, $section, $key, $value)
    MsgBox(0 + 64, "Load", "Netskatstart.exe , Sceenshot und Popups installiert")
    ;_SelfDelete()
    Exit
    EndIf

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

    EndFunc ;==>_Checkinstallation

    [/autoit]


    Ich habe es jedenfalls so verstanden, dass bei "Nein" die Abfrage-Schleife wieder durchlaufen werden soll.

  • auslesen welche datums und Uhrzeit Formate ausgewählt sind.

    • BugFix
    • 12. Juli 2010 um 15:22

    Findest du in der Registry.
    Bei XP: HKEY_USERS\S-1-5-21-1935655697-688789844-725345543-1004\Control Panel\International
    bzw. allgemein unter:
    HKEY_CURRENT_USER\Control Panel\International

  • 2 checkboxen es muss immer eine von beiden checked sein...

    • BugFix
    • 12. Juli 2010 um 12:15

    Noch ein Tipp:
    Bitte vermeiden Globale Variablen innerhalb einer Funktion zu deklarieren. Falls es sich nicht umgehen lassen sollte, dann in der Form:

    [autoit]

    If Not IsDeclared("Variable") Then Global $Variable

    [/autoit]
  • Daten aus DLL

    • BugFix
    • 12. Juli 2010 um 12:05

    Alle Probleme wurden hier jetzt im vollen Umfang gelöst!

    Wollt ihr immer alles im Detail vorgekaut bekommen? Wie wärs mal mit Hilfe lesen, z.B. zu _WinAPI_LoadString() .

  • String-Funktionen sind wirklich sauschnell :D

    • BugFix
    • 12. Juli 2010 um 11:53
    Zitat von progandy

    Am Ende soll doch wieder eine Zahl als Ergebnis herauskommen und kein String, oder?


    Jein ;)
    Von der Umrechnungsfunktion her und direktem Einsatz als Farbwert brauch ich natürlich keinen String. Ich hab das z.B. eingesetzt um die Farbwerte über ein Inputfeld oder einen Slider zu ändern. Wenn der Slider den Wert ändert, soll dann natürlich im Input der zugehörige Farbwert in Hex-Schreibweise auftauchen - deshalb die Stringrückgabe.

  • Scipt ausfüehren JA/NEIN

    • BugFix
    • 12. Juli 2010 um 11:46

    Wozu die innere While-Schleife?

    Spoiler anzeigen
    [autoit]

    While ProcessExists($netskatexe)
    ;Hauptschleife Wartet auf Fortsetzen
    If WinExists("Daten zum Fortsetzen einer Runde exportieren") Then
    If WinActive("Daten zum Fortsetzen einer Runde exportieren") And _
    MsgBox(4, "Auswahl", "Automatisch ist JA" & @CRLF & "Selbst wählen = NEIM") = 6 Then
    ControlSetText("Daten zum Fortsetzen einer Runde exportieren", "", "Edit1", $mail_forts)
    Send("{ENTER}")
    Sleep(10000)
    ;MsgBox(0, "", "Ich sende Daten ab", 2)
    ControlClick("Daten zum Fortsetzen einer Runde exportieren", "", "[ID:64]")
    Sleep(10000)
    EndIf
    EndIf
    WEnd

    [/autoit]

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™