![]() |
Recordvariabeln vergleichen...
Hallo;
Kann ich irgendiwe gucken ob bestimmte Werte von verschieden Records gleich sind? Folgender Beispielcode:
Delphi-Quellcode:
Jetzt möchte ich schauen, ob z.b. bei record.var1,record.var2 und record.var3 "b" jeweils auf True ist?
type TRec1 = record
a,b,c:boolean; i:integer; end; type TRec2 = record var1,var2,var3,var4:TRec1; end; var record:TRec2; Gibt es eine Funktion, die dies hier übernimmt?
Delphi-Quellcode:
Damit ich die nich alle auflisten muss? bei diesem Beispiel hier gehts noch, aber mein Record hat ~50 Variablen und die sind auch nicht so systematsich benannt, wie hier mit var1 usw...
procedure pro1;
begin if var1.b then //... if var2.b then //... if var3.b then //... end; Ich suche also quasie eine art For-Schleife für Records; also sowas in der Art
Delphi-Quellcode:
Ich hoffe Ihr versetht, was ich meine/suche...
//Pseudo-Code
For i:=0 to anzahl_der_elemente_im_record do begin if record.element[i].b then //... end; Danke an alle die sich mit meinem Problem auseinander setzten... |
Re: Recordvariabeln vergleichen...
Es hilft, wenn du die boolean-Elemente des Records zu einem Array zusammenfasst. Dann kann man die Werte nämlich mit einer for-Schleife und der boolschen Verknüpfung and durchgehen.
|
Re: Recordvariabeln vergleichen...
Naja, dann kann ich die Bools der Reihe nach durchschauen, aber doch nich die Elemente aus dem Rec2, oder habe dich dich falsch verstanden?
|
Re: Recordvariabeln vergleichen...
Die Benennungen var1, var2, var3, var4 schreien doch nach einem Array! ebenso a,b,c. Dann kannst du einfach ein Verschachtelte for-Schleife benutzen.
Delphi-Quellcode:
for i:=0 to 4 do
for j:=0 to 3 do begin if meinrecord.variable[i].boolescherWert[j] then //... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 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