Thema: Delphi Lange Strings im Record

Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#23

Re: Lange Strings im Record

  Alt 22. Mär 2009, 18:54
Du speicherst doch schon die ganze Zeit Deine Record's oder hab' ich das falsch verstanden.

Hier Dein eigenes Beispiel für READ:
Delphi-Quellcode:
assignfile(hrdat,lpf+'Datei.dat');
     reset(hrdat);
     while not eof (hrdat) do
     begin
       read(hrdat,daten);
       StringGrid1.cells[0,reihe]:=daten.gegenstand;
       StringGrid1.cells[1,reihe]:=daten.raum;
       ….usw.
     end;
     closefile(hrdat);
Du tauscht nur ein Element in Deinem Record aus, so wie schon beschrieben:
Delphi-Quellcode:
// alte Version
type
   Dateien=record
   Gegenstand,Raum,bemerk:string[25];
   preis:double;
   Anzahl:Integer;
   gekauft_am:string[10];
   identnr,bild:String[15];
   bemerkung:String[255];
end;
// neue Version
type
   Dateien=record
   Gegenstand,Raum,bemerk:string[25];
   preis:double;
   Anzahl:Integer;
   gekauft_am:string[10];
   identnr,bild:String[15];
   bemerkung: array[1..1024] of AnsiChar;
end;
Jetzt nicht aufhören zu lesen, hier folgt noch eine wichtige Informationen

Dein Record ist jetzt größer, also passen die Daten aus der alten Datei nicht mehr! Wenn es noch keine wichtigen Daten gab, einfach eine neue Datei anlegen. Gibt es in der alten Datei schon wichtige Daten, muss die "konvertiert" werden.

Mit dem alten Record wie gewohnt einlesen... die Daten dem neuen Record zuweisen und in einer neuen Datei mit anderem Namen speichern (das mit allen Records machen).
  Mit Zitat antworten Zitat