DBT Datei ohne DBF [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
DBT Datei ohne DBF [ERLEDIGT]
Hi,
ich habe gerade ein wenig in alten Daten herumgewühlt und eine DBT Datei gefunden. Ich weiß zwar, zu welcher DB die gehört, aber es sind nicht mehr alle Sätze dazu da und wohl auch das Memofeld fehlt.
Kann man mit der DBT Datei noch irgendwas anfangen, oder wie sieht das aus?
ich habe gerade ein wenig in alten Daten herumgewühlt und eine DBT Datei gefunden. Ich weiß zwar, zu welcher DB die gehört, aber es sind nicht mehr alle Sätze dazu da und wohl auch das Memofeld fehlt.
Kann man mit der DBT Datei noch irgendwas anfangen, oder wie sieht das aus?
Zuletzt geändert von Manfred am Mo, 24. Nov 2008 14:53, insgesamt 1-mal geändert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Hi,
ich denke mal, dass über das Memofeld die Zuordnung zueinander gamacht wird. Es müßte doch aber irgendwie möglich sein, die DBT trotzdem auszulesen und nachzusehen, was denn da noch so alles drin steht.
Das ist jetzt reine Neugier von mir. Die Datei an sich ist nicht wichtig, aber wer weiß, wozu das noch in ferner Zukunft gut sein kann so etwas zu wissen, oder zu können.
ich denke mal, dass über das Memofeld die Zuordnung zueinander gamacht wird. Es müßte doch aber irgendwie möglich sein, die DBT trotzdem auszulesen und nachzusehen, was denn da noch so alles drin steht.
Das ist jetzt reine Neugier von mir. Die Datei an sich ist nicht wichtig, aber wer weiß, wozu das noch in ferner Zukunft gut sein kann so etwas zu wissen, oder zu können.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Manfred,
was meinst Du denn mit "was anfangen"?
Wenn die dbf fehlt bzw. unvollständig ist, dann hast Du natürlich ein Problem, die Memo-Daten ordnungsgemäß auszulesen. Weil ja die Satzzeiger fehlen. Du könntest höchstens versuchen, eine dbf mit entsprechendem Namen und mit Memo-Fed zu erstellen mit der passenden Anzahl an Datensätzen. In der Hoffnung, daß die Zeger dann schon passen werden.
Ansonsten kann man die Memo-Datei natürlich auch mit einem Editor auslesen. Allerdings dann ohne jegliche Zuordnung. Aber wenigstens hättest Du die Texte zur Verfügung.
Jan
was meinst Du denn mit "was anfangen"?
Wenn die dbf fehlt bzw. unvollständig ist, dann hast Du natürlich ein Problem, die Memo-Daten ordnungsgemäß auszulesen. Weil ja die Satzzeiger fehlen. Du könntest höchstens versuchen, eine dbf mit entsprechendem Namen und mit Memo-Fed zu erstellen mit der passenden Anzahl an Datensätzen. In der Hoffnung, daß die Zeger dann schon passen werden.
Ansonsten kann man die Memo-Datei natürlich auch mit einem Editor auslesen. Allerdings dann ohne jegliche Zuordnung. Aber wenigstens hättest Du die Texte zur Verfügung.
Jan
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Das ist bei dBaseIII-Formaten ein zehnbytiger Zeiger (ASCII-Zahl) in der DBF-Datei, der auf einen Block innerhalb der DBT verweist. Das Ende des dazugehörigen Textes kann man in der DBT am Hex-Code 1AH erkennen. Wenn ein Memofeld bearbeitet wird, hängt auch Xbase++ den veränderten Text einfach ans Ende der Memodatei, er ist dann ggf. mehrfach vorhanden. Theoretisch wäre es also möglich, eine neue DBF derart zu manipulieren, daß sie mit einer bereits bestehenden DBT arbeitet (zumal Feldnamen NICHT in der DBT abgebildet werden), aber das wäre eine Menge Fummelarbeit. Die Texte in der DBT sind aber in Klarschrift (OEM ASCII) verfügbar, man kann also auch mit einem Editor darin herumeiern.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Hi,
herumeiern, das ist der richtig Ausdruck. Naja, man kann etwas lesen. Ich war halt interessiert, ob es irgendwie möglich wäre.
Ah, ich habe gerade mal mit dem Totalcommander die DBT eingelesen und aus reiner Neugier von binär auf Text umgeschaltet. Naja, nicht die Kröung, aber es ist schon wesentlich lesbarer.
So wie ich es jetzt aber in Kürze verstanden habe: Zuordnung Dbf-Dbt kaputt, Pech gehabt.
herumeiern, das ist der richtig Ausdruck. Naja, man kann etwas lesen. Ich war halt interessiert, ob es irgendwie möglich wäre.
Ah, ich habe gerade mal mit dem Totalcommander die DBT eingelesen und aus reiner Neugier von binär auf Text umgeschaltet. Naja, nicht die Kröung, aber es ist schon wesentlich lesbarer.
So wie ich es jetzt aber in Kürze verstanden habe: Zuordnung Dbf-Dbt kaputt, Pech gehabt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Hallo, Manfred.
Vereinfacht gesagt - ja, leider.
Die DBT "weiß" nicht, was sie tut und welche Daten sie hält. Es können ja auch mehrere Memofelder in der DBF vorhanden sein. Deren Inhalte werden einfach immer an die DBT angehängt und mit 1AH beendet, und dann wird in der DBF der Blockzeiger aktualisiert. Im Prinzip könntest Du die Anzahl 1AHs prüfen und eine DBF mit Memo erzeugen, die eine entsprechende Zahl Datensätze enthält, aber keine Einträge im Memo (oder einen für Testzwecke). Dann müßtest Du herausfummeln, wo der jeweilige Zeiger auf die DBT steht. Den könntest Du dann mit einem Hex-Editor editieren. Keine Gewähr!![Cool 8)](./images/smilies/cool.gif)
Vereinfacht gesagt - ja, leider.
Die DBT "weiß" nicht, was sie tut und welche Daten sie hält. Es können ja auch mehrere Memofelder in der DBF vorhanden sein. Deren Inhalte werden einfach immer an die DBT angehängt und mit 1AH beendet, und dann wird in der DBF der Blockzeiger aktualisiert. Im Prinzip könntest Du die Anzahl 1AHs prüfen und eine DBF mit Memo erzeugen, die eine entsprechende Zahl Datensätze enthält, aber keine Einträge im Memo (oder einen für Testzwecke). Dann müßtest Du herausfummeln, wo der jeweilige Zeiger auf die DBT steht. Den könntest Du dann mit einem Hex-Editor editieren. Keine Gewähr!
![Cool 8)](./images/smilies/cool.gif)
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
das ist schon seit Clipper 5.0 (oder sogar S87 ?) nicht ganz richtig. Wenn der geänderte Text in den vorhandenen Platz reinpaßt, also nicht mehr 512 Byte Blöcke braucht, dann wird der vorhandene Platz verwendet, die DBT wird nicht größer.Tom hat geschrieben: Wenn ein Memofeld bearbeitet wird, hängt auch Xbase++ den veränderten Text einfach ans Ende der Memodatei, er ist dann ggf. mehrfach vorhanden.
Wenn er zu groß oder neu ist, dann wird hinten angehängt.
Den Inhalt der Datei mit einem Hexeditor oder FOPEN FREAD etc. zu lesen ist so schlecht nicht, solange der Inhalt sinnvoll wiederverwendet werden kann. Was aber überflüssig war und gelöscht wurde, kann man nicht erkennen.
Ob die Mühe lohnt muss man natürlich selbst entscheiden.
Gruß
Hubert
Hubert