![]() |
Datenbank: Firefox • Version: 2.5 • Zugriff über: IBDataset
Alte *.Dat-Dateien auslesen
Hallo,
ich soll eine alte Kalkulationssoftware mit Tabellen (oder Datenbank) mit den Endungen DATEN.DAT DATEN.DIA DATEN.IX umschreiben. Leider ist der Programmierer dieser Software schon seit langer Zeit nicht mehr aufzutreiben und ich nicht weiß, welche Datenbank dahinter steckt. Über ADOConnection habe ich es versucht und habe auch ein Anmeldefenster bekommen. Aber jetzt fehlen mir die entsprechenden Anmeldedaten. Kennt Jemand diese Datenbank und wie man auf sie zugreifen kann? Danke, Luckner |
AW: Daten.dat daten.dia daten.ix
Müsste DBase sein, DAT ist typisch für Daten, IX für Index. DIA ... war auch was, oder?
...:cat:... |
AW: Daten.dat daten.dia daten.ix
|
AW: Daten.dat daten.dia daten.ix
Bitte gib deinem Beitrag einen aussagekräftigen Titel. Nur drei Dateinamen sind das nicht. Danke.
|
AW: Alte *.Dat-Dateien auslesen
Sorry für den Dateinamen. Kann ich den nachträglich ändern?
haentschman: 'turbo power' ist mir nicht bekannt, aber sieht jedoch schon so aus. Mit welche Komponenten könnte ich darauf zugreifen? Gibt es dafür eine Standartanmelde Namen und Passwort? Gruß, Luckner |
AW: Daten.dat daten.dia daten.ix
Klick auf "Erweitert".
|
AW: Daten.dat daten.dia daten.ix
Zitat:
obige Dateierweiterungen gehören zur Datenbank B-Tree-Isam/B-Tree-Shell der ENZ-EDV-Beratung Bad Homburg aus den Jahren ca. 1988 - 1997. Nachfolger ist Turbo Power Software gewesen. Den gibt' auch nicht mehr. Hast Du noch ein altes ein Programm, das die Daten lesen / anzeigen kann? Wie viele *.Dat gibt es? Bei einer oder wenigen *.Dat könnte man mit einem mehr oder minder großem Aufwand die Datenstruktur ermitteln. Die *.Dat ist als Record organisiert und könnte sequentiell eingelesen und danach in andere Formate konvertiert werden. Bei mehreren verknüpften *.DAT ist der Aufwand deutlich höher. Die Datenstruktur ist in den Files nicht gespeichert, es gibt keinen Header. Gruß, Andreas |
AW: Daten.dat daten.dia daten.ix
An die Sourcen vom BTree-Filer kommt man aber ran:
![]() |
AW: Daten.dat daten.dia daten.ix
Zitat:
Das 1. Feld eines Records ist immer eine LongInt. Verknüpfungen zu anderen verknüpften *.DAT's sind ebenfalls LongInt. Strings sind noch ShortStrings mit Längenbyte und maximal String[255] Den Rest dazwischen muß man experimentell herausfinden. Problematisch wird es, wenn der Programmierer variante Records verwendet hat... Gruß, Andreas |
AW: Daten.dat daten.dia daten.ix
Hallöle...8-)
Zitat:
Zitat:
|
AW: Daten.dat daten.dia daten.ix
Wenn der Quellcode vorhanden ist, würde ich davon nur die Record-Definitionen verwenden und die *.DAT's sequentiell einlesen und in einer Textdatei zur Weiterverarbeitung als Klartext zwischenspeichern.
Wenn das 1. Feld eines Records 32-Bit-LongInt(0) ist, ist der Record gültig. Probleme kann (wird) es mit den "alten" Strings geben, die man wegen evtl. Umlaute etc. wahrscheinlich manuell anpassen muß, weil die noch nicht Unicode-Format haben. Gruß, Andreas |
AW: Alte *.Dat-Dateien auslesen
Der Quellcode ist nicht vorhanden. Es sind auch mehrere DAT-Dateien vorhanden (ca. 30). Ich wollte nur auf die Dat-Dateien per Delphi zugreifen und die Datenauslesen und in Firebird, evtl mit Korrekturen, speichern. Ich habe es schon mit BDE - und ADO-Komponente auf diese Dateien zuzugreifen. Delphi sagt mir erst dass die Verbindung funktioniert und dann soll ich mich anmelden. Auch diese Daten habe ich nicht.
Gruß, Luckner |
AW: Alte *.Dat-Dateien auslesen
Was siehst du denn, wenn du so eine Datei mit einem (Hex)editor öffnest? Nicht unbedingt mit dem Windows internen, aber vielleicht mit Notepad+.
|
AW: Alte *.Dat-Dateien auslesen
Eigentlich nur so etwas:
Zitat:
|
AW: Alte *.Dat-Dateien auslesen
Oh oh. Nimm doch bitte Namen und Anschriften hier raus. Auch wenn es alte Daten sind. DSGVO lässt schön grüßen.
|
AW: Alte *.Dat-Dateien auslesen
Ich habe solche Dateien vor etwa 20 Jahren mal auseinander genommen.
Schwierig wird es bei varianten Records (hatte ja schon jemand geschrieben). Außerdem muss berücksichtigt werden, ob die Records "packed" definiert wurden. Ansonsten: - Sttrings sind ShortStrings. Daher steht im Byte davor die Länge. - Integer müssten jetzt ShortInt sein - Bei Real weiß ich im Moment nicht, was bei neuerem Delphi genutzt werden muss Real und Integer stehen natürlich nicht als Klartext in der Datei. Bei großen Records ist das ziemlich viel Gefummel und kann bei 30 Dateien eine Menge Arbeit bedeuten. |
AW: Alte *.Dat-Dateien auslesen
Ich danke Euch für die Hinweise. Dann müssen die Anwender dann ihre Daten per Mausklick kopieren. dann geht es eben nicht anders.
Gruß, Luckner |
AW: Alte *.Dat-Dateien auslesen
Na ja, man könnte schnell ein Tool programmieren, was ihnen die Arbeit erleichtert. Etwas mühsam ist nur den Feldtyp und die Feldlänge rauszufinden. Da wird man um Probieren nicht herum kommen. Aber wenn man das hat, kann man die Daten, zum leichten Kopieren, etwas aufbereiten in einem Memo schreiben oder jeden Datensatz in eine Textdatei speichern. Das wird nicht 100% funktionieren, wäre aber bestimmt eine Erleichterung.
|
AW: Alte *.Dat-Dateien auslesen
Lieber nicht. Das würde die Anwender an dieser Stelle überfordern. Dann müssen die Leute einige Monate parallel mit dem neuen Programm arbeiten.
Danke, Luckner |
AW: Alte *.Dat-Dateien auslesen
Zitat:
Delphi-Quellcode:
Und damit liest Du einen Datensatz ein und versuchst aus dem Feld "Reserve" bekannt erscheinende Teile abzutrennen.
TYPE
RecType1 = RECORD Dele : LongInt; AutoRelation1: LongInt; // = Link zu einer anderen .DAT Reserve : Array[1..Len-8] OF Byte; END; Damals war Real 6 Bytes lang. Aber es gab auch schon Extended mit 10 Bytes Länge. Die Integer waren 16-Bit-Integer. Es ist sicherlich eine Fummelarbeit, aber man könnte es probieren. Am einfachsten wäre es, mit einer "Stammdatenbank" zu beginnen, die von sich aus keine Verknüpfungen zu anderen *.DAT’s hat. Nomenklatur: Stammdatenbank = Kind = Detail Eine Stammdatenbank hat kein Feld "AutoRelation". Gruß, Andreas PS: Aufgrund Deines Speicherauszugs scheint mir die Recordlänge obiger .DAT 215 Bytes zu sein... |
AW: Alte *.Dat-Dateien auslesen
Es soll ja nur beim Rauskopieren der Datensätze helfen. Damit arbeiten sollen sie nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz