![]() |
Anzeige:
|
|
|||||||
| Dlls, Includes, Units & Prozeduren Alles zu den Themen Dlls, Includes, Units & Prozeduren |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Ich habe mal etwas mit den neuen Datumsfunktionen von Xprofan 12 herumgespielt am Beispiel des Installationsdatums von Windows.
Müsste von Windows XP bis Win 7 und mit allen Datumsformaten sowie allen Zeitzonen funktionieren. Nur die Sommerzeit bleibt unberücksichtigt, da Windows Beginn und Ende nicht ermitteln kann. Code:
'Autor Dieter Zornow
'Nur für Xprofan ab Version 12
Proc Wininstalldate
Var bias! = 0
Var bias$ = @Readini$("HKEY_DW_2","SYSTEM\ControlSet001\Control\TimeZoneInformation","Bias")
If bias$ <> "0"
If Left$(bias$,1) = "-"
bias$ = del$(bias$,1,1)
Else bias$ = "-"+bias$
EndIf
bias! = val(bias$)
endif
Var uts$ = Readini$("HKEY_DW_2","SOFTWARE\Microsoft\Windows NT\CurrentVersion","InstallDate")
Var uts! = Val(uts$)
Var t! = uts!/86400
var test$ = Upper$(Readini$("HKEY_1","Control Panel\International","sShortDate"))
if instr(".",test$)
If Left$(test$,1) = "D"
Var u! = dt("setDate", "01.01.1970") 'unixtime
Var d! = dt("setDate", "30.12.1899") 'delphitime
Else
Var u! = dt("setDate", "01.01.1970") 'unixtime
Var d! = dt("setDate", "12.30.1899") 'delphitime
endif
elseif instr("/",test$)
If Left$(test$,1) = "D"
Var u! = dt("setDate", "01/01/1970") 'unixtime
Var d! = dt("setDate", "30/12/1899") 'delphitime
Else
Var u! = dt("setDate", "01/01/1970") 'unixtime
Var d! = dt("setDate", "12/30/1899") 'delphitime
endif
elseif instr("-",test$)
If Left$(test$,1) = "D"
Var u! = dt("setDate", "01-01-1970") 'unixtime
Var d! = dt("setDate", "30-12-1899") 'delphitime
Else
Var u! = dt("setDate", "01-01-1970") 'unixtime
Var d! = dt("setDate", "12-30-1899") 'delphitime
endif
endif
Var b! = dt("DaysBetween", d!,u!)
Var idate$ = dt("getDate",6,t!+b!)
t! = dt("setDate",left$(idate$,10))
idate$ = del$(idate$,1,11)
t! = dt("setTime",idate$, t!)
Var d2! = dt("incMin", t!,bias!)
return dt("getDate",6,d2!)
endproc
CLS
print Wininstalldate()
waitinput
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
|
#2 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.876
|
@Hallo Dieter
Der Code funktioniert Trotzdem eine allgemeine Frage auch an andere XProfan-Nutzer: Mir fällt auf, daß ständig mit VAR immer wieder neu declariert wird. Wäre es in so einem Falle nicht vorzuziehen, die Declarationen am Anfang zu erstellen ? Also DECLARE u!,d!,t!,uts! usw... Meiner Meinung nach ist das weniger Schreibarbeit und ein komplexere Code. Wie gesagt, nur meine Meinung. Erschlagt mich nicht gleich
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
#3 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
@Horst,
ich weiß nicht ob der Code durch declare komplexer wird, wage ich mal zu bezweifeln. Ich machs halt meistens so, dass ich die Variablen bei ihrem ersten Auftreten mit Var declariere. Aber das kann und sollte ja jeder halten wie er will. Ich denke, es ist eins so gut wie das andere, ist ja auch kein Dogma.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Windows Product-Key auslesen | Frabbing | Dlls, Includes, Units & Prozeduren | 50 | 22.02.2011 07:04 |
| Windows Seriennummer auslesen | Paule | d.) Windows 7 | 0 | 14.11.2010 00:23 |
| Eventlog von Windows auslesen | Schwabenpfeil! | Hardware - Problemlösungen | 0 | 08.11.2010 00:47 |
| Eventlog von Windows auslesen | AHT | Schreibstube | 8 | 08.11.2010 00:39 |
| Windows XP Pro. Product Key auslesen!!! | Mo888 | Windows XP | 5 | 17.05.2009 17:20 |