Autor Beitrag
Royer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: 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 user profile iconjasocul: Topic aus VCL (Visual Component Library) verschoben am Mo 05.11.2007 um 09:14
Agawain
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 593
Erhaltene Danke: 5


Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
BeitragVerfasst: Sa 03.11.07 11:11 
user profile iconRoyer 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
begin
  if Now > EncodeDateTime(...) then begin
    ShowMessage(...)
  end else begin
    // hier der von der IDE generierte Code
  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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mo 05.11.07 09:00 
Könnte es auch so Funktionieren?

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: 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? :roll:
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 05.11.07 09:34 
user profile iconRoyer 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? :roll:


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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19335
Erhaltene Danke: 1751

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 05.11.07 09:35 
user profile iconRoyer 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? :roll:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: 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! :D