home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 1999 January / STC_CD_01_1999.iso / anwend / freebase / module / dates.sic next >
Text File  |  2000-01-08  |  2KB  |  64 lines

  1. //ACE-SICPAR 4 0001 
  2. #$[SA-T]Termine -> termine.dat  T
  3. /*
  4.  * Dieser Script holt das nächste Auftreten aller Termine aus der
  5.  * aktuellen Datenbank und legt sie in der Datei temine.dat ab, wo
  6.  * sie z.B. von termine.sic zu einer Desktop-Notiz verarbeitet werden
  7.  * können.
  8.  */
  9.  
  10. file = "c:\\auto\\apps\\autosic\\termine.dat";
  11.  
  12. days = split("So,Mo,Di,Mi,Do,Fr,Sa");
  13. start = time();                                 // ab heute...
  14. end = start + 60 * 86400;                       // ... bis in 60 Tagen
  15.  
  16. address("freebase");
  17.  
  18. name = getFront();                              // oberstes Datenbankfenster
  19. if (name != "") win = lock(name);
  20. if (win != 0) {                                 // hat geklappt?
  21.     obj = 0;
  22.     while ((obj = getEntry(win, obj))!=0) {     // über alle Einträge
  23.         next = nextDate(win, obj, start);       // nächsten Termin holen
  24.         if (next != 0) {
  25.             name = getName(win, obj);
  26.             while (next<end) {
  27.                 t = localtime(next);
  28.                 sprintf(entry, "%s %02d.%02d.%d %s", days[t[6]-1],
  29.                         t[3], t[4]+1, t[5]+1900, name);
  30.                 dates[entry] = next;
  31.                 next = nextDate(win, obj, next+1);
  32.                 if (next==0) break;
  33.             }
  34.         }
  35.     }
  36.     unlock(win);
  37.  
  38.     /*
  39.      * gesammelte Termine sortiert in die Ausgabedatei schreiben
  40.      */
  41.     if (cnt = dates.length) {
  42.         j = cnt;
  43.         while (cnt--) {
  44.             start = 0;
  45.             with (i in dates) {
  46.                 if (start==0 || dates[i] < start) {
  47.                     start = dates[i];
  48.                     end = i;
  49.                 }
  50.             }
  51.             putline(file, end);
  52.             delete(dates, end);
  53.         }
  54.         dialog.note("Termin-Export:", string(j)+ " Termine geschrieben");
  55.         exit(0);
  56.     }
  57.     dialog.note("Termin-Export:", "Keine Termine vorhanden?!");
  58. }
  59.  
  60.  
  61.  
  62.  
  63.  
  64.