Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einen Haufen Booleans auf Wert prüfen (https://www.delphipraxis.net/87320-einen-haufen-booleans-auf-wert-pruefen.html)

zecke 27. Feb 2007 00:01


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:

hibbert 27. Feb 2007 00:19

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.

p0w3r5tr34m3r 27. Feb 2007 00:35

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:
if wert1 then showmessage('wert1 = true'); if wert2 then .....
würde ich aber nich machen da es zu aufwendig ist...

zecke 27. Feb 2007 00:40

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:

Nikolas 27. Feb 2007 08:16

Re: Einen Haufen Booleans auf Wert prüfen
 
Das mit den array ist eigentlich sehr einfach:

Delphi-Quellcode:
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');
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;

Klaus01 27. Feb 2007 08:30

Re: Einen Haufen Booleans auf Wert prüfen
 
Delphi-Quellcode:
i:=0;
while (not liste[i]) and (i < length(liste)) do
  inc(i);
auch diese Schleife wird nur solange durchlaufen bis ein Element true ist.

[edit] and (i < length(liste)) hinzugefuegt, Danke devilsCamp.
Gruesse Klaus

DevilsCamp 27. Feb 2007 08:37

Re: Einen Haufen Booleans auf Wert prüfen
 
Zitat:

Zitat von Klaus01
Delphi-Quellcode:
i:=0;
while not liste[i] do
  inc(i);
auch diese Schleife wird nur solange durchlaufen bis ein Element true ist.

Gruesse Klaus

Und das Programm wird mit einem Fehler abgebrochen, wenn ALLE Elemente FALSE sind ;)

zecke 27. Feb 2007 12:18

Re: Einen Haufen Booleans auf Wert prüfen
 
:hi:

vielen dank euch allen! jetzt dürfte es bei mir weiter gehen :)

matashen 27. Feb 2007 12:25

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];

Tormentor32 27. Feb 2007 12:33

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.
Seite 1 von 2  1 2      

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