Español
Incluye

Zeitberechnung

 

ByteAttack
Einfache Zeitberechnung.

Umwandlung:
Wandelt Zahlenwerte (Integer) en el Formato tt:hh:mm:ss en

ZeitToDec:
Wandelt Cuerdas en el Formato XX:YY en Decimal en

DecToZeit:
Wandelt Decimal (Float) en el String-Formato XX:YY en.

AddSubZeit:
Berechnet el Addition oder Subtraktion de zwei Zeitwerten en el Formato hh:mm

AddSubUhrzeit:
Berechnet el Addition oder Subtraktion de zwei Uhrzeiten en el Formato hh:mm
##########################################################################
#                              UMWANDLUNG                                #
##########################################################################
# Wandelt Zahlenwerte (Integer) en el Formato tt:hh:mm:ss en             #
# tt=Tage, hh=Stunden, mm=Minuten y ss=Sekunden                        #
#                                                                        #
# Aufruf = Umwandlung Tiempo%,Typ%,Edición%                                #
#                                                                        #
# Dabei kann uno dieser Procedimiento verschiedene Zeitformate übergeben      #
# Typ 1 = Sekunden                                                       #
# Typ 2 = Minuten                                                        #
# Typ 3 = Stunden                                                        #
# Typ 4 = Tage                                                           #
# Ejemplo: Umwandlung 187458,1,1 son 02:04:04:18 zurück (tt:hh:mm:ss)  #
#           Umwandlung 2844,2,1   son 01:23:24:00 zurück (tt:hh:mm:ss)  #
#                                                                        #
#                                                                        #
# Auch el Ausgabeformat kann determinado voluntad                            #
# Edición 1 = tt:hh:mm:ss                                                #
# Edición 2 = hh:mm:ss                                                   #
# Edición 3 = mm:ss                                                      #
# Edición 4 = ss                                                         #
# Ejemplo: Umwandlung 187458,1,2 son 52:04:18 zurück (hh:mm:ss)        #
#           Umwandlung 187458,1,3 son 3124:18 zurück  (mm:ss)           #
##########################################################################

Proc Umwandlung

    Parámetros Tiempo%,Typ%,Edición%
    Declarar Sek%,Std%,Min%,Tag%,Sek$,Std$,Min$,Tag$,ToSub%,Volver$
    Case equ(Tiempo%,0):Volver 00:00:00:00
    Case equ(Typ%,0):Volver 00:00:00:00
    Case gt(Typ%,4):Volver 00:00:00:00
    Case equ(Edición%,0):Let Edición%=1
    Case gt(Edición%,4):Let Edición%=1

    if equ(Typ%,1)

        Let Sek%=Tiempo%

    elseif equ(Typ%,2)

        Let Sek%=mul(Tiempo%,60)

    elseif equ(Typ%,3)

        Let Sek%=mul(Tiempo%,3600)

    elseif equ(Typ%,4)

        Let Sek%=mul(Tiempo%,86400)

    endif

    Case equ(Edición%,4):Volver Str$(Sek%)
    Let Tag%=Div(Sek%,86400)
    Let Tag$=@Str$(Tag%)
    Case lt(@Len(Tag$),2):Let Tag$=add$(0,Tag$)
    Let ToSub%=mul(Tag%,86400)
    Let Sek%=Sub(Sek%,ToSub%)
    Let Std%=Div(Sek%,3600)
    Let Std$=@Str$(Std%)
    Case lt(@len(Std$),2):Let Std$=add$(0,Std$)
    Let ToSub%=mul(Std%,3600)
    Let Sek%=Sub(Sek%,ToSub%)
    Let Min%=Div(Sek%,60)
    Let Min$=@Str$(Min%)
    Case lt(@len(Min$),2):Let Min$=add$(0,Min$)
    Let ToSub%=mul(Min%,60)
    Let Sek%=Sub(Sek%,ToSub%)
    Let Sek$=@Str$(Sek%)
    Case lt(@len(Sek$),2):Let Sek$=add$(0,Sek$)

    if equ(Edición%,1)

        Volver add$(add$(add$(add$(add$(add$(tag$,:),std$),:),min$),:),sek$)

    elseif equ(Edición%,2)

        Let Std%=add(mul(Tag%,24),Std%)
        Let Std$=Str$(Std%)
        Case lt(@len(Std$),2):Let Std$=add$(0,Std$)
        Volver add$(add$(add$(add$(std$,:),min$),:),sek$)

    elseif equ(Edición%,3)

        Let Std%=add(mul(Tag%,24),Std%)
        Let Min%=add(mul(Std%,60),Min%)
        Let Min$=str$(Min%)
        Case lt(@len(min$),2):Let min$=add$(0,Min$)
        Volver add$(add$(Min$,:),Sek$)

    endif

ENDPROC

################################################################
#                         ZeitToDec                            #
################################################################
# Wandelt Cuerdas en el Formato XX:YY en Decimal en           #
#                                                              #
# Aufruf = ZeitToDec Tiempo$,Typ%                                #
# Ejemplo: ZeitToDec 16:45,1 son 16,75 zurück              #
#                                                              #
# Auch el Ausgabeformat kann determinado voluntad                  #
# Typ 1 = String                                               #
# Typ 2 = Float                                                #
# Ejemplo: ZeitToDec 16:45,1 son el String 16,75 zurück #
#           ZeitToDec 16:45,2 son el Float 16.75 zurück    #
#                                                              #
################## ! ! !  A C H T U N G  ! ! ! #################
#                                                              #
# Beachte, dass uno beim Aufruf dieser Procedimiento, je después de Typ   #
# una otro Volver-Valor zurück bekommt.                    #
# En Typ 1 = @$(0) en Typ 2 = @!(0)                          #
################################################################

