Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 241851 (3287)

| Suchen
| Zurück zur Übersicht

Autor | Thema: dBase-Dateien
Dietmar Horn
| Datum:08.08.02 19:28 (MMJ-Hoyerswerda@gmx.de) |
Hallo, weiß jemand, wie man bereits vor dem Öffnen einer dBase-Datei feststellen kann, ob es sich wirklich um eine dBase-Datei handelt? Nur die Extension .dbf möchte ich dafür nicht als Kriterium benutzen, weil man dBase-Dateien ja auch willkürliche Extensionen verpassen kann. Hintergrund für meine Frage: Wenn der Anwender mit dem LoadFile-Dialog eine Nicht-dBase-Datei wählt, stürzt das Programm bei dbopen unweigerlich ab, wenn es sich um keine dBase-Datei handelt. Danke im voraus für Hinweise. Profan² 6.6 / Win 98 MfG Dietmar
Gerhard Putschalka
| Datum:08.08.02 20:01 (g.putschalka@utanet.at) |
Hallo Dietmar, Du könntest folgendes versuchen: von der betreffenden Datei mit Blockread 12 Bytes in eine Bereichsvariable (z.B. Ar#) einlesen. und auf den Stellen:
      Anzahl&    = @Long(ar#,4)
      Satzlänge& = @Word(Ar#,10)
      Vorspann&  = @Word(Ar#,8)
sind obige Informationen. Wenn Du nun die Anzahl der Sätze mit der Satzlänge multiplizierst und dazu den Vorspann addierst erhältst Du die Dateilänge. Eine Stelle muß noch dazugerechnet werden, weil die Datei normalerweise mit einem "Dateiende-Zeichen" abgeschlossen wird. Mit diesem errechneten Wert mußt Du vergleichen ob dies mit der Dateigröße (Funktion @FileSize) übereinstimmt. Mfg. Gerhard.
Dietmar Horn
| Datum:09.08.02 16:36 (MMJ-Hoyerswerda@gmx.de) |
Danke, klappt prima! MfG Dietmar
Gerhard Putschalka
| Datum:10.08.02 14:06 (g.putschalka@utanet.at) |
Hallo Dietmar, es gibt noch weitere Möglichkeiten, die beim dbOpen einen Absturz bringen können. Ich habe auf meiner HP http://members.telering.at/g.putschalka/index.html unter Prozeduren (Includes) eine Prozedur CheckDBF, die weitere Prüfungen durchführt. Mfg Gerhard.
Gerhard Putschalka
| Datum: 10.08.02 16:38 (g.putschalka@utanet.at) |
Hallo, eine Korrektur, weil der Link falsch war. http://members.telering.at/g.putschalka/index.html so sollte es funktionieren.

| Zurück zur Übersicht