![]() |
Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Delphi Software Entwickler
Leider weiss ich mir keinen Rat mehr und bin im Netz auf euer Forum gestossen . Leider habe ich keine Lösung für mein Problem bisher gedunden . Ich hoffe das ihr mir helfen könnt. Ein Fakturierungsprogramm aus dem Jahr 1987 oder etwas älter , wurde mit Turbo Pascal Dos programiert . Dazu gab es von der Firma Borland eine Datebank Toolbox dazu um eine Datenbank zu erstellen und Daten abzulegen . Leider sind diese Daten nicht mit kommerzielle Software aus dem Jahr 2012 zu lesen (oder ich weiß es nicht). Der Software Entwickler der damaligen Zeit möchte mir leider keinerlei Information zu Verfügung stellen . Das ist nicht so toll. Somit habe ich nur die Antwort Zitat leider ist diese Datenbank mit einem Tool vom Dos-Turbo-Pascal erstellt worden, die es heute vermutlich gar nicht mehr gibt. Gibt es eine Möglichkeit auf die Daten zuzugreifen . Falls dieses möglich ist wie. Kann bitte einer von den Leuten die damit schon oft zu tun hatten eine Analyse der von mir angefügten Daten vornehmen ? Das wäre echt nett. Also das Programm erzeugt Dateien mit nicht bekannten Endungen . Es handelt sich nicht um dbf oder Paradoxdateien . In der Zeit ware eine freie Dateiendungswahl möglich. Es werden neben den Datendateien auch Indexdateien erzeugt . Index ist klar aber evt noch andere Infos in den Indexdateien? Falls einer von euch eine Idee für den Zugriff hat , wäre ich euch sehr dankbar. |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Ohne den Satzaufbau (eine Recordstruktur) zu kennen, wirst du da wenig Glück haben.
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Was bedeutet die 4 in Turbo Pascal Dos mit Toolbox(4)?
Wer ist der Autor? In welchem Jahr ist das erschienen? |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Wenn ich mich richtig erinnere war das nur eine Möglichkeit, selbst zu definierende Daten in einem Bäumchen zu organisieren und das dann in einem eigenen Format (512Byte-Pages) abzulegen.
Mit Standardprogrammen wirst Du da auf Granit beißen. die Beispieldaten sind ja nicht so umpfangreich, aber wenn ich mich nicht irre, steht in der .txt alles drin was Du brauchst. im Prinzip sollte die Struktur ungefähr so aussehen: x00 ... x200 Record1 Record2 (Trailer<length(record) x400 Record3 Gruß K-H |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
keine Ahnung ich denke einfach es ist mit TP 4 progammiert. Der Entwickler hat in Windos Zeiten auch eine Win Variante veröffentlich die auf die selben Datenstruktur zugriff , unter Delphi 3 . Es gibt eine Konfigdatei im Programm wo man das erkennen kann . Diese Version ist nicht verfügbar , war aber mal installiert.
Auszug daraus .........C:\delphi3\Source\SysPfad.............. anderere binaärcode wir hier nicht dargestellt |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Wenn der Quelltext der DOS-Version verfügbar ist, könnte es klappen, wenn nicht, kann man eventuell etwas basteln. Dazu müssen definierte Werte eingetragen werden (1,2,3,4, 'TEST1','TEST2' etc.), also mehrere Records.
Dann kann man mit einem Dateianalyzer oder Gehirnschmalz (bzw. beidem) versuchen, die gespeicherten Daten wiederzufinden. Das lässt dann auf die Recordstruktur schließen. Die Daten sind im Format
Delphi-Quellcode:
Alles machbar.
Type TDaten = Record
RecordHeader : LongInt; // z.B. IrgendEinString : String[50]; EineZahl : Integer; ... end; |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
@einseins
Bist Du ein Troll oder gibt es noch irgend etwas Sinnvolles ausser dieses sinnlose DATEN.rar? |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
@einseins, existiert denn das Programm noch (und läuft)?
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Danke erst mal für die vielen Antworten . Das Programm ist täglich im Einsatz . Ich habe das aber mit nur einem Datensatz versehen , damit man das analysieren kann . Leider ist kein Quellcode verfügbar , aber versuchs heute nochmal mit dem Entwickler eine kleine Email zu verfassen . Leider ist der Aufbau der Datendatei eindeutig , ich habe schon einige Ansätze von euch bekommen um darüber nachzudenken. Der Ansatz mit der txt Datei ist nicht möglich, da diese Datei nicht immer verfügbar ist. Ich habe mal alle Datendateien als rar gepackt und füge die mal ein . Zum einen ist ne Rechnung erstellt, zum anderen wurde diese in der Buchhaltung verbucht (egal wie erst mal).
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Hmmm - ich hab mal irgendwo gelesen, daß die Filestruktur vom TurboPower BTree Filer übernommen wurde - der ist via Sourceforge noch zu kriegen.
Vielleicht kann man damit die Dateien lesen? GRL |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
grl: BTree-Filer verwendet genau das im Handbuch (und von mir) beschriebene Format (also ein File of TDataRecord). Das Problem ist der Aufbau von 'TDataRecord'. Das muss man rausbekommen.
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zitat:
Und es ist richtig, daß die DataToolbox durch BTree-Isam abgelöst wurde, diese dann als "Filer" übernommen und inzwischen der Quellcode freigegeben wurde. Der Quellcode muß aber angepaßt werden, da er nur bis Delphi 2007 unterstützt. Nur ist das eh egal, da ja wohl eine Konvertierung zu einem neuen Programm vorgenommen werden soll, also aus den reinen Datendateien Die Datensätze ausgelesen und einem neuem Programm (konvertiert) zur Verfügung gestellt werden sollen. Die Indexdateien kann man dabei getrost vergessen, weil deren Struktur zu ermitteln ohne Quellcode und den darin beschriebenen Indexparametern so gut wie unmöglich ist. Ich würde erstmal einen 32bit PC sicherstellen, damit auch später noch von vorh. Daten eine Aktenlage (auf Papier) hergestellt werden kann (ab 64bit gibt es keine DOS-VM mehr). Dann zum Jahreswechsel mit Jahresabschluß die Aktenlage herstellen. Bei dem Wust an Dateien (s. rar) viel Zeit nehmen oder die weitergeführten Stamm-Daten, wie z.B. Kunden/Mandanten/Lager/Waren-Parameter einfach von Ausdrucken oder dem alten Programm selbst in das neue Programm eintippseln. @einseins, wenn du die Datendateien wirklich auslesen und konvertieren willst, beachte auch, daß nicht alle Datensätze einer Datei gleich aufgebaut sein müssen - nur ihre Gesamtlänge [byte] ist wohl gleich, aber auch nicht komplett benutzt. Die Datendateien bestehen aus einem Header (erster Satz, Rec 0), in dem vier Parameter, drei Longint und ein Word stehen. Diese geben a) FirstFree:longint (RecNr des ersten gelöschten Recs) b) NumFree:longint (Anzahl der gelöschten Recs) c) UsedRecs:longint (Anzahl Recs ohne Rec0 und ohne gelöschte/ungültige Recs d) Reclen:word an. Daraus interessiert beim Auslesen der Daten ansich nur RecLen, wiel diese der Record-Größe zum deklarieren der Datei oder dem Lesepuffer entsprechen muß. Wie oben schon gesagt (Furtbichler) besteht jeder Datensatz aus einem Longint (4 Byte) und den nachfolgenden Daten. Der Longint zählt mit zum RecLen und zum zu deklarierenden Record/Puffer. Ein Datensatz ist nur gültig, wenn diese ersten vier Byte alle Null sind - ansonsten gilt er als gelöscht und der Longint ist ein Zeiger auf den nächsten, gelöschten Datensatz. Aber das sollte auch in dem vorher schon verlinkten Handbuch stehen (?). Die spezielle Struktur eines Datensatzes ermittelt man am besten, in dem man mit dam Anwenungsprogramm Daten anlegt; möglichst einedeutig wiedererkennbar und dann in den Datendateien nach diesen Daten sucht (z.B. mit einer Hilfsroutine oder einem HexEditor). Und dann daraus die jeweiligen Records ermittelt. FF (Fiel Freude), ich hoffe, Du wirst gut bezahlt. |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Oh das klingt sehr gut . Ganz herzlichen Dank an alle die mir diese Informationen zur Verfügung gestellt haben . Ich werde nun erst mal die nächste Zeit nutzen und Datenanalyse machen . Eines habe ich schon herausgefunden . Das Programm legt jede Rechnung und Lieferschein usw.. in eine eigene Datei ab . Sicher könnt ihr euch vorstellen wie viele Dateien das sind (Seit 1990) . Man kann sagen der Irrsinn nimmt seinen Lauf. Falls eine der Dateien fehlt löschen oder defekt wird eine Fehlermeldung gebracht und das Programm beendet seinen Dienst. Gut eine kleine Frage bleibt aber noch: Zahlen und oder Beträge oder Mengenangaben wie diese abgelegt werden oder wurden ,da es dennoch Bereiche im Datensatz gibt die ich nicht ohne weiteres zuordnen kann.
Na ich versuche mal mein Glück und Danke |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Ideal währe es ja, wen für Geldbeträge
![]() Ansonsten bleiben ja nur noch ![]() ![]() ![]() ![]() Ich lege dir da gern den ![]() |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zitat:
Und diese Werte (Zahlen, Beträge) dann in den Datensätzen wiederfinden - unter testen mit allen alten TP-Typen. Zitat:
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt eine interessante Info noch . Zu diesem Programm gibt es ein Handbuch wo man vieles erklärt bekommt . Als Beispiel kann man die Buchungsdatei exportieren (als Dbase ist aber ein optionales Modul gewesen ) Dort beschrieben sind folgende Datenfelder bei der Ausgabe angegeben . Wenn ich mir die Buchv4.6 ansehen sieht es fast wie diese Struktur aus .
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zitat:
|
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zu DOS-Zeiten waren Datentypen wie Comp oder Extended völlig unbekannt. Da wurde mit Real gearbeitet, dem emulierten 6-Byte-Float.
Ich stand selbst mal davor, so ein selbstgestricktes Datenformat von Turbo-Pascal DOS analysieren und konvertieren zu müssen. Einige Teile habe ich in den einzelnen Dateien wiedererkannt, aber es sind auch ebenso viele unbekannte Elemente da drin, die ein schnelles basteln eines Konverters schier unmöglich machen. [Edit] Das PDF ist äußerst aufschlußreich, da ließe sich womöglich was mit Anfangen. Welche von den vielen einzelnen Files im RAR ist eine Buchungsdatei ? |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zitat:
Ich bin zu faul in den Keller zu gehen, um in noch älteren Handbüchern deswegen nachzuschlagen, 1987 sollte als "alt" und "DOS-Zeiten" reichen. |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Hallo erst einmal vielen Dank an alle die mir so hilfreich Informationen zu meinen Problemen geliefert haben . Daten habe ich analysiert . Ich denke das vieles klar wird , jedoch gibt es eine wichtige Frage . Wie werden die Geldbeträge und Numerische Ausdrücke abgelegt . Ich komme da nicht weiter. Habe einfach mal das alte Programm genommen und zum Artikel verschieden Beträge angelegt und notiert.
Hier mal eine kleine Auswahl der 8 Byte welche für die Beträge zuständig sind 00008400 00000030 0,11€ 00008701 0000005e 1,11€ 00008b00 00000e0a 11,11€ 00008e00 00009c2d 111,11€ 0009100 00800359 1111,11€ 00008400 000000b0 -0,11€ Hat eventuell einer eine Idee wie ich diese Beträge in eine Dezimalzahl wandeln kann . Am liebsten mit VB auch wenn wir hier in einem anderen Forum sind . Vielen Dank |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zitat:
Bei 8 Byte (64bit) gibt es die Möglichkeit double und comp. Bei beiden ist das Vorzeichen-Bit an der selben Stelle gespeichert. Danach kann dein +0,11 und -0,11 beides sein. Ich weiß nicht, wie Du die Hex-Darstellung erzeugt hast. Aber es ist doch ganz einfach, den Datentyp zu bestimmen: Einfach die von dir angegebenen Werte in einer einfachen Routine (mit PASCAL!) einmal als Comp, einmal als double zu erzeugen und abzulegen, diese dann auf dieselbe Art in Hex umwandeln und zu vergleichen. |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Bist du sicher, dass das echte 8 Byte sind? Soweit ich mich entsinne würde ich von Turbo Pascal eher einen Typ wie Real48 mit 6 Byte erwarten.
// EDIT: An den Hex-Werten siehst du jedenfalls deutlich die Trennung in Mantisse und Exponent, da die Werte sich rechts und links der Nullen in der Mitte ändern. Und das achte Bit von rechts ist offenbar das Vorzeichen-Bit. |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Hallo an alle nun muss ich mich leider noch einmal melden . Ich habe die letzten Tage zugebracht die Datenstruktur und Ablage zu erfassen und abzulegen. Leider bin ich einfach zu blöd zu erkennen wie die Zahlen (Geldbeträge) abgelegt werden. Ich habe alles durchprobiert und finde keine Lösung
also zur Erläuterung (entgegen der Info weiter oben) folgende Zahl es handelt sich um 1111,11 Hex ablage 92 4d 89 8e 38 54 Binär 100100100100110110001001100011100011100001010100 so soll es berechnet werden 1 39 8 {width in bits} +-+---------+---+ |s| f | e | (f has an implied msb of 1) +-+---------+---+ n = (-1)^s * 2^(e - 129) * (1.f) Leider komme ich nicht auf den Betrag 1111,11 . Hat einer eine Idee oder besser einen Lösungsweg für die Berechnung . Eines sei noch zu erwähnen das es bei dem Programm um ein 16 bit Programm handelt , so denke ich . Vielen Dank und einen schönen 1.1.2014 |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Du solltest dir noch einmal (oder erstmals) die Frage stellen, wozu auf den alten Daten rumzueinern? Es sind nun ca. zwei Monate vergangen (und eine Jahresabschluß-Möglichkeit).
Was ist eigentlich das Ziel? Ein neues Programm mit identischen Aufgaben? |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
hm ja du hast Recht , aber mein Buchhalterin möchte einfach an dem alten System halten und somit gäbe es die Möglichkeit mit einem neuen Programm und aber auch mit dem alten System auf die Struktur zuzugreifen . Denn auch wenn viele wissen das System welche auf der Dos Ebene arbeiten , früher oder später aussterben werden.
Ich habe diese Überlegung schon angestellt , aber .... egal . Ich strebe die Doppelnutzungsvariante anstreben. Ich hoffe du verstehst das. |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Zitat:
Zitat:
Aber Du hast ja nun ein ganzes Jahr bis zum nächsten Jahresabschluß Zeit :) |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Also leider habe ich noch keine Fortschritte in Sachen Datenauswertung gemacht . Tja es handelt sich nicht um die Ablage wie ich mir das gewünscht habe ( Long,Longint,Real o.ä) Es muss ein anderes Format vorliegen . Ich denke ganz einfach das es sich bei den Daten um Datenfelder handelt,welche einfach einen anderen Aufbau haben (Array Startindex,Endindex, Daten). Es gibt nähmlich kuriose Veränderung. So wie es aussieht legt er wie Feldgrößen fest und die länge . Falls die Zahlen eine bestimmte Größe erreichen ,werden diese Felder erweitert . Eventuell will der Entwickler nicht das man diese Zahlen einfach lesen kann ,und gibt mir auch keinerlei Hinweise um mein Problem zu lösen, obwohl seit 10 Jahren an diesem Programm keine Weiterentwicklung mehr unternommen wird. Nun gut .Meine Frage gibt es eine Ablageform im TP damit er bestimmte Felder oder Speicheradressen direkt erreicht . Ich vermute einfach das er mit der Ablage Speichereffizent und Zeiteffizent erreicht und Daten aus verschiedenen Dateien durch direkten Ansprechen von Speicheradressen abfragt. Bitte es ist nur eine Theorie keine Anhnung ob man das früher so gemacht hat.
Vielen Dank Ist aber eine harte Nuss Unter Antwort 3 gibt es einen sehr interssanten Ansatz ![]() |
AW: Datenstruktur erkennen Turbo Pascal Dos mit Toolbox(4)
Das klingt nach (nicht) ausgerichteten Record-Feldern.
Es gibt sogar hier im Forum einen ![]() Ich hoffe, dass du nicht auch noch variante Records hast. Dann kann es richtig knifflig werden, da im gleichen Bereich dann durchaus Zahlen oder Strings stehen könnten. Und das bei jedem Datensatz anders. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 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