| |
|
|
KHR | Hallo miteinander,
. neulich beim Kunden: Zuerst fiel mir die verflixte Stoppuhr aus der Hand in den Mischer und dann mußte ich noch soooo lange warten bis seine Anlage bereit war. Also hab ich aus der Not eine Tugend gemacht und mir auf die schnelle ne Stoppuhr auf dem Notebook in xprofan gebastelt.
Sie ist weder schön programmiert noch schön gestaltet - aber sie hat funktioniert. Das ist alles was gezählt hat.
Ich denke. da wird sicher jemand Verbesserungen anbringen können
Stoppuhr in Xprofan 10
Karl-Heinz Rattay 04/2008
Klick auf:
Start: Uhr beginnt neu zu laufen
Zwischenzeit: Umschalten zwischen Anzeige läuft oder steht
Stopp: Endzeit wird angezeigt, sowie Start-, Endzeit und Dauer in Tabelle eingetragen
Uhr beginnt neu zu laufen
RESET: Tabelle wird gelöscht.
declare Startzeit&
declare Laufzeit&
declare rohzeit&
declare rohzent&
declare rohsek&
declare rohmin&
declare rohstd&
declare ProgEnde%
declare run_Clock%
declare GridEintrag$
declare StoppZeit$
Declare Button1&, Button2&, Button3&, Button4&, Button5&, Button6&
Def @AGetSysColor(1) ! USER32,GetSysColor
proc UhrZeit
usefont Arial,26,0,0,0,0
drawtext 30,90, ZeitString$()
drawtext 160,90, date$(1)
endproc
proc ZeitString$
return @Left$(@Time$(0)+:+@Time$(1),8)
endproc
proc show_clock
rohzeit& = ((&GetTickCount - Startzeit&)/100)
rohzent& = Rohzeit&-@int(Rohzeit& /10)*10
rohsek& = @int((Rohzeit& /10))
rohstd& = @int((Rohzeit& /36000))
rohmin& = @MOD ( Rohzeit&,36000)
rohsek& = @int(Rohzeit&/10)
rohStd& = @int(RohSek&/3600)
rohsek& = rohSek& - (RohStd&*3600)
rohMin& = @int(RohSek&/60)
rohsek& = rohSek& - (RohMin&*60)
usefont Arial,80,0,0,0,0
@Set(NumWidth,1)
StoppZeit$= @left$(@Format$(00,RohStd&)+:+@Format$(00,RohMin&)+:+@Format$(00,RohSek&)+:+@str$(Rohzent&),10)
drawtext 30,5, StoppZeit$
windowtitle StoppZeit$
endproc
window 10,10-400,520
CLS @AGetSysColor(10)
Button1& = @CREATE( BUTTON , %HWnd , Start , 10, 320, 110, 30 )
Button2& = @CREATE( BUTTON , %HWnd , Stopp , 250, 320, 110 ,30 )
Button3& = @CREATE( BUTTON , %HWnd , Zwischenzeit , 130, 320, 110, 30 )
Button4& = @CREATE( BUTTON , %HWnd , RESET , 250, 380, 110, 30 )
Button5& = @CREATE( BUTTON , %HWnd , Ende , 10, 380, 110, 30 )
declare hGrid%,Titel$,GridBox&
GridBox& = Create(Dialog, %Hwnd, Stoppuhr Logfile, 420, 90, 260, 280)
1. Spalten definieren
Titel$ = Start;0;60;Ende;0;60;Zeit;0;100
2. Gridbox erstellen
hGrid% = Create(GridBox, GridBox&, Titel$, 0, 0, 0, 230, 290)
settimer 100
run_clock% = 0
clearlist (hGrid%)
Startzeit& = &GetTickCount
show_clock
whilenot ProgEnde%
case run_clock% = 1 : show_clock
UhrZeit
WaitInput
if %KEY = 2
ProgEnde% = 1
elseif @Clicked(Button1&) Start
Startzeit& = &GetTickCount
run_clock% = 1
GridEintrag$ = ZeitString$()+|
elseif @Clicked(Button2&) Stopp
run_clock% = 0
show_clock
GridEintrag$ = GridEintrag$+ZeitString$()+|+StoppZeit$
Eintrag Zeitstring ins Grid
AddString(hGrid%, GridEintrag$)
Zeitstring neu aufsetzten
GridEintrag$ = ZeitString$()+|
windowtitle Stoppuhr
Startzeit& = &GetTickCount
elseif @Clicked(Button3&) Zwischenzeit
if run_clock% = 0
run_clock% = 1
else
run_clock% = 0
endif
elseif @Clicked(Button4&) Reset
clearlist (hGrid%)
Startzeit& = &GetTickCount
show_clock
elseif @Clicked(Button5&)
ProgEnde% = 1
endif
endwhile
killtimer
. |
|
|
| Gruß Karl-Heinz WIN XP home/Pro / XPROFAN 11 / P2CPP ATMEL + BASCOM Fan | 20.04.2008 ▲ |
|
|
|
|
Rolf Koch |
Sie ist weder schön programmiert noch schön gestaltet - aber sie hat funktioniert. Das ist alles was gezählt hat.
Da wiederspreche ich Dir! Ich finde es sehr schön strukturiert und übersichtlich. Und das zählt auch |
|
|
| |
|
|
|
Jac de Lad | Sie erfüllt ihren Zweck. Was nützt mir eine grafisch aufwändige Stoppuhr? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 20.04.2008 ▲ |
|
|
|