| |
|
|
diimool25 | |
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 07.03.2014 ▲ |
|
|
|
|
diimool25 | das hatte ich gemacht da das mit der 1 ja nur ne test datei ist und ich hatte das woanders schonmal so gemacht und denn hatte ich das so übernommen aber danke |
|
|
| |
|
|
|
diimool25 | undwas soll ich jetzt genau wegnehmen ? |
|
|
| |
|
|
|
diimool25 | Ahh ich habe meinen fehler schon gefunden ich hatte i% schon davor genutzt und da war i% schon auf 6 desswegen hat er ei 6 angefangen |
|
|
| |
|
|
|
diimool25 | wieso kann ich keine buttons bei dem countdown nutzen ?
proc count2
Set("Decimals",1) var time%=&GetTickCount var text&=Create("Text",%hwnd,"",30,30,120,20)
while &GetTickCount-time%<60000 Case &GetTickCount-time%<60000 : Settext text&,Str$((60000-(&GetTickCount-time%))/1000) + " Sekunden" Endwhile
Endproc |
|
|
| |
|
|
|
H.Brill | Ich würde mal bei Rechenoperationen Klammern benutzen. KompilierenMarkierenSeparieren Ist erstens, besser zu lesen und zweitens kommt XProfan auch dann nicht durcheinander.
Im obigen Code sehe ich zwar keine Erzeugung von Buttons, aber ich nehme an, daß du das in deinem Gesamtcode machst.
Wenn du den obige Proc count2 ausführst, wird in diesen 60 Sekunden auch nichts mehr gehen, weil die While-Schleife damit beschäftig ist, mit SetText.... einen Text zu setzen. Hier am besten SetTimer benutzen und den nicht allzu klein machen, sodaß WaitInput in deiner Hauptschleife auch noch reagieren kann.
Der bessere Weg ist, MultiProzessing zu verwenden. Dort ist in der Hilfe z.B. beschrieben, wie man die Zeit in der Titelleiste anzeigt.
Das könnte z.B. so aussehen : KompilierenMarkierenSeparierenDeclare start&, stop&, liste&, ende&, ende2&, pid&
WindowStyle 16' System-Menü ausblenden
WindowTitle "Haupt - Fenster"
Window 600, 500
start& = @Create("Button", %HWnd, "Start", 10, 10, 80, 25)
stop& = @Create("Button", %HWnd, "Stop", 100,10, 80, 25)
ende& = @Create("Button", %HWnd, "Ende", 190,10, 80, 25)
liste& = @Create("Listbox", %HWnd, 0, 10, 50, 400, 200)
ende2& = 0
EnableWindow stop&, 0
WhileNot ende2&
WaitInput
If @Clicked(start&)
ClearList liste&
pid& = pExec("|Count2", %HWnd, liste&)
If pid& > 0
EnableWindow stop&, 1
EnableWindow start&, 0
EndIf
ElseIf @Clicked(stop&)
If pid& > 0
Process("Kill", pid&, 0)
EnableWindow start&, 1
EnableWindow stop&, 0
EndIf
ElseIf @Clicked(ende&)
If pid& > 0
Process("Kill", pid&, 0)
EndIf
ende2& = 1
EndIf
EndWhile
Proc Count2
Parameters whandle&, listb&
Set("Decimals",1)
var ende1% = 0
var time%=&GetTickCount
var text&=Create("Text",%hwnd,"",30,30,120,20)
While ((&GetTickCount-time%) < 60000) OR (ende1% = 1)
Case getText$(whandle&) = "" : ende1% = 1
If (&GetTickCount-time%) < 60000
AddString(listb&, Str$((60000-(&GetTickCount-time%))/1000) + " Sekunden")
SendMessage(listb&, $0186, @GetCount(listb&) -1, 0)
EndIf
Endwhile
EndProc
End
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.03.2014 ▲ |
|
|
|