Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: Problem mit lesen von records aus Delphi 4 in Turbo Delp

  Alt 18. Mai 2008, 15:57
Du brauchst dir dann doch nur ein kleines Programm zum Konvertieren der Pläne erstellen.

Mit D4 ein Konvertierungsprogramm erstellen und dieses über deine Dateien laufen lassen

und in TD fängst du dann gleich mit dem "neuen" Record an.
[add] oder wie grenzgaenger schon erwähnte gleich alles in ein anderes Format ... z.B. XML)

Von den Daten her ist mein Recordvorschlag ja identisch zu Deinem.


Delphi-Quellcode:
initStruct_alt = record
  VersionTcd : string[30]; (* Version der Schaltplandatei *)
  MaxSeite : integer; (* Anzahl der Seiten *)
  AnbindungsFarbe : tcolor; (* Farbe der Anbindungspunkte *)
  HintergrundFarbe : tcolor; (* Bildschirmhintergrundfarbe *)
  RectWahlColor : tcolor; (* Farbe des Auswahl Rechtecks *)
  PfadAnzahl : integer; (* Anzahl der Pfade pro Seite *)
  KYpos : UU; (* y Lage des Kontaktspiegels *)
  DruckLinienStaerke : integer;(* Linienstaerke beim Ausdruck *)
  AnbindungenZeichnen : boolean; (* Anbindungen werden gezeichnet *)
  EinfuegePunkteZeichnen : boolean; (* Einfügepunkte werden gezeichnet *)
  JpgSchraffur : boolean; (* bei true wird Jpg als Schraffur gezeichnet *)
  xyJpg : boolean; (* Jpg in Rechteck eingepasst *)
  xJpg : boolean; (* Jpg wird auf x-Maße angepasst *)
  yJpg : boolean; (* Jpg wird auf y-Maße angepasst *)
  RasterMarkerSize : integer; (* Groesse des Raster in Pixel *)
  EinfuegePktMarkerSize : integer; (* Größe der Einfügepunkt Marker in Pixel *)
  EinfuegePktMarkerWidth : integer; (* Liniendicke Marker Einfuegepunkte *)
  EinfuegePktMarkerColor : tcolor; (* Farbe Marker der EinfuegePunkte *)
  KontaktSpiegelColor : tcolor; (* Farbe der Kontaktspiegel *)
  KontaktSpiegelWidth : UU; (* Linienstärke Kontaktspiegel *)
  VerweisColor : tcolor; (* Farbe der Quer und Rückverweise *)
  VerweisWidth : UU; (* Linienstärke Verweise *)
  vlength : UU; (* Länge der Anbindungspunkte *)
  UText : array[1..20] of string[50];
  ReserveStr1 : string[255];
  ReserveStr2 : string[255];
  ReserveStr3 : string[255];
  ReserveStr4 : string[255];
  ReserveStr5 : string[255];
  ReserveStr6 : string[255];
  ReserveStr7 : string[255];
  ReserveStr8 : string[255];
  ReserveStr9 : string[255];
  ReserveStr10 : string[255];
  ReserveStr11 : string[100];
  ReserveStr12 : string[100];
  ReserveStr13 : string[100];
  ReserveStr14 : string[100];
  ReserveStr15 : string[100];
  ReserveStr16 : string[100];
  ReserveStr17 : string[100];
  ReserveStr18 : string[100];
  ReserveStr19 : string[100];
  ReserveStr20 : string[100];

  ReserveInt1 : integer;
  ReserveInt2 : integer;
  ReserveInt3 : integer;
  ReserveInt4 : integer;
  ReserveInt5 : integer;
  ReserveInt6 : integer;
  ReserveInt7 : integer;
  ReserveInt8 : integer;
  ReserveInt9 : integer;
  ReserveInt10 : integer;
  ReserveInt11 : integer;
  ReserveInt12 : integer;
  ReserveInt13 : integer;
  ReserveInt14 : integer;
  ReserveInt15 : integer;
  ReserveInt16 : integer;

  ReserveDU1 : DU;
  ReserveDU2 : DU;
  ReserveDU3 : DU;
  ReserveDU4 : DU;
  ReserveDU5 : DU;
  ReserveDU6 : DU;
  ReserveDU7 : DU;
  ReserveDU8 : DU;
  ReserveDU9 : DU;
  ReserveDU10 : DU;
  ReserveDU11 : DU;
  ReserveDU12 : DU;
  ReserveDU13 : DU;
  ReserveDU14 : DU;
  ReserveDU15 : DU;
  ReserveDU16 : DU;

  ReserveUU1 : UU;
  ReserveUU2 : UU;
  ReserveUU3 : UU;
  ReserveUU4 : UU;
  ReserveUU5 : UU;
  ReserveUU6 : UU;
  ReserveUU7 : UU;
  ReserveUU8 : UU;
  ReserveUU9 : UU;
  ReserveUU10 : UU;
  ReserveUU11 : UU;
  ReserveUU12 : UU;
  ReserveUU13 : UU;
  ReserveUU14 : UU;
  ReserveUU15 : UU;
  ReserveUU16 : UU;

  ReserveBit1 : Boolean;
  ReserveBit2 : Boolean;
  ReserveBit3 : Boolean;
  ReserveBit4 : Boolean;
  ReserveBit5 : Boolean;
  ReserveBit6 : Boolean;
  ReserveBit7 : Boolean;
  ReserveBit8 : Boolean;
  ReserveBit9 : Boolean;
  ReserveBit10 : Boolean;
  ReserveBit11 : Boolean;
  ReserveBit12 : Boolean;
  ReserveBit13 : Boolean;
  ReserveBit14 : Boolean;
  ReserveBit15 : Boolean;
  ReserveBit16 : Boolean;

  ReserveColor1 : TColor;
  ReserveColor2 : TColor;
  ReserveColor3 : TColor;
  ReserveColor4 : TColor;
  ReserveColor5 : TColor;
  ReserveColor6 : TColor;
  ReserveColor7 : TColor;
  ReserveColor8 : TColor;
  ReserveColor9 : TColor;
  ReserveColor10 : TColor;
  ReserveColor11 : TColor;
  ReserveColor12 : TColor;
  ReserveColor13 : TColor;
  ReserveColor14 : TColor;
  ReserveColor15 : TColor;
  ReserveColor16 : TColor;
