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

Beiträge von Mars

  • Aktuelles Datum +1 ?

    • Mars
    • 30. Oktober 2013 um 10:09

    Dafür gibts DateAdd

    [autoit]

    #include <Date.au3>
    ConsoleWrite(_DateAdd('D', 1, _NowCalc()) & @CRLF)

    [/autoit]


    lg
    M

  • Schere, Stein, Papier / Rock, Paper, Scissor

    • Mars
    • 25. Oktober 2013 um 17:11

    Da der Computer mich grade 7x hintereinander gnadenlos Abgezogen hat dachte ich zunächst der Computer zieht einfach immer das Richtige :D
    Dann hab ich mir den Quelltext mal zu gemüte geführt und siehe da: Es war keine böse Absicht, sondern Pech ;)

    Hab nur kurz drübergeschaut.
    1. Ein Bild das nur Grau enthält kann durch eine Graue Brush + FillRect ersetzt werden (schöner und effizienter)
    2. Angenommen du willst Texte Hinzufügen oder aus verschiedenen Textpaketen wählen. Nutze einfach folgendes: $aPakete[] = Stringsplit('Paket1#Paket2#...') und anschließend einen Stringsplit mit | als Trennzeichen um an die Sätze zu kommen. Dann kannst du relativ einfach ohne hunderte einzelne Zeilen sehr viel Text einbauen.

    lg
    Mars

  • Scrolling+Screenshot

    • Mars
    • 11. Oktober 2013 um 17:08

    Sehr Performant ist es wirklich nicht, aber sehr zweckmäßig.
    Wie oft habe ich schon einzelne Screenshots von Hand zusammengebastelt und damit meine Zeit verschwendet ?
    Funktioniert bei mir schonmal einwandfrei.

    lg
    M

    Dateien

    screenshot.png 590,11 kB – 0 Downloads
  • [RegEx] Suche RegEx für Whitespace + Parameter (alles gelöst)

    • Mars
    • 11. Oktober 2013 um 16:35

    Vielen Dank :)
    Habe es gerade getestet und der RegEx tut genau das was er soll.
    Die Rekursion lässt sich damit sehr einfach realisieren, indem man den RegEx auf die einzelnen Splits erneut anwendet. Somit müsste es möglich sein eine beliebige "Tiefe" zu erreichen.
    Durch den blicke ich jetzt tatsächlich nicht mehr durch, kommt natürlich in die Sammlung :)

    lg
    Mars

  • Infinite Darkness [Game][AutoIt][BASS][IrrLicht][Multiplayer]

    • Mars
    • 11. Oktober 2013 um 13:37

    Gehackt werden kann so gut wie alles. Da würde ich hinten anstellen, bis es wirklich soweit ist, dass es sich lohnt zu hacken.
    Übertriebene Darstellung: Man investiert die Hälfte in Sicherheit und kommt deshalb nicht zu einer Spielbaren Version. In diesem Szenario würde sowieso niemand versuchen etwas zu hacken, da das Spiel nicht fertig ist. Anderstherum ist es meiner Meinung nach besser, erstmal muss alles laufen, dann kümmert man sich darum, dass es die Skriptkinder nicht so leicht haben (die richtigen Bastler kann man mit unserer Kenntniss sowieso nicht stoppen).
    Genauso ist es bei allem anderen. Musik, Texturen, Items, Blocktypen, usw usw.
    Erstmal muss man das Gerüst stehen haben. Dieses sollte so gebaut sein, dass Einzelheiten mit weniger als einer Hand voll Zeilen eingebunden werden können.
    z.B. _AddBlockTyp($sBlockData)
    $sBlockData = 'TexturStr|SoundStr|Namen|Abbaugeschwindigkeit|MaxStack|Vorkommen|usw' (ggf Base64 Codiert in einer Block.dat mit Header usw, dann müsste man nichtmal das Skript ändern um neue Objekte hinzuzufägen, sondern nur in einem Ordner nach geeigneten Dateien sichen.)
    Das Skript muss dann dieses Objekt seöbstständig einbinden. Wenn man z.B. für einen neuen Blocktyp erst 50 verstreute Zeilen ändern muss ist der Ansatz des Grundgerüsts falsch.

  • Hallo zusammen

    • Mars
    • 11. Oktober 2013 um 09:54

    Dann hoffen wir mal, dass AutoIt nicht mehr lange Neuland, sondern bald altbekannt ist :)

    Leider heiße ich auch nicht Christoph, dennoch ein herzliches Willkommen ! :D

  • [RegEx] Suche RegEx für Whitespace + Parameter (alles gelöst)

    • Mars
    • 10. Oktober 2013 um 23:30

    Und weiter geht der Krimi...
    Gefunden werden sollen alle Parameter einer Funktion (auch wenn diese Parameter wieder Funktionen oder Verknüpfungen enthalten).

    Ein Beispiel gibts hier:

    [autoit]

    Global $sPattern = '(,.+,)|(\(.+,)|(,.+\))|(\(.+\))'
    Global $sSTR = 'MyFunc($Param1, $Param2, Hex(255, 2), AnotherFunc(1, 2, 3, 4))'
    $sSTR = StringRegExpReplace($sSTR, '(\s)|(["][^"]*["]|' & "['][^']*['])", "$2")
    Global $aSPLIT = StringRegExp($sSTR, $sPattern, 1)
    For $i = 0 To UBound($aSPLIT) - 1 Step 1
    ConsoleWrite($aSPLIT[$i] & @CRLF)
    Next

    [/autoit]


    Ich scheitere daran, dass StringRegExp kein Array zurückgibt.
    Das Pattern sollte eigentlich alles was sich Zwischen Klammern, Kommata, Klammer+Komma, Komma+Klammer liegt zurückgeben.
    Weitere Ergänzungen kommen noch hinzu, zuerst muss aber mal das Array exisiteren um es zu testen.

    lg
    Mars

  • Meine Maus macht Breakdance

    • Mars
    • 10. Oktober 2013 um 15:17

    Wenn deine Maus weniger als 30€ Wert ist (evtl auch persönlicher Wert) solltest du einfach eine neue kaufen.
    Stell dir vor du hättest einen Stundenlohn von 10€. Wie viele Stunden ist die Maus dir Wert ?
    Du hast jetzt schon ne ganze Weile den Thread hier auf und einige Antworten erhalten. Angenommen jeder braucht im Schnitt 5Min für seine Antwort, bei 20 Antworten sind das schon 100Min = 1h und 40Min. Wenn du jetzt noch mehr als 1h und 20Min reinsteckst ist es die Sache nicht Wert.

    Das klingt jetzt ziemlich seltsam, aber so mache ich meistens fest, ob es sich lohnt etwas zu reparieren, oder zu ersetzen.
    (Gilt auch für allgemeine Kosten Nutzen rechnungen, immer die Zeit beachten die du und deine Freunde investieren)

  • Dec2Binary Rechner

    • Mars
    • 9. Oktober 2013 um 17:27

    Rechnen braucht ja auch Zeit :P
    Wer weniger rechnet ist schneller fertig ;)
    Hatte aber eine Alte Version des Skripts, es gab noch eine schnellere. Da ich mich aber noch an die Änderungen erinnern kann (so in etwa jedenfalls) hab ich das grade mal eingebaut.

    Spoiler anzeigen
    [autoit]

    Global $a[256], $c[11111112]
    _ArrayFuellen()

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

    $hWnd=GUICreate('Echtzeit Binärumwandlung',600,300,-1)
    $hInputEdit=GUICtrlCreateEdit('',0,0,600,150,4096+64)
    $hOutputEdit=GUICtrlCreateEdit('',0,150,600,135,2048+64)
    GUICtrlSetFont(-1, 6, 400, 0 , 'Courier New', 5)
    $hLabel = GUICtrlCreateLabel('', 5, 285, 600, 15)
    GUIRegisterMsg(0x0111,'WM_COMMAND')
    GUISetState(@SW_SHOW)

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

    While Not (GUIGetMsg() = -3)
    WEnd

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

    Func WM_COMMAND($hWinHandle,$iMsg,$wParam,$lParam)
    Local $t
    If _WinAPI_HiWord($wParam)=0x300 And _WINAPI_LoWord($wParam)=$hInputEdit Then
    Local $read = GUICtrlRead($hInputEdit)
    If Not StringReplace(StringReplace($read, '0', ''), '1', '') Then
    $t = TimerInit()
    $bEncrypted=_BinToString($read)
    $t = TimerDiff($t)
    GUICtrlSetData($hOutputEdit,$bEncrypted)
    GUICtrlSetData($hLabel, 'Binär -> String - ' & Round($t*1000) & ' µs')
    Else
    $t = TimerInit()
    $bEncrypted=_StringToBin($read)
    $t = TimerDiff($t)
    GUICtrlSetData($hLabel, 'String -> Binär - ' & Round($t*1000) & ' µs')
    GUICtrlSetData($hOutputEdit,$bEncrypted)
    EndIf
    EndIf
    EndFunc

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

    Func _WinAPI_HiWord($iLong)
    Return BitShift($iLong, 16)
    EndFunc ;==>_WinAPI_HiWord

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

    Func _WinAPI_LoWord($iLong)
    Return BitAND($iLong, 0xFFFF)
    EndFunc ;==>_WinAPI_LoWord

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

    Func _StringToBin($s) ; String rein, Nullen und Einsen raus !
    Local $h = StringToBinary($s), $r
    For $i = 3 To StringLen($s) * 2 + 2 Step 2 ; 1 Zeichen -> 2 Hex
    $r &= $a['0x' & StringMid($h, $i, 2)]
    Next
    Return $r
    EndFunc ;==>_StringToBin

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

    Func _BinToString($b) ; Nullen und Einsen rein, String raus !
    Local $s
    For $i = 1 To StringLen($b) Step 8 ; 1 Zeichen -> 8 Bit
    $s &= $c[Int(StringMid($b, $i, 8))]
    Next
    Return BinaryToString('0x' & $s)
    EndFunc ;==>_BinToString

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

    Func _DecToBin($iD) ; Modulomethode -> Nicht sehr schnell. Unwichtig, da sie nur zum Initialisieren von 0 bis 255 genutzt wird.
    Local $sR
    Do
    $sR = Mod($iD, 2) & $sR
    $iD = Floor($iD / 2)
    Until $iD = 0
    Return StringRight('0000000' & $sR, 8) ; Es werden 8 Stellen ausgegeben !
    EndFunc ;==>_DecToBin

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

    Func _ArrayFuellen() ; Damit alle Werte von 0 bis 255 direkt vorliegen und keine Berechnungen nötig sind.
    For $i = 0 To 255 Step 1
    $a[$i] = _DecToBin($i)
    Next
    For $i = 16 To 255 Step 1
    $c[Int(_DecToBin($i))] = Hex($i, 2)
    Next
    EndFunc ;==>_ArrayFuellen

    [/autoit]
  • Dec2Binary Rechner

    • Mars
    • 9. Oktober 2013 um 16:58

    Dazu gabs auch schonmal einen Geschwindigkeitsvergleich.
    Und wenn ich mich nicht irre war die folgende Variante so ziemlich die schnellste:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=Beta
    #AutoIt3Wrapper_Icon=..\InconTransfer32.ico
    #AutoIt3Wrapper_UseUpx=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    ;~ #include <WindowsConstants.au3>
    ;~ #include <EditConstants.au3>
    ;~ #include <WinApi.au3>

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

    Global $a[256]
    _ArrayFuellen()

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

    $hWnd=GUICreate('Echtzeit Binärumwandlung',600,300,-1)
    $hInputEdit=GUICtrlCreateEdit('',0,0,600,150,4096+64)
    $hOutputEdit=GUICtrlCreateEdit('',0,150,600,135,2048+64)
    GUICtrlSetFont(-1, 6, 400, 0 , 'Courier New', 5)
    $hLabel = GUICtrlCreateLabel('', 5, 285, 600, 15)
    GUIRegisterMsg(0x0111,"WM_COMMAND")
    GUISetState(@SW_SHOW)

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

    While Not (GUIGetMsg() = -3)
    WEnd

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

    Func WM_COMMAND($hWinHandle,$iMsg,$wParam,$lParam)
    Local $t
    If _WinAPI_HiWord($wParam)=0x300 And _WINAPI_LoWord($wParam)=$hInputEdit Then
    Local $read = GUICtrlRead($hInputEdit)
    If Not StringReplace(StringReplace($read, '0', ''), '1', '') Then
    $t = TimerInit()
    $bEncrypted=_BinToString($read)
    $t = TimerDiff($t)
    GUICtrlSetData($hOutputEdit,$bEncrypted)
    GUICtrlSetData($hLabel, 'Binär -> String - ' & Round($t*1000) & ' µs')
    Else
    $t = TimerInit()
    $bEncrypted=_StringToBin($read)
    $t = TimerDiff($t)
    GUICtrlSetData($hLabel, 'String -> Binär - ' & Round($t*1000) & ' µs')
    GUICtrlSetData($hOutputEdit,$bEncrypted)
    EndIf
    EndIf
    EndFunc

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

    Func _WinAPI_HiWord($iLong)
    Return BitShift($iLong, 16)
    EndFunc ;==>_WinAPI_HiWord

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

    Func _WinAPI_LoWord($iLong)
    Return BitAND($iLong, 0xFFFF)
    EndFunc ;==>_WinAPI_LoWord

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

    Func _StringToBin($s) ; String rein, Nullen und Einsen raus !
    Local $h = StringTrimLeft(StringToBinary($s), 2), $r
    For $i = 1 To StringLen($s) * 2 Step 2 ; 1 Zeichen -> 2 Hex
    $r &= $a['0x' & StringMid($h, $i, 2)]
    Next
    Return $r
    EndFunc ;==>_StringToBin

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

    Func _BinToString($b) ; Nullen und Einsen rein, String raus !
    Local $s
    For $i = 1 To StringLen($b) Step 8 ; 1 Zeichen -> 8 Bit
    Switch Int(StringMid($b, $i, 4))
    Case 0
    $s &= '0'
    Case 1
    $s &= '1'
    Case 10
    $s &= '2'
    Case 11
    $s &= '3'
    Case 100
    $s &= '4'
    Case 101
    $s &= '5'
    Case 110
    $s &= '6'
    Case 111
    $s &= '7'
    Case 1000
    $s &= '8'
    Case 1001
    $s &= '9'
    Case 1010
    $s &= 'A'
    Case 1011
    $s &= 'B'
    Case 1100
    $s &= 'C'
    Case 1101
    $s &= 'D'
    Case 1110
    $s &= 'E'
    Case 1111
    $s &= 'F'
    EndSwitch
    Switch Int(StringMid($b, $i+4, 4))
    Case 0
    $s &= '0'
    Case 1
    $s &= '1'
    Case 10
    $s &= '2'
    Case 11
    $s &= '3'
    Case 100
    $s &= '4'
    Case 101
    $s &= '5'
    Case 110
    $s &= '6'
    Case 111
    $s &= '7'
    Case 1000
    $s &= '8'
    Case 1001
    $s &= '9'
    Case 1010
    $s &= 'A'
    Case 1011
    $s &= 'B'
    Case 1100
    $s &= 'C'
    Case 1101
    $s &= 'D'
    Case 1110
    $s &= 'E'
    Case 1111
    $s &= 'F'
    EndSwitch
    Next
    Return BinaryToString('0x' & $s)
    EndFunc ;==>_BinToString

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

    Func _DecToBin($iD) ; Modulomethode -> Nicht sehr schnell. Unwichtig, da sie nur zum Initialisieren von 0 bis 255 genutzt wird.
    Local $sR
    Do
    $sR = Mod($iD, 2) & $sR
    $iD = Floor($iD / 2)
    Until $iD = 0
    Return StringRight('0000000' & $sR, 8) ; Es werden 8 Stellen ausgegeben !
    EndFunc ;==>_DecToBin

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

    Func _ArrayFuellen() ; Damit alle Werte von 0 bis 255 direkt vorliegen und keine Berechnungen nötig sind.
    For $i = 0 To 255 Step 1
    $a[$i] = _DecToBin($i)
    Next
    EndFunc ;==>_ArrayFuellen

    [/autoit]
  • Wikipedia-Run

    • Mars
    • 8. Oktober 2013 um 15:55
    [autoit]

    Func Random($nMin, $nMax, $bInt)
    Return 1
    EndFunc

    [/autoit]

    3x DDR hintereinander passiert mit (1/16)^3 = 2,44%

  • Koda Formdesigner Frage!

    • Mars
    • 4. Oktober 2013 um 02:12

    Hier gibts keine konstruktive Kritik mehr. In der Moderation schwirrte ein offensichtlicher Botthread von cfberlin95 herum (sogar 2x), und hier kann man, aufgrund des unglaublich (selbst Spiderman ist enttäuscht) schlechten Sprachgebrauchs, nur erahnen um was es geht. Wenn es eine Regelkonforme Anfrage ist, soll er sie bitte anschaulich und leserlich nochmals stellen, ansonsten gibts hier sowieso keinen Support.

    Von meiner Seite sollte hier dicht gemacht werden.

    lg
    M

  • Koda Formdesigner Frage!

    • Mars
    • 3. Oktober 2013 um 23:47

    Ich hab ne Frage und_zwar, wie kann ich beim Koda FormDesigner,
    wenn ich z.B. ein Button habe, festlegen, dass wenn ich draufklicke eine Funktion ausgeführt wird. Ich hab mal den Code hier beigelegt. Beispielsweise möchte ich dem Button sagen, schreibe "hallo welt" in die Box da unten ? Oder öffne den Editor ? Schreibe in den Editor dies oder das!
    Jedenfalls will ich, dass ein Button etwas schreibt, ein Button etwas öffnet, und einer für "stop". Aber so, dass wenn man auf den "start" Button drückt, der Editor wieder geöffnet wird.

    Ich bin kein Deutschlehrer, und ich habe nichts gegen Umgangssprache, aber DAS ist unlesbar !

  • [RegEx] Suche RegEx für Whitespace + Parameter (alles gelöst)

    • Mars
    • 3. Oktober 2013 um 12:31

    Vielen Dank, funktioniert bisher einwandfrei :)

    Um es zu verstehen versuche ich es mal zu entschlüsseln. (Mein Bedürfnis ist es ja nicht euch ewig um RegExen zu bitten...)

    • (\s) - findet allen vorhandenen Whitespace
    • | - Oder
    • (["][^"]*["] - Findet alle Strings innerhalb von "" in denen kein " vorkommt
    • | - Oder
    • ['][^']*[']) - Findet alle Strings innerhalb von '' in denen kein ' vorkommt

    Was ich noch nicht verstanden habe ist das "$2".

    lg
    Mars

  • [RegEx] Suche RegEx für Whitespace + Parameter (alles gelöst)

    • Mars
    • 2. Oktober 2013 um 23:17

    Moin,

    Hab Guugel schon ein wenig gequält und die RegEx lib durchsucht, leider ohne Erfolg.
    Gesucht wird: RegEx welches bei Whitespace (jegliche nicht dargestellten Zeichen wie z.B. Tab, Leerzeichen, usw) anschlägt.
    Der Whitespace darf sich aber nicht in Stringdeklarationen via " oder ' befinden.

    Vorher: $iVar = 5 + 27 + Funktion01('Hallo ihr da " A B C "', "Hallo ihr da", 55, True) <- Der ist in der SciTE Konsole sogar Rosa :D
    Nachher: $iVar=5+27+Funktion01('Hallo ihr da " A B C "',"Hallo ihr da",55,True)
    (Hab die Leerzeichen jetzt von Hand entfernt, es können Fehler enthalten sein, Beobachtung auf eigene Gefahr !)

    Das Pattern für das Entfernen eines Leerzeichens ist ja relativ simpel :D

    [autoit]

    Local $Str = '$iVar = 5 + 27 + Funktion01(''Hallo ihr da " A B C "'', "Hallo ihr da", 55, True)'
    ConsoleWrite($Str & @CRLF)
    $Str = StringRegExpReplace($Str, '\s', '')
    ConsoleWrite($Str & @CRLF)

    [/autoit]

    Aber wie Prüft man, ob sich der Whitespace in Anführungen befindet ?

    lg
    Mars

  • Best of: Botausreden

    • Mars
    • 30. September 2013 um 22:37

    Noch ein kleiner Indikator für Bots, die NomadMemory UDF !
    Ich kenne bisher vllt 1-2 (von unzähligen) Fällen in denen diese UDF nicht dazu eingesetzt werden sollte irgendwelche Spiele clientseitig zu manipulieren. Daher schätze ich, dass es sich in mindestens 80-90% der Fälle um einen Bot/Hack oder ähnliches handelt, sobald diese UDF auftaucht.

    Dann noch allgemein "Pointer". Hier ist die Sache wesentlich schwammiger, da der DLL/ASM Zugriff auf einige Daten in AutoIt (z.B. Structs, Bitmaps, Callbacks usw) hauptsächlich über Pointer funktioniert. In anderen Kreisen stehen (relative) "Pointer" aber hoch im Kurs um an die Daten in laufenden Programmen zu kommen und diese zu manipulieren. Da CE und Konsorten von einigen Spielen mittlerweile erkannt und geblockt werden gibt es auch eine Hand voll Leute die mit AutoIt herumbasteln wollen.

    Handelt sich zwar nur um einen Bruchteil der hier Auffälligen, passt aber denke ich am besten hier hin.
    Lustige Zitate habe ich leider keine zu bieten; bin wohl nicht vertrauenserweckend genug PN Anfragen zu erhalten :D

    Edit: Soeben ist ein Vorzeigethread entstanden der alles oben genannte abdeckt :D Hier (wobei die wahre Absicht, wie fast immer, hinterm Berg bleibt...)

    lg
    Mars

  • AABB

    • Mars
    • 29. September 2013 um 12:18

    Das Beispielskript ist korrekt. Da wird "nur" der Geschwindigkeitsvektor dargestellt und die Kugel geht praktisch nur einen Schritt.
    Und genau das Durchquerungs-ohne-Berührungs Problem soll damit gelöst werden, sonst hätte die ganze Vektorrechnung ja überhaupt keinen Sinn. (Dann würde ein einfaches IsInRect(Kugelmitte) ausreichen)

    lg
    M

  • Zwischen 2 Farben Farbübergangsfarben ermitteln

    • Mars
    • 28. September 2013 um 15:58

    Wenn er es linear berechnet ist die 88 auch falsch.
    88h = 136, Damit das die Mitte ist müsste es ja ein paar Farben mehr geben als sich mit 8Bit darstellen lassen.
    Mit Berechnungen unter Berücksichtigung des optischen Eindrucks habe ich schon herumgespielt, Du kannst z.B. den Farbraum Umrechner benutzen um ins XYZ oder LAB Format zu wechseln. In diesen Räumen müsste der lineare Abstand in etwa dem Empfundenen Abstand entsprechen.
    BugFix : Sei nicht so bescheiden, immerhin hast du die Funktionen für soetwas bereitgestellt :P

    lg
    M

  • Kleines GDI+ Beispiel: XOR Textur

    • Mars
    • 28. September 2013 um 02:19

    Sieht ja schon fast "flüssig" aus. Interessanter Effekt mit einfachen Mitteln...

  • Kleines GDI+ Beispiel: XOR Textur

    • Mars
    • 26. September 2013 um 19:16

    Dazu fällt mir direkt folgendes ein :)
    Youtube Filmchen
    Damit lässt sich doch bestimmt auch irgendwas zaubern.

    lg
    M

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™