| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Fortschrittsbalken mit Bitmaps und Unterbrechungsmöglichkeit
Auf und Ab Zähler mit der Funktion &GetTickCount im Sekundentakt
Fortschrittsanzeige als bmp die Länge des Bildes ist 80 Pixel, das ist die Zielvorgabe
Geht nur in einer Schleife ohne Waitinput
Version mit Pause, es wird an der alten Stelle weitergezählt
Profan ab 6.6 wegen Break in der Schleife und Operatoren kann aber einfach ersetzt werden, da nicht erforderlich
Autor Dieter Zornow
cls
declare a&,b&,c&,ziel&,size&,pause%,cc&,ziel2&,base&,anz!
decimals 1
let size&=60Vorgabe zum Zählen oder Länge von irgendwas
let ziel&= add(div&(&Gettickcount,1000),size&) das zu zählende Ziel in Sekunden definieren
LoadBmp BLACK.BMP, 200,55;0
locate 1,0
Print Pause mit linker Maustaste
Print Zielvorgabe: ,ziel&
let pause%=0
let base&= @div&(@mul(size&,100),80) 80 ist die Länge des Bildes in Pixel
while 1
locate 3,0
let b&= @div&(&Gettickcount,1000)
let a&= ziel&-b&
Print Ticker: ,b&
If @equ(pause%,0)
Let c&= size&-a&
else
Let c&= cc&+size&-a&
endif
locate 5,0
Print Vorwärts: ,c&, Sek.
locate 7,0
Print Rückwärts: ,a&; Sek.
case @gt(c&,0):let anz!=@div&(@mul(c&,100),base&)Länge des Bildes errechnen
case @lt(anz!,1):let anz!=1 Dass man sieht es geht los
LoadSizedBmp GELB.BMP, 200,55-anz!,14;0
locate 5,50
Print anz!,Pixel
If @equ(%mousepressed,1) nur zur Demo, dieser Bereich kann auch außerhalb auf Taste oder was reagieren
pause
let pause%=1
let Ziel2& = a&
let cc& = c&
locate 8,0
print weiter nurmit rechter Maustaste
waitinput weiter nur mit rechter Maustaste, da %mousepressed sonst auf 1 bleibt
weiter
let Ziel&= @add(@div&(&Gettickcount,1000),ziel2&)
let size&=ziel2&
locate 2,0
Print Zielvorgabe: ,ziel&
locate 8,0
print
endif ----------------------------------Ende Demo Pause
case @equ(b&,ziel&):break
wend
locate 10,0
print fertig
waitinput
|
|
|
| |
|
|