| Autor |
Beitrag |
Royer
      
Beiträge: 32
|
Verfasst: Sa 03.11.07 10:29
Wie kann ich auf möglichst einfache Weise programmieren, dass sich nach einem gewissen Datum zB. 31.12.2007, das von mir Programmierte Programm nicht mehr öffnen lässt?  : Moderiert von jasocul: Topic aus VCL (Visual Component Library) verschoben am Mo 05.11.2007 um 09:14
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Sa 03.11.07 10:54
hi
wenn es Dir darum geht, dass eine bestimmte Nutzungzeit überschritten ist, gar nicht...das Systemdatum, auf das Du Dich beziehen musst, läßt sich nunmal manipulieren.
Gute Karten hättest Du allerdings, wenn Dein Programm ein Terminkalender ist, der logischerweise auf ein stimmendes System-Datum angewiesen ist.
_________________ Gruß Aga
|
|
dummzeuch
      
Beiträge: 593
Erhaltene Danke: 5
Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
|
Verfasst: Sa 03.11.07 11:11
Royer hat folgendes geschrieben: | | Wie kann ich auf möglichst einfache Weise programmieren, dass sich nach einem gewissen Datum zB. 31.12.2007, das von mir Programmierte Programm nicht mehr öffnen lässt? :?: |
z.B. im Projektfile:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| begin if Now > EncodeDateTime(...) then begin ShowMessage(...) end else begin end; end. |
Aber gib Dich keinen Illusionen hin, was die Sicherheit einer solchen Abfrage angeht: Das ist simpel und leicht rauszupatchen. Alles kompliziertere ist Aufwand, den man meines Erachtens lieber in das Programm selbst stecken sollte.
twm
|
|
Royer 
      
Beiträge: 32
|
Verfasst: Mo 05.11.07 09:00
Könnte es auch so Funktionieren?
Delphi-Quelltext 1: 2: 3: 4:
| begin if date > strtodate('05.12.2007') then showmessage('Sie sind im Besitz einer Testversion'); end; |
Gruss Royer
|
|
oldmax
      
Beiträge: 380
D3 Prof, D4 Prof
|
Verfasst: Mo 05.11.07 09:15
Hi
Ich würd's mit einem MessageDlg in Form.Create machen und danach ein Close, wenn Date > des vorgegebebnen Datums.
MessageDLG läßt dir wenigstens Zeit, den Dialog zu lesen. Erst beim Schließen wird der Form.Close -Befehl ausgeführt.
Nicht sicher gegen böse Buben, aber ich denke, wenn's Programm was taugt und nicht allzuteuer ist, werden sich seriöse Anwender das Programm käuflich zulegen....
Gruß oldmax
_________________ Zier dich nich so, ich krieg dich schon....
|
|
Royer 
      
Beiträge: 32
|
Verfasst: Mo 05.11.07 09:28
Ok, so hab ich mir das Vorgestellt. Tip Top!
Ich bin eben einfach nicht sicher 0b man den Date Typ einfach so vergleichen kann. Könnt ja sein das zum Beispiel 31.12.2007 gösser ist als 01.01.2008, obwohl ja das in der Realität nicht stimmt.
Vergleicht der wirklich die höhe des Datums oder eben nur der Zahlenwert? 
|
|
Stefan.Buchholtz
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: Mo 05.11.07 09:34
Royer hat folgendes geschrieben: | Ok, so hab ich mir das Vorgestellt. Tip Top!
Ich bin eben einfach nicht sicher 0b man den Date Typ einfach so vergleichen kann. Könnt ja sein das zum Beispiel 31.12.2007 gösser ist als 01.01.2008, obwohl ja das in der Realität nicht stimmt.
Vergleicht der wirklich die höhe des Datums oder eben nur der Zahlenwert?  |
Das Datum (TDateTime) ist intern ein Fliesskommawert, der die Anzahl der Tage seit dem 30.12.1899 enthält. Deswegen lassen sich Datumswerte einfach vergleichen und auch damit rechnen: Datum1 - Datum2 = Anzahl der Tage.
Stefan
_________________ Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
|
|
jaenicke
      
Beiträge: 19335
Erhaltene Danke: 1751
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 05.11.07 09:35
Royer hat folgendes geschrieben: | Ich bin eben einfach nicht sicher 0b man den Date Typ einfach so vergleichen kann. Könnt ja sein das zum Beispiel 31.12.2007 gösser ist als 01.01.2008, obwohl ja das in der Realität nicht stimmt.
Vergleicht der wirklich die höhe des Datums oder eben nur der Zahlenwert?  |
Wenn du ein TDate vergleichst, dann entspricht der Vergleich dem korrekten Datumsvergleich. Zur Erklärung: Ein TDate ist nur ein FLießkommawert, wobei ein Tag jeweils 1 ist.
44,0 ist z.B. der 05.01.2007, dann ist 45,0 der 06.01.2007  , usw.
In Wirklichkeit sind die Zahlen zwar viel größer, aber das Prinzip ist das selbe, und wenn du eine Uhrzeit hast, dann ist das eben pro Stunde 1/24stel.
|
|
Royer 
      
Beiträge: 32
|
Verfasst: Mo 05.11.07 09:40
Ok ich habs verstanden Danke! Das bedetet es Funktioniert! Hät nicht gedacht, dass das so einfach geht.
Gruss Royer! 
|
|
|