Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi eigene "Variable" in Header einer dbf Datei speichern (https://www.delphipraxis.net/11047-eigene-variable-header-einer-dbf-datei-speichern.html)

lkz633 30. Okt 2003 10:36


eigene "Variable" in Header einer dbf Datei speich
 
Hallo,

ich möchte in meiner Datenbankoberflaeche(eine eigene nicht von Borland)
erkennen koennen ob eine dbase Datei verschluesselt ist oder nicht.

Da die Kompoenenten die ich verwende (Topaz ein BDE Ersatz, ja ich muss
diese verwenden), ich denke dass es da bei TTable nicht anders ist, keine
Property wie isencrypted anbietet, meinte der Support, ich sollte dies doch
einfach im Header der dbf-Datei speichern.

Leider habe ich davon keinerlei Ahnung und moechte da auch nicht
rumpfuschen, nicht das hinterher die Datei beschaedigt wird. Eigentlich muesste ja ein einfaches true/false an eienr bestimmten Stelle genuegen oder? Nur wo?

Hoffe deswegen auf eure Hilfe. Geht das ueberhaupzt, wenn ja wie?
Irgendwelche Tipps, Ansaetze? Hat das schon mal jemand so gemacht?

Herzlichen Dank fuer eure Hilfe

MFG
lkz633

MrSpock 30. Okt 2003 10:44

Re: eigene "Variable" in Header einer dbf Datei sp
 
Hallo lkz633,

im Header von dBase Dateien gibt es tatsächlich Platz den man nutzen könnte. Ich habe letztens auch eine kleine Komponente benutzt, die ohne BDE dBase Dateien erzeugt und diese "unwichtigen" Felder auf 0 setzt. (Irgendwelche MEM Felder, ich könnte dir heute Abend die genauen Offsets sagen.) Die Datenbankoberfläche, der Datenbankexplorer und Excel konnten die Datei problemlos lesen, aber Clipper (dafür musste ich den Export machen) hat die Datei nicht mehr akzeptiert! Es ist also wohl nicht ganz ohne Risiko.

lkz633 30. Okt 2003 12:47

Re: eigene "Variable" in Header einer dbf Datei sp
 
Zitat:

Zitat von MrSpock
ich könnte dir heute Abend die genauen Offsets sagen

Das waere sehr nett. Und vielleicht ein bisschen Code :-) oder Stichwoerter wonach ich suchen muss, wie gesagt, habe so etwas noch nie gemacht.

Zitat:

Zitat von MrSpock
Es ist also wohl nicht ganz ohne Risiko.

Genau das verrsuche ich zu minimieren :-)

Dank und Gruss
lkz633

Memo 30. Okt 2003 15:10

Re: eigene "Variable" in Header einer dbf Datei sp
 
Zitat:

Zitat von lkz633
Leider habe ich davon keinerlei Ahnung und moechte da auch nicht
rumpfuschen, nicht das hinterher die Datei beschaedigt wird. Eigentlich muesste ja ein einfaches true/false an eienr bestimmten Stelle genuegen oder?

oder 0 und 1
Headerbeschreibung
im 15 Byte steht ein Encryption flag.

lkz633 30. Okt 2003 15:14

Re: eigene "Variable" in Header einer dbf Datei sp
 
Das mit Byte 15 habe ich auch gerade gefunden.

was bedeutet das genau? Das ich dieses Byte nutzen kann, ohne das etwas passieren kann?

Das wird ja sicherlich nicht selber gesetzt wenn ich die Datei verschluessel, oder?

Wie kann ich da reinschreiben bzw den wert auslesen?

Danke fuer eure Hilfe

Gruss lkz633

Memo 30. Okt 2003 15:52

Re: eigene "Variable" in Header einer dbf Datei sp
 
Zitat:

Zitat von lkz633
was bedeutet das genau? Das ich dieses Byte nutzen kann, ohne das etwas passieren kann?

Nun ja, in deinem ersten Beitag stand noch das du den Wert nur lesen wolltest.
Ich hab mal ebend einen Hex-Editor angeschmissen und den Wert hin-und her verändert. Also ich konnte den Schutz damit an -und abschalten. Die Datenbankoberfläche meinte nur, das sie mit einer verschlüsselten Datei nicht klar kommt.
Zitat:

Das wird ja sicherlich nicht selber gesetzt wenn ich die Datei verschluessel, oder?
Probier es doch einfach mal aus.

Code:
Wie kann ich da reinschreiben bzw den wert auslesen?
Evt. so wie in dem Bsp. Aber da sind andere kompetenter.

lkz633 30. Okt 2003 18:03

Re: eigene "Variable" in Header einer dbf Datei sp
 
Guten abend,

habe leider noch ein Problem:

Das setzen klappt einwandrei, wie ich mir im Editor bestaetigen konnte.

Jedoch wenn ich meine Anwendung beende oder den Befehl PackTable aufrufe,
wird das Bit zurueckgesetzt.

Woran kann dies liegen?

Dank und Gruss
Max Odendahl


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz