.ini in GWCA verwenden

02/27/2010 11:30 Na Mora#1
Morgen Community,

nachdem ich mehrfach die SuFu mit diversen Wörtern gefüttert hab, und keine passende antwort gefunden habe, stelle ich einfach hier die Frage,
wie kann bindet man eine .ini in einen GWCA-basierten bot ein (bzw ist mit den unten genannten sachen eine .ini überhaupt notwendig, oder kann man direkt an die GUI schreiben und wenn ja, wie geht das :))?

D.h., ich hätte gern in der GUI (oder wie zB gabba es sehr elegant mit dem kleinen fenster links oben in seinem schneeball-dominanz-bot gelöst hat :rolleyes:) immerwieder aktualisierungen über erfolgreich abgeschlossene runs, fehlruns, botlaufzeit, und dergleichen!
02/27/2010 11:49 ¤Rikul¤#2
Das mit den Runs kannst du ganz einfach per GUICtrlSetData machen. Wenn du etwas dauerhaft aktualisieren möchtest, wie du es hier z.B. bei dem Timer machen müsstest solltest du mal in der AutoIT- Hilfe Datei nach AdlibRegister bzw. AdlibEnable suchen.
02/27/2010 11:57 Na Mora#3
versteh ich die AdlibRegister richtig, dass ich ne funktion (mit GUICtrlSetData wahrscheinlich) register und schon wird die während des gesamten skripts immerwieder wiederholt?
und wie kann ich dann nen timer erstellen, der wirklich genau sekunden/minuten/stunden zählt?
geht ne funktion wie zB

Global $Sekunden = 0

Func timer()
$Sekunden = $Sekunden + 1
EndFunc

und dann die func in AdlibRegister alle 1 sek wiederholen lassen? (edit: bzw alle 5 sek und dann halt immer in der func $sekunden + 5)
danach dann GUICtrlSetData($Label1, $Sekunden)
02/27/2010 12:19 ¤Rikul¤#4
Ja, Adlibregister wiederholt diese Funktion, welche ihr zugewiesen wurde immer wieder je nachdem wie du die Zeit angegeben hast. Ganz so einfach ist der Timer aber auch nicht aufgebaut. Ich hab auch mal selbst einen geschrieben und der sah ungefähr so aus:
Code:
Global $Sek = 0
Global $Min = 0

AdlibRegister ( "Statistics", 1000 )

Func Statistics()
$Sek += 1
GUICtrlSetData($TimeLabel, $Min&":0"&$Sek)
If $Sek > 9 Then
	GUICtrlSetData($TimeLabel, $Min&":"&$Sek)
EndIf
If $Sek = 60 Then
	$Min += 1
	GUICtrlSetData($TimeLabel, $Min&":00")
	$Sek = $Sek - 60
EndIf
EndFunc
Ich würde dir jedoch empfehlen mal selbst einen zu schreiben.
02/27/2010 12:22 kknb#5
hast du fein gemacht :)
02/27/2010 12:26 Na Mora#6
Code:
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$cGUI = GUICreate("Form1", 361, 442, 193, 125)
$Button1 = GUICtrlCreateButton("Start Timer", 200, 16, 145, 33, 0)
$Label1 = GUICtrlCreateLabel("Label1", 200, 104, 148, 329)
$Button2 = GUICtrlCreateButton("Stop Timer", 200, 56, 145, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$Sekunden = 0

Func timer()
	$Sekunden = $Sekunden + 1
	GUICtrlSetData($Label1, $Sekunden)
EndFunc


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $Button1
			AdlibRegister ( "timer" , 1000)
			Sleep(100)
		Case $GUI_EVENT_CLOSE
			Exit
		Case Else
			Sleep(100)
	EndSwitch
	
WEnd
hab einen mit ner GUI gemacht, danke für deinen timer wegen einheiten umrechnung und (wiedermal ;)) n danke an dich

//Edit: wo schreibt man am besten die zeit in die GUI? hat label so gepasst oder gibts da sogar extra sowas für nen timer
02/27/2010 12:34 ¤Rikul¤#7
Denke mal Label oder Input.
02/27/2010 13:13 Na Mora#8
das is ja krank mit den ganzen if-abfragen wenn man ne ordendliche 00:00:00 anzeige will xD

Die GUI-Größe hab ich weng vermurkst, ist also kein fehler bei potentiellen testern^^
Hab den timer nur bis 00:10:00 getestet und hat funktioniert, bei 10h hat mir die zeit (logischerweise xD) gefehlt, dürfte aber auch stimmen

nochmal danke
02/27/2010 13:24 Moppel123#9
zum testen die Sleepzeit vm timer einfach auf ein zehntel reduzieren.. dann siehst du, ob es geht
02/27/2010 14:06 ddl#10
Hast du schon mal was von Timern gehört?!
Sieht echt schrecklich aus!

[Only registered and activated users can see links. Click Here To Register...]
02/28/2010 09:28 buFFy!#11
Timer -> ms

Timer / 60000 = Min
Rest aus Timer / 60000 = Sek

Code:
$x = Timerdiff($Timer)
$Min = $x / 60000
$Sec = Mod($x, 60000)
Ini's brauchst du nur wenn du GUI Input speichern willst.
02/28/2010 17:56 Na Mora#12
achso thx
als was wird das denn ausgegeben in TimerDiff? in ms?
02/28/2010 18:05 kknb#13
ja so wie es in der autoit hilfe steht.
02/28/2010 18:15 Na Mora#14
Quote:
Originally Posted by u-coRe View Post
Timer -> ms
oh sry, nich gesehn :o