1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76:
| Dateiname := 'DEBITOREN\KUNDE.DB; // zum Beispiel
// falls eine alte Tabelle vorhanden, soll sie gelöscht werden:
if FileExists(Dateiname) then DeleteFile(Dateiname);
// dann kopiere ich eine aktuelle Datei dorthin, wobei DEBITOREN ein // Tabellenpuffer ist, d.h. es können mehrere Tabellen dort sein für // einen Transfer in ein endgültiges Verzeichnis:
CopyFile('TEMP\KUNDE.DB', PChar(Dateiname), false);
// dann erfolgt die Abfrage, ob das Zielverzeichnis (auf einem Novell- // Server) existiert:
HS := 'F:\BUCHHALTUNG\DEBITOREN\'; if DirExists(HS) then // vorsichtshalber prüfen, ob Zielverzeichnis existiert begin
// nun versuche ich, die erste zu übertragende Tabelle im Tabellenpuffer zu öffnen:
if FindFirst('DEBITOREN\*.db', faAnyFile, SearchRec) = 0 then
repeat with SearchRec do begin Dateiname := Name; KundenNr := Copy(Dateiname, 1, Pos('.', Dateiname)-1); if (Name <> '.') AND (Name <> '..') then begin if copy(Dateiname, Pos('.', Dateiname)+1, 2) = 'db' then begin
// Eintrag (zu kopierende Paradox Tabelle) gefunden i := 0; gefunden := false;
// Versuch, die Tabelle zu öffnen:
repeat // weil meistens der erste Versuch zu öffnen scheitert, warum? Form1.Table1.Active:= false; Form1.Table1.close; Verz:= ExtractFilePath(ParamStr(0)); try Form1.Table1.DatabaseName:= Verz; Form1.Table1.TableName:= 'DEBITOREN\' + Dateiname; if FileExists(Form1.Table1.TableName) then begin // an dieser Stelle, wenn die Table auf active = true gesetzt wird, // entsteht sehr häufig eine Exception: Form1.Table1.Active:= true; Form1.Table1.First; gefunden := true; end; except gefunden := false; inc(i); end; until (gefunden) OR (i > 10);
if gefunden then begin
// ..... weitere Auswertung end;
end; end; end; until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end; |