|
You last visited: Today at 01:58
Advertisement
[Frage] If...Then...Endif
Discussion on [Frage] If...Then...Endif within the AutoIt forum part of the Coders Den category.
12/10/2010, 12:24
|
#1
|
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
|
[Frage] If...Then...Endif
Hallo,
Hab da ein problem und zwar will ich das sich ne msgbox öffnet wenn eine gewisse uhrzeit und datum erreicht ist, die in einer listbox stehen:
PHP Code:
$_hb_date1 = GUICtrlRead($lbl_date)
$_fw_date1 = GUICtrlRead($lb_fw_date)
$_fw_time1 = GUICtrlRead($lb_fw_time)
$_hb_time1 = GUICtrlread($lbl_uhrzeit)
If $_hb_time1 & $_hb_date1 = $_fw_time1 & $_fw_date1 Then
MsgBox(64,"","Test")
Endif
$lbl_Uhrzeit ist meine systemzeit die in meiner GUI läufti
$lb_fw_time st keine festgelegte uhrzeit sondern kann auch geändert werden
$lbl_datum ist das aktuelle datum, das ich auf der GUI stehen hab
$lb_fw_date ist kein festgelegtes datum sondern kann auch geändert werden
klappt nur nicht so wie es soll
(MsgBox ist nur zum test, später soll sich an der stelle eine progressbar öffnen, wenn das if...then klappt, nur so am rande)
Mfg
|
|
|
12/10/2010, 13:01
|
#2
|
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
|
in autoit nimmt man statt && das wort and bei if anweisungen
|
|
|
12/10/2010, 13:27
|
#3
|
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
|
Quote:
Originally Posted by ZeraPain
in autoit nimmt man statt && das wort and bei if anweisungen
|
ok danke, gut zu wissen, aber es funktioniert trotzdem noch nicht.
|
|
|
12/10/2010, 13:34
|
#4
|
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
|
naja es kommt darauf an wie deine datums- und zeitlabel aussehen.
wenn lb_fw_date und lb_fw_time festgelegte zeitpunkte sind, bei denen etwas passieren soll, dann könntest du es so machen:
Code:
If GUICtrlRead($lb_fw_date) = @MDAY & "." & @MON & "." & @YEAR & "." And GUICtrlRead($lb_fw_time) = @HOUR & ":" & @MIN Then
MsgBox(0,0,0)
EndIf
müsstest mal ein beispiel schreiben was in deinen labels steht ;-)
andernfalls, wenn du deine systemzeit auch immer updatest und beide das gleiche format haben würde es so aussehen:
Code:
If GUICtrlRead($lbl_date) = GUICtrlRead($lb_fw_date) And GUICtrlread($lbl_uhrzeit) = GUICtrlRead($lb_fw_time) Then
MsgBox(0,0,0)
EndIf
|
|
|
12/10/2010, 13:44
|
#5
|
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
|
Quote:
Originally Posted by ZeraPain
naja es kommt darauf an wie deine datums- und zeitlabel aussehen.
wenn lb_fw_date und lb_fw_time festgelegte zeitpunkte sind, bei denen etwas passieren soll, dann könntest du es so machen:
Code:
If GUICtrlRead($lb_fw_date) = @MDAY & "." & @MON & "." & @YEAR & "." And GUICtrlRead($lb_fw_time) = @HOUR & ":" & @MIN Then
MsgBox(0,0,0)
EndIf
müsstest mal ein beispiel schreiben was in deinen labels steht ;-)
andernfalls, wenn du deine systemzeit auch immer updatest und beide das gleiche format haben würde es so aussehen:
Code:
If GUICtrlRead($lbl_date) = GUICtrlRead($lb_fw_date) And GUICtrlread($lbl_uhrzeit) = GUICtrlRead($lb_fw_time) Then
MsgBox(0,0,0)
EndIf
|
Datum: 10.12.2010
Uhrzeit: 13:38:20 (wird geupdatet mit Adlibregister)
Sind beides Label
PHP Code:
While 1
$msg = GUIGetMsg(1)
Switch $msg[1]
Case $Settings
Switch $msg[0]
Case -3
Exit
Case $Start
GUICtrlsetdata($lbl_datum, _NowDate())
AdlibRegister("_NowTime1",500)
EndSwitch
Wend
Func _NowTime1()
GUICtrlsetdata($lbl_uhrzeit, _NowTime(5))
Endfunc
werde mal das 2. Bsp. eben probieren
|
|
|
12/10/2010, 13:57
|
#6
|
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
|
Hmm hat nicht funktioniert
$lb_fw_time und $lb_fw_date werden vom entgültigen nutzer des programms erstellt, also sind nicht immer gleich
$lbl_uhrzeit und $lbl_datum ändern sich auch (zeit ändert sich jede sek. und datum eben alle 24h)
(sry für doppelpost)
|
|
|
12/10/2010, 14:11
|
#7
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Date.au3 ist doch klasse oô
Code:
#include <Date.au3>
$box = InputBox("","Example: 1.2.1999")
$timesys = _Date_Time_GetSystemTime()
$get = _Date_Time_SystemTimeToArray($timesys)
; [0] - Month
; [1] - Day
; [2] - Year
; [3] - Hour
; [4] - Minutes
; [5] - Seconds
; [6] - Milliseconds
; [7] - Day of week
$datesys = String($get[1] & "." & $get[0] & "." & $get[2])
If $box = $datesys Then
MsgBox(0,"","Success")
Else
MsgBox(0,"","Wrong date")
EndIf
|
|
|
12/10/2010, 14:45
|
#8
|
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
|
Quote:
Originally Posted by mipez
Date.au3 ist doch klasse oô
Code:
#include <Date.au3>
$box = InputBox("","Example: 1.2.1999")
$timesys = _Date_Time_GetSystemTime()
$get = _Date_Time_SystemTimeToArray($timesys)
; [0] - Month
; [1] - Day
; [2] - Year
; [3] - Hour
; [4] - Minutes
; [5] - Seconds
; [6] - Milliseconds
; [7] - Day of week
$datesys = String($get[1] & "." & $get[0] & "." & $get[2])
If $box = $datesys Then
MsgBox(0,"","Success")
Else
MsgBox(0,"","Wrong date")
EndIf
|
Versteh ich jetzt net so ganz, zeit und datum dazustelln, das hab ich ja, mein problem ist, das wenn datum und uhrzeit ein gewissen (wert, der nicht festgelegt ist) erreichen, soll sich ne msgbox öffnen. siehe post1. Mit dem Script kann ich grad gar nix anfangen. Trotzdem danke für die mühe
|
|
|
12/10/2010, 15:13
|
#9
|
elite*gold: 20
Join Date: Jan 2010
Posts: 489
Received Thanks: 1,647
|
Quote:
Originally Posted by ZeraPain
Code:
If GUICtrlRead($lbl_date) = GUICtrlRead($lb_fw_date) And GUICtrlread($lbl_uhrzeit) = GUICtrlRead($lb_fw_time) Then
MsgBox(0,0,0)
EndIf
|
Ok Astrein so hats geklappt, hatte es nur unter dem falschen EndSwitsch stehen, da ich 2 GUIs im script hab, vielen dank für die Hilfe
€dit: Eine Frage hätt ich da grad noch zur Progressbar, kann man ner progressbar sagen wie lange sie laufen soll??? Also z.b. 30min. angeben und dann läuft die 30min. von 0-100%??? hab unter google grad nix sinnvolles gefunden.
|
|
|
12/19/2010, 00:00
|
#10
|
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
|
PHP Code:
$sekunden=1800 ; eine Halbe Stunde
For $i=1 To $sekunden Sleep(1000) ProgressSet($i) Next
So vielleicht?
|
|
|
12/19/2010, 01:23
|
#11
|
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
|
wohl nicht.
1. sollte man progressset dabei nicht verwenden
2. nach 100 sekunden wärst du bei 100%
3. passt das wohl nicht in sein script rein
|
|
|
12/19/2010, 11:43
|
#12
|
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
|
Quote:
|
sollte man progressset dabei nicht verwenden
|
- Warum denn nicht? Ist doch einfacher als immer mit GuiCtrlSetData()
Quote:
|
nach 100 sekunden wärst du bei 100%
|
- Schreib halt ProgressSet($i/$sekunden*100) dann klappts....
Quote:
|
passt das wohl nicht in sein script rein
|
- Ist doch genau das, was er wollte, oder? Ich weiß auch nicht, warum er ne Progressbar von der Zeit abhängig macht und nicht von einem bestimmten Vorgang, aber das ist ja sein Sache...
|
|
|
12/19/2010, 12:51
|
#13
|
elite*gold: 0
Join Date: Jan 2010
Posts: 360
Received Thanks: 249
|
guicrtlsetdata ist sinnvoller, da man dabei das handle angeben kann.
wenn du den ersten post gelesen hättest, dann wüsstest du was er machen will und dass eine for schleife da nicht passend ist. (außerdem eher ungenau)
|
|
|
12/19/2010, 13:50
|
#14
|
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
|
Quote:
|
guicrtlsetdata ist sinnvoller, da man dabei das handle angeben kann.
|
- Wenn man nur eine Progressbar hat, isses aber einfacher...
Quote:
|
wenn du den ersten post gelesen hättest[...]
|
- Den habe ich sehr wohl gelsesen. Allerdings bezog sich meine Antwort auf Post #9:
Quote:
|
Eine Frage hätt ich da grad noch zur Progressbar, kann man ner progressbar sagen wie lange sie laufen soll??? Also z.b. 30min. angeben und dann läuft die 30min. von 0-100%??? hab unter google grad nix sinnvolles gefunden.
|
Quote:
- Ist Genauigkeit bei einer Progressbar, die sowieso nur 100 Balken hat denn wichtig?
Btw: Quotes FTW!
|
|
|
All times are GMT +1. The time now is 02:00.
|
|