Proc ZeitToDec

    Parámetros Tiempo$,Typ%
    Case lt(len(Tiempo$),5):Volver 00:00
    Case gt(len(Tiempo$),5):Volver 00:00
    Case lt(Typ%,1):Let Typ%=1
    Case gt(Typ%,2):Let Typ%=1
    Declarar xx%,yy%,Zentel!,Volver$,Zentel$,Volver!,xx$
    Let xx%=@Val(left$(Tiempo$,2))
    Let yy%=@Val(right$(Tiempo$,2))
    Let Zentel!=div(yy%,0.6)
    Decimals 0
    Let xx$=Str$(xx%)
    Let Zentel$=Str$(Zentel!)
    Case lt(@len(xx$),2):Let xx$=add$(0,xx$)
    Case lt(@len(Zentel$),2):Let Zentel$=add$(0,Zentel$)
    Let Volver$=add$(add$(xx$,,),Zentel$)

    if equ(Typ%,1)

        Volver Volver$

    elseif equ(Typ%,2)

        Decimals 2
        Let Volver$=@Translate$(Volver$,,,.)
        Let Volver!=val(Volver$)
        Volver Volver!

    endif

    Decimals 6

ENDPROC

################################################################
#                         DecToZeit                            #
################################################################
# Wandelt Decimal (Float) en el String-Formato XX:YY en.  #
#                                                              #
# Aufruf = DecToZeit Tiempo!                                     #
# Ejemplo: DecToZeit 16.75 son 16:45 zurück                #
#                                                              #
################################################################

Proc DecToZeit

    Parámetros Tiempo!
    Declarar GanzZahl%,Zentel!,Zentel%,GanzZahl$,Zentel$
    Let GanzZahl%=Tiempo!
    Let Zentel!=sub(Tiempo!,GanzZahl%)
    Let Zentel!=mul(Zentel!,60)
    Let Zentel%=Zentel!
    Let GanzZahl$=@Str$(GanzZahl%)
    Let Zentel$=@Str$(Zentel%)
    Case lt(@len(GanzZahl$),2):Let GanzZahl$=add$(0,GanzZahl$)
    Case lt(@len(Zentel$),2):Let Zentel$=add$(0,Zentel$)
    Volver add$(add$(GanzZahl$,:),Zentel$)

ENDPROC

################################################################
#                         AddSubZeit                           #
################################################################
# Berechnet el Addition oder Subtraktion de zwei Zeitwerten  #
# en el Formato hh:mm                                              #
#                                                              #
# Aufruf = AddSubZeit Summand1$,Summand2$,Typ%                 #
# Ejemplo: AddSubZeit 16:45,03:30,1 son 20:15 zurück   #
# Ejemplo: AddSubZeit 16:45,03:30,2 son 13:15 zurück   #
#                                                              #
# Typ 1 = Addition    ( Grundschuldeutsch: Plus nehmen )       #
# Typ 2 = Subtraktion ( Grundschuldeutsch: Minus nehmen )      #
################################################################
# Achtung: Lo puede auch Werte über 24:00 herauskommen        #
# Siehe dazu el Procedimiento AddSubUhrzeit                        #
################################################################

Proc AddSubZeit

    Parámetros Summand1$,Summand2$,Typ%
    Declarar Summand1!,Summand2!,Summe!
    ZeitToDec Summand1$,2
    Let Summand1!=@!(0)
    ZeitToDec Summand2$,2
    Let Summand2!=@!(0)

    if equ(Typ%,1)

        Let Summe!=add(Summand1!,Summand2!)

    elseif equ(Typ%,2)

        Let Summe!=sub(Summand1!,Summand2!)

    endif

    DecToZeit Summe!
    Volver @$(0) Cool -> Returnt el letzten Returnwert <- Wollte Yo siempre ya veces hacer... absolut Sinnlos... ;-)

ENDPROC

#################################################################
#                        AddSubUhrzeit                          #
#################################################################
# Berechnet el Addition oder Subtraktion de zwei Uhrzeiten    #
# en el Formato hh:mm                                               #
#                                                               #
# Aufruf = AddSubUhrzeit Summand1$,Summand2$,Typ%               #
# Ejemplo: AddSubUhrzeit 17:30,07:45,1 son 01:15 zurück #
# Ejemplo: AddSubUhrzeit 17:30,07:45,2 son 09:45 zurück #
#                                                               #
# Typ 1 = Addition    ( Grundschuldeutsch: Plus nehmen )        #
# Typ 2 = Subtraktion ( Grundschuldeutsch: Minus nehmen )       #
#################################################################

Proc AddSubUhrzeit

    Parámetros Summand1$,Summand2$,Typ%
    Declarar Tiempo$,Tiempo!,Teiler%
    AddSubZeit Summand1$,Summand2$,Typ%
    Let Tiempo$=@$(0)
    ZeitToDec Tiempo$,2
    Let Tiempo!=@!(0)
    Let Teiler%=Div(Tiempo!,24)
    Let Tiempo!=sub(Tiempo!,mul(Teiler%,24))
    DecToZeit Tiempo!

ENDPROC


3 kB
Hochgeladen:27.04.2005
Ladeanzahl243
Descargar
 
Website:  [...] 
Facebook:  [...] 
27.04.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.264 Views

Untitledvor 0 min.
ByteAttack10.03.2024
Thomas Freier01.01.2024
Uwe Lang29.11.2021
Langer11.01.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

ByteAttack (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie