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

  • Regex - Problem Backreferenz

    • BugFix
    • 17. Juli 2008 um 15:35

    Hi,
    folgendes Problem:
    Ich möchte einen String auf Vorkommen eines Wortes (z.B. Apfel) untersuchen.
    Bedingung:
    Ist das Wort selbst in einem quotierten String (mit ' oder ") soll kein Match erfolgen.
    Vor dem Match, aber auch vor dem quotierten String, können andere Zeichen stehen.
    Ansatz:
    Match für das Wort(insensitiv): "(?i)apfel"
    Nun Backreferenz wegen Quotierung: "(?<!['\x22])(?i)apfel" (\x22 ist der Hex-Wert für ASCII des ")
    Klappt,
    gefunden wird Apfel in: xyz 123 Apfel
    nicht gefunden in: 'Apfel xyz  ODER xyz 'Apfel   ==>ABER
    gefunden in: ' Apfel xyz  
    Also Bedingung:
    keine Qoutierung UND (optional) kein anderes Zeichen nach der Quotierung.
    Jetzt kommt eine Stolperfalle, ich will also auf Backreferenzen unterschiedlicher Länge prüfen.
    Das geht aber nur, wenn es Toplevel-Referenzen sind.
    OK, wenn ich das als ODER-Option gestalte ist das gewährleistet.
    Neues Pattern: "(?<!(['\x22](.+?)|['\x22]))(?i)apfel"
    Das klappt im RegExprogramm (RegexBuddy) super, aber in AutoIt gibt das keinen Match.

    [autoit]

    Global $s[4] = ["xyz 123 Apfel","'Apfel xyz"," Apfel xyz","xyz ' Apfel"]
    For $i = 0 To UBound($s) -1
    ConsoleWrite($s[$i] & ' = ' & @TAB & StringRegExp($s[$i], "(?<!(['\x22](.+?)|['\x22]))(?i)apfel") & @CRLF)
    Next

    [/autoit]


    Irgendeine Idee?

  • GUI-Vergrößerungseffekt

    • BugFix
    • 16. Juli 2008 um 19:15

    Also auf 'diesen Bildern' bemerke ich keinen Effekt.
    Aber wenn du deine GUI aufziehen möchtest, verwende WinMove().

  • Dateinamen und Dateiendung voneinander trennen?

    • BugFix
    • 16. Juli 2008 um 18:31

    Ja, aber _PathSplit splittet nur Pfade. Mit meinem kannst du alles, wo Trenner mehrfach vorkommen, an einem Punkt splitten (dazu hatte ich es auch mal gemacht). :P

  • Dateinamen und Dateiendung voneinander trennen?

    • BugFix
    • 16. Juli 2008 um 17:23

    Es können aber auch Punkte im Dateinamen vorkommen ;)
    Also am letzten Punkt trennen:

    Spoiler anzeigen
    [autoit]

    $filename = 'C:\abc\hjk.lll\t.e.s.t.txt'
    $ar = _StringSplitOnce($filename, '\', -1)
    $path = $ar[0]
    $ar = _StringSplitOnce($ar[1], '.', -1)
    MsgBox(0, '', 'Pfad: ' & $path & @LF & 'Dateiname: ' & $ar[0] & @LF & 'Endung: ' & $ar[1])
    ;===============================================================================
    ;
    ; Function Name: _StringSplitOnce($STRING, $DELIM [, $OCCURENCE=1])
    ; Description: Splits a string on given occurence of delimiter
    ; Parameter(s): $STRING String to split
    ; $DELIM Delimiter
    ; $OCCURENCE Occurence of Delimiter ('-' starts from the right side, Default=1)
    ; Requirement(s):
    ; Return Value(s): Succes Array[0]=left side / Array[1]=right side of splittet string
    ; Failure Set error
    ; @error = 1 No string given
    ; @error = 2 No delimiter given
    ; @error = 3 Delimiter not in string
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;
    ;===============================================================================
    Func _StringSplitOnce($STRING, $DELIM, $OCCURENCE=1)
    If $STRING = '' Then Return SetError(1)
    If $DELIM = '' Then Return SetError(2)
    Local $Out[2]
    Local $len = StringLen($STRING)
    Local $pos = StringInStr($STRING, $DELIM, 1, $OCCURENCE)
    If @error Then Return SetError(3)
    $Out[0] = StringLeft($STRING, $pos-1)
    $Out[1] = StringRight($STRING, $len-$pos)
    Return $Out
    EndFunc ;==>_StringSplitOnce

    [/autoit]
  • Inputfelder $GUI_Enable durch Checkbox $GUI_Checked und vice versa

    • BugFix
    • 16. Juli 2008 um 15:44

    Für Bit-Funktionen: s. mein Bit-Tut (Signatur) :D
    Bei dir flimmert es, weil du in jedem Durchlauf Enable setzt und dann erst prüfst ob die Checkbox markiert ist.

    Kurse geben... :rolleyes: Gute Idee - als Entlohnung verlange ich nette, blonde, weibliche Gesellschaft :rofl:

  • Inputfelder $GUI_Enable durch Checkbox $GUI_Checked und vice versa

    • BugFix
    • 16. Juli 2008 um 15:35

    :D Ja klar, der Status muß natürlich ausgelesen werden.

    [autoit]

    For $i = 0 To 10
    If $GUI_Msg = $agCB[$i] Then
    If BitAND(GUICtrlRead($agCB[$i]), $GUI_CHECKED) Then
    GUICtrlSetState($agIn[$i], $GUI_Enable)
    GUICtrlSetState($agIn2[$i], $GUI_Enable)
    Else
    GUICtrlSetState($agIn[$i], $GUI_Enable)
    GUICtrlSetState($agIn2[$i], $GUI_Enable)
    EndIf
    EndIf
    Next

    [/autoit]
  • Problem etwas an ein Fenster zu Senden

    • BugFix
    • 16. Juli 2008 um 15:26

    Probier mal so:

    [autoit]

    Opt('WinTitleMatchMode', 2)
    ControlClick('Microsoft Internet Explorer', '', '[CLASS:Button; INSTANCE:1]')

    [/autoit]
  • Netview in Autoit?

    • BugFix
    • 16. Juli 2008 um 15:20

    Boa, Todsünde! ;)
    Du hast GUIGetMsg UND GUIOnEventMode in einem Skript verwendet.
    Du mußt dich schon entscheiden, was du möchtest. :D

  • Inputfelder $GUI_Enable durch Checkbox $GUI_Checked und vice versa

    • BugFix
    • 16. Juli 2008 um 14:41
    Zitat von Towacom

    dachte da gibts auch so schon ne Möglichkeit was zu sagen.


    Es war nicht ersichtlich, gegen welchen Wert dein Case prüft - jetzt weiß ich's: $GUI_Msg :D
    Einfach folgende Schleife außerhalb des Switch-Case-Statements einfügen:

    [autoit]

    For $i = 0 To 10
    If $GUI_Msg = $agCB[$i] Then
    GUICtrlSetState($agIn[$i], $GUI_Enable)
    GUICtrlSetState($agIn2[$i], $GUI_Enable)
    EndIf
    Next

    [/autoit]
  • Variablendeklaration automatisiert - Opt("MustDeclareVars", 1)

    • BugFix
    • 16. Juli 2008 um 14:31

    Hi,
    diese Version ist speziell dafür, um während des Skriptens in SciTE mal schnell per HotKey die Variablendeklaration zu überprüfen/auszuführen.
    Kopiert die Datei SetVarsDeclaredCurrentFile.au3 an einen Ort eurer Wahl (ich hab dafür extra einen Ordner in SciTE angelegt).
    Nun in der SciTEUser.properties(in SciTE: <Optionen> <Benutzer-Einstellungen öffnen>) einen Eintrag erstellen.
    Der Eintrag muß unbedingt vor diesem Block erfolgen:

    Code
    #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
    # START: DO NOT CHANGE ANYTHING AFTER THIS LINE     #-#-#-#-#
    # Created by SciTEConfig
    #------------------------------------------------------------


    Wenn ihr noch keinen Eintrag dort habt, beginnt mit der Nummer 36 statt wie hier 42. Ansonsten einfach fortlaufend nummerieren.

    Code
    # 42 DeclareVars
    command.42.*.au3="$(autoit3dir)\AutoIt3.exe" "$(SciteDefaultHome)\OtherTools\SetVarsDeclaredCurrentFile.au3" "$(FilePath)" "Prod"
    command.name.42.*.au3=Declare Vars
    command.save.before.42.*.au3=1
    command.is.filter.42.*.au3=1
    command.shortcut.42.*.au3=Ctrl+Shift+V


    In der ersten command-Zeile muß nach dem AutoIt-Pfad der Pfad der Datei SetVarsDeclaredCurrentFile.au3 folgen.
    Der erste Parameter "$(FilePath)" übergibt den Dateipfad der au3-Datei, von der aus in SciTE der Aufruf erfolgt.
    Der zweite Parameter "Prod" ist nicht erforderlich, wenn die Prod benutzt wird. Verwendet euer Skript aber die Beta, so muß der Parameter "Beta" übergeben werden!
    Den ShortCut könnt ihr natürlich frei wählen (solang er noch nicht belegt ist ;) ).

    Nun nur in einem beliebigen au3-Skript per Shortcut aufrufen und die Variablendeklaration erfolgt. :rolleyes:

    Spoiler anzeigen
    [autoit]

    ; Version 3.2.12.0
    #include<ProgressConstants.au3>
    #include<StaticConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include<File.au3>
    Opt("GUIOnEventMode", 1)
    Opt("MustDeclareVars", 1)

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

    Global $aLang[4][2] = [ _
    ['Fehler', 'Error'], _
    ['SciTE nicht aktiv!', 'SciTE not active!'], _
    [' << Variablendeklaration erfolgreich beendet. >>', ' << Variables successful declared. >>'], _
    [' << Alle Variablen bereits deklariert! >>', ' << All variables already declared! >>']], $iLang = 0
    If Not StringInStr("0407,0807,0c07,1007,1407", @OSLang) Then $iLang = 1

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

    If Not ProcessExists('SciTE.exe') Then Exit MsgBox(262192, $aLang[0][$iLang], $aLang[1][$iLang])
    If $CmdLine[0] Then
    Global $File2Scan = $CmdLine[1]
    If $CmdLine[0] > 1 Then
    If $CmdLine[2] = 'Beta' Then
    Global $BetaUse = True
    Else
    Global $BetaUse = False
    EndIf
    Else
    Global $BetaUse = False
    EndIf
    Else
    Exit
    EndIf
    Global $GUI, $progress, $lbl, $prog_val = 0, $step

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

    $GUI = GUICreate($File2Scan, 640, 100, -1, 120)
    $progress = GUICtrlCreateProgress(10, 15, 620, 20, $PBS_SMOOTH)
    $lbl = GUICtrlCreateLabel('', 290, 50, 60, 17, $SS_CENTER)
    GUISetOnEvent($GUI_EVENT_CLOSE, "GUIClose")
    GUISetState(@SW_SHOW)

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

    If _SetVarsDeclared($File2Scan, $BetaUse) = 0 Then
    WinSetTitle($GUI, '', $aLang[2][$iLang])
    Else
    WinSetTitle($GUI, '', $aLang[3][$iLang])
    EndIf

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

    While 1
    Sleep(100)
    WEnd

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

    Func GUIClose()
    Exit
    EndFunc

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

    Func _SetVarsDeclared($FILE, $BETA=False)
    Local $oVars = ObjCreate('System.Collections.ArrayList')
    Local $oFuncVars = ObjCreate('System.Collections.ArrayList')
    Local $oConst = ObjCreate('System.Collections.ArrayList')
    Local $oDeclared = ObjCreate('System.Collections.ArrayList')
    Local $skip = False, $PathInclude, $1stChar, $inFunc = False, $aFile, $aMatch, $var, $strKey, $lastInclude = 1
    Local $str0 = 'Opt("MustDeclareVars", 1)', $str1 = 'Global ', $sLen, $len = 130, $tmp, $keys, $lastOpt = 1, $declare = 0
    If $BETA Then
    $PathInclude = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'betaInstallDir') & '\Include\'
    Else
    $PathInclude = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\Include\'
    EndIf
    Local $aConst_au3 = _FileListToArray($PathInclude, '*.au3', 1)
    $step = 33/UBound($aConst_au3)
    For $i = 1 To UBound($aConst_au3) -1
    $prog_val += $step
    GUICtrlSetData($progress, Int($prog_val))
    GUICtrlSetData($lbl, StringFormat('%3.2f', $prog_val) & '%')
    If Not StringInStr($aConst_au3[$i], 'constants') Then ContinueLoop
    _FileReadToArray($PathInclude & $aConst_au3[$i], $aFile)
    For $k = 1 To UBound($aFile) -1
    $aMatch = StringRegExp($aFile[$k], '\$[\d\w]+', 3)
    If Not IsArray($aMatch) Then ContinueLoop
    For $l = 0 To UBound($aMatch) -1
    If Not $oConst.Contains($aMatch[$l]) Then $oConst.Add($aMatch[$l])
    Next
    Next
    Next
    GUICtrlSetData($progress, 33)
    GUICtrlSetData($lbl, '33.00%')
    _FileReadToArray($FILE, $aFile)
    $tmp = FileRead($FILE)
    Local $pos_incl, $pos_opt, $before_str
    If (StringInStr($tmp, '#include')) Or (StringInStr($tmp, 'Opt')) Then
    For $i = 1 To UBound($aFile) -1
    $1stChar = StringLeft(StringStripWS($aFile[$i],1), 1)
    If ($1stChar <> ';') And (StringInStr($aFile[$i], '#cs') Or StringInStr($aFile[$i], '#comments-start')) Then $skip = True
    If ($1stChar <> ';') And (StringInStr($aFile[$i], '#ce') Or StringInStr($aFile[$i], '#comments-end')) Then $skip = False
    If $skip Then ContinueLoop
    If StringRegExp($aFile[$i], "(?i)#include") Then
    $pos_incl = StringInStr($aFile[$i], '#include')
    If $pos_incl > 1 Then
    $before_str = StringLeft($aFile[$i], $pos_incl-1) ; maybe quoted - don't use then
    If StringInStr($before_str, '"') Or StringInStr($before_str, "'") Then ContinueLoop
    EndIf
    $lastInclude = $i
    ElseIf StringRegExp($aFile[$i], "(?i)opt") Then
    $pos_opt = StringInStr($aFile[$i], 'opt')
    If $pos_opt > 1 Then
    $before_str = StringLeft($aFile[$i], $pos_opt-1) ; maybe quoted - don't use then
    If StringInStr($before_str, '"') Or StringInStr($before_str, "'") Then ContinueLoop
    EndIf
    $lastOpt = $i
    EndIf
    Next
    If $lastOpt > $lastInclude Then $lastInclude = $lastOpt
    EndIf
    $step = 67/UBound($aFile)
    For $i = 1 To UBound($aFile) -1
    $prog_val += $step
    GUICtrlSetData($progress, Int($prog_val))
    GUICtrlSetData($lbl, StringFormat('%3.2f', $prog_val) & '%')
    $1stChar = StringLeft(StringStripWS($aFile[$i],1), 1)
    If $1stChar = ';' Then ContinueLoop
    If StringInStr($aFile[$i], 'Dim') Or StringInStr($aFile[$i], 'Global') Then
    $aMatch = StringRegExp($aFile[$i], '\$[\d\w]+', 3)
    If Not IsArray($aMatch) Then ContinueLoop
    For $k = 0 To UBound($aMatch) -1
    If Not $oDeclared.Contains($aMatch[$k]) Then $oDeclared.Add($aMatch[$k])
    Next
    ContinueLoop
    EndIf
    If StringInStr($aFile[$i], '#cs') Or StringInStr($aFile[$i], '#comments-start') Then $skip = True
    If StringInStr($aFile[$i], '#ce') Or StringInStr($aFile[$i], '#comments-end') Then $skip = False
    If $skip Or ($1stChar = '#') Then ContinueLoop
    If StringLeft(StringStripWS($aFile[$i],1),4) = 'Func' Then
    $inFunc = True
    If $oFuncVars.Count > 0 Then $oFuncVars.Clear
    $aMatch = StringRegExp($aFile[$i], '\$[\d\w]+', 3)
    If Not IsArray($aMatch) Then ContinueLoop
    For $k = 0 To UBound($aMatch) -1
    If Not $oFuncVars.Contains($aMatch[$k]) Then $oFuncVars.Add($aMatch[$k])
    Next
    ContinueLoop
    EndIf
    If $inFunc And (StringLeft(StringStripWS($aFile[$i],1),7) = 'EndFunc') Then $inFunc = False
    $aMatch = StringRegExp($aFile[$i], '\$[\d\w]+', 3)
    If Not IsArray($aMatch) Then ContinueLoop
    If $inFunc And StringInStr($aFile[$i], 'Local') Then
    For $k = 0 To UBound($aMatch) -1
    $oFuncVars.Add($aMatch[$k])
    Next
    ContinueLoop
    EndIf
    For $k = 0 To UBound($aMatch) -1
    If (Not $oVars.Contains($aMatch[$k])) And _
    (Not $oFuncVars.Contains($aMatch[$k])) Then $oVars.Add($aMatch[$k])
    Next
    Next
    GUICtrlSetData($progress, 98)
    GUICtrlSetData($lbl, '98.00%')
    For $strKey In $oConst
    If $oVars.Contains($strKey) Then $oVars.Remove($strKey)
    Next
    For $strKey In $oDeclared
    If $oVars.Contains($strKey) Then $oVars.Remove($strKey)
    Next
    $oVars.Sort
    If $oVars.Count > 0 Then
    For $strKey In $oVars
    $sLen = StringLen($str1 & $strKey & ', ')
    If $sLen < $len Then
    $str1 &= $strKey & ', '
    Else
    $str1 = StringTrimRight($str1, 2) & @LF & 'Global '
    $len += 130
    EndIf
    Next
    If StringRight($str1, 2) = ', ' Then $str1 = StringTrimRight($str1, 2)
    If StringRight($str1, 7) = 'Global ' Then $str1 = StringTrimRight($str1, 7)
    If $declare = 0 Then
    _FileWriteToLine($FILE, $lastInclude +1, $str0 & @CRLF & $str1)
    Else
    _FileWriteToLine($FILE, $declare, $str0, 1)
    _FileWriteToLine($FILE, $lastInclude +1, $str1)
    EndIf
    GUICtrlSetData($progress, 100)
    GUICtrlSetData($lbl, '100.00%')
    Return 0
    Else
    GUICtrlSetData($progress, 100)
    GUICtrlSetData($lbl, '100.00%')
    Return -1
    EndIf
    EndFunc ;==> _SetVarsDeclared

    [/autoit]

    Edit 13.09.08:
    Hatte einen Schleifenfehler und dadurch nicht alle Konstanten erfaßt - aber nun korrigiert. ;)

  • Inputfelder $GUI_Enable durch Checkbox $GUI_Checked und vice versa

    • BugFix
    • 16. Juli 2008 um 09:45

    Hi,
    das kannst du in einer Schleife durchgehen. Aber zeig mal etwas mehr vom Code, der Schnipsel ist nicht sehr aussagefähig. Wie werden die CB erstellt, soll mit einer CB alles de/aktiviert werden können oder alle wechselseitig?

  • Keylogger

    • BugFix
    • 16. Juli 2008 um 09:37
    Zitat von Frayzer

    hat es einen nachteil wenn ich es mit ansi statt unicode?
    bzw wenn ich nicht mit upx packe.


    ANSI oder Unicode ist entscheidend dafür, auf welcher Plattform es lauffähig sein soll. Für Win9x brauchst du ANSI. Für höhere Versionen kannst du mit Unicode arbeiten.
    Wenn du UPX nicht verwendest, ist halt die EXE größer. ;)

  • POST/GET, unterschied _StringSplit und StringSplit

    • BugFix
    • 16. Juli 2008 um 09:30
    Zitat von LilProgger208

    wo ist der unterschied zwischen _StringSplit und StringSplit


    Der Unterschied ist ein kleiner, aber wesentlicher.
    StringSplit() gibt ein Array zurück und in Array[0] ist die Anzahl der gesplitteten Elemente. Ab Array[1] sind die eigentlichen Splits. Das ist nicht sehr praktisch, da man das Array häufig nicht direkt weiterverwenden kann, wegen des Zählers an Pos[0].
    _StringSplit() liefert ein Array ohne den Zähler, ansonsten identisch. Die Werte sind also ab Pos[0] im Array.

    Einen Zähler an Position [0] zu führen, hat sich wohl eingeschlichen, weil ein deklariertes Array mindestens 1 Element haben muß und dieses der Einfachheit halber dann zum Führen eines Zählers verwendet wurde. Neue Elemente wurden dann ohne vorherige Abfrage mit ReDim erweitert.
    Sinn macht es nicht, da die Elementzahl ja über UBound verfügbar ist.

  • Mehere GUI's ?

    • BugFix
    • 15. Juli 2008 um 21:21

    Und falls du nur mit GUIGetMsg arbeitest:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $gui1 = GUICreate('GUI 1')
    $btn1 = GUICtrlCreateButton('Zeige GUI 2', 10, 20, 100, 20)

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

    $gui2 = GUICreate('GUI 2')
    $btn2 = GUICtrlCreateButton('Button 2', 10, 20, 100, 20)

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

    GUISetState(@SW_SHOW, $gui1)

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1] ; Window Handle
    Case $gui1
    Switch $msg[0] ; Event
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn1
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui2)
    EndSwitch
    Case $gui2
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui2)
    Case $btn2
    MsgBox(0, '', 'Button 2 geklickt')
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]
  • Koordinatenproblem

    • BugFix
    • 14. Juli 2008 um 21:43

    Wir können über IRC quatschen oder auch Gobby - gerade getestet, coole Sache.
    Aber freut mich, dass es dir geholfen hat.

  • erweiterte Zwischenablage - Ideen

    • BugFix
    • 14. Juli 2008 um 21:40
    Zitat von sc4ry

    schön wäre, wenn in zeile 1 immer der aktuellste eintrag vorhanden ist, die anderen quasi immer eine zeile runterrutschen.

    Dazu kann ich dir mal Recent File List anbieten. Brauchst du nur an deine Einträge anpassen.
    Bei den anderen Sachen - mal schauen die Tage ;)

  • Koordinatenproblem

    • BugFix
    • 14. Juli 2008 um 20:56

    Ja, dadran gehts natürlich auch.
    $k entspricht dem Wert für die Höhe.

    [autoit]

    $match = PixelSearch($i, $k-30, $i+10, $k+10,$color)

    [/autoit]
  • Gobby - Dateien gemeinsam bearbeiten

    • BugFix
    • 14. Juli 2008 um 20:46

    Ich kanns gar nicht öffnen: "Unerwartetes Token $"

  • Koordinatenproblem

    • BugFix
    • 14. Juli 2008 um 20:43

    Spiele in alle Richtungen.

  • µit - Juli

    • BugFix
    • 14. Juli 2008 um 20:09

    Auweia, ich bin wieder schuld! :rofl:

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™