Einfache Stoppuhr



Einfache Stoppuhr

KHR, 20.04.2008 00:09: Hallo miteinander,
.
neulich beim Kunden: Zuerst fiel mir die verflixte Stoppuhr aus der Hand in den Mischer und dann musste 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
.


Rolf Koch, 20.04.2008 14:25:   Zitat: „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, 20.04.2008 17:02: Sie erfüllt ihren Zweck. Was nützt mir eine grafisch aufwändige Stoppuhr?


Dies ist die Offlinevariante vom Thread [Einfache Stoppuhr].

Valid CSS!

©2006 XProfan.Com