Programmstop nach einem bestimmten Datum (vers Datumsformat)

Anfängerfragen zum Programmieren mit PureBasic.
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Programmstop nach einem bestimmten Datum (vers Datumsformat)

Beitrag von HemSA »

Hallole,
ich habe in meiner Freizeit ein Programm geschrieben das ich in unserer Firma verwende.
Nun will eine Zweigstelle im Ausland wahrscheinlich dieses Programm haben.

Ist ja kein Problem. Aber was ich nicht will ist, dass die Zweigstelle dieses Programm umsonst bekommt ( weil privat gemacht-bin kein Softwareentwickler in der Firma - mach das Hobbymässig).
Nun wird es unter Umständen andere Leute von anderen Abteilungen in der Firma geben, die dieses Programm ohne meine Erlaubnis vom Server kopieren und es dann der Zweigstelle geben (um dann mit anderen Dienstleistungen zusammen etc. Geld in Rechnung stellen).

Das ist natürlich nicht die feine Tour.

Was ich will ist, dass das Programm nach einem bestimmten Datum ohne eine Meldung nicht mehr funktioniert.

Dies soll aber weltweit funktionieren (Amerika und andere Länder haben ja andere Datumsformate etc.).

Da es sich um Testdaten handelt kann die Zweigfirma natürlich nicht herkommen und das Datum immer zurückstellen, das dürfte nicht das Problem sein (man kann ja ein Produkt nicht testen bevor es produziert wurde).

Wenn die Zweigfirma sich evtl. entschlossen hat das Programm von mir zu kaufen oder anderweitig ein eigenes Programm zu machen kann ich ja danach wieder die Version ohne "Datumsschutz" auf unseren Server kopieren ( wenn die Zweigfirma es von mir kaufen will bekommen die natürlich die Version ohne die Datumskontrolle).

Hat da einer eine Idee?

Danke im Voraus.
Michael
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von Kiffi »

das mit dem Datum kannst Du selber testen, indem Du
dessen Format unter Systemsteuerung änderst (beim mir
(Win7) ist das "Region und Schema").

Date() liefert ohnehin einen unformatierten Zahlenwert
zurück, den Du mit FormatDatei() unabhängig vom
eingestellten Regionalschema nach Belieben gestalten
kannst.

Grüße ... Kiffi
a²+b²=mc²
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von HemSA »

Hallo Kiffi,
Danke.
Kannst du mir sagen warum der Code mit 5.11 funktioniert

Code: Alles auswählen

heute.l=Date()
Ergebnis$ = Str(heute.l)
Debug Ergebnis$
aber mit Version 4.02 nicht ( Zugriffsverweigerung)?

Dieses Beispiel aus der Hilfe funktioniert bei keiner Version

Code: Alles auswählen

Debug FormatDate("J=%yyyy, M=%mm, T=%dd", Date()) 
Habe Windows 7 und verwende bei diesem Programm 4.02 wegen dem Disphelper.

Michael
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von HeX0R »

Das hört sich mal wieder nach einem zu herrschsüchtigen Antiviren-Programm an.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von Kiffi »

ich habe nur die V5.11; kann also zu früheren Versionen
nichts sagen. In 5.11 funktionieren die Beispiele ohne
Probleme.

Wg. 4.02: Würde mich wundern, wenn der Disphelper
nicht auch mit neueren Versionen läuft. Notfalls kann
man COMate verwenden. Der läuft auch unter 5.11

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von ts-soft »

Kiffi hat geschrieben: Wg. 4.02: Würde mich wundern, wenn der Disphelper
nicht auch mit neueren Versionen läuft.
Eine Version für 4.02 besitze ich gar nicht, für PB 4.20 befindet sich auf Realsource :wink:
Ansonsten ist in dem Paket auch eine Include mit Beispielen und die läuft auch mit PB5.11 (x86)
problemlos. Hab mich schon länger über die Signatur gewundert :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von HemSA »

Hallole und Danke an Alle,

@Kiffi - Ja ich werde das Date() verwenden ( vergangene Sekunden seit Neujahr 01.01.1970 ). Da kommt es dann auf das Datumformat nicht mehr an, kommt überall das Gleiche raus.

@HeXOR - Das denke ich auch, spinnt auch bei alten Programmen.

@ts-soft - Ich kann mich nicht mehr recht erinnern, aber ich glaube ab PureBasic Version 4.20 hat es mit dem Kompilieren/Starten von dem Programm nicht mehr geklappt was ohne Änderungen mit PureBasic Version 4.02 ohne Probleme ging.

Ich denke so müsste es funktionieren das es ab Anfang August nicht mehr lauffähig ist.

Code: Alles auswählen

Repeat      
  
    heute.l=Date()
    EventID = WaitWindowEvent() 
    
    If EventID = #PB_Event_CloseWindow 
      Quit = 1 
    EndIf 
    
    If heute.l>1342656000 ; Vergangene Sekunden von 01.01.1970 bis Anfang August 2013    
       Quit = 1
    EndIf 
    
    If EventID = #PB_Event_Gadget    
      
      If EventGadget()=6
         Hauptprogramm()
      EndIf 
           
    EndIf 
      
Until Quit=1 


Was meint ihr dazu? Ich kann es erst morgen testen, da wie gesagt mein PC was die Sache angeht gerade die Mucken hat ( 4.02 streikt bei Date(), 5.11 bei Disphelper).

Tschüssle und noch einen schönen Tag
Michael
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von Kiffi »

brauchst Du nicht in die Repeat-Schleife zu stecken.

Direkt in den ersten Zeilen Deines Codes:

Code: Alles auswählen

If Date() > 1342656000 ; Vergangene Sekunden von 01.01.1970 bis Anfang August 2013    
  End
EndIf


Kann man das auch schneller finden, um es zu entfernen,
wenn Dein AG das Programm bezahlt. :-)

Grüße ... Kiffi
a²+b²=mc²
HemSA
Beiträge: 221
Registriert: 16.10.2005 13:59
Wohnort: Manisa / Türkei
Kontaktdaten:

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von HemSA »

Hallo Kiffi,
aber in der Repeat Schleife ist es doch wie ich es beschrieben habe doch auch Ok oder (das finde ich schon wieder :-) )?

Die Sache ist das das Programm wenn es mal gestartet ist und es keine Probleme gibt rund um die Uhr monatelang immer läuft.
Also keinen täglichen Neustart (dann wäre dein Vorschlag ok ).

Oben habe ich ja die Prozeduren stehen, sprich in die allererste Zeile komme ich nach einem Neustart normalerweise nicht mehr hin.

Deshalb meine Idee es in die Repeat Schleife zu stecken wo es dann eigendlich immer abgefragt wird.

Tschüssle
Michael
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Programmstop nach einem bestimmten Datum (vers Datumsfor

Beitrag von Kiffi »

HemSA hat geschrieben:rund um die Uhr monatelang immer läuft.
ok, das wusste ich nicht. Dann ist es in der Schleife besser aufgehoben.

Grüße .... Kiffi
a²+b²=mc²
Antworten