PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datumsvergleich in VB



Import-Script
05.12.2003, 23:34
Hallo, <BR> <BR>ich will ein VB Programm z.B. nur 2 Monate laufen lassen und dann soll die Fehlermeldung kommen Probezeitraum ist abgelaufen ... <BR>nun habe ich mir das wie folgt vorgestellt : <BR> <BR>If Date &#62; &#34;05.12.2003&#34; Then MsgBox &#40;&#34;Probe...&#34;&#41; <BR> <BR> <BR> <BR>wenn ich jetzt schreibe : <BR> <BR>If Date &#62; &#34;01.12.2003&#34; Then MsgBox &#40;&#34;Probe...&#34;&#41; <BR> <BR>kommt die Msgbox ... <BR> <BR> <BR> <BR>wenn ich aber mein Systemdatum auf 01.12.2004 stelle kommt diese nicht mehr <BR> <BR>also klappt da etwas nicht mit der Jahreszahl <BR> <BR> <BR>wer weiß da rat ? <BR> <BR> <BR>Tobias

Import-Script
06.12.2003, 15:55
Das könnte der Bug sein, dass der Sekundencounter &uuml;berläuft. Das m&uuml;sste auch so etwa Datumsmässig hinkommen. Sekunden seit 1.1.1980 <BR> <BR>1 Jahr = 365Tage &#42; 24Std &#42; 3600 Sec. = 31536000 Sec. <BR>Macht vom 1.1.1980 bis 1.1.2003 = 23Jahre a 31536000 Sec. = 725328000 Sec. = 2B3BA080h <BR> <BR>Das Spielchen jetzt mit 2004 &#40;mal zum einfacher rechnen einigen wir uns auf 1.1.2005&#41; <BR>= 25 Jahre a 31536000 Sec. = 788400000 Sec. = 2EFE0780h <BR> <BR>Wenn die den jetzt nur 16bittig mitschleifen &#40;aus alten DOS-Zeiten&#41; dann hast Du am 1.1.2003 A080h und am 1.1.2005 0780h und das ist KLEINER!!! <BR> <BR>m&uuml;sstest Du mal in der Richtung ausprobieren und nochmal testen; aber das ist ein Problem was bereits zusammen mit dem Jahr2000-Prob. mit auftauchte - irgendwann so um 2004 wird´s in 16Bit Anwendungen zu diesem Phänomen kommen. <BR>Ich dachte halt VB wäre komplett 32Bittig; wohl nicht so ganz...??? <BR>Mach mal paar Tests in der Richtung. Irgend ein Datum f&uuml;hrt zu FFFFh - da bin ich jetzt zu faul zu zum Rechnen, und es wird auch ein 10000h danach folgen und das ist wenn man nur 16Bit vergleicht kleiner!

Import-Script
06.12.2003, 19:45
hier habe ich etwas gefunden das funkt. : <BR> <BR>Dim tage As Integer <BR>tage = DateDiff&#40;&#34;d&#34;, Now, &#34;30.1.04&#34;&#41; <BR>If tage &#60; 0 Then <BR> MsgBox &#34;Die Demoversion des Programmes ist leider abgelaufen&#34; &amp; Chr&#40;10&#41; &amp; Chr&#40;13&#41; &amp; &#34;Da ich bis heute noch kein Geld f&uuml;r dieses Programm bekommen habe&#34; &amp; Chr&#40;10&#41; &amp; Chr&#40;13&#41; &amp; &#34;wird das Programm beendet&#34;, , &#34;Zeit der Demoversion abgelaufen !!!&#34; <BR> End <BR>End If <BR> <BR>Tobias