Einen Haufen Booleans auf Wert prüfen
:hi:
nun ich gebe zu, dass ich nicht recht weiß wie ich danach suchen soll. Deswegen frage ich einfach direkt nach :duck: Ich hab 52 Variablen vom Typ Boolean. Jetzt möchte ich abfragen, welche Variablen den Wert 'True' gesetzt sind. Problem ist, die Variablen sind nicht praktisch durchnummeriert, wie "wort1,wort2,wort3...". Kann mir da jemand einen Tipp geben, wie ich das gebacken bekomme? :? Danke im voraus :mrgreen: ps: Hoffe die Forumecke ist die richtige :gruebel: |
Re: Einen Haufen Booleans auf Wert prüfen
hi,
fasse deine ganzen Variabeln doch einfach in einem Array zusammen. Dann kannst du mit einer einfachen for i schleife alle Werte durchgehen. |
Re: Einen Haufen Booleans auf Wert prüfen
entweder du machst es so wie hibbert es schrieb oder du machst es auf dem "langen" weg..
Delphi-Quellcode:
würde ich aber nich machen da es zu aufwendig ist...
if wert1 then showmessage('wert1 = true'); if wert2 then .....
|
Re: Einen Haufen Booleans auf Wert prüfen
:hi:
Ja hibberts Vorschlag klingt vielversprechend, aber vorher muss ich mir Arrays anschauen, habe ich noch nie gemacht :oops: Danke für den Tipp :thumb: (@hibbert: ich habe mich in dein avartar verliebt :mrgreen:) @p0w3r5tr34m3r: Das war das 1. was mir einfiel, aber bei ca 50 Variablen ist das (wie Du schon sagtest) zu viel Arbeit/Aufwand :stupid: |
Re: Einen Haufen Booleans auf Wert prüfen
Das mit den array ist eigentlich sehr einfach:
Delphi-Quellcode:
Die Schleife läuft also nur so lange, bis ein Boolean aus der Liste false ist und bricht dann ab. Um danach erkennen zu können, ob die Schleife ganz durchlaufen oder abgebrochen wurde, gibts den zusätzlichen Boolean;
Liste: array[1..50] of Boolean;
Liste[1]:= true; // Wert speichern if Liste[i] then showmessage('Hallo Welt'); // auslesen // Und die schleife dann: var Bool: boolean; Bool:= true; for i:=1 to high(Liste) do if not Liste[i] then begin Bool:= false; break; end; if bool then showmessage('Juhu, alles ist True') else showmessage('mindestens einer war false'); |
Re: Einen Haufen Booleans auf Wert prüfen
Delphi-Quellcode:
auch diese Schleife wird nur solange durchlaufen bis ein Element true ist.
i:=0;
while (not liste[i]) and (i < length(liste)) do inc(i); [edit] and (i < length(liste)) hinzugefuegt, Danke devilsCamp. Gruesse Klaus |
Re: Einen Haufen Booleans auf Wert prüfen
Zitat:
|
Re: Einen Haufen Booleans auf Wert prüfen
:hi:
vielen dank euch allen! jetzt dürfte es bei mir weiter gehen :) |
Re: Einen Haufen Booleans auf Wert prüfen
Ich möchte auch noch eine Schleife beisteuern
Delphi-Quellcode:
i:=0;
repeat inc(i); until not liste[i]; |
Re: Einen Haufen Booleans auf Wert prüfen
Und was ist, wenn alle werte true sind? :mrgreen:
Listenindex überschreitet das Maximum oder wie war das... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz