Millisekunden in Minuten und Sekunden

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

frigi

Betreff: Millisekunden in Minuten und Sekunden

BeitragMi, Feb 16, 2005 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weis nicht, obs jemand brauchen kann, aber für mich wars wichtig.
Code: [AUSKLAPPEN]

Print MsToMinAndSec$(3659000,1) ; max. 3659000 (bei Modus 1)
WaitKey


Function MsToMinAndSec$(Ms,Mode); Ms muss mindestens 1000 sein! | 1 - Min + Sec || 2 - Min || 3 - Sec

 Total_Secs = Ms / 1000

 If Mode = 3 Then
   If Total_Secs = 0 Then Return "Error"
     Mins$ = "00"
     If Total_Secs < 10 Then Secs$ = "0" + Str$(Total_Secs)
     If Total_Secs > 9 Then Secs$ = Str$(Total_Secs)
     If Total_Secs > 60 Then Return "Error"

     Return Mins$ + ":" + Secs$
 EndIf

 Total_Mins = Total_Secs / 60

 If Mode = 2 Then
   If Total_Mins = 0 Then Return "Error"
    Secs$ = "00"
    If Tolal_Mins < 10 Then Mins$ = "0" + Str$(Total_Mins)
    If Total_Mins > 9 Then Mins$ = Str$(Total_Mins)
    If Total_Mins > 60 Then Return "Error"

    Return Mins$ + ":" + Secs$
 EndIf

 If Mode = 1 Then

   If Total_Secs >= 60 Then
   
      If Total_Mins < 10 Then
         Mins$ = "0" + Str$(Total_Mins)
      Else
         Mins$ = Str$(Total_Mins)
         If Int(Mins$) > 60 Then Return "Error"
      EndIf

      Secs$ = Str$(Total_Secs - (Int(Mins$) * 60))
      If Int(Secs$) < 10 Then Secs$ = "0" + Secs$

      Return Mins$ + ":" + Secs$
   EndIf

   If Total_Secs < 60 Then
      Mins$ = "00"
      If Total_Secs < 10 Then
         Secs$ =  "0" + Str$(Total_Secs)
      Else
         Secs$ = Str$(Total_Secs)
      EndIf
   EndIf

   Return Mins$ + ":" + Secs$

 EndIf

End Function


Wahrscheinlich noch verbesserungswürdig, aber bis jetzt hab ich zumindest keinen Fehler gefunden.

simi

BeitragMi, Feb 16, 2005 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein bisschen lang.... Wink Hier mal meine Version....
Code: [AUSKLAPPEN]

While Not KeyHit(1)
   Cls
   hours = Floor(MilliSecs()/3600000)
   min = Floor(MilliSecs()/60000)-hours*60
   sec = Floor(MilliSecs()/1000)-min*60-hours*3600
   Text 10,10,hours+":"+min+":"+sec
Wend

frigi

BeitragMi, Feb 16, 2005 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
da fehlen aber, so wie ich das sehe, die fehlerabfragen Wink
sonst sicherlich auch brauchbar.
aber ich bin halt ein kleiner individualist^^
 

CodeMaster

BeitragMi, Feb 16, 2005 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mir jetzt deinen Code nicht durchgelesen, aber wozu sollen denn Sicherheitsabfragen dienen?
Simis Code läuft doch...Code: [AUSKLAPPEN]
Graphics 640,480,0,2
SetBuffer BackBuffer()

While Not KeyHit(1)
   Cls
   If KeyDown(205) Then t = t + 100
   If KeyDown(203) Then t = t - 100
   hours = Floor(Abs(t)/3600000)
   min = Floor(Abs(t)/60000)-hours*60
   sec = Floor(Abs(t)/1000)-min*60-hours*3600
   Text 10,10, t
   Text 10,25, String("-",t<0) + String("0",hours<10) + hours + ":" + String("0",min<10) + min + ":" + String("0",sec<10) + sec
   Flip
Wend

End
(Mit den Pfeiltasten rechts und links die Zeit verändern)
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.

Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102

frigi

BeitragDo, Feb 17, 2005 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ganz einfach: ICH brauch sie halt^^
wer sie nicht will, muss sie auch nicht nehmen.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group