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

Beiträge von GtaSpider

  • Dll Funktion Ausführen und gleichzeitig mit AutoIt weiterarbeiten (DllCallbackRegister)

    • GtaSpider
    • 5. Februar 2014 um 18:53

    Hey meine lieblings Community,

    Ich habe beim durchforsten der neuen AutoIt Hilfe das Keyword "Volatile" gefunden und wollte es gleich mal ausprobieren, es wurde extra für Callback und ComEvent Funktionen geschrieben.
    Bisher gab es immer das Problem bei DllCallbackRegister, dass zwar eine Funktion ausgeführt werden konnte, die mit Parametern gefütter wird, aber der restliche AutoIt Code (z.B. die GUI) nicht weiterlief womit es für mein Zwecke vollkommen unbrauchbar ist.

    Also hab ich ein wenig rumprobiert, und tatsache: Es ist Möglich, dass das AutoIt Programm parallel zum DllCall weiter ausgeführt wird. Kompiliert habe ich es in MinGW mit Eclipse.

    Über Feedback jeder Art würde ich mich freuen :)

    Gruß,
    Spider

  • Internet-Geschwindigkeit messen

    • GtaSpider
    • 13. Januar 2014 um 14:04
    Zitat von Xorianator

    @GTA Spider ist nicht der Down-Stream wichtig (die Datei wird doch runtergeladen?)
    Zumindest sagt PHP-Friends in ihrem FAQ (Link) folgendes:

    Ja, die haben das so geschrieben, damit das Verständlich für den normalen User ist. Auf deren Seite ist pro User 4MB/s Upload und 1 MB/s Download erlaubt. Wie I2C schon gesagt hat: Up -> nach draußen, down -> nach drinnen

  • Internet-Geschwindigkeit messen

    • GtaSpider
    • 13. Januar 2014 um 03:13

    Dafür brauchst du genau 3 Funktionen:
    TimerInit()
    InetGet()
    TimerDiff()

    Wenn TimerDiff jetzt z.B. 5000ms zurück gibt weißt du, dass die 10 MB große Datei in 5 Sekunden geladen wurde, heißt im klar Text 5/10 = 0.5mbyte/s * 8 = 4 mbit/s

    Natürlich ist das nicht zuverlässig und unsauber, da es immer zu Interferenzen kommen kann, ich würde da auf jeden Fall eine größere Datei benutzten. Und hat dein Server genug UP-Stream?

    Gruß,
    Spider

  • mp3-Dateien mit "Zufall" neu sortieren

    • GtaSpider
    • 12. Januar 2014 um 17:19
    Zitat von De Rand Ere

    Mit FileCopy() muß ich die Datei 2x "anfassen". Das erste Mal beim Kopieren, das zweite Mal beim Ändern des Zeitstempels. FileCopy hat keine Option um der Kopie die Zeit von "Jetzt" zuzuweisen. Deshalb suchte ich ja nach einer RAM-Disk-Lösung. FileOpen simuliert diese nun. Funktioniert auch prima. Nur die Frage zur FileFlush-Funktion ist noch ungeklärt....


    Bei FileClose wird die Datei automatisch schon auf die Festplatte geflusht! Brauchst du also nicht. ;)

  • Welche Verschlüsselungsarten unterstützt Autoit?

    • GtaSpider
    • 12. Januar 2014 um 14:53
    Zitat von jjj

    Ich würde sagen, man kann alles um setzten, wo keine zu hohen Zahlen als zwischenergebnis herauskommen, was bei RSA der Fall wäre.

    Hohe Zahlen sind für AutoIt mit der BigNum UDF auch kein Problem mehr ;)

  • Welche Verschlüsselungsarten unterstützt Autoit?

    • GtaSpider
    • 12. Januar 2014 um 14:44

    Wie gesagt, fest in der Installation sind nur die _Crypt Funktionen aber ja auch als UDF. Schau in der Hilfe, da sind ordentlich welche dabei (greift auf die Windows API zu).
    Realisieren kannst du, wie gesagt, auch alles! Einfach bei Wikipedia oder sonst wo den Algorithmus anschauen und dann in AutoIt nachprogrammieren ;)

  • Welche Verschlüsselungsarten unterstützt Autoit?

    • GtaSpider
    • 12. Januar 2014 um 14:36

    Hallo,

    Du kannst mit AutoIt alle Verschlüsselungsalgorithmen schreiben die du willst. Aber schau dir mal die _Crypt Funktionen an, das sollte fürs erste genügen.

    Gruß,
    Spider

  • Bluetooth Headset mit 3,5mm klinke?

    • GtaSpider
    • 9. Januar 2014 um 19:05

    Hey,

    Ja klar! Aber da kann ich genau so gut mein Handy auch direkt über Klinke anschließen, da dies ja kein Headset ist. Ich will ein Gerät, welches ich sowohl als Headset als auch als Transmitter verwenden kann! Google hat mir auch nicht weitergeholfen :/ Vielleicht gibts sowas einfach nicht! Wenn ich mal ein bisschen Zeit habe, sollte ich diese Marktlücke mal füllen :D

    Edit: Ah, ich hab doch was gefunden, witzigerweise direkt von Nokia (hab selbst ein Lumia 920) und zwar das nokia BH-121. Ist zwar nicht genau das, wo nach ich gesucht hab, hat aber auch in Mikrofon halt nur als Clip! Überall lese ich, es sollte schon letztes Jahr im Dezember rausgekommen sein, finde aber nirgendswo eine Seite wo ich es kaufen kann :D Also falls jemand noch eine Idee hat... :)
    Gruß,
    Spider

  • Bluetooth Headset mit 3,5mm klinke?

    • GtaSpider
    • 9. Januar 2014 um 18:19

    Hey,

    Danke für deine Antwort! Also, ich versucsh mal zu erklären: Also, ich laufe so rum mit meinem Headset an meinem Ohr und telefoniere, höre vlt ab und zu mal Musik und so. Ich höre also gerade Musik, steige in mein Auto, nehm mein Headset ab, lege es z.B. aufm Beifahrersitz und nehm mir das 3,5mm Klinkenkabel, welches an meinem Radio angeschlossen ist, und stöpsele es in mein Headset. Das Headset ist immer noch mit dem Handy Verbunden. Nun spiele ich über mein Handy Musik ab. Musik -> Bluetooth -> Headset -> 3,5mm -> Radio. Umständlicher gehts wohl kaum, ich finds aber sehr bequem, da ich mein Handy die ganze Zeit mit dem Headset verbunden haben kann und ich die Musik die ich vorher über Headset gehört habe, ohne mein Handy rausholen zu müssen, über das Radio hören will.

    Außerdem kann es auch mal sein, dass ich am Headset gute Kopfhörer oder meine Anlage anschließen will. Das wäre sozusagen ein all-in-one Gerät :)

    Gruß,
    Spider

  • Bluetooth Headset mit 3,5mm klinke?

    • GtaSpider
    • 9. Januar 2014 um 16:33

    Heyho,

    Kurze Off-Topic Frage. Kennt hier zufällig jemand ein Bluetooth Headset (also tatsächlich ein Gerät zum ins Ohr stecken) mit einem 3,5 mm Audioausgang?

    Klingt seltsam, ich weiß, aber ich hab mir das so gedacht: Handy immer über Bluetooth Verbunden zu haben und dann wenn ich unterwegs bin halt mit dem Headset telefonieren, und wenn ich im Auto bin, einfach Headset an mein 3,5mm Audiokabel im Auto anschließen und übers Handy Musik hören.

    Gruß,
    Spider

  • Variablen: Dim / Global / Local / Const

    • GtaSpider
    • 5. Januar 2014 um 20:37

    Hallo,

    Man sollte eigentlich nur Konstanten (Const) und Konstante-Enumerations (Enum) Global deklarieren. Z.B. die ganzen WM_COMMAND Funktionen, aber auch ggf den Titel des Programms damit in allen Fenstern der Titel gleich ist (falls man ihn mal ändert). Variable Variablen (höhö) sollte man niemals Global benutzten, entweder wie schon beschrieben mit ByRef oder gar mit Local Static.

    Noch mal kurz zu Enum: Enumeration (zu Deutsch Aufzählung) ist eine Aufzählung (tada). Hier mal nen Beispiel:

    [autoit]

    Global Enum $Erster, $Zweiter, $Dritter, $Vierter
    Global Enum Step 2 $Erster1, $Zweiter1, $Dritter1, $Vierter1
    Global Enum Step * 2 $Erster2, $Zweiter2, $Dritter2, $Vierter2

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

    MsgBox(0,"Normal",$Erster&","&$Zweiter&","&$Dritter&","&$Vierter)
    MsgBox(0,"Step 2",$Erster1&","&$Zweiter1&","&$Dritter1&","&$Vierter1)
    MsgBox(0,"Mal zwei",$Erster2&","&$Zweiter2&","&$Dritter2&","&$Vierter2)

    [/autoit]

    Und zu Static:

    [autoit]

    While 1
    _Test(@SEC);Wird 100 mal die Sekunde aufgerufen, zeigt aber nur die Sekunde an, wenn sich die aktuelle Sekunde ändert
    Sleep(10)
    WEnd

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

    Func _Test($iVar)
    Local Static $iVar_Old = -1;iVar_Old initieren, beim ersten mal ist es -1
    If $iVar = $iVar_Old Then Return False;Wenn neuer Wert = Alter Wert ist, return
    $iVar_Old = $iVar;Danach wird iVar_Old immer mit der aktuellen Variable (sekunde) gesetzt
    ConsoleWrite($iVar & @LF);Ausgabe
    EndFunc

    [/autoit]

    Gruß,
    Spider

  • SciTE Output Farbschema

    • GtaSpider
    • 3. Januar 2014 um 19:44

    Hey Buggy,

    Ah, nett :) Magst du auch mal deine .SciTEConfig und evtl ein Screenshot anfügen? (Findest du in \autoit\scite\sciteconfig\*.*)

    Gruß,
    Spider

  • Neuer Syntax in Version 3.3.10.0

    • GtaSpider
    • 27. Dezember 2013 um 20:40

    Hallo,

    Das ist ein Thread für den neuen Syntax, nicht um zu diskutieren wie effizient AutoIt ist, tut das bitte im OT Bereich. Ich habe jetzt mal alle nicht relevanten posts gelöscht..

    Gruß,
    Spider

  • Array hilfe

    • GtaSpider
    • 23. Dezember 2013 um 22:51

    Entweder so (mit neuem Syntax):

    Spoiler anzeigen
    [autoit]

    $sFile = @ScriptFullPath

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

    $aFRTA = FileReadToArray($sFile)
    Local $test[UBound($aFRTA)]
    For $i = 0 To UBound($aFRTA) - 1
    $test[$i] = StringSplit($aFRTA[$i], ":")[1]
    MsgBox(0, "", $test[$i])
    Next

    [/autoit]

    oder so:

    Spoiler anzeigen
    [autoit]

    $sFile = @ScriptFullPath

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

    $aFRTA = FileReadToArray($sFile)

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

    For $i = 0 To UBound($aFRTA) - 1
    $test = StringSplit($aFRTA[$i], ":")
    MsgBox(0, "", $test[1])
    Next

    [/autoit]
  • Internetadresse, Email und Zahl aus EINEM String abfragen?!?

    • GtaSpider
    • 23. Dezember 2013 um 21:19

    Hallo

    Musste mich letzens mit E-Mail adressen Auseinander setzen und hab mal ein wenig gegoogelt. Ja es gibt riesige Pattern, auch offizielle Pattern, die sind aber alle nicht wirklich gültig da sie z.B. Leerzeichen in der Mailadresse als falsch erachten. Folgende Mail Adresse ist aber korrekt: "gta spider"@gmx.de - ob mans glaubt oder nicht ;)

    Ich hab mir deswegen folgendes Pattern geschrieben:

    [autoit]

    StringRegExp($sEmailAddress, ".+@.+\..+")

    [/autoit]

    Das verwirrt jetzt sicher mehr, als das es dir weiterhilft, da es sich ja auch um ein Fließtext handelt, aber ich wollte es zur Vervollständigung noch mal hier hinzufügen :)

    Gruß,
    Spider

  • Array hilfe

    • GtaSpider
    • 23. Dezember 2013 um 21:11

    Hallo,

    Kleiner Tipp: Gibt nun in AutoIt (3.3.10.0) die native Funktion FileReadToArray, macht das was bei Tweaky von Line 3 - 8 passiert ;)

    Gruß,
    Spider

  • Neuer Syntax in Version 3.3.10.0

    • GtaSpider
    • 23. Dezember 2013 um 19:59

    Jip, danke dir, ist hinzugefügt

  • Neuer Syntax in Version 3.3.10.0

    • GtaSpider
    • 23. Dezember 2013 um 19:18

    Hallo,

    Es hat ja mittlerweile schon Tradition, dass es zu Weihnachten meistens eine neue AutoIt stable gibt. So auch dieses Jahr, und diesmal hat sich einiges geändert! Hier ist ein kleines Beispiel, wie sich der Syntax geändert hat - falls ihr Fragen habt, immer her damit, ich hoffe es hilft dem Ein oder Anderen weiter :)

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_AU3Check_Parameters= -q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Array.au3>

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

    Example()

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

    Func Example()
    Local $tStruct, $sTest, $vMsgB, $vTestFunc

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

    ;Automatische größe von Arrays, wenn [] benutzt wird (danke an minx)
    Local $aTestArray[] = [1, 2, 3, 4]

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

    ;Hier gab es gleich zwei Probleme: Zum einen konnte kein leeres Array erstellt werden. ([0])
    ;Zum anderen konnten statische Arrays nicht mit ReDim erhöht werden - das funktioniert nun beides!
    Static $aEmptyArrayOnStatic[0]

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

    ;Vergrößere das Array
    ReDim $aEmptyArrayOnStatic[4]

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

    $aEmptyArrayOnStatic[0] = "Testbla"
    $aEmptyArrayOnStatic[1] = "Test"
    $aEmptyArrayOnStatic[2] = "Test1"
    $aEmptyArrayOnStatic[3] = "Test2"

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

    ;Neuer Array Display Dialog. Wähle paar Elemente aus, klick auf "Run User Func" und schau was passiert :)
    _ArrayDisplay($aEmptyArrayOnStatic, "Item auswählen + auf User Func klicken", "", 0, Default, Default, Default, 0xff9999, "_UserArrayFunc")

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

    $vMsgB = MsgBox;Setze Variable vMsgB auf die Funktion MsgBox
    ;Hier beschwert sich zwar der Wrapper, funktioniert aber trotzdem. (Ohne Wrapper ausführen)
    $vTestFunc = _TestFunc123;und die Variable auf die Funktion _TestFunc123
    $tStruct = DllStructCreate("char bla[1024]; int x[4]");tStruct auf eine Struktur

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

    ;Setzte den datatype bla auf "Hallo Welt"
    $tStruct.bla = "Hallo Welt"

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

    ;Das funktioniert nicht, da tStruct.bla eine konstante ist
    ;~ _TestFunc123($tStruct.bla)

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

    ;Da muss man erstmal sTest den wert von tStruct.bla zuweisen
    $sTest = $tStruct.bla
    ;und dann (jetzt neu) mit Call aufrufen, ByRef ging früher mit Call nicht
    Call($vTestFunc, $sTest)
    ;Oder aber auch so:
    ;~ $vTestFunc($sTest)

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

    ;Hier geben wir das nun in einer MessageBox aus (die wir ja oben deklariert haben)
    $vMsgB(0, "", "tStruct: " & $tStruct.bla & @CRLF & "sTest: " & $sTest)

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

    ;Hier schauen wir noch mal mit tenären operator (wie in C++) nach, ob sTest nicht tStruct.bla enstpricht

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

    $vMsgB(0, "", ($sTest = $tStruct.bla ? "Ups, da ist was falsch gelaufen" : "Jipp, genau so solls sein, sTest != tStruct.bla"))

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

    ;Hier noch mal FuncName und IsFunc ausprobieren
    $vMsgB(0, "", "vTestFunc entspricht der Funktion " & FuncName($vTestFunc) & " und es ist eine " & (IsFunc($vTestFunc) = 2 ? "native Funktion" : "User defined Funktion"))

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

    ;Auch interessat, nun kann man direkt hinter Funktionen die ein Array zurück geben, das spezifische Element auswählen
    $vMsgB(0, "", "Erstes Element: " & StringSplit("Hallo,Welt,Komma,Seperator", ",")[1] & @CRLF & "Erstes Element von UserFunc: " & $vTestFunc($sTest)[1])

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

    ;Hardcoded funktioniert der Zugriff auf Subindexe
    $tStruct.x(1) = 11
    $tStruct.x(2) = 22
    $tStruct.x(3) = 33
    $tStruct.x(4) = 44

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

    $vMsgB(0, "", "Sollte 33 sein: " & $tStruct.x(3))

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

    For $i = 1 To 4
    ;~ $tStruct.x($i) = $i; Das funktioniert nicht, fehler vom Compiler, wird wohl noch ausgebessert. Stattdessen z.B. die untere Zeile verwenden
    $tStruct.x(($i)) = $aTestArray[$i - 1]; Mit doppelter klammer funktioniert es. Dannk an Mars

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

    Next

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

    $vMsgB(0, "", "Sollte " & $aTestArray[2] & " sein: " & $tStruct.x(3))
    EndFunc ;==>Example

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

    Func _UserArrayFunc($aArray, $aSelected)
    #forceref $aArray
    MsgBox(0, "", "Du hast " & $aSelected[0] & " Item(s) selected!")
    EndFunc ;==>_UserArrayFunc

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

    Func _TestFunc123(ByRef $sTest)
    Local $avTest[] = [5, 4, 3, 2, 1]
    $sTest = "Test 2"
    Return $avTest
    EndFunc ;==>_TestFunc123

    [/autoit]

    Gruß,
    Spider

    Edit: Subindex bei Struktur und automatische Array größe hinzugefügt (dank an minx)
    Edit2: Paar kleine Updates

  • TCPRecv gibt Hexadezimalzahlen zurück

    • GtaSpider
    • 23. Dezember 2013 um 18:41

    Hallo,

    Ich setze immer den letzten Parameter auf "1" und wenn ich dann Strings auswerten will benutze ich auch immer BinaryToString(TcpRecv(..,..,1))
    So solltest du nie Probleme bekommen :)
    Problem ist, dass wenn AutoIt ein Zeichen empfängt, dass nicht alnum (0-9, A-Z, a-z) ist, dann wandelt AutoIt das automatisch in binär um. (was an sich auch richtig ist)

    Gruß,
    Spider

  • Windows 8 Popup oder doch Tooltip?

    • GtaSpider
    • 20. Dezember 2013 um 16:53

    Hey,

    Schau mal in der hilfe nach TrayTip. Ist ein simpleres windows eigenes ding. Sonst google bemühen oder dir selbst eine GUI (GuiCreate...) basteln!

    Gruß,
    Spider

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™