• 28.04.2024, 06:38
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Delphi - steh grad auf dem Schlauch

Sonntag, 26. September 2004, 20:51

Hi,
ich hab verschiedene (Boolean-)Variablen auf globaler Ebene, die entweder "true" oder "false" enthalten, jetzt will ich eine Schleife basteln, die nur im Falle dass alle Variablen auf "false" stehen eine Message ausgegeben wird.
Ich hab verschiedenes probiert, aber irgendwie kam immer die Meldung (egal welche Werte) oder nie eine und ich hab nen Blackout was ich falsch gemacht habe ::).
Kann jemand der in Delphi ein wenig bewandert ist mal eben die Schleifen-Struktur kurz reinposten :-/.
Danke
x-stars
"Live free or die: Death is not the worst of evils."

Re: Delphi - steh grad auf dem Schlauch

Sonntag, 26. September 2004, 20:59

dafür brauchst du noch eine bool-variable (ich nenne sie mal "found".
du läufst über alle anderen variablen hinweg, und sobald du auch nur ein "true" findest, setzt du foud := true und brichst die schleife ab (abbrechen ist nicht nötig, aber schneller)

danach schaust du ob found = true, wenn ja, Meldung ausgeben, sonst nix tun.

wenn das ganze mehrmals durchlaufen werden kann, nicht vergessen nach dem ausgeben der Meldung found wieder auf false zu setzen, sonst bekommst du die meldung doch wieder ;)

axo, wie bekommst du zugriff auf die bool werte? sind die in einem array oder so? wenn ja, kann ich dir auch 'nen Pseudocode hinschreiben... delphi ist schon was länger her...
Gute work-live-balance ist, wenn man von seinem Privatleben erschöpfter ist als von der Arbeit.

Re: Delphi - steh grad auf dem Schlauch

Sonntag, 26. September 2004, 21:33

Es sind Einzelvariablen, die am Anfang alle auf True stehen, dann hab ich verschiedene Prozeduren, wenn eine fehlschlägt setzt sie die zugehörige Variable von oben auf false, nun möchte ich sofern alle Variablen am Ende auf False stehen ne Meldung ausgeben, wenn irgendeine auf True bleibt nicht.
Die Idee mit der "Sortierschleife ist nicht schlecht, werde es damit mal versuchen (das sollte ich eigentlich noch hinkriegen ::)).

Dank dir
x-stars

Edit: Klappt so nicht, habs nach der Möglickeit versucht, aber sobald ich "false" in irgend einer Variable gefunden habe setz ich die "found"-Varaible ja auf true, mit dem Ergebnis, dass ich die Meldung ausgebe, sobald eine Variable "false" ist. Ich will die Meldung ja nur ausgeben, wenn alle auf false sind ???.
"Live free or die: Death is not the worst of evils."

Re: Delphi - steh grad auf dem Schlauch

Sonntag, 26. September 2004, 22:44

ich versteh irgendwie die problematik nicht ;D

du hast lauter globale variablen, und willst ne meldung ausgeben wenn alle false sind?

dann brauchst du doch nur

if(var1 = FALSE UND var2 = FALSE UND var3 = FALSE...)
{
meldung_ausgeben;
}

oder seh ich was falsch? ich weiss nu nur nicht mehr auswendig, wie in delphi verundet wird... AND könnte sein...
C programmers never die. They are just cast into void. Neues moddingtech.de Portal online!

Re: Delphi - steh grad auf dem Schlauch

Sonntag, 26. September 2004, 23:28

nicht ganz, die sytax wäre

if (v1=false) and (v1=false) and (v3=false) and...

then [anweisung]

else [wenns halt nicht alles false ist] ;
(14:03:23) (Cerbis_Latran) Dude, uhm. Do me a personal favor?
(14:03:51) (Eliza) what is it?
(14:04:04) (Cerbis_Latran) Never kill anyone. You'd enjoy it far too much.

Re: Delphi - steh grad auf dem Schlauch

Montag, 27. September 2004, 01:05

Zitat von »x-stars«

Edit: Klappt so nicht, habs nach der Möglickeit versucht, aber sobald ich "false" in irgend einer Variable gefunden habe setz ich die "found"-Varaible ja auf true, mit dem Ergebnis, dass ich die Meldung ausgebe, sobald eine Variable "false" ist. Ich will die Meldung ja nur ausgeben, wenn alle auf false sind ???.

Wie wärs, wenn du die "found"-Variable nur dann auf true setzt, wenn du eine Variable mit dem Wert "true" gefunden hast und die Schleife danach sofort abbrichst?

Re: Delphi - steh grad auf dem Schlauch

Montag, 27. September 2004, 02:02

also ich würds so machen:

if( v1+v2+v3... = 0 )
then [anweisung]
else [irgendwas anderes]

ich weiß aber nich ob das in pascal/delphi so funzt (c++ geht das so) is aber generell auch schlchter stil - aber ich komm so besser klar...

ansonsten wärs so ok:

Zitat von »thetruephoenix«


if (v1=false) and (v1=false) and (v3=false) and...

then [anweisung]

else [wenns halt nicht alles false ist] ;


#mask
ASUS P4PE | Intel P4 2,4GHz @2,8GHz 533FSB | 512MB DDR GeIL | NVIDIA GeForce DDR | watercooled www.ogame.de (uni4 | uni5)

Re: Delphi - steh grad auf dem Schlauch

Montag, 27. September 2004, 17:07

Ich hab gestern noch ein wenig rumprobiert, der Fehler liegt nicht an der doofen Schleife, sondern irgenwo anders im Quelltext ::).

Danke für die Hilfe
x-stars
"Live free or die: Death is not the worst of evils."