Zitat von
Mavarik:
Hää
CSV Dateien sind doch so aufgebaut, wenn ich mich nicht irre, das pro Zeile immer alle Felder enthalten seien müssen.
Waraum dann so Heckmeck mit Varianten Records und vielen verschiedenen Typen?
Das Gerät, von dem
CSV-Dateien gelesen bzw. wieder hingeschrieben, ist entfernbar. Trotzdem soll die Möglichkeit bestehen, dass ich nenne es mal Setup als ganzes Paket auch auf Festplatte speichern zu können.
Stelle Dir (abstraktes Bsp.) ein intelligentes Auto vor. Dieses Auto schließt Du an Deinen PC an und kannst dessen Setup auslesen als da wären Farbe, Reifen (Typ, Größe), Motor. Das Auto ist ferner so intelligent, dass Du ihm auch ein geändertes Setup zukommen lassen kannst.
Nun könnte sich der Reifentyp je nach Jahreszeit ändern. Das könnte dann so aussehen:
Delphi-Quellcode:
TReifentyp = packed record
case Jahreszeit: byte of
Sommerzeit: (
Breite_Sommer : word;
Querschnitt_Sommer : word;
Felgengroesse_Sommer: word;
Index_Sommer : word;
Hersteller_Sommer : string;
);
Winterzeit: (
Breite_Winter : word;
Querschnitt_Winter : word;
Felgengroesse_Winter: word;
Index_Winter : word;
Hersteller_Winter : string;
);
end;
TMotortypen = packed record
case Motortyp: byte of
Benziner: (
KW_Benziner : word;
Hubraum_Benziner: word;
)
Diesel: (
KW_Diesel : word;
Hubraum_Diesel: word;
)
end;
TAuto = packed record
Farbe : string;
Reifen : TReifenTyp;
Motor : TMotortypen;
Kennzeichen: string;
Land : string;
Bemerkungen: array[1..1024] of char;
end;
Das Auto stellt Dir die Infos als
CSV-Datei zur Verfügung, diese Infos sollen jedoch auch als ganzes "Paket" auf HDD gespeichert werden können. Ferner kannst Du dem Auto aber auch über einem sog. Teilsetup (in
CVS-Form) sagen, dass es nun keine Sommereifen mehr hat, sondern Winterreifen. Es muss also nicht das komplette Record "TAuto" geschickt werden, es reicht das Record "Reifen" zu schicken.
Wieder bezogen auf mein Problem wäre es nun ganz schön, wenn es zur Konvertierung Record =>
CVS und Speicherung des Teilsetups nur eine Routine geben würde, der einfach nur das entsprechende (Teil-)Record übergeben wird.
Jetzt kann man natürlich die Zusatzfrage stellen, warum man nicht vor dem Speichern auf HDD erst nochmal das aktuelle Komplettsetup ausliest. Nun, im Record "TAuto" gibt es weitere Zusatzinfos, die das Auto nicht kennt wie sein Kennzeichen, das Land, in dem es zugelassen ist und Bemerkungen zum Auto ("Heckklappe rostet" oder so). Diese Informationen braucht das Auto auch nicht, sie sollen aber zur Verfügung stehen, wenn das Setup von HDD ins Programm geladen wird.
Nun etwas klarer?
Gruß, Carsten