hui, danke für die umfangreiche Info Der_Unwissende.
Nun weiss ich zumindest schonmal, dass die Lösung über Records in meinem Fall nicht (nie) funktionieren kann.
Ich werde mich dann nun mal den Klassen und Objecten widmen.
@christian.noeding
das wäre eine möglichkeit, aber ist für meinen Fall auch leider nicht brauchbar. trotzdem vielen dank.
ich beschreibe mal mein problem, vielleicht hat ja einer eine gute lösung:
Also, ich hab eine Text-Datei in der Datensätze gespeichert sind.
Diese muss ich laden.
Zeile 1 hat zum Beispiel 14 Datensätze, die bis auf den ersten Datensatz alle 8 Zeichen lang sind. Der erste Datensatz hat 10 Zeichen.
Nun kann es aber sein, dass bei einem alten Datenformat der erste Datensatz nur 9 Zeichen lang ist.
Also prüfe ich das Datei-Erstellungsdatum und entscheide danach, welchen Record ich benutze, um den Datensatz der ersten Zeile korrekt zu laden.
Datei von 2002 sieht so aus:
Delphi-Quellcode:
type
TDaten_Zeile_1_altesFormat = record
Auftr : array[0..8]of char; //Auftragsnummer
Dum1 : array[0..7]of char; //Dummy
ProgNr : array[0..7]of char; //Programmnummer
ZeichNr : array[0..7]of char; //Zeichnungsnummer
LineNr : array[0..7]of char; //Lineelement
IdBohr : array[0..7]of char; //Ident Bohren
IdVorr : array[0..7]of char; //Ident Vorrichtung
Dum2 : array[0..7]of char; //Dummy
AVO : array[0..7]of char; //AVO
Mach : array[0..7]of char; //Maschine
Durchm : array[0..7]of char; //Raddurchmesser
AusWink : array[0..7]of char; //Austrittswinkel
AnzScha : array[0..7]of char; //Anzahl Schaufeln
SchaHohe: array[0..7]of char; //Schaufelhöhe
LineFeed: array[0..1]of char;
end;
Datei von 2004 sieht so aus:
Delphi-Quellcode:
type
TDaten_Zeile_1_neuesFormat = record
Auftr : array[0..9]of char; //Auftragsnummer
Dum1 : array[0..7]of char; //Dummy
ProgNr : array[0..7]of char; //Programmnummer
ZeichNr : array[0..7]of char; //Zeichnungsnummer
LineNr : array[0..7]of char; //Lineelement
IdBohr : array[0..7]of char; //Ident Bohren
IdVorr : array[0..7]of char; //Ident Vorrichtung
Dum2 : array[0..7]of char; //Dummy
AVO : array[0..7]of char; //AVO
Mach : array[0..7]of char; //Maschine
Durchm : array[0..7]of char; //Raddurchmesser
AusWink : array[0..7]of char; //Austrittswinkel
AnzScha : array[0..7]of char; //Anzahl Schaufeln
SchaHohe: array[0..7]of char; //Schaufelhöhe
LineFeed: array[0..1]of char;
end;
so, davon gibt es also mehrere unterschiedliche Datensätze zu unterschiedlichen Datumsangaben.
Ich hab 5 Zeilen-Records und für jeden Zeilen Record kann es sein, dass ich 6 verschiedene Zeit-Records erstellen muss.
(Hab nämlich noch nicht alle Format unterschiede mir angeschaut)
ich hoffe jemand versteht mein Porblem wenigstens ansatzweise