AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Datenmüll bei Konvertierung von Dateien TP5.5 -> Delphi 4
Thema durchsuchen
Ansicht
Themen-Optionen

Datenmüll bei Konvertierung von Dateien TP5.5 -> Delphi 4

Ein Thema von freakTAB · begonnen am 8. Sep 2003 · letzter Beitrag vom 11. Sep 2003
Antwort Antwort
freakTAB

Registriert seit: 21. Jan 2003
Ort: Neubrandenburg
56 Beiträge
 
Delphi 7 Enterprise
 
#1

Datenmüll bei Konvertierung von Dateien TP5.5 -> Delphi 4

  Alt 8. Sep 2003, 14:23
Und da bin ich wieder mit meinem Konvertierungproblemchen.

Also ...
Ich habe verschiedene Strukturen (Records) die in einem alten DOS Programm in eine Datei gespeichert wurden. Ich schreibe nun an einem Konvertierungsprogramm welches diese Dateien einliest und in neue Strukturen packt. Soweit so gut - das klappt auch alles sofern ich mich auf die Strings beziehe - nur kommt er irgendwie mit den Zahlen stark durcheinander. Mal ein Bsp für solch Records
Alt:
Delphi-Quellcode:
Lief_recA= packed record
            TA_Status : LongInt; { Status   0...belegt    }
            L_Nr : str12; { interne Lief.-Nummer   }
            L_Name : str40;
            L_Erf : boolean; { Erfassung kg oder l
                                        true...kg              }

            L_Max_T : real48; { max. Rohmilchtemp.     }
            L_Art : Byte; { Tierart  1..Rinder     }
            L_Tour : smallint;
            L_Molk : Byte;
            L_Aktiv : Char; { Lief. aktiv o. passiv  }
            L_Statistik : Boolean;
            L_Referenz : Boolean;
            L_J_Ist : array [1..12,Qualitaet] of real48;
            L_VJ_Ist : array [1..3,Qualitaet] of real48;
            end;
Neu:
Delphi-Quellcode:
Lief_rec= Record
            L_Nr : str12; { interne Lief.-Nummer   }
            L_Name : str40;
            L_Erf : Char; { Erfassung kg oder l
                                        true...kg              }

            L_Max_T : real48; { max. Rohmilchtemp.     }
            L_Art : Char; { Tierart  1..Rinder     }
            L_Tour : SmallInt;
            L_Molk : Byte;
            L_Aktiv : Char; { Lief. aktiv o. passiv  }
            L_Statistik : Boolean;
            L_Referenz : Boolean;
            L_J_Ist : array [1..12,Qualitaet] of real48;
            L_VJ_Ist : array [1..3,Qualitaet] of real48;
            end;
gibt es irgendwas was ich nicht beachtet habe?

vielen Dank für die Antwort
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Datenmüll bei Konvertierung von Dateien TP5.5 -> Delp

  Alt 8. Sep 2003, 14:41
Du hast das "packed" vor dem record entfernt, damit werden die Felder anders angeordnet. Zusätzlich suche in der Delphi-Hilfe mal nach real48, da gibt es, soweit ich weiß, ein Kompatibilitätsproblem.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
freakTAB

Registriert seit: 21. Jan 2003
Ort: Neubrandenburg
56 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Datenmüll bei Konvertierung von Dateien TP5.5 -> Delp

  Alt 9. Sep 2003, 07:03
Hmm, jetzt hab ich packed vor allen records geschrieben, ich erhalte nun "bessere" Ergebnisse - trotzdem sind sie noch völliger Quatsch. Leider finde ich zu dem Real48 Problem nix - zumindest nicht in der Hilfe
[Edit] Muss ich vielleicht auch noch die Arrays in den records packed machen?[/Edit]
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Datenmüll bei Konvertierung von Dateien TP5.5 -> Delp

  Alt 9. Sep 2003, 08:04
Zitat von freakTAB:
Hmm, jetzt hab ich packed vor allen records geschrieben, ich erhalte nun "bessere" Ergebnisse - trotzdem sind sie noch völliger Quatsch.
Ich gehe mal davon aus, daß z.B. type str12 = string[12]; genutzt wurde. Nur um Missverständnissen vorzubeugen

Zitat von freakTAB:
Leider finde ich zu dem Real48 Problem nix - zumindest nicht in der Hilfe
Ich weiß nicht, wann der Real48 geändert wurde. Versuche mal folgenden Schalter in den Code einzufügen. Wenn Delphi meckert, solltest Du Dich nicht darum kümmern müssen, ansonsten einfach drinne lassen. Real48 wurde zu 16Bit Zeiten anders behandelt, als es heute der Fall ist
{$REALCOMPATIBILITY ON} Gleiches gilt für das Alignment der Felder innerhalb von Records und Arrays. Dazu einfach das Alignment ausschalten.
{$ALIGN OFF} Beide Schalter am besten vor jede Record-/Typendefinition setzen, die an alte Daten muss. Anschließend wieder die Schalter zurücksetzen und die Daten im neuen (effizientieren) Format sichern.

Zitat von freakTAB:
Muss ich vielleicht auch noch die Arrays in den records packed machen?
Wenn vorher auch packed davor stand, ja.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
freakTAB

Registriert seit: 21. Jan 2003
Ort: Neubrandenburg
56 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Datenmüll bei Konvertierung von Dateien TP5.5 -> Delp

  Alt 11. Sep 2003, 06:57
Ich hab grad gemerkt das die eigentliche Konvertierung funktioniert, nur das spätere "reinschieben" in ein Blobfeld - oder das Auslesen is irgendwie nich ordentlich - hmmmm -shit- (sorry für Kraftausdruck)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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