[UPDATE] @Karl-Heinz - Check_Last_PurgeDate

15/11/2008 - 07:55 von Hermann Hippen | Report spam
Moin Moin :-),

Betrifft: http://kh-rademacher.de/4d/Check_La...clude.html

Ich hab das Script ein klein wenig modifiziert - Es bewirkt das Gleiche.

8<--[ Code ]-->8
Procedure Check_Last_PurgeDate;
Var PDat : TStringList;
LastPurgDateFile : String;
Begin
// Dateiname zum Speichern, Pfad selbst anpassen!
// !!Diese Datei wird automatisch angelegt!!
LastPurgDateFile:= 'C:\Programme\40tude Dialog\lastpurge.tmp';
PDat := TStringList.Create;
With PDat do
Begin
If FileExists(LastPurgDateFile) Then LoadFromFile(LastPurgDateFile) Else Add('-');
If DateToStr(Date) <> Strings[0] Then
Begin
Delete(0);
Add(DateToStr(Date));
SaveToFile(LastPurgDateFile);
ADo('PurgeSubscribedGroups');
End;
End;
PDat.Free.
End;
8<>8

Die Wartezeiten sind unnötig. DataBaseReminder muss als Erstes aufgerufen
werden. Siehe meine Anordnung unten:

| program OnStartup;
| uses Forms, Extctrls, TextFile;
| {$I Basis_Modul_Include}
| {$I DBReminder_include}
| procedure OnStartup;
| begin
| lockdisplay;
| try
| ADo('CollapseAllThreads');
| finally
| unlockdisplay;
| end; // try - finally

| DatabaseReminder;


| ADo('GetNewHeadersInSubscribedGroups');
| ADo('GetNewEmailsForCurrentIdentity');

| Check_Last_PurgeDate;


| // HamNew&Mail
| timer1.interval:`000*5;
| timer1.enabled:=true;
| end;
| begin
| End.

Hab es mit dem Script und der obigen Anordnung getestet:
Haltezeit einer Testgruppe, in alle vier Eingabezeilen auf 'Bei jedem
Aufràumen' gesetzt und Dialog neu gestartet.
Datei wurde angelegt und die Testgruppe war gelöscht - kein Artikel mehr
vorhanden.
Jetzt alle Artikel der Gruppe neu geholt und Dialog wieder neu gestartet.
Alle Artikel waren noch da, da ja die Datei mit dem Datumseintrag
exestierte.

Funktioniert also prima so :-) Wenn DataBaseReminder vor
Check_Last_PurgeDate steht wird erst das Komprimieren durchgeführt und erst
dann im Script weitergegangen. So laufen beide problemlos miteinander, ohne
Wartezeiten einbauen zu müssen.

Cu,
Hermann Hippen.
ž' š°º€ø?žžžžž?ø€º°š 'ž
ø€º° '<http://4ds.siteboard.eu>' °º€ø
'ž '40tude-Dialog Scriptwerkstatt' ž'
ø€º°' ž ž ø€º°ššššššš°º€øšž ž '°º€ø
 

Lesen sie die antworten

#1 Wolfgang Bauer
15/11/2008 - 10:11 | Warnen spam
Servus Hermann.
Hermann Hippen wrote:

Moin Moin :-),

Betrifft: http://kh-rademacher.de/4d/Check_La...clude.html
Ich hab das Script ein klein wenig modifiziert - Es bewirkt das Gleiche.



Ich habe nun also das so eingebaut.
8<--[ Check_Last_PurgeDate.ds ]->8
Procedure Check_Last_PurgeDate;
Var PDat : TStringList;
LastPurgDateFile : String;
Begin
// Dateiname zum Speichern, Pfad selbst anpassen!
// !!Diese Datei wird automatisch angelegt!!
LastPurgDateFile:= 'E:\Programme\40tudeDialog\lastpurge.tmp';
PDat := TStringList.Create;
With PDat do
Begin
If FileExists(LastPurgDateFile) Then
LoadFromFile(LastPurgDateFile) Else Add('-');
If DateToStr(Date) <> Strings[0] Then
Begin
Delete(0);
Add(DateToStr(Date));
SaveToFile(LastPurgDateFile);
ADo('PurgeSubscribedGroups');
End;
End;
PDat.Free.
End;
8<>8

und

8<--[ OnStartup ]->8
program OnStartup;
uses Forms, Extctrls, TextFile;
{$I Basis_Modul_Include}
{$I DBReminder_include}

procedure OnStartup;
begin
lockdisplay;
try
ADo('CollapseAllThreads');
finally
unlockdisplay;
end; // try - finally
DatabaseReminder;
ADo('GetNewHeadersInSubscribedGroups');
Check_Last_PurgeDate;
// HamNew&Mail
timer1.interval:`000*5;
timer1.enabled:=true;
end;
begin
End.
8<->8
Dann kommt beim Kompilieren der OnStarup
Kompilieren fehlgeschlagen
[Error] OnStartup.ds(16:10): Unknown identifier 'Check_Last_PurgeDate'

Was ist bei mir falsch?

Freundliche Grüße
Wolfgang
http://www.wolfgang-bauer.at
40tude-Dialog DER Newsreader unter Windows http://dialog.datalist.org/
news:de.comm.software.40tude-dialog
40tude-Dialog Forum http://4ds.siteboard.eu/

Ähnliche fragen