Danke Euch!
@Xorianator, ich hoffe ich muss mir jetzt keine Sorgen machen? "einen neuen Spielgefährten" klingt schon etwas suspekt
Du wirst dich schon an sie gewöhnen ![]()
Danke Euch!
@Xorianator, ich hoffe ich muss mir jetzt keine Sorgen machen? "einen neuen Spielgefährten" klingt schon etwas suspekt
Du wirst dich schon an sie gewöhnen ![]()
Hi und herzlich Willkommen im Forum ![]()
Wenn ihr nur statische Elemente haben wollt (kein Forum oder ähnliches) was sich praktisch nie verändert (vielleicht einmal im Monat, zweimal im Monat um Daten zu aktualisieren) dann nehmt am besten einen Websitebaukasten dafür, damit ist die Arbeit schnell erledigt und sie schaut auch noch schön aus.
Um von grundauf eine Website in HTML selber zu gestalten benötigt es sehr viel wissen damit sie überhaupt schön aussieht, von der Funktionalität mal ganz abgesehen.
Ihr könnt euch ja mal http://one.com ansehen. Ich hoste da selber eine Domain und der Websitebuilder ist eigentlicht nicht allzu schlimm, wenn man was ändern will, loggt man sich ein, wählt die Seite aus und ändert was.
Dann setz doch bitte den Präfix des Threads auf [gelöst] (1. Beitrag bearbeiten.)
Du musst zwischen AutoIt-Fehlermeldungen und Shell-Meldungen unterscheiden können!
AutoIt schmeißt die Zeilennummer immer mit bei einer Fehlermeldung raus, eine Shell-Meldung ist kein Fehler von der Seite AutoIts.
Wenns crasht suchst du halt die Zeilennummer, wenns ne Shell-Meldung ist dann ist es ja kein Crash sondern deine Eingaben sind falsch.
Alles Gute ![]()
Du könntest das mit dem WMPlayer.ocx Objekt bewerkstelligen. Statt dem Sleep würde ich lieber solange warten bis der ReadyState auf playing lautet und dann auslesen.
ahh Danke,das habe ich nicht gewusst.
Eine ziemlich einfache Lösung, gefällt mir!MFG
Dann änder doch bitte den Präfix vom Thread (1. Beitrag bearbeiten) auf [gelöst] damit andere Nutzer über die Suchfunktion direkt die Lösung finden.
Du suchst nach den HotKeys die in SciTE verfügbar sind. Da gibts sicherlich eine Liste, zumal die ja auch sogar verstellbar sind.
Ich meinte den OptEvent gar nicht erst benutzen.
Man sollte nicht das Problem unter den Teppich kehren wenn man es beseitigen kann. Außerdem habe ich jemandem gerade etwas neues beibringen können also besser so!
@alpines es müsste bereits reichen wenn er "Sleep 10" in die While einbaut.
Kommt letztlich aufs selbe hinaus, habs mir immer angewöhnt 1000 zu nehmen. Spielt ja keine Rolle weil AdlibRegister und die Events davon sowieso nicht betroffen sind.
Du kannst auf den OnEventMode wechseln, dort musst du in einer Schleife nicht die Messages selber handlen sondern weißt jedem Button einfach eine Funktion zu die aufgerufen wird wenn der Button geklickt wird.
Zuerst brauchst du Opt("GUIOnEventMode", 1) und GUICtrlSetOnEvent($hControlID, "_FunktionDesButtons").
Für die GUI selber nimmst du einfach GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") mit der jeweiligen Exit-Funktion.
Dazu musst du aber dein Script am Leben halten mit einer einfachen While 1 - Sleep(1000) - WEnd Schleife.
Du solltest außerdem vermeiden Controls neu zu erstellen. Veränder lieber die Farbe und Schriftart und Inhalt und verwendet das selbe Label einfach.
Das überprüfen des der EXE machst du am besten mit AdlibRegister und AdlibUnregister. Wenn du dort eine Funktion registrierst wird sie alle x Sekunden aufgerufen (dafür darf die Funktion das Script aber nicht unterbrechen, wie z.B. MessageBoxen aber GUI-Labels ändern klappt hervorragend).
So schaffst du es das dein Script alle x Sekunden nach dem Programm prüft und nur arbeitet wenn entweder geprüft wird oder ein Button geklickt wurde und schwupps ist die CPU-Auslastung wieder auf 0%.
Ich habe dein vorschlag eingebaut und sry das dass so unübersichtlich aussieht, muss mal langsam ein System reinbekommen.
Globale Variablen (in diesem Fall deine Controls) solltest du niemals in Funktionen erstellen, da kann ganz gerne was durcheinander kommen und es schießen einem tausend Warnings um die Ohren wenn man nicht oben alle extra deaklariert und auf 0 gesetzt hat, aber das macht die Fehlersuche nicht besser.
Deshalb gilt: Immer GUI erstellen und im Nachhinein die Daten setzen, du musst die GUI ja nicht unbedingt anzeigen wenn es dir darum geht aber deine GUI Erstellung sollte an einem Fleck sein, die Zuweisungen sollten möglichst an einem Fleck sein und dann sieht das nicht nur besser aus sondern die Fehlersuche ist auch erheblich leichter.
Kann es sein das du die Checkboxen mehrmals erstellst und auf die falschen zugreifst?
Du hast in der einen Funktion verschiedene If-Abfragen um direkt gleich den Status im GUICtrlCreateCheckbox mitzusetzen aber so sollte man das auf keinen Fall machen.
Die Checkboxen solltest du mit der GUI mit erstellen und in einer LoadSettings Funktion die Werte setzen - nur so nebenbei.
Die 24 sollte soweit stimmen, AutoIts internet Handle-Handler zählt einfach nur hoch und das ist dann das 24. Control.
Lass dir mal die Handles der Variablen ausgeben, eventuell sind die Variablen schlicht und einfach leer.
Du nimmst nämlich die Zuweisung in Funktionen vor und daraus werde ich nicht ganz so schlau.
Wenn du eine leere Zeile hast dann kannst du daraus schließen das du zwei Zeilenumbrücher hintereinander hast.
Jetzt kannst du StringInStr verwenden um die Position damit zu finden (vom @CRLF & @CRLF, ggf. nur @LF & @LF) und anschließend kannst du mit StringMid den Teil herausextrahieren den du willst.
Damit du nicht immer den 1. Fund bekommst kansnt du bei StringInStr auch bei dem occurences Parameter einstellen den wie vielten Fund du haben willst.
Sehr gut, dies funktioniert auch.
Super, dann setz doch den 1. Beitrag bitte auf [gelöst] (bearbeiten).
Es gibt bereits einen WinHttp Wrapper für AutoIt (WinHttp.au3, einfach mal googlen) mit der kannst du sehr einfach Webrequests bauen. Wenn du spezielle Requests senden willst wie z.B. JSON solltest du dir noch eine UDF holen die das auch kann, wenn du allerdings nur wenige Pakete schickst kannst du sie auch per Hand bauen.