home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ST-Computer Leser-CD 1999 January
/
STC_CD_01_1999.iso
/
anwend
/
freebase
/
module
/
dates.sic
next >
Wrap
Text File
|
2000-01-08
|
2KB
|
64 lines
//ACE-SICPAR 4 0001
#$[SA-T]Termine -> termine.dat T
/*
* Dieser Script holt das nächste Auftreten aller Termine aus der
* aktuellen Datenbank und legt sie in der Datei temine.dat ab, wo
* sie z.B. von termine.sic zu einer Desktop-Notiz verarbeitet werden
* können.
*/
file = "c:\\auto\\apps\\autosic\\termine.dat";
days = split("So,Mo,Di,Mi,Do,Fr,Sa");
start = time(); // ab heute...
end = start + 60 * 86400; // ... bis in 60 Tagen
address("freebase");
name = getFront(); // oberstes Datenbankfenster
if (name != "") win = lock(name);
if (win != 0) { // hat geklappt?
obj = 0;
while ((obj = getEntry(win, obj))!=0) { // über alle Einträge
next = nextDate(win, obj, start); // nächsten Termin holen
if (next != 0) {
name = getName(win, obj);
while (next<end) {
t = localtime(next);
sprintf(entry, "%s %02d.%02d.%d %s", days[t[6]-1],
t[3], t[4]+1, t[5]+1900, name);
dates[entry] = next;
next = nextDate(win, obj, next+1);
if (next==0) break;
}
}
}
unlock(win);
/*
* gesammelte Termine sortiert in die Ausgabedatei schreiben
*/
if (cnt = dates.length) {
j = cnt;
while (cnt--) {
start = 0;
with (i in dates) {
if (start==0 || dates[i] < start) {
start = dates[i];
end = i;
}
}
putline(file, end);
delete(dates, end);
}
dialog.note("Termin-Export:", string(j)+ " Termine geschrieben");
exit(0);
}
dialog.note("Termin-Export:", "Keine Termine vorhanden?!");
}