![]() |
Fehler im Record schreiben
Hallöchen,
hier mal ein Auszug der Daten die ich in mein Array einlese:
Code:
Es geht um das "Erste"!
MTrakStamm(
MTrak( ID: 30 Name: DT Aktiv: 1 Erste: 2 Lok( ID: 31 Richtung: 0 ) Lok( ID: 32 Richtung: 0 ) Lok( ID: 30 Richtung: 0 ) ) ) Die 2 sagt aus, das die zweite Lok die erste ist. :roll: Ich muss also nur im ersten Record im Array, Erste diese Zahl einlesen. Das passiert aber in allen. Diese Zahl soll also nur im Mtr[0].Erste sein, in allen anderen auf nichts, bzw. -1? Oder 0? Der Record:
Code:
Hoffentlich versteht Ihr was ich meine, wenn nicht, nachfragen.
TMtr = Record //Multitraktion Daten
MtrID: Integer; //ID -> Nummerisch Max. 5-Stellig 0-99999 MtrName: String[10]; //Name -> AlphaNummerisch Max. 10-stellig Aktiv: Byte; //Aktiv(Multitraktion Aktiv?); Kann nur 1=Ja oder 0=Nein sein Erste: Byte; //Erste(Lok in einer Multitraktion); Kann nur 1 oder 0 sein //Kann auch nur EINER Lok in einer Multitraktion zugewiesen werden MtrLok: Array [0..MaxMtrLoks -1] of TMtrLok; MtrLoksAnzahl: Integer; end; Einlesen erfolgt dann hiermit:
Code:
Grüsse, Daniel :hi:
function GetMTrak(ts: TStrings; var i: integer; var Mtr: TMtr): Boolean;
//Werte unter MTrak( auslesen var Item, Value: string; begin Mtr.MtrLoksAnzahl := 0; while i < ts.Count do begin GetItem(ts.Strings[i], Item, Value); Inc(i); if Item = 'ID:' then begin Mtr.MtrID := StrToInt(Value); end else if Item = 'Name:' then begin Mtr.MtrName := Value; end else if Item = 'Aktiv:' then begin Mtr.Aktiv := StrToInt(Value); end else if Item = 'Erste:' then begin Mtr.Erste := StrToInt(Value); end else if Item = 'Lok(' then begin GetTrakLok(ts, i, Mtr.MtrLok[Mtr.MtrLoksAnzahl]); Inc(Mtr.MtrLoksAnzahl); end else if Item = ')' then begin Break; end else begin //Tolerantes Lesen ; end; end; result := True; end; |
Damit das funktioniert müsstest du einen weiteren Parameter übbergeben, der den Index des Mtr Records angibt. Mit diesem kannst du dann entscheiden, ob es der 1. Record ist oder eben nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz