und-Verknüpfungen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Joachim Raap
Beiträge: 143
Registriert: Mo 30. Mär 2020, 12:37

und-Verknüpfungen

Beitrag von Joachim Raap »

[gelöst] Hallo, ich (Anfänger) versuche, eine Und-Bedingung zu basteln. Dabei werden in Summe 8 Vergleiche miteinander verknüpft was dazu führt, daß die darauf folgende Aktion übersprungen wird obwohl true herauskommt - also etwa so:

Code: Alles auswählen

if (Var1=Var2) and (Var3=Var4) and (Var5=Var6) and (Var7=Var8) and (Var9=Var10) and (Var11=var12) and (Var13=Var14) and (Var15=Var16) and (Var17=Var18) then begin.....end;
Wenn ich dagegen als "then" eine boolsche Variable auf true setze und dann "if Boolsche Variable then begin ....end" abfrage läuft das Programm korrekt.
Kann es daran liegen, daß die Anzahl an Verknüpfungen '(8) zu groß ist (aber dann dürfte eigentlich die Variation mit der Boolschen Variablen auch nicht funktionieren)?
Gruß und Danke
Zuletzt geändert von Joachim Raap am Mi 29. Apr 2020, 20:35, insgesamt 2-mal geändert.

Ich934
Lazarusforum e. V.
Beiträge: 317
Registriert: So 5. Mai 2019, 16:52
OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
CPU-Target: x86_64, i386
Wohnort: Bayreuth

Re: und-Verknüpfungen

Beitrag von Ich934 »

Irgendwie verstehe ich dein Post nicht.

1. 8 Verkettungen sind kein Problem. Das funktioniert.
2. Hast du geprüft, ob auch wirklicht alle Vergleiche stimmen. Nur wenn das ja der Fall ist, dann geht er in den if-Block rein.

Und jetzt kommt das was ich nicht verstehe. Warum ersetzt du das then mit true? Wenn dann müsstest du folgendes machen:

Code: Alles auswählen

if true then
begin
  ...
end;
Hier hast du aber nur eine Bedingung und nicht acht, welche übereinstimmen müssen, damit du in den Block gehst.

Ich behaupte jetzt einfach einmal, das Programm arbeitet korrekt und irgendein Vergleich stimmt nicht. ;-) Aber das kannst du prüfen. Setze einen Haltepunkt und dann kannst du mit der Maus über die Variable gehen um den Wert zu sehen. Alternativ kannst du im Popup-Menü unter Debug für die Variablen eine Überwachung einstellen. Dann siehst du auch, welche Werte diese Variablen haben.
Tipp für PostgreSQL: www.pg-forum.de

Joachim Raap
Beiträge: 143
Registriert: Mo 30. Mär 2020, 12:37

Re: und-Verknüpfungen

Beitrag von Joachim Raap »

da habe ich mich wohl misverständlich ausgedrückt....
Weil bei die 8 Verknüpfungen beim Ergebnis "true" nicht das machten was sie sollten habe ich einen Zwischenschrift eingefügt zu zunächst eine Boolsche Variable auf "True" gesetzt wenn die Bedingungen true ergeben haben. Danach ging es dann weiter.
Und weil das dann funktioniert hat ergab sich die Frage, ob 8 Verknüfungen vielleicht zu viel sind.

Das Problem ist jetzt aber auch gelöst weil ich eine Bedingung falsch war...... :oops:

by the way - manchmal sehe ich, daß "Gelöst" o.ä. vor den Fragen gesetzt sind. Weißt Du, wie das geht?

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1435
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: und-Verknüpfungen

Beitrag von fliegermichl »

Joachim Raap hat geschrieben:
Mi 29. Apr 2020, 11:48
by the way - manchmal sehe ich, daß "Gelöst" o.ä. vor den Fragen gesetzt sind. Weißt Du, wie das geht?
Geh auf deinen ersten Beitrag und klicke auf "Ändern". Dann kannst du [gelöst] in den Betreff schreiben.

Antworten