| |
|
|
Ulrich Milde | Es no bastante simplemente el Infos stückweise zusammenzusuchen, específicamente si la Anfängerscheuklappen se fast automáticamente antes el Augen klappen sowie Ensamblador, DLL y ähnliches auftaucht. XPSE gesucht, gefunden, gesaugt y luego? Exakt el wars, nämlich una grosses Fragezeichen. XPIA schwirrte en el Ergebnissen el XPSE Forensuche auch dauernd por el Gegend. Klasse, como gabs Infos el me weitergeholfen haben! XPSE tut ahora vermutlich el, qué lo se, aber nun hänge Yo otra vez fest y blanco no más.
Was voluntad Yo überhaupt y por qué? Weil Zeitgeber jeglicher Art en Profano Mangelware son y einzige Temporizador con el regelmässigen pollen el seriellen Schnittstelle ya bien beschäftigt es war I el Búsqueda después de Alternativen. Time$ kam wegen des ungünstigen Formats sólo muy ungern y zähneknirschend en Cuestión. El Solución wäre Unixtime, el Yo en el Codebibliothek gefunden hatte. Deswegen auch XPSE,y XPIA. Dummerweise scheint erstens Unixtime más una Testprogramm a ser y zweitens bin Todavía dümmer si en el Einbinden de el va, qué Unixtime macht. (DLL - Scheuklappe klapp...) El Anzahl el Sekunden, el seit una Tag irgendwann en el 70ern vergangen son wäre genau passend para una Temporizador. Gut, va no kleiner como una Sekunde y es no rücksetztbar, aber así kann Yo bien auskommen.
IWie gehe I, con el en qué XPSE ausgibt? Das einzig brauchbare scheint me el erstellte DLL a ser, si yo porque saber Yo con el umzugehen habe. Dazu kommt todavía dass möglicherweise el Profancode para Ausprobieren auch todavía con en el DLL steckt . CLS, Waitkey y Co. kann Yo bastante determinado no gebrauchen...
Lo wäre muy nett si se alguien erbarmen sería y me sagt Yo como a tun habe así Unixtime el tut, qué lo se.
Vielen Dank, Grüsse y Tschüss!
PS. Schade dass así algo bien brauchbares halbvollendet en el Codebibliothek antes se hinschlummert! Unixtime wäre genau correcto,- porque una Holzhammer el alles mögliche en allen Zeitsystemen umrechnen kann, el costumbre Yo eigentlich no.. |
|
|
| |
|
|
|
Michael Wodrich | El Procedimiento UnixTime es una Sekundenzähler, el al 1.1.1970 comenzó es. El seitdem verstrichene Tiempo en Sekunden se zurückgegeben. Unix bezieht de diesem Zähler seine Zeitberechnung.
An el Testcode bajo el Función puede ser el Aufruf ablesen. Hier todavía una Ejemplo: KompilierenMarcaSeparación {$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
Declare Sek1&, Sek2&
Sek1& = UnixTime()
sleep 4000 schlafe 4 Sekunden (4000 Millisekunden)
Sek2& = UnixTime()
cls
print Startzeit:, Sek1&
print Endezeit:, Sek2&
print vergangen in Sekunden:, Sek2& - Sek1&
waitkey
end
Yo habe una DLL (MwDate) en Arbeit con etlichen Datum- y Zeitroutinen. Como voluntad Yo auch el UnixTime con aufnehmen. Das dauert aber todavía una Weilchen.
DLL deshalb, porque el Assemblerteile así leichter handhaben dejar.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 03.03.2007 ▲ |
|
|
|
|
Michael Wodrich | Hattest Usted eigentlich ya dies gefunden?
Millisekunden-genaue Zeitmessung [...] |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 03.03.2007 ▲ |
|
|
|
|
Ulrich Milde | Keine DLL, sólo una bischen Profano, qué el abfragt qué en Windows tickt. Das sieht sí bien de, muy bien incluso! Es el zweite Temporizador el Yo vermisst hatte. Damit kann Soy un unabhängigen Timeout messen während se %wmtimer más el pollen el RS232 kümmert. Temporizador$ kommt auch todavía a el Reihe, si yo para protokollieren el Messwerte komme.
Michael, vielen Dank para el Tipp y Grüsse vom Ulrich! |
|
|
| |
|
|
|
GDL | Falls dir el Temporizador todavía ausgehen debería, Yo lese con el Hilo.pcu mi Schnittstellen una.
Servus Georg |
|
|
| |
|
|