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

Beiträge von PrideRage

  • Bezier UDF

    • PrideRage
    • 14. September 2013 um 12:32

    Hallo miteinander.

    Nach langer Zeit gibts von mir auch mal wieder ein kleines AutoIt Skript.

    Die Bezier.au3 sowie ein Beispiel findet ihr auch im Anhang!

    Bezier.au3
    [autoit]


    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _GenerateBezier
    ; Description ...: Erstellt eine Bezier Kurve mit einer beliebigen Anzahl an Punkten
    ; Die Anzahl der Punkte ist immer $order + 1, möchte man also 5 Punkte verwenden, so muss $order = 4 sein!
    ; Syntax ........: _GenerateBezier($order, $srcPointsX, $srcPointsY, $fidelty)
    ; Parameters ....: $order - Die Anzahl der Punkte - 1
    ; $srcPointsX - Ein Array mit den X-Koordinaten der Punkte
    ; $srcPointsY - Ein Array mit den Y-Koordinaten der Punkte
    ; $fidelty - Die präzision der Berechnung (höherer Wert = genauere Berechnung)
    ; Return values .: 2-Dimensionaler Array | Die erste Dimension sind die Berechneten Punkte,
    ; Die zweite Dimension muss entweder 0 für X-Werte,
    ; oder 1 für Y-Werte sein
    ; Author ........: PrideRage
    ; ===============================================================================================================================
    Func _GenerateBezier($order, $srcPointsX, $srcPointsY, $fidelty)
    Local $counter = 0
    Local $numPts = $order + 1
    Local $return[$fidelty+1][2]

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

    For $i = 0 To 1 Step (1 / $fidelty)
    $x = 0
    $y = 0

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

    For $j = 0 To $numPts-1 Step 1
    $x += binominalCoefficient($order, $j) * ($i ^ $j) * ((1-$i) ^ ($order - $j)) * $srcPointsX[$j]
    $y += binominalCoefficient($order, $j) * ($i ^ $j) * ((1-$i) ^ ($order - $j)) * $srcPointsY[$j]
    Next

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

    $return[$counter][0] = $x
    $return[$counter][1] = $y
    $counter += 1
    Next

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

    return $return
    EndFunc

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

    ;====UTILS===

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

    Func binominalCoefficient($n, $k)
    return (factorial($n)) / (factorial($k) * factorial($n - $k))
    EndFunc

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

    Func factorial($var)
    $ret = 1
    For $i = 1 To $var Step 1
    $ret *= $i
    Next
    Return $ret
    EndFunc

    [/autoit]

    Ich präsentiere: Die Bezier UDF

    Mit dieser UDF könnt ihr eine Bezier Kurve mit beliebig vielen Punkten erstellen.
    Und das beste: Sie ist nicht abhängig von anderen APIs und benutzt auch keine #includes
    Ihr könnt also die Bezier Kurve mit GDI+, OpenGL oder was auch immer darstellen lassen.

    Die Vorbereitung: Natürlich muss man vorher noch einiges Einrichten, aber die Vorbereitung geht schnell und einfach.
    Folgendes braucht ihr: 2 Arrays, die die jeweiligen x- und y- Koordinaten repräsentieren.

    Beispiel:

    $arrayX[7] = [50, 100, 400, 700, 200, 250, 630]
    $arrayY[7] = [50, 600, 50, 500, 500, 120, 200]

    Dabei bildet das paar $arrayX[0] und $arrayY[0] einen 2 dimensionalen Punkt bei X=50 und Y=50
    $arrayX[1] und $arrayY[1] sind auch ein paar, die den Punkt bei X=100 und Y=600 repräsentieren, usw..

    Wenn wir die Punkte haben, können wir auch schon eine Bezier Kurve generieren.
    Aber vorher brauchen wir noch die sogenannte "Order" (auf deutsch etwa der "Grad")
    Die Zahl, die ihr für $order einsetzen müsst ist die Anzahl der Punkte-1
    Bei dem obrigen Beispiel sind es 7 Punkte, daher ist $order = 6

    Hier ist der Prototyp der Funktion:

    _GenerateBezier($order, $srcPointsX, $srcPointsY, $fidelty)

    $order, $srcPointsX und $srcPointsY haben wir ja schon, aber was ist $fidelty??
    Ganz einfach: $fidelty ist eine beliebige Zahl die Angibt, wie präzise die Bezier Kurve erstellt wird.
    Wenn wir für $fidelty 500 benutzen, so können wir 500 Punkte zeichnen, und erhalten eine Bezier Kurve.
    Nehmen wir aber 2000, erhalten wir eine schönere Bezier Kurve

    Und nun kommt der spaßige Teil: Bringen wir die Bezier Kurve doch mal auf den Bildschirm

    Dafür brauchen wir einen For-Loop und eine API mit der wir Zeichnen
    So gehts:

    [autoit]

    For $i = 0 To $fidelty - 1 Step 1
    Zeichne(X Wert = $bezierKurve[$i][0], Y Wert = $bezierKurve[$i][1]
    Next

    [/autoit]

    Wenn wir also als fidelty 500 nehmen, schreiben wir For $i = 0 To 499 Step 1
    nehmen wir für fidelty 2000, schreiben wir For $i = 0 To 1999 Step 1


    Wem das jetzt immernoch ein wenig spanisch vorkommt, für den hab ich noch ein Beispiel programmiert,
    welches eine Bezier Kurve mittels GDI+ darstellt.


    Ich hoffe der eine oder andere kanns gebrauchen.

    Freue mich über eure Meinungen :)

    Mfg. PrideRage

    Dateien

    Bezier.au3 1,95 kB – 546 Downloads BezierBeispiel.au3 1,36 kB – 555 Downloads
  • .net-DLL in Autoit nutzen

    • PrideRage
    • 31. Dezember 2012 um 14:09

    Danke für die Tipps chip und ohforf :)

  • .net-DLL in Autoit nutzen

    • PrideRage
    • 30. Dezember 2012 um 17:24

    Mit den neuen Registry Einträgen funktioniert es nun, danke! :)

    Ich finds genial, dass es doch eine recht simple Lösung ist. :)

    Es ist nicht zufällig möglich, alle Funktionen aus einer .NET DLL mittels PowerShell aufzulisten, oder?

  • .net-DLL in Autoit nutzen

    • PrideRage
    • 30. Dezember 2012 um 07:37

    Hey.

    Also an sich find ich das eine super Idee, damals hat es mich echt genervt, dass man keine .Net DLL's nutzen kann.
    Allerdings bekomme ich einen Fehler.
    Ich habe die DLL gedownloaded und sie ist nun im selben Verzeichnis wie das Skript (in meinem Fall auf dem Desktop) ich habe auch nix am AutoIt code geändert.

    Hier ist das Error-log

    Spoiler anzeigen
    Code
    >"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\PrideRage\Desktop\netDLL.au3" /UserParams	
    +>07:28:05 Starting AutoIt3Wrapper v.2.1.0.8	Environment(Language:0407  Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64)
    >Running AU3Check (1.54.22.0)  from:C:\Program Files (x86)\AutoIt3
    +>07:28:05 AU3Check ended.rc:0
    >Running:(3.3.8.1):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\Users\PrideRage\Desktop\netDLL.au3"	
    Ausnahme beim Aufrufen von "LoadFile" mit 1 Argument(en):  "Die Assembly wird v
    on einer Laufzeit erstellt, die aktueller als die derzeit geladene Laufzeit ist
    , und kann nicht geladen werden. (Ausnahme von HRESULT: 0x8013101B)"
    Bei Zeile:1 Zeichen:32
    + [Reflection.Assembly]::LoadFile <<<< ('C:\Users\PrideRage\Desktop\Mathematik.
    dll');$obj = [Mathematik.Math]::Add('2','100');$obj;
    	+ CategoryInfo      	: NotSpecified: (:) [], MethodInvocationException
    	+ FullyQualifiedErrorId : DotNetMethodException
     
    Der Typ [Mathematik.Math] kann nicht gefunden werden: Stellen Sie sicher, dass 
    die Assembly, die diesen Typ enth„lt, geladen wird.
    Bei Zeile:1 Zeichen:102
    + [Reflection.Assembly]::LoadFile('C:\Users\PrideRage\Desktop\Mathematik.dll');
    $obj = [Mathematik.Math] <<<< ::Add('2','100');$obj;
    	+ CategoryInfo      	: InvalidOperation: (Mathematik.Math:String) [], R 
       untimeException
    	+ FullyQualifiedErrorId : TypeNotFound
     
    +>07:28:06 AutoIT3.exe ended.rc:0
    >Exit code: 0	Time: 2.148
    Alles anzeigen

    Ich benutze Win7 64Bit und hab AutoIt 3.3.8.1 drauf.
    Das .NET Framework habe ich natürlich auch drauf (Version 4.5)

    An sich ist es jedoch eine super Idee :)

  • Hilfe mit Transparenz in OpenGL [Hat sich erledigt]

    • PrideRage
    • 12. August 2011 um 14:08
    Zitat

    Wieso nimmst du nicht C, C++ oder BASIC ?

    Ich finde C bzw. C++ sind nicht gerade einfache Programmiersprachen, ich kann zwar etwas C++, aber bei OpenGL + C hab ich dann entgültig aufgegeben C für OpenGL zu benutzen.
    Und BASIC ist einfach irgendwie anders als die anderen Programmiersprachen, deswegen versuche ich auch gar nicht mich mit BASIC zurecht zufinden.

    Zitat

    wenn man richtig Skill hat, kann man aus Java eine menge raushohlen, aber schneller als C++ ist es nicht.

    Momentan reicht mir die Geschwindigkeit von Java aus, denn ich habe ja nicht vor ein Crysis in Java zu programmieren ^^
    Für das, was ich vor habe ist Java definitiv besser für mich geeignet als C++.

  • Hilfe mit Transparenz in OpenGL [Hat sich erledigt]

    • PrideRage
    • 12. August 2011 um 02:43

    Hallo liebe Community!
    Ich bins mal wieder und hab auch schonwieder ein Problem.
    In letzter Zeit beschäftige ich mich mit Java und OpenGL in Java (mit LWJGL).
    Bisher funktioniert auch alles super, aber seit ca. einer Stunde sitze ich an einem Motion Blur Skript und komme nicht weiter.
    Ich möchte mehrere Quads semi-transparent zeichnen, aber OpenGL will das anscheinend nicht.
    Leider finde ich mittels Google keine Lösung :(
    Hier ist der Codeschnipsel der Betroffen ist:

    Spoiler anzeigen
    Code
    // steps = 10  opacity = 1.0f
    // vertexarray im nächsten spoiler
    public static void moveQuad(int[][] vertexArray, boolean mblur, int steps){
    float opacity = 1.0f;
    int distance;
    
    
    if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT)){
    for (int pnt=1; pnt<=4; pnt++){
    vertexArray[pnt][0] += 5;  // Zeichnet das Original neu!
    }
    
    
    if (mblur == true && steps > 1){
        for (int qds=1; qds<=steps; qds++){
        distance = 100 / qds;
        glColor4f(0.8f,0.1f,1.0f, opacity);  //Das eigentliche Problem!
        glBegin(GL_QUADS);
        for (int pnt=1; pnt<=4; pnt++){
            glVertex2f((vertexArray[pnt][0] - distance), vertexArray[pnt][1]);
            }
        glEnd();
        opacity -= (1/steps);
        }
        }
    }
    
    
    if (Keyboard.isKeyDown(Keyboard.KEY_LEFT)){
    for (int pnt=1; pnt<=4; pnt++){
    vertexArray[pnt][0] -= 5; 
    }
    }
    }
    Alles anzeigen
    VertexArray


    //keine panik die variable wird an die funktion erfolgreich übergeben also wundert euch nicht
    //warum die variable hier quadVertexes heißt :)
    //Aufbau: Die erste Dimension (1,2,3,4) regelt den Punkt der von OpenGl gezeichnet wird (mittels glVertex2f)
    // Die zweite Dimension (0,1) sind die x(0) und y(1) Koordinaten des Punktes
    //Der Typ des Arrays ist int quadVertexes[][] = new int[5][2]; falls das wichtig ist
    quadVertexes[0][0] = 0;
    quadVertexes[1][0] = 100;
    quadVertexes[1][1] = 100;
    quadVertexes[2][0] = 300;
    quadVertexes[2][1] = 100;
    quadVertexes[3][0] = 300;
    quadVertexes[3][1] = 400;
    quadVertexes[4][0] = 100;
    quadVertexes[4][1] = 400;

    Ich habe bereits viel versucht, das könnt ihr mir glauben, aber ich schaffe es nicht, dass
    glColor4f(0.8f,0.1f,1.0f, opacity);
    transparenz erstellt,
    nicht einmal wenn ich in der Schleife das opacity durch 0.2f ersetze.

    Falls ihr euch wundert, wie ich versuche Motion Blur damit zu erstellen, ich versuche folgendes:
    Ich will bei Bewegung einfach Quads zeichnen, die genau so aussehen wie das Original,
    die neuen Quads sind aber verschoben (nach links wenn es sich nach rechts bewegt),
    und zudem transparent.
    Die Variable "steps" gibt an, wie viele Quads gezeichnet werden für die unschärfe,
    desto mehr steps, desto detailierter der/die/das Motion Blur.


    Ich hoffe, dass jemand, der sich mit OpenGL auskennt, mir dabei helfen kann.
    Und ich hoffe auch, dass ich keinen Anfängerfehler begangen habe.

    MfG. PrideRage

    Edit:
    Folgende 2 Zeilen haben mir den Weg zur Transparenz ermöglicht
    glEnable (GL_BLEND);
    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    Nun funktioniert alles so wie es soll.

  • Arengu - Das AutoIt 2D RPG

    • PrideRage
    • 10. August 2011 um 03:40

    Hallo.
    Dein RPG sieht soweit..naja "Ok" aus, viel dazu sagen kann ich nicht, da es ja offensichtlich noch entwickelt wird.
    Ich habe ein Problem mit dem Game:
    Wenn ich von Anfang an immer nach unten gehe, und dann nach rechts,
    spawne ich von einem Fluss umrandet, wenn ich drüber gehe, bekomme ich 'nen Error:

    Spoiler anzeigen
    Code
    >Running:(3.3.6.1):C:\Programme\AutoIt3\autoit3.exe "C:\Dokumente und Einstellungen\Pride\Desktop\RPG\RPG.au3"	
    C:\Dokumente und Einstellungen\Pride\Desktop\RPG\RPG.au3 (99) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    $pic[$chunk + 9] = _GDIPlus_GraphicsDrawImageRect($hGraphic, $pic_data[$chunk + 9], $pLeft - 6, $pTop + 33, 40, 40)
    $pic[$chunk + 9] = _GDIPlus_GraphicsDrawImageRect($hGraphic, ^ ERROR

    Zu dem Bug mit dem grauen Kästchen hinter dem Spieler:
    Versuch mal das Dateiformat .png zu benutzen und den Hintergrund Transparent zu machen.
    Denn ich weiß nicht ob .bmp Transparenz zulässt (bzw. erkennt).

    MfG. PrideRage

  • Bat "Verkleinern"

    • PrideRage
    • 4. August 2011 um 09:26

    Wieso nennst du es Bat "Verkleinern"?
    Ich hab dein Skript mal unter die Lupe genommen, und dein Skript macht alles, aber es Verkleintert die Batch File nicht.
    Es macht eine Batch File sogar länger, und zudem unleserlicher.
    Und um ehrlich zu sein dachte ich du hättest einen Kompressionsalgorithmus geschrieben,
    anstatt ein Script welches Zeilenumbrüche löscht.

  • Betriebssystem Umfrage

    • PrideRage
    • 11. Juni 2011 um 12:08

    Ich selbst benutze WindowsXP bin aber höchst unzufrieden :rofl:
    Ich hätte am liebsten Win7 x64 aber hab noch net die Kohle für nen besseren PC.
    Ich bin wahrscheinlich einer der wenigen Windows'ler die Ubuntu auch toll finden xD
    Aber es hat ja keine guten Spiele, ist zum arbeiten trotzdem toll..
    MfG. PrideRage

  • Must Have Programme auf dem Rechner

    • PrideRage
    • 10. Juni 2011 um 15:12

    Für mich sind meine must-haves:

    WinRAR
    Firefox
    FileZilla
    Flash Player
    Photoshop CS5
    Sony Vegas Pro 9
    Blender
    Cheat Engine
    Code::Blocks
    Microsoft Visual C# 2010 Express
    FL Studio 9 Producer XXL
    Deckadance
    Unity3D
    CCleaner
    Avast 6
    VDownloader
    MSN
    Skype
    Windows Media Player
    VLC Media Player
    Steam
    Endorphin
    Alcohol 120%
    Audacity
    TuneUp 2011
    RocketDock
    Notepad++
    Microsoft Office 2007
    CamStudio
    Python
    AutoIt
    Unlocker

    Ohne diese Programme könnte ich am Computer nicht leben xD
    MfG. PrideRage

  • Osys15 - das ASM OS | Jetzt als Gast-OS für Windows HIER zum Download verfügbar! SDK nun auch verfügbar!

    • PrideRage
    • 7. Juni 2011 um 18:28

    Hallo.
    Wenn ich mit EMU Compiliere, dann bekomme ich keine .bin file :(
    Wäre schön wenn einer mir sagen könntes, was ich dagegen machen kann...
    MfG. PrideRage

    Edit: Hab die .bin files jetzt, wäre schön wenn du einen funktionierenden Source-Code providen würdest :rolleyes:

    Edit2: Du meintest, dass das mit dem "RUN" nur kurz dauert. Nach 10 Minuten sagt mir das programm dann "The program is haltet", und somit läuft das Proggi nicht, Zeitverschwendung für mich imo.!!


    Edit3: Läuft!

  • FF.au3 MozRepl Exception brauche hilfe!!

    • PrideRage
    • 7. Juni 2011 um 15:00

    Hallo.
    Ich melde mich mal wieder (seit langem) mit einem Problem.
    Ich hab das neueste MozRepl und FireFox installiert, jedoch bekomme ich beim _FFconnect()
    folgendes in der Konsole:

    Spoiler anzeigen

    _FFConnect: OS: WIN_XP WIN32_NT 2600 Service Pack 3
    _FFConnect: AutoIt: 3.3.6.1
    _FFConnect: FF.au3: 0.6.0.1b-3
    _FFConnect: IP: 127.0.0.1
    _FFConnect: Port: 4242
    _FFConnect: Delay: 2ms
    _FFConnect: Socket: 1696

    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"

    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    _FFConnect: Browser:

    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"

    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    __FFSendJavaScripts: Sending functions to FireFox .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    .
    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    . done
    __FFSend: try{FFau3 != null?1:0}catch(e){'_FFCmd_Err';};
    __FFSend: ;

    __FFWaitForRepl ==> MozRepl Exception: !!! [Exception... "Component returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED) [nsIFileOutputStream.init]" nsresult: "0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)"
    __FFRecv:
    __FFSend: try{gBrowser.loadOneTab('http://www.jappy.de/user/Apfel-Kuchen',null,null,null,true)}catch(e){'_FFCmd_Err';};
    _FFIsConnected ==> Socket Error: 1696
    __FFSend: ;

    Damit kann ich leider überhaupt nix anfangen.
    Ich hab bereits FF reinstalliert, neugestartet, MozRepl neu installiert, es hilft aber alles nix.
    Ich hoffe einer von euch weiß, was da los ist...

    MfG. PrideRage

  • Zahlenreihen

    • PrideRage
    • 16. März 2011 um 20:51

    Cooles Skript, funzt prima.
    Leider hasse ich Zahlenreihen, und "Schwer" kannst du auch zu "Zu schwer" umbenennen :P
    Die Lösung sollte evtl. auch angezeigt werden.

  • Console-UDF - lesen und schreiben in einer Konsole

    • PrideRage
    • 12. März 2011 um 18:50

    Sehr gute UDF.
    Endlich mal was anderes als immer nur ConsoleRead/Write
    Auch gut finde ich, dass man das Skript nicht als CUI exe kompilieren muss.
    MfG. PrideRage

  • Hilfe beim Script Stoppen

    • PrideRage
    • 10. März 2011 um 18:33

    Hallo.
    Wenn du schreibst "While $zahl = 1", dann kannst du die Schleife durch $zahl = 2 abbrechen.
    ExitLoop sollte aber auch funktionieren.
    MfG. PrideRage

  • Python's Dictionary Funktion in AutoIt

    • PrideRage
    • 9. März 2011 um 21:16

    Ganz einfach.
    Weil ich das nicht kannte :)

  • Python's Dictionary Funktion in AutoIt

    • PrideRage
    • 9. März 2011 um 20:53

    Hallo liebe AutoIt'ler.
    In den letzten Tagen bin ich auf die Dictionary Funktion in Python gestoßen.
    Diese Funktion ist einfach Klasse, und ich habe mir mal die Zeit genommen,
    diese Funktion so gut es geht in AutoIt zu erstellen.

    Was ist ein Dictionary?
    Ein Dictionary in Python ist ganz einfach zu betrachten wie ein Array,
    der keine Elemente hat, wie z.B. $array[3] sondern Schlüssel und Werte.
    Wenn man also den Schlüssel "Land" und den Wert "Deutschland" definiert,
    dann kann man in Python sein Dictionary so aufrufen:
    Dictionary["Land"], wenn man das in der Konsole ausgibt, käme Deutschland raus.
    Die Syntax wäre: Dictionary = {"Land":"Deutschland"}

    Wozu brauche ich Dictionaries?
    Dadurch, dass man Wertepaare hat, kann man ganz leicht seine Daten speichern und/oder anordnen.
    Will man z.B. einen Array mit Namen und Passwörtern machen, dann bräuchte man einen 2D Array,
    in dem man dann alles einfügt und wiederfinden muss.

    Sind die AutoIt Dictionaries schwerer als Python's Dictionaries?
    Meines erachtens nach sind sie nicht schwerer.
    Ich habe "spezielle" Funktionen hinzugefügt,
    die das Managen eines Dictionaries angenehm und einfach machen.
    Die Funktionen haben selbsterklärende Namen, aber ohne
    Funktionsheader wäre es nicht übersichtlicher ;)

    Gibt es Bugs?
    Ich hoffe, ich habe alle beseitigt, aber da kann ich mir nicht 100%ig sicher sein.
    Über rückmeldung und/oder Verbesserungsvorschläge würde ich mich freuen.

    Ich danke BugFix für 2 seiner tollen 2D Array funktionen;
    und SEuBo für das "DescribeIt" Tool.

    Source Code + Beispiel findet ihr im Anhang.
    Wer noch Fragen zu den Dictionaries hat, kann sie gerne stellen.

    MfG. PrideRage

    Dateien

    Dictionary.au3 18,41 kB – 553 Downloads Beispiel.au3 469 Byte – 576 Downloads
  • [Formel] Etwas fürs Auge

    • PrideRage
    • 8. März 2011 um 18:36

    Hallo Blume,
    für so wenig Zeilen Code ist das Resultat überweltigend.
    Wäre cool wenn man daraus eine Animation machen könnte, aber die Berechnung für ein Bild dauert 10 Sekunden.
    Also gute Arbeit bei der änderung der Formel ;)
    MfG. PrideRage

  • StringRegEx mit Rückgabe der Position der Expression

    • PrideRage
    • 8. März 2011 um 16:08

    Super funktion. Funktioniert klasse.
    Meiner Meinung nach sollte mal diese Funktion als Standardfunktion in AutoIt einbauen.

  • Löffelsprache Übersetzer

    • PrideRage
    • 7. März 2011 um 19:46

    Könnte man im alltag eher gebrauchen als am PC xD

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™