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

Beiträge von Andy

  • Internetzensur - Nein Danke

    • Andy
    • 14. Juni 2010 um 22:09

    Was wohl die von mir hochgeachteten Menschen (egal welcher politischen Couleur) sagen würden, die in diesem Land für Recht und Gerechtigkeit gesorgt haben? Allen voran ein Bundespräsident Richard von Weizäcker, mit dem ich das Vergnügen hatte, einige Worte wechseln zu können. Was muss in diesen Menschen vorgehen, wenn sie abends in den Nachrichten sehen, was aus ihrem Land mittlerweile geworden ist? Man muß sich wirklich nicht mehr wundern, daß sogar ein Bundespräsident den Kram hinschmeisst, wenn er sich von irgendwelchen Wichten ungestraft anpissen lassen muß!Wie war das mit den Ratten und dem sinkenden Schiff?

  • Flash Dateien (swf) mit Autoit Öffnen

    • Andy
    • 14. Juni 2010 um 18:26

    Ein 4 Jahre alter Thread zum Thema....Shockwave Flash Object das dort vorgestellte Script funktioniert immer noch....

  • Internetzensur - Nein Danke

    • Andy
    • 14. Juni 2010 um 14:18

    Alles was mir zu diesem Thema einfällt, ist http://www.DubistTerrorist.de
    Ein mündiger Bürger, der diese sog. "Volksvertreter" wählt und unterstützt, befürwortet das Abhandenkommen jeglicher Demokratie in diesem Land! Das lässt im Umkehrschluss die interessante Frage zu, ob "das Volk" überhaupt in einer Demokratie leben möchte....die Ergebnisse der Wahlen sprechen für sich. Der Großteil der Wähler unterstützt Parteien, die Nachweislich die Grundrechte "des Einzelnen" beschneiden und außer Kraft setzen wollen.
    Das absolut lächerlichste an der ganzen Sache ist, daß niemand, der ernsthaft eine "terroristische Aktion" plant, auf Telekommunikation angewiesen ist. Es wird so getan, als ob sämtliche bösen Buben dieser Welt in Internetforen unterwegs sind, aussschliesslich per Email und (natürlich legal registrierten) Handys kommunizieren und das alles natürlich unverschlüsselt....
    Ich habe, aus reinem Interesse, Briefe mit "gefährlichem" Inhalt an willkürliche Adressen in ganz Europa geschickt. Die meisten Briefe kamen mit "unbekannter Empfänger" nach mehr oder wenig langer Wartezeit zurück. Ungeöffnet bis auf zwei. Der Inhalt dieser
    Briefe per Mail verschickt, hätte sofort die Staatsanwaltschaft auf den Plan gerufen. Denn Mail wird schon seit langem gescannt....

    Ich hatte viele Jahre eine Firma, welche zur Sicherung von Leben und Eigentum von Privatleuten beigetragen hat. NIEMAND dieser Personen hat je Angst vor einem "terroristischen" Anschlag gehabt. Wieso auch? Die wirklichen Ziele der "Terroristen" sind die Politiker, und deren Angst ist in den meisten Fällen auch begründet, denn sie tragen für ihr Tun die Verantwortung. Allerdings wird alles dafür getan, diese Verantwortung nicht übernehmen zu müssen und trotzdem große Reden schwingen zu können. "Kleine" Verbrecher werden jahrelang (richtigerweise) hinter Gitter gesperrt, aber für die die "großen" werden Schlupflöcher im Gesetz geschaffen (gegen entsprechenden Obolus oder um das eigene Nest nicht noch weiter zu beschmutzen).

    Vor diesem Hintergrund ist es kaum noch möglich, Initiative zu ergreifen....Engagement in den etablierten Parteien zum Thema wird ab einer bestimmten Ebene geblockt bzw. als kontraproduktiv abgewimmelt. Hauptsache es wird "irgendwas getan", für das man nicht persönlich zur Verantwortung gezogen werden kann. Bei den folgenden Abstimmungen werden dann die Stimmen per Koalitionszwang (ja, das gibt es in einer Demokratie!) zugeteilt. Das Procedere ist immer das selbe, man wird niemanden zur Verantwortung ziehen, der vom Thema überhaupt keine Ahnung hat....sei es ein Minister oder Vorstand/Aufsichtsrat einer Großbank oder Großunternehmens.

    BTT. Das schlimmste an der Sache ist, daß diejenigen, die sich und ihre Kinder vor z.B. Kinderpornografie schützen wollen und im Web nach Informationen suchen, an oberster Stelle der "Verbrecherlisten" landen, während die von Abgeordneten mit "Freunden" getauschten Videokassetten/DVD´s/Geldkoffer aufgrund diplomatischer Immunität fröhlich an jedem Zoll der Welt vorbeigelotst werden.
    Ich war nie der große Demonstrierer, aber das einzige was zzt. hilft ist, auf die Straße zu gehen und friedlich für sein Recht einzutreten. Aber an Gesetzen zur Verhinderung von Demonstrationen wird schon fleissig gearbeitet..... also beeilt euch!
    Daß die Gemeinschaft auch etwas bewirken kann, sieht man an Aktionen wie seinerzeit mit Shell/Brent Spar. In absolut kürzester Zeit wurde ein Weltölkonzern in die Knie gezwungen, weil "die Kunden" eine Woche lang an anderen Tankstellen tankten. Schöpft alle legalen Mittel euch zu wehren aus, solange es sie noch gibt!

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • Andy
    • 14. Juni 2010 um 12:47

    hmmmm, wäre das nicht ein Feature , welches man in "Organize Includes" unterbringen könnte? Im Prinzip hat OI schon 90% der Arbeit erledigt...
    Mach doch eine UDF, welche im aufgerufenen Script an den passenden Stellen die Variablen $ParentFuncName und $CurrentFuncName einfügt :)

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • Andy
    • 14. Juni 2010 um 10:27

    Verstehe ich ehrlich gesagt nicht. Sobald du eine Funktion verlässt, werden lokale Variablen oder Arrays sowieso gelöscht.
    Solltest du in einer Rekursion stecken, dann ist es natürlich tödlich (Speichertechnisch gesehen) die Funktion abzubrechen, statt mittels der Abbruchbedingung die Rekursion "rückwärts" abzuarbeiten. Beim "rauslaufen" aus einer Rekursion wird der (von der Funktion bei jedem Aufruf der Funktion reservierte) Speicher sowieso wieder freigegeben.

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • Andy
    • 14. Juni 2010 um 09:51

    Oscar ,
    in Rekursionen, um ein Abbruchkriterium zu haben. Eine andere Anwendung fiele mir auch nicht ein

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • Andy
    • 14. Juni 2010 um 09:48

    Hi,
    ich löse das Problem in einigen meiner Scripte, indem ich global einen $func_name definiere, der dann z.B. bei Fehlermeldungen abgefragt wird. Funktionen werden ggf zu "Modulen" zusammengefasst. $MODUL ist dann z.B. der Funktionsname.
    Das würde dann z.B. zu einer Fehlermeldung "Fehler in Modul AUSGABE **hier steht dann der Fehlertext**. Das Modul AUSGABE wurde von Modul EINGABE aufgerufen!" führen. Besser als "Error in line -1. AutoIt will be terminated...Press OK to continue"

    Für die "Ebene" (ich gehen von einer Rekursion aus) kann man einen Zähler definieren. Ggf. als STATIC (wird dieses Schlüsselwort eigentlich für die Zukunft unterstützt?).

    EDIT /zu spät....das passiert, wenn man während des postens telefoniert und Kaffee kochen geht^^

  • Wegsuche

    • Andy
    • 7. Juni 2010 um 08:40

    Algorithmen zur Lösung des Problem des "travelling Salesman" wurden mitte der 80er von IBM in Verbindung mit einem öffentlichen Wettbewerb gesucht. Aus Spass hatte ich auch mitgemacht und war fasziniert von den Optimierungsmöglichkeiten. Auf einem 4,77Mhz-PC war ohne weiteres der kürzeste Weg zwischen 100-200 "Städten" zu berechnen.
    Logischerweise findet man den kürzesten Weg einfachst über Brute-Force, aber das interessante ist, daß man einen "nicht perfekten" Weg (der nur minimalst vom perfekten abweicht), in einem Bruchteil der Zeit berechnen kann.

    Dabei ist zu beachten, daß der Algorithmus auch vermeintlich "schlechtere" Wege einschlagen muß, um im Nachhinein doch ein Optimum zu erzielen.
    Grafisch war das immer eine Show (auf Monochrom Herculesgrafik^^), wenn der Computer kurz vor der vermeintlichen Lösung den Graphen nochmal "verkneuelt" hat, um danach noch um ein Millionstel Längeneinheit besseres Ergebnis zu liefern.
    Die 5 1/4´´-Diskette mit den Programmen hab ich leider nicht mehr gefunden....bestimmt zusammen mit den anderen "Computerantiquitäten" weggeschmissen....macht doch einen µIt draus^^

    A-Propos, "meinen" Algorithmus hatte ich später in einen HIRATA-Lötroboter integriert, der glücklicherweise auch in Basic programmiert werden konnte. So musste man nur die Position der Lötstellen "teachen", und der Controller hat im nachhinein die kürzeste Strecke zwischen den ca. 20-30 Lötstellen berechnet. Durch diese "Optimierung" konnten dann ein oder zwei Fernseher mehr pro Tag produziert werden (statt 400 dann 402).

  • Gui nicht außerhalb des Desktops

    • Andy
    • 6. Juni 2010 um 13:21

    mit wingetpos() die Position und Grösse des Fensters ermitteln und mit der Größe des Desktops abgleichen.
    Wenn pos_x kleiner null dann pos_x=0. Gleiches gilt für pos_y.
    Wenn $pos_x > @desktopwidth-breitefenster then $pos_x = @desktopwidth-breitefester, genauso für pos_y
    Fenster nun per winmove() an pos_x,pos_y verschieben.

    Wobei damit das Problem nur zur Hälfte gelöst ist. Wenn ein Fenster dein per GDI gezeichnetes Kunstwerk kurzzeitig überdeckt, oder dein Fenster minimiert wird, dann ist das GDI-Objekt auch verschwunden. Also die "Zeichnung" in einen Buffer schreiben und diesen bei jeder Bewegung des Fensters neu zeichnen erschlägt alle Problem auf ein Mal.

  • [Geschlossen/Lösung gefunden] Grafikpaket

    • Andy
    • 6. Juni 2010 um 12:07
    [autoit]

    #include <File.au3>
    #include <Array.au3>

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

    ; packt alle Dateien in einem Verzeichnis in eine Containerdatei
    ;Dateiformat des Containers:
    ;4 Byte Anzahl Dateien, eigentlich nicht nötig
    ;xx Byte Name 1. Datei, nullterminiert, damit man weiss, wann der Dateiname zuende ist
    ;8 Byte Größe 1. Datei
    ;xx Byte Dateiinhalt 1. Datei
    ;xx Byte Name 2. Datei, nullterminiert
    ;8 Byte Größe 2. Datei
    ;xx Byte Dateiinhalt 2. Datei
    ;uswusf

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

    ;Beispiel: alle Dateien im Verzeichnis @scriptdir\pics in eine ContainerDatei schreiben

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

    $aFilelist = _FileListToArray(@ScriptDir & "\pics", "*", 1) ;nur Dateien anzeigen, Filter ggf anpassen
    _ArrayDisplay($aFilelist)

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

    $hContainer = FileOpen("container.dat", 18) ;Containerdatei öffnen im binärmodus und ehemalige Datei löschen
    FileWrite($hContainer, Hex($aFilelist[0], 4));Anzahl Dateien in den Container schreiben

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

    For $i = 1 To $aFilelist[0] ;alle Dateien im Verzeichnis
    $dateiinhalt = FileRead(@ScriptDir & "\pics\" & $aFilelist[$i]) ;Dateiinhalt im Verzeichnis einlesen
    $dateigroesse = @extended ;Dateigrösse ermitteln
    FileWrite($hContainer, $aFilelist[$i] & Chr(0)) ;Dateiname schreiben, nullterminiert
    FileWrite($hContainer, Hex($dateigroesse, 8)) ;Dateigröße schreiben
    FileWrite($hContainer, $dateiinhalt) ;Dateiinhalt schreiben
    Next

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

    ShellExecuteWait("scite.exe", "container.dat") ;dateiinhalt anzeigen in scite
    ;nun sind alle Dateien fertig verpackt in der Container-Datei

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

    MsgBox(0, 0, "Dateien sind im Container. Nun Dateien wieder auspacken und in Verzeichnis \pics2 schreiben...")
    ;alle wieder auspacken in das Verzeichnis \pics2

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

    If Not FileExists(@ScriptDir & "\pics2\") Then DirCreate(@ScriptDir & "\pics2") ;wenn Verzeichnis nicht existent, dann erstellen

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

    $hContainer = FileOpen("container.dat", 16) ;Containerdatei binär öffnen
    $dateiinhalt = BinaryToString(FileRead($hContainer)) ;dateiinhalt binär einlesen
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Dateiinhalt = ' & $dateiinhalt & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    $anzahl_dateien = Dec(StringLeft($dateiinhalt, 4)) ;die ersten 4 byte sind die Anzahl der im Container enthaltenen Dateien
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $anzahl_dateien = ' & $anzahl_dateien & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console

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

    $position = 5 ;aktuelle Position eines Zeigers auf die Daten im Container, der Zeiger zeigt auf das 5. Byte in der Containerdatei, also auf das erste Byte des Namens der 1. png-Datei

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

    For $i = 1 To $anzahl_dateien ;alle Dateien im Container auspacken
    ;name der Datei im Container extrahieren
    $pos_nullbyte = StringInStr($dateiinhalt, Chr(0), 1, 1, $position) ;nächstes nullbyte finden, dazwischen steht der Name der Datei
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $pos_nullbyte = ' & $pos_nullbyte & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    $Dateiname = StringMid($dateiinhalt, $position, $pos_nullbyte - $position) ;Dateinamen auslesen
    ;MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @LF & '$Dateiname' & @LF & @LF & 'Return:' & @LF & $Dateiname) ;### Debug MSGBOX
    $dateilaenge = Dec(StringMid($dateiinhalt, $pos_nullbyte + 1, 8)) ;Dateilänge extrahieren
    ;MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @LF & 'stringmid($Dateiinhalt,$pos_nullbyte+1,$pos_nullbyte+9)' & @LF & @LF & 'Return:' & @LF & StringMid($dateiinhalt, $pos_nullbyte + 1, $pos_nullbyte + 9)) ;### Debug MSGBOX
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $dateilaenge = ' & $dateilaenge & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    $position = $pos_nullbyte + 9 ;zeiger auf die Position des ersten Bytes des Dateiinhaltes
    $file = StringMid($dateiinhalt, $position, $dateilaenge) ;dateiinhalt auslesen
    FileWrite(@ScriptDir & "\pics2\" & $Dateiname, $file) ;und in Datei schreiben oder alternativ direkt in den Speicher
    $position += $dateilaenge ;zeiger auf erstes Byte des nächsten Dateinamens setzen
    Next

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

    $aFilelist = _FileListToArray(@ScriptDir & "\pics2\", "*", 1) ;nur Dateien anzeigen, Filter ggf anpassen
    _ArrayDisplay($aFilelist)

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

    ;das extrahieren der Dateiinhalte im Container geht bestimmt auch mit einer Zeile mittels regexp^^

    [/autoit]


    man kann noch reichlich kürzen, aber so ist es etwas verständlicher imho

  • [Geschlossen/Lösung gefunden] Grafikpaket

    • Andy
    • 6. Juni 2010 um 10:13

    Das einfachste?
    Alle Dateien binär öffnen und den Inhalt hintereinander in eine neue Datei schreiben. Alternativ Zippen....

  • Coordinate errechnen

    • Andy
    • 6. Juni 2010 um 08:54

    hehe, bei mir auch schon 30 Jahre her^^...

    aber nochmal zu deiner Frage:
    du brauchst natürlich "irgendwelche" Informationen zu deinem gesuchten Punkt. Entweder direkt die Koordinate, oder ein Teilungsverhältnis oder irgend etwas anderes, daß man in die Gleichung reinbauen kann.

    Was du suchst ist eine Funktion $ypsilon=ypsilonvonx(x0,y0,x1,y1,x_koordinate_auf_der_gerade), aber das solltest du hinbekommen nun^^

  • Coordinate errechnen

    • Andy
    • 6. Juni 2010 um 08:43

    hehe^^
    wenn m=-0,4, dann ist m=-0,4 aber minus geteilt durch minus = plus daher war deine Rechnung ein bisschen falsch aber du hast GESEHEN, dass es falsch war, gibt ne 1 mit Sternchen^^
    Das ist schon ok so....

    einsetzen von x1=0 und y1=0 und m=0,4 in y=mx+b ergibt

    0=0,4 * 0 +b => b=0 war klar, da die gerade durch den Ursprung (0|0) geht

    also ist deine Gleichung y=0,4 * x + 0 zu jedem x bekommst du nun das passende y
    y=0,4 * x

    Punkt x=25
    y=0,4 * 25 = 10 x=25 => y=10


    Hausaufgabe:
    P1(17|22)
    P2(-13|12)
    an welchem Punkt schneidet die Gerade
    a) x=0
    b) y=0

  • Coordinate errechnen

    • Andy
    • 6. Juni 2010 um 08:11

    Mir fallen da auf Anhieb mehrere Lösungsmöglichkeiten ein. Eine wäre z.B. der Strahlensatz oder die
    Geradengleichung y=mx+b
    Die Steigung m=(y0-y1)/(x0-x1) (sprich delta y / delta x) ausrechnen und mit x0 und y0 in die Geradengleichung einsetzen ergibt b.
    Liefert zu jedem x das passende y auf der Gerade.

  • Kabelfernsehn (HDTV) mit TV Karte empfangen?

    • Andy
    • 5. Juni 2010 um 13:57
    Zitat von gtaspider

    So unwahrscheinlich in unser Kapitalistischen Welt? ;D

    träum weiter... :)
    Infos bzgl livestream:
    Zuerst die schlechte Nachricht, anders als bei den Winterspielen wird bei ZDF diesmal NICHT in HD gestreamed, sondern lediglich 688x384.

    sportschau.de bietet 3 Qualitätsstufen an:
    512x288, 960x544, und HD in 1280x720....Also betet, daß die ARD-Server am 18.Juni ab 13.30 (Deutschland/Serbien) kurz nach der Mittagspause nicht zusammenbrechen

    Da RTL sowieso nur Spiele ohne deutsche Beteiligung eingekauft hat, ist der flash-Stream mit 512x288 zu verkraften ^^

    Die Telekom streamt für 4,95€(jeweils Juni+Juli) alle 64 Partien live aufs Handy per UMTS.

    Also birngt eure Flashplayer auf den neuesten Stand, alternativ bei ZDF gibts WM- und Quicktime-Streams.

  • Kabelfernsehn (HDTV) mit TV Karte empfangen?

    • Andy
    • 4. Juni 2010 um 19:00

    Ja, wenn du bei t-online oder alice (bei den anderen ggf mal anrufen) einen Kabelvertrag hast, dann bekommst du HDTV von ARD und ZDF (also auch Arte usw) gewissemassen "umsonst". Du musst dann nur noch den Stream abgreifen und diesen wie schon angesprochen H.264 dekodieren. Ins Kabel werden ARD und ZDF sowieso eingespeist, kostet nix ausser nem HDTV-Receiver bzw -Karte für den PC. Für die WM lohnt sich das, denn die Öffentlich-Rechtlichen übertragen 46 von 53 Spielen in HDTV, die restlichen hat RTL gekauft imho.
    denn der Vorteil ist, von ARD und ZDF kann man, da nicht verschlüsselt, beliebig aufnehmen, vor-zurückspulen und alles machen, was bei den Privaten nur mit "schummeln" machbar ist...

    Oder meintest du einen live-Stream im Internet in HDTV? DER war gut ^^

  • else if then... Kann ich nach dem then mehrer Befehle eingeben?

    • Andy
    • 3. Juni 2010 um 14:04

    Genau dafür sind wir ja da^^. "Man kann alt werden wie ne Kuh, man lernt immer was dazu!"
    In diesem Sinne, weiter so!

  • else if then... Kann ich nach dem then mehrer Befehle eingeben?

    • Andy
    • 3. Juni 2010 um 12:25

    wieso überhaupt if/then?

    [autoit]

    GUICreate("Option wählen", 600, 70, 1, 1)
    $Standby = GUICtrlCreateButton("Standby", 0, 10, 100, 50)
    $Herunterfahren = GUICtrlCreateButton("Herunterfahren", 100, 10, 100, 50)
    $HerunterfahrenT = GUICtrlCreateCombo ("Zeiten zum Herunterfahren", 500, 10, 100, 50)
    GUICtrlSetData(-1, "5min|10min|20min|40min|60min|80min|100min")
    $_combo_text = GUICTRLRead($HerunterfahrenT)
    $Abmelden = GUICtrlCreateButton("Abmelden", 200, 10, 100, 50)
    $Neustarten = GUICtrlCreateButton("neustarten", 300, 10, 100, 50)
    $Schliessen = GUICtrlCreateButton ("schließen", 400, 10, 100, 50)

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

    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $Standby
    Shutdown(64)
    Case $Herunterfahren
    $minuten=number(stringtrimright(GUICtrlRead($HerunterfahrenT),3))
    Sleep (60000*$minuten)
    Shutdown (1+8)
    Case $Abmelden
    Shutdown(0)
    Case $Neustarten
    Shutdown(2 + 16)
    Case $Schliessen
    GUISetState(@SW_HIDE)
    EndSwitch
    WEnd
    While 1
    Sleep(500)
    WEnd

    [/autoit]
  • FTP Upload - Geschwindigkeit drosseln

    • Andy
    • 2. Juni 2010 um 13:53

    Schau mal in die Funktion _FTP_UploadProgress() der FTP_EX.au3. Dort musst du nur noch ein passendes Sleep() in die For/To-Schleife einbauen (dort wo die einzelnen $parts hochgeladen werden).

  • Variable mit Bedingung kürzen

    • Andy
    • 2. Juni 2010 um 12:10

    NERD-Kompatibel :o)

    [autoit]

    $string="000001203456789"
    $ergebnis=stringtrimright(StringFormat("%d",$string),5)
    MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$ergebnis' & @lf & @lf & 'Return:' & @lf & $ergebnis) ;### Debug MSGBOX

    [/autoit]

    Eben gerade gefunden:

    Zitat von George

    String Regular Expressions are very powerfull and should be used when required but I do not advocate their abuse. That is, using them when a simple String function will do the job.

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™