end;

InitStruct = packed Record
  VersionTcd : String[30]; (* Version der Schaltplandatei *)
  MaxSeite : LongInt; (* Anzahl der Seiten *)
  AnbindungsFarbe : TColor; (* Farbe der Anbindungspunkte *)
  HintergrundFarbe : TColor; (* Bildschirmhintergrundfarbe *)
  RectWahlColor : TColor; (* Farbe des Auswahl Rechtecks *)
  PfadAnzahl : LongInt; (* Anzahl der Pfade pro Seite *)
  KYpos : UU; (* y Lage des Kontaktspiegels *)
  DruckLinienStaerke : LongInt; (* Linienstaerke beim Ausdruck *)
  AnbindungenZeichnen : Boolean; (* Anbindungen werden gezeichnet *)
  EinfuegePunkteZeichnen : Boolean; (* Einfügepunkte werden gezeichnet *)
  JpgSchraffur : Boolean; (* bei true wird Jpg als Schraffur gezeichnet *)
  xyJpg : Boolean; (* Jpg in Rechteck eingepasst *)
  xJpg : Boolean; (* Jpg wird auf x-Maße angepasst *)
  yJpg : Boolean; (* Jpg wird auf y-Maße angepasst *)
  RasterMarkerSize : LongInt; (* Groesse des Raster in Pixel *)
  EinfuegePktMarkerSize : LongInt; (* Größe der Einfügepunkt Marker in Pixel *)
  EinfuegePktMarkerWidth : LongInt; (* Liniendicke Marker Einfuegepunkte *)
  EinfuegePktMarkerColor : TColor; (* Farbe Marker der EinfuegePunkte *)
  KontaktSpiegelColor : TColor; (* Farbe der Kontaktspiegel *)
  KontaktSpiegelWidth : UU; (* Linienstärke Kontaktspiegel *)
  VerweisColor : TColor; (* Farbe der Quer und Rückverweise *)
  VerweisWidth : UU; (* Linienstärke Verweise *)
  vlength : UU; (* Länge der Anbindungspunkte *)
  UText : packed Array[1..20] of String[50];
  ReserveStr : packed Array[1..20] of String[255];
  ReserveInt : packed Array[1..16] of LongInt;
  ReserveDU : packed Array[1..16] of DU;
  ReserveUU : packed Array[1..16] of UU;
  ReserveBit : packed Array[1..16] of Boolean;
  ReserveColor : packed Array[1..16] of TColor;
end;
Delphi-Quellcode:
Var alt: initStruct_alt;
  neu: InitStruct;

BlockRead(DateiAlt, alt, 1);
neu.VersionTcd := alt.VersionTcd;
neu.MaxSeite := alt.MaxSeite;
neu.AnbindungsFarbe := alt.AnbindungsFarbe;
...
neu.ReserveColor[14] := alt.ReserveColor14;
neu.ReserveColor[15] := alt.ReserveColor15;
neu.ReserveColor[16] := alt.ReserveColor16;
BlockWrite(DateiNeu, neu, 1);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat