Naja, einen Stack-Overflow in AutoIt hab ich bis jetzt noch nie gesehen...
Sollte nicht beim kompilieren dafür gesorgt werden das so was nicht passiert? Weil wie gesagt, ein Stack Overflow ist mir noch nie Untergekommen...
Beiträge von Fast2
-
-
Das ist Post Nummer 400!!!Applaus!
[Blockierte Grafik: http://smileyonline.free.fr/images/gif/bravo/vignette/thumbnails/1036535672_gif.gif][Blockierte Grafik: http://img99.exs.cx/img99/8577/yupi3ti.gif][Blockierte Grafik: http://e.deviantart.com/emoticons/w/w00t.gif][Blockierte Grafik: http://friendsforever.foren-city.de/images/smiles/a084.gif]
[Blockierte Grafik: http://photo-forum.net/joro/emoticons/EmoticonTheWave.gif][Blockierte Grafik: http://www.forumup.com/images/smiles/slider_thankyou.gif]So, genug Smilies gepostet
-
Naja, du hast eine Dynamische IP, aber um and einen PC Daten zu senden braucht man halt seine IP. Und weil du nicht jeden Tag ne Versin mit ner angepassten IP hochladen kannst,
(jeden Tag neu runterladen, nein Danke) brauchst du eine statistische IP also einen Server, allso einen PC mit einer IP die sich nicht ändert. -
Wie schon gesagt an irgeneinen zentralen Server senden.
-
Oder man macht es über so ein Konstrukt:
[autoit]While 1
[/autoit]
;Befehle zu denen bei falscher Eingabe zurückgekehrt werden soll
If Not StringIsDigit(GUICtrlRead($Input)) Then ContinueLoop ;Wenn das eingetippte nicht passt wird an den Schleifenanfang gesprungen
ExitLoop ;Wenn nicht dann geht er einfach raus
WEnd -
Die kann sich auch nicht selbst löschen, das macht Windows( bzw. die CMD.exe die die DLL interpretiert und vllt. auch noch ein anderes Programm aufruft)
-
Lol, einfach ne Hintertür aufgemacht Aber obs der Übersichtlichkeit dient ist fraglich... Naja, solang AutoIt nicht meckert...
-
Eistee, auch wenn das jetzt OT ist, so möchte ich dich darauf hinweisen, dass es auch eine Edit-Funktion gibt. (siehe Bearbeiten bei deinem Post)
-
Das hatten wir ja schon ein paar mal, aber wie die Pixel... Funktionen wird auch der Screenshot nicht gehen.
Was man bräuchte wäre eine Funktion, die das Fenster nicht für den Anwender sichtbar (also im Hintergrund) zeichnet, so dass man es erkennen kann.
Wie man das machen soll? K.a., nicht mal ein Anfang -
Eistee: Du bist dir aber schon im klaren das eine Suchfunktion kein Mensch ist und mit einem Satz wie deinem nichts anfangen kann, oder? (Außer "große" Suchmaschienen wie z.B. Google, das unwichtige wörter einfach rausschneidet, und so doch noch an die puren Suchbegriffe kommt)
Der Tab "Suchen" in der AutoIt-Hilfe liefert meistens nix, such lieber im Index (alphabetisch) nach dem was du brauchst auf Englisch (du willst was mit nem Fenster machen? Fägt mit Win... an, bzw. bei ner GUI mit GUI..., bei Dateien File... usw.)
Oder du gehst den Inhalt durch(kann hilfreich sein wenn du z.B. den Inhalt einer (mitgelieferten) UDF suchst)Edit: Ich glaub man konnte nicht erkennen das ich mich auf die AutoIt-Hilfe bezogen hab, korrigiert.
-
@fabs: So geht es fast, nur das in Z.14 kann nicht gehen, ich weiß nur nicht wie ich den Timeout sonst machen sollte.
Spoiler anzeigen
[autoit]#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit]
If _IsPressedText("Dein Text", 2000) Then MsgBox(0, "Juhu!", "Geklappt")Func _IsPressedText($Text, $Zeit_zwischen_Tastendruck = 1200) ;Zeit in ms
[/autoit]
If Not IsString($Text) Then Return SetError(1, 1, 0)
If Not IsNumber($Zeit_zwischen_Tastendruck) Then SetError(1, 2, 0)
If $Zeit_zwischen_Tastendruck <= 0 Or Default Then $Zeit_zwischen_Tastendruck = 50
$DLL = DllOpen("user32.dll")
For $i = 1 To StringLen($Text)
$Aktuelles_Zeichen = StringMid($Text, $i)
$Tastencode = Hex(Asc($Aktuelles_Zeichen))
$Zeitstempel = TimerInit()
While 1
If _IsPressed($Tastencode, $DLL) Then ExitLoop
Sleep(1)
If TimerDiff($Zeitstempel) >= $Zeit_zwischen_Tastendruck Then Return SetError(2, 0, 0)
WEnd
Next
DllClose($DLL)
Return 1
EndFuncEdit(vor Post): Jetzt gehts
Edit2: Naja, der Timeout war a weng kurz
Edi3: Sorry, habs grad ein Paar mal getestet, gibt mir immer @Error2 (also es wurde eine Taste nicht (rechtzeitig) gedrückt) zurück
Edit4: Die einfach Hex zu machen reicht nicht Ich bastel mir dann mal ne Funktion zum Umwandeln... -
Alina: ">" heißt auch, das das bestehende File überschrieben werden soll
@Thread: Das das nicht gelesen wird kann aus meiner Sicht an 3 Sachen liegen: 1. Das geänderte Verhalten von StdoutRead (wartet nicht mehr bis die Ausgabe abgeschlossen ist), 2. Irgendwo hab ich gelesen das viele Programme ihre Ausgabe auch in den StdErr-Stream schreiben, versuche also auch ein mal StderrRead und 3. Du hast schlicht und einfach die Funktion falsch benutzt . So weit ich weiß hat _RunDOS nicht die Möglichkeit, ein Handle zum Stream aufzumachen, benutze stattdessen lieber Run(@ComSpec...) mit entsprechendem Parameter.Und Greenhorn: Bei Windows ist das nicht so, zumindest bieted keines der mitgelieferten CMD-Programme bieted solch eine Funktion.(allerdings kenn ich auch nicht alle
-
Aber da er/sie noch ein(e) Anfänger(in) ist fand ich es angebracht einen ausführlich kommentierten Beispielcode zu schreiben.
-
Dann worde ich aber nen HotKey zum beenden setzen.
[autoit]HotKeySet("{ESC}", "_Beenden") ;Setzt Escape als "HotKey", d. h. beim druck darauf wird die angegebene Funktion (hier: _Beenden) ausgeführt
[/autoit][autoit][/autoit][autoit]
While 1 ;Kopfgesteuerte Schleife mit abbruchbedingung True -> Endlosschleife
MouseClick("left") ;Maus klick
Sleep(50) ;Doppelt so schnell
WEnd ;SchleifenendeFunc _Beenden() ;Start der Funktion _Beenden
[/autoit]
Exit ;Verlässt das Script
EndFunc ;Ende der Funktion -
Wenns nur der Titel ist, kann man dies auch mit WinSetTitle machen
Edit: [sarkasmus]Tut mir ja Leid das deine Beschreibung so schwer zu verstehen ist.[/sarkasmus] So aber jetzt mal im Ernst: Damit geht schon mal das Beispiel zu lösen. Und für Memory nimmst du halt die (Nomad-)Memory.au3 (falls es die noch gibt) als Vorlage(falls es da Hex nicht eh schon als Option gibt) oder was es ziemlich sicher als Option gibt: Das Binäre lesen. Und dann kann man über den Umweg BinaryToString und _StringToHex auch Hexwerte lesen.
Und falls du jetzt irgendwelche Beschwerden hast von "ich hätte freundlicher schreiben können" über Rechtschreibfehler bis zu Ungenauen Formulierungen dann wende dich doch bitte an eine Figuren auf der Osterinsel. -
Hallo,
ich schließe mich meinen Vorrednern an (bis darauf das ich Nichtraucher bin ). Allerdings möchte ich noch hinzufügen das Threadtitel wie "Ich brauche Hilfe" oder: "Es Funktioniert nicht" oder noch schlimmer: "HILFE!!!!!!" nicht gerade zur Lösung des Problems beitragen. Auch ist eine umfassende Problembeschreibung natürlich gerne gesehen
Edit: Oh, du hast ja schon wieder gepostet
Das Problem scheint für mich sehr einfach zu sein, was mir aus dem Stegreif an Befehlen einfällt, die benötigt werden: For-Schleife, alles (je nach vorliebe) über Input-Controls oder Up-/Down-Controls, (Demensprechend auch GUIs(Wie man Controls ausliest, weitere Controls(Buttons...))), Für das Abfragen der Daten: If, Select und Switch, Löschen von Ordnern: DirRemove, Für Dateien: FileDelete, Und andere Grundkenntnisse(Wie das mit Variablen, Rückgabewerten, Makros usw. geht, Wie man Funktionen benutzt..).
Sieht jetzt zwar nach viel aus, ist es aber gar nicht
Das was ich jetzt persöhnlich am schwierigsten finde ist diese Statistik, durch diese kannst du bei DirRemove nicht einfach das Flag 1 setzen sondern musst dich immer von einer Datei in einem Verzeichnis "hocharbeiten" und bei "Abzweigen" immer erst da bis zur UnterstenDatei dort, dann wieder "hocharbeiten" und so weiter. -
Wieso nicht einfach mal wieder ne Up/Down verwenden? Einfach eine für Stunden und eine für Minuten, und schon gibts kein Problem mehr.
-
Und ich hab 50, 100, 150 und 200 verpasst. Hoffentlich nicht auch noch bald 500...
-
Gratulation! [Blockierte Grafik: http://img151.imageshack.us/img151/5025/cheers0030ug.gif]
-
Genau! Die ham sich einfach Teile vom Quellcode von 2.X geklaut!