Français
Comprend

Zeitberechnung

 

ByteAttack
Simple Zeitberechnung.

Umwandlung:
Wandelt Zahlenwerte (Integer) dans cela Format tt:hh:mm:ss um

ZeitToDec:
Wandelt Cordes im Format XX:YY dans Décimale um

DecToZeit:
Wandelt Décimale (Float) dans cela String-Format XX:YY um.

AddSubZeit:
Berechnet qui Addition ou bien Subtraktion de deux Zeitwerten im Format hh:mm

AddSubUhrzeit:
Berechnet qui Addition ou bien Subtraktion de deux Uhrzeiten im Format hh:mm
##########################################################################
#                              UMWANDLUNG                                #
##########################################################################
# Wandelt Zahlenwerte (Integer) dans cela Format tt:hh:mm:ss um             #
# tt=Tage, hh=Stunden, mm=Minuten et ss=Sekunden                        #
#                                                                        #
# Aufruf = Umwandlung Zeit%,Typ%,Ausgabe%                                #
#                                                                        #
# Dabei peux on cette Procédure verschiedene Zeitformate übergeben      #
# Typ 1 = Sekunden                                                       #
# Typ 2 = Minuten                                                        #
# Typ 3 = Stunden                                                        #
# Typ 4 = Tage                                                           #
# Beispiel: Umwandlung 187458,1,1 gibt 02:04:04:18 zurück (tt:hh:mm:ss)  #
#           Umwandlung 2844,2,1   gibt 01:23:24:00 zurück (tt:hh:mm:ss)  #
#                                                                        #
#                                                                        #
# aussi cela Ausgabeformat peux bestimmt volonté                            #
# Ausgabe 1 = tt:hh:mm:ss                                                #
# Ausgabe 2 = hh:mm:ss                                                   #
# Ausgabe 3 = mm:ss                                                      #
# Ausgabe 4 = ss                                                         #
# Beispiel: Umwandlung 187458,1,2 gibt 52:04:18 zurück (hh:mm:ss)        #
#           Umwandlung 187458,1,3 gibt 3124:18 zurück  (mm:ss)           #
##########################################################################

Proc Umwandlung

    Paramètres Zeit%,Typ%,Ausgabe%
    Déclarer Sek%,Std%,Min%,journée%,Sek$,Std$,Min$,journée$,ToSub%,Retour$
    Cas equ(Zeit%,0):Retour 00:00:00:00
    Cas equ(Typ%,0):Retour 00:00:00:00
    Cas gt(Typ%,4):Retour 00:00:00:00
    Cas equ(Ausgabe%,0):Laisser Ausgabe%=1
    Cas gt(Ausgabe%,4):Laisser Ausgabe%=1

    si equ(Typ%,1)

        Laisser Sek%=Zeit%

    elseif equ(Typ%,2)

        Laisser Sek%=mul(Zeit%,60)

    elseif equ(Typ%,3)

        Laisser Sek%=mul(Zeit%,3600)

    elseif equ(Typ%,4)

        Laisser Sek%=mul(Zeit%,86400)

    endif

    Cas equ(Ausgabe%,4):Retour Str$(Sek%)
    Laisser journée%=Div(Sek%,86400)
    Laisser journée$=@Str$(journée%)
    Cas lt(@Len(journée$),2):Laisser journée$=add$(0,journée$)
    Laisser ToSub%=mul(journée%,86400)
    Laisser Sek%=Sous(Sek%,ToSub%)
    Laisser Std%=Div(Sek%,3600)
    Laisser Std$=@Str$(Std%)
    Cas lt(@len(Std$),2):Laisser Std$=add$(0,Std$)
    Laisser ToSub%=mul(Std%,3600)
    Laisser Sek%=Sous(Sek%,ToSub%)
    Laisser Min%=Div(Sek%,60)
    Laisser Min$=@Str$(Min%)
    Cas lt(@len(Min$),2):Laisser Min$=add$(0,Min$)
    Laisser ToSub%=mul(Min%,60)
    Laisser Sek%=Sous(Sek%,ToSub%)
    Laisser Sek$=@Str$(Sek%)
    Cas lt(@len(Sek$),2):Laisser Sek$=add$(0,Sek$)

    si equ(Ausgabe%,1)

        Retour add$(add$(add$(add$(add$(add$(journée$,:),std$),:),min$),:),sek$)

    elseif equ(Ausgabe%,2)

        Laisser Std%=add(mul(journée%,24),Std%)
        Laisser Std$=Str$(Std%)
        Cas lt(@len(Std$),2):Laisser Std$=add$(0,Std$)
        Retour add$(add$(add$(add$(std$,:),min$),:),sek$)

    elseif equ(Ausgabe%,3)

        Laisser Std%=add(mul(journée%,24),Std%)
        Laisser Min%=add(mul(Std%,60),Min%)
        Laisser Min$=str$(Min%)
        Cas lt(@len(min$),2):Laisser min$=add$(0,Min$)
        Retour add$(add$(Min$,:),Sek$)

    endif

