Code-Beispiel
Millisekunden In Std,Min,Sek Umrechnem und andersrum auch
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
GPL | jakidomi | 06.11.2008 |
declare function mims (millisekunden as uinteger,stunden as integer,minuten as integer,sekunden as integer,wie as integer) as integer
function mims (millisekunden as uinteger,stunden as integer,minuten as integer,sekunden as integer,wie as integer) as integer
dim as double g1,g2,g3,g4,mil4
dim as string mintemp,mintemp2,mintemp3
dim as integer mil88
select case wie
case 1
if wie =1 then stunden=0:minuten=0:sekunden=0
g1=millisekunden/1000
g2=g1/60
do:data1+=1
mintemp3+=chr(asc(str(g2),data1))
loop until chr(asc(str(g2),data1+1))="." or asc(str(g2),data1+1)=0
if asc(str(g2),data1+1)=0 then data1=0
mil=val(mintemp3)
datab=data1+1:mintemp="":mintemp2="1":do:datab+=1
mintemp+=chr(asc(str(g2),datab))
mintemp2+="0"
loop until asc(str(g2),datab+1)=0
minuten=val(mintemp3)
sek=(60*((val(mintemp)*100)/val(mintemp2)))/100
sekunden=sek
if minuten>60 then
g1=minuten/60:data1=0:mintemp3=""
do:data1+=1
mintemp3+=chr(asc(str(g1),data1))
loop until chr(asc(str(g1),data1+1))="." or asc(str(g1),data1+1)=0
if asc(str(g1),data1+1)=0 then data1=0
stunden=val(mintemp3)
datab=data1+1:mintemp="":mintemp2="1":do:datab+=1
mintemp+=chr(asc(str(g1),datab))
mintemp2+="0"
loop until asc(str(g1),datab+1)=0
mil4=(val(mintemp)*100)/val(mintemp2)
minuten=(60*mil4)/100
endif
return millisekunden
case else
if stunden>0 then minutentemp=stunden*60 else minutentemp=0
minuten2=minuten+minutentemp
sekunden2=(minuten2*60)+sekunden
millisekunden=sekunden2*1000
return millisekunden
end select
end function
Beispiel:
mil=mims(150000,std,min,sek,1)
Die 1 in der Funktion steht dafür das die Ausgabe in std/min/sek angegeben wird, sonst in msek.
Warum so umständlich?
Function mims (ByRef millisekunden As UInteger, _
ByRef stunden As Integer, _
ByRef minuten As Integer, _
ByRef sekunden As Integer, _
ByVal wie As Integer) As Integer
If wie = 1 Then
sekunden = millisekunden \ 1000
If sekunden Then millisekunden Mod= (sekunden * 1000)
minuten = sekunden \ 60
If minuten Then sekunden Mod= (minuten * 60)
stunden = minuten \ 60
If stunden Then minuten Mod= (stunden * 60)
Else
millisekunden = ((stunden*3600)+(minuten*60)+sekunden)*1000
End If
Return millisekunden
End Function
Dim As Integer ms,std,min,sek
ms = 11500100
Print mims(ms, std, min, sek,1)
Print std, min, sek, ms
Sleep
End
;) Volta
Attachments zum Code-Beispiel | |||||
---|---|---|---|---|---|
|
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|