Français
Source/ Codesnippets

Php Time Unix

 

Michael
Wodrich
iF hatte angeregt, qui PHP-Funktion time() nachzubilden.

cet liefert qui verstrichene Zeit depuis 1.1.1970 00:00:00 UTC comme LongInt.
qui Datumsanzeige im Beispiel habe je benutzt, um cela avec iFs PHP-Code abzuchecken.

si qui Longint-Wert mais wirklich UTC ou bien MEZ liefert, doit iF la fois gegenprüfen...
KompilierenMarqueSéparation
 {$cleq}
 $H C:ProfanIncludeWindows.ph

Proc unixtime

    Declare Buffer#, BufferPtr&, zeit&
    ist Struct TimeBuffer = FTimeLo&, FTimeHi&, DivLo&, DivHi&, BiasLo&, BiasHi&, ErgebnisLo&, ErgebnisHi&
    Dim Buffer#,32
    BufferPtr& = Addr(Buffer#)
    ~GetSystemTimeAsFileTime( Buffer# )
    Long Buffer#,8 = $00989680, 0, $D53E8000, $019DB1DE

    AsmStart _tounix(BufferPtr&)

        mov esi,para1
        mov eax,[esi]
        mov edx,[esi+4]
        sub eax,[esi+16]
        sbb edx,[esi+20]
        mov [esi],eax
        mov [esi+4],edx
        xor edi,edi
        or  edx,edx
        jns @tu1
        inc edi
        neg eax
        adc edx,0
        neg edx
        mov [esi],eax
        mov [esi+4],edx
        @tu1:
        mov ebx,[esi+8]
        mov esi,[esi+12]
        or  esi,esi
        jns @tu2
        inc edi
        neg ebx
        adc esi,0
        neg esi
        @tu2:
        jnz @tu3
        or  ebx,ebx
        jz  @tu8
        mov ecx,eax
        mov eax,edx
        xor edx,edx
        div ebx
        xchg eax,ecx
        div ebx
        jmp @tu6
        @tu3:
        bsr ecx,esi
        inc cl
        push ebx
        shrd ebx,esi,cl
        shrd eax,edx,cl
        shr edx,cl
        div ebx
        mov ebx,eax
        mul esi
        mov ecx,eax
        pop eax
        push esi
        mov esi,para1
        mul ebx
        add edx,ecx
        jc @tu4
        cmp edx,[esi+4]
        ja  @tu4
        jb  @tu5
        cmp eax,[esi]
        jbe @tu5
        @tu4:
        dec ebx
        @tu5:
        pop esi
        xor ecx,ecx
        mov eax,ebx
        @tu6:
        dec edi
        jnz @tu7
        neg eax
        adc ecx,0
        neg ecx
        @tu7:
        mov esi,para1
        mov [esi+24],eax
        mov [esi+28],ecx
        jmp @exit
        @tu8:
        xor eax,eax
        dec eax
        mov ecx,7fffffffh
        jmp @tu6
        @exit:

    AsmEnd (zeit&)

    Dispose Buffer#
    Return zeit&

EndProc

Cls
Print
Print unixtime()
Print Date$(5)
Print

While 1

    WaitInput

    If %Key = 2

        Break

    EndIf

    Print unixtime()
    Print Date$(5)
    Print

Endwhile

Fin
 
Programmieren, das spannendste Detektivspiel der Welt.
30.01.2006  
 



très gentil - et funktioniert! Es wird GMT+0 ausgegeben - oui c'est ca comment gewünscht!
 
30.01.2006  
 




p.specht

peux on cela sur X4-Assembler umstricken? chez mir stürzt qui Compi toujours ab...
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
19.12.2020  
 




RGH
je schaue la fois ...
 
XProfan X4
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
20.12.2020  
 




RGH
So ca va:

- cela @ kennzeichnet Adressen de imporrtierten Funktionen, wozu aussi qui Assemblerefunktionen gehören et ist entweder wegzulassen ou bien par @@ trop ersetzen, comment on es chez manchen Delphi-Quellcodes findet.
- quelques wenige pas dans XProfan bekannte Assemblerfunktionen sommes par $H (Hexcodes insérer) einzufügen. qui passenden Hexcodes findet on léger sur cette page:  [...] 
 $H Windows.ph
Asm "_tounix", 1// BufferPtr&
mov esi,par1
mov eax,[esi]
mov edx,[esi+4]
sub eax,[esi+16]
sbb edx,[esi+20]
mov [esi],eax
mov [esi+4],edx
xor edi,edi
or  edx,edx
jns tu1
inc edi
neg eax
adc edx,0
neg edx
mov [esi],eax
mov [esi+4],edx
tu1:
mov ebx,[esi+8]
mov esi,[esi+12]
or  esi,esi
jns tu2
inc edi
neg ebx
adc esi,0
neg esi
tu2:
jnz tu3
or  ebx,ebx
jz  tu8
mov ecx,eax
mov eax,edx
xor edx,edx
div ebx
xchg eax,ecx
div ebx
jmp tu6
tu3:
//        bsr ecx,esi
dh "0fbdce"
inc cl
push ebx
//        shrd ebx,esi,cl
dh "0fadf3"
//        shrd eax,edx,cl
dh "0fadd0"
//        shr edx,cl
dh "d3ea"
div ebx
mov ebx,eax
mul esi
mov ecx,eax
pop eax
push esi
mov esi,par1
mul ebx
add edx,ecx
jc tu4
cmp edx,[esi+4]
oui  tu4
jb  tu5
cmp eax,[esi]
jbe tu5
tu4:
dec ebx
tu5:
pop esi
xor ecx,ecx
mov eax,ebx
tu6:
dec edi
jnz tu7
neg eax
adc ecx,0
neg ecx
tu7:
mov esi,par1
mov [esi+24],eax
mov [esi+28],ecx
jmp exit
tu8:
xor eax,eax
dec eax
mov ecx, $7fffffff
jmp tu6
exit:
EndAsm

Proc unixtime

    Déclarer Buffer#, BufferPtr&, zeit&
    Struct TimeBuffer = FTimeLo&, FTimeHi&, DivLo&, DivHi&, BiasLo&, BiasHi&, ErgebnisLo&, ErgebnisHi&
    Faible Buffer#,32
    BufferPtr& = Addr(Buffer#)
    ~GetSystemTimeAsFileTime( Buffer# )
    Long Buffer#,8 = $00989680, 0, $D53E8000, $019DB1DE
    zeit& = _tounix(BufferPtr&)
    Dispose Buffer#
    Retour zeit&

ENDPROC

Cls
Imprimer
Imprimer unixtime()
Imprimer Date$(5)
Imprimer

Tandis que 1

    WaitInput

    Si %Key = 2

        Pause

    EndIf

    Imprimer unixtime()
    Imprimer Date$(5)
    Imprimer

Endwhile

Fin
 
XProfan X4
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
20.12.2020  
 




p.specht

merci, RGH!

Läuft avec kleinen Changements (SBB, ADC) aussi dans qui Alpha.
Sekundengenau übereinstimmend avec online-Unixtime  [...]  . Liefert Greenwich-Sekunden ab 1.01.1970 00:00 montre UTC durchlaufend, alors sans qui gegebenfalls halbjährlichen Schaltsekunden.
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
20.12.2020  
 




p.specht


Titre de la fenêtre "UNIXTIME pour XProfan-11"
Fenêtre Style 24:CLS $FF0000
var UxTime$="5589E58B75088B068B56042B46101b5614890689560431FF09D2790EFFC7F7D883d200F7DA89068956048B5E088B760C0"+\
"9F67909FFC7F7DB83d200F7DE751509DB745D89C189D031D2F7F387C8F7F3E9330000000fbdceFEC1530fadf30fadd0d3eaF7F389C3F7"+\
"E689C158568B7508F7E301CA720B3B5604770672063B067602FFCB5E31C989D8FFCF7507F7D883d100F7D98B7508894618894E1CE90E000000"+\
"31C0FFC8B9FFFFFF7FE9D9FFFFFF89EC5DC20400":Déclarer UxTime#:Faible UxTime#,len(UxTime$)\2
:whileloop 0,Sizeof(UxTime#)-1:Byte UxTime#,&Boucle=val("$"+mid$(UxTime$,2*&Boucle+1,2)):Endwhile

Proc Unixtime

    Déclarer Buffer#,BufferPtr&,zeit&
    Struct TimeBuffer=FTimeLo&,FTimeHi&,DivLo&,DivHi&,BiasLo&,BiasHi&,ErgebnisLo&,ErgebnisHi&
    Faible Buffer#,32:BufferPtr& = Addr(Buffer#)
    Externe("kernel32.dll","GetSystemTimeAsFileTime",Buffer#)
    Long Buffer#,8=$00989680,0,$D53E8000,$019DB1DE
    zeit&=Call(UxTime#,BufferPtr&):Dispose Buffer#:Retour zeit&

ENDPROC

Tandis que 1

    Cas %Key = 2:BREAK
    Imprimer unixtime(),Tab(26);Date$(5)
    WaitInput 1000

Endwhile

Dispose UxTime#
WaitInput 1000
Fin
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
26.12.2020  
 




p.specht

Experimentell, sans chacun garantie:
Titre de la fenêtre "PRÜFSUMME D' HEXSTRING"
Var c$="5589E58B75088B068B56042B46101b5614890689560431FF09D2790EFFC7F7D883d200F7DA89068956048B5E088B760C0"+\
"9F67909FFC7F7DB83d200F7DE751509DB745D89C189D031D2F7F387C8F7F3E9330000000fbdceFEC1530fadf30fadd0d3eaF7F389C3F7"+\
"E689C158568B7508F7E301CA720B3B5604770672063B067602FFCB5E31C989D8FFCF7507F7D883d100F7D98B7508894618894E1CE90E000000"+\
"31C0FFC8B9FFFFFF7FE9D9FFFFFF89EC5DC20400"
Déclarer p$,w&,s!,l%,m%
l%=Len(c$):Casenote l%:c$="0000"
l%=Len(c$):m%=l% Mod 4

Si m%=1:c$=c$+"000"

ElseIf m%=2:c$=c$+"00"

ElseIf m%=3:c$=c$+"0"

EndIf

s!=1'<<< your salt
l%=Len(c$)

WhileLoop 0,l%-4,4

    s!=s!+Val("$"+Mid $(c$,&Boucle+1,4))

Endwhile

P$=Format $("%g",s!)
ClearClip:PutClip p$'<<< sollte im Echtprogramm raus!!!!!!!!!!!!
Imprimer "  HEXSTRING-PRÜFSUMME = ";P$

Si P$="2980236":Imprimer "\n  PRÜFSUMME OK."

    D'autre: Imprimer "\n  *** FEHLER: PRÜFSUMME STIMMT NICHT! ***"
    Sound 1300,400:WaitInput:Fin

EndIf

WaitInput 1000
Beep:Imprimer "\n\n  HAUPTPROGRAMM: CALL-Befehl wäre statthaft!"
WaitInput
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
26.12.2020  
 



Zum Quelltext


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

7.365 Views

Untitledvor 0 min.
Sven Bader16.05.2024
N.Art23.07.2021
p.specht13.06.2021
Michael W.28.05.2021
plus...

Themeninformationen



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