ENDPROC

################################################################
#                         ZeitToDec                            #
################################################################
# Wandelt Cordes im Format XX:YY dans Décimale um           #
#                                                              #
# Aufruf = ZeitToDec Zeit$,Typ%                                #
# Beispiel: ZeitToDec 16:45,1 gibt 16,75 zurück              #
#                                                              #
# aussi cela Ausgabeformat peux bestimmt volonté                  #
# Typ 1 = String                                               #
# Typ 2 = Float                                                #
# Beispiel: ZeitToDec 16:45,1 gibt den String 16,75 zurück #
#           ZeitToDec 16:45,2 gibt den Float 16.75 zurück    #
#                                                              #
################## ! ! !  A C H T U N G  ! ! ! #################
#                                                              #
# Beachte, dass on beim Aufruf cette Procédure, je pour Typ   #
# une anderen Retour-Wert zurück bekommt.                    #
# chez Typ 1 = @$(0) chez Typ 2 = @!(0)                          #
################################################################

Proc ZeitToDec

    Paramètres Zeit$,Typ%
    Cas lt(len(Zeit$),5):Retour 00:00
    Cas gt(len(Zeit$),5):Retour 00:00
    Cas lt(Typ%,1):Laisser Typ%=1
    Cas gt(Typ%,2):Laisser Typ%=1
    Déclarer xx%,yy%,Zentel!,Retour$,Zentel$,Retour!,xx$
    Laisser xx%=@Val(left$(Zeit$,2))
    Laisser yy%=@Val(right$(Zeit$,2))
    Laisser Zentel!=div(yy%,0.6)
    Decimals 0
    Laisser xx$=Str$(xx%)
    Laisser Zentel$=Str$(Zentel!)
    Cas lt(@len(xx$),2):Laisser xx$=add$(0,xx$)
    Cas lt(@len(Zentel$),2):Laisser Zentel$=add$(0,Zentel$)
    Laisser Retour$=add$(add$(xx$,,),Zentel$)

    si equ(Typ%,1)

        Retour Retour$

    elseif equ(Typ%,2)

        Decimals 2
        Laisser Retour$=@Translate$(Retour$,,,.)
        Laisser Retour!=val(Retour$)
        Retour Retour!

    endif

    Decimals 6

ENDPROC

################################################################
#                         DecToZeit                            #
################################################################
# Wandelt Décimale (Float) dans cela String-Format XX:YY um.  #
#                                                              #
# Aufruf = DecToZeit Zeit!                                     #
# Beispiel: DecToZeit 16.75 gibt 16:45 zurück                #
#                                                              #
################################################################

Proc DecToZeit

    Paramètres Zeit!
    Déclarer GanzZahl%,Zentel!,Zentel%,GanzZahl$,Zentel$
    Laisser GanzZahl%=Zeit!
    Laisser Zentel!=sub(Zeit!,GanzZahl%)
    Laisser Zentel!=mul(Zentel!,60)
    Laisser Zentel%=Zentel!
    Laisser GanzZahl$=@Str$(GanzZahl%)
    Laisser Zentel$=@Str$(Zentel%)
    Cas lt(@len(GanzZahl$),2):Laisser GanzZahl$=add$(0,GanzZahl$)
    Cas lt(@len(Zentel$),2):Laisser Zentel$=add$(0,Zentel$)
    Retour add$(add$(GanzZahl$,:),Zentel$)

ENDPROC

################################################################
#                         AddSubZeit                           #
################################################################
# Berechnet qui Addition ou bien Subtraktion de deux Zeitwerten  #
# im Format hh:mm                                              #
#                                                              #
# Aufruf = AddSubZeit Summand1$,Summand2$,Typ%                 #
# Beispiel: AddSubZeit 16:45,03:30,1 gibt 20:15 zurück   #
# Beispiel: AddSubZeit 16:45,03:30,2 gibt 13:15 zurück   #
#                                                              #
# Typ 1 = Addition    ( Grundschuldeutsch: Plus prendre )       #
# Typ 2 = Subtraktion ( Grundschuldeutsch: Minus prendre )      #
################################################################
# attention: Es peut aussi Werte über 24:00 herauskommen        #
# Siehe en supplément qui Procédure AddSubUhrzeit                        #
################################################################

Proc AddSubZeit

    Paramètres Summand1$,Summand2$,Typ%
    Déclarer Summand1!,Summand2!,somme!
    ZeitToDec Summand1$,2
    Laisser Summand1!=@!(0)
    ZeitToDec Summand2$,2
    Laisser Summand2!=@!(0)

    si equ(Typ%,1)

        Laisser somme!=add(Summand1!,Summand2!)

    elseif equ(Typ%,2)

        Laisser somme!=sub(Summand1!,Summand2!)

    endif

    DecToZeit somme!
    Retour @$(0) Cool -> Returnt den letzten Returnwert <- voulais je toujours déjà la fois Marque ... absolu Sinnlos... ;-)

ENDPROC

#################################################################
#                        AddSubUhrzeit                          #
#################################################################
# Berechnet qui Addition ou bien Subtraktion de deux Uhrzeiten    #
# im Format hh:mm                                               #
#                                                               #
# Aufruf = AddSubUhrzeit Summand1$,Summand2$,Typ%               #
# Beispiel: AddSubUhrzeit 17:30,07:45,1 gibt 01:15 zurück #
# Beispiel: AddSubUhrzeit 17:30,07:45,2 gibt 09:45 zurück #
#                                                               #
# Typ 1 = Addition    ( Grundschuldeutsch: Plus prendre )        #
# Typ 2 = Subtraktion ( Grundschuldeutsch: Minus prendre )       #
#################################################################

Proc AddSubUhrzeit

    Paramètres Summand1$,Summand2$,Typ%
    Déclarer Zeit$,Zeit!,Teiler%
    AddSubZeit Summand1$,Summand2$,Typ%
    Laisser Zeit$=@$(0)
    ZeitToDec Zeit$,2
    Laisser Zeit!=@!(0)
    Laisser Teiler%=Div(Zeit!,24)
    Laisser Zeit!=sub(Zeit!,mul(Teiler%,24))
    DecToZeit Zeit!

ENDPROC


3 kB
Hochgeladen:27.04.2005
Downloadcounter261
Download
 
Website:  [...] 
Facebook:  [...] 
27.04.2005  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

5.455 Views

Untitledvor 0 min.
Gast.081515.12.2024
ByteAttack10.03.2024
Thomas Freier01.01.2024
Uwe Lang29.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

ByteAttack (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie