Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   If-Abfrage überspringt Code (https://www.delphipraxis.net/85611-if-abfrage-ueberspringt-code.html)

Snyderburn 2. Feb 2007 08:56


If-Abfrage überspringt Code
 
Hallo,

ich habe eine einfach IF-Abfrage erstellt aber es wird ein Teil des Codes übersprungen.

Delphi-Quellcode:
      for i := 0 to Listbox19.Items.Count-1 do
        begin
          If inhalt = listbox19.Items.Strings[i] then
            begin
              showmessage('juhu');
              found_inhalt := true;
            end
            else
            begin
              showmessage('nö');
              found_inhalt := false;
            end;
        end;
Im Inhalt steht ein String-Wert drin, den er mit der Listbox vergleicht. Die Showmessages in der abfrage funktioniert ohne Probleme, aber die Zeilen mit "found_inhalt" werden immer übersprungen. Weis jemand einen Rat, warum diese zeilen übersprungen wird?

Gruß
Snyderburn

Bernhard Geyer 2. Feb 2007 08:57

Re: If-Abfrage überspringt Code
 
Und wieso kommst darauf das die Zeilen übersprungen werden?

Daniel G 2. Feb 2007 08:58

Re: If-Abfrage überspringt Code
 
Zitat:

Zitat von Snyderburn
Weis jemand einen Rat, warum diese zeilen übersprungen wird?

Wird die Variable im weiteren Verlauf nochmal verwendet? Wenn nein, dann wird sie "wegoptimiert".

oldmax 2. Feb 2007 09:09

Re: If-Abfrage überspringt Code
 
Hi
Also, ich kann nicht sehen, das deine For - Schleife verlassen wird. Das bedeutet, dein Boolscher Wert ist immer das Ergebnis der letzten Abfrage.
Gruß oldmax

DP-Maintenance 2. Feb 2007 10:57

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.

inherited 2. Feb 2007 11:01

Re: If-Abfrage überspringt Code
 
Setze hinter den teil, das etwas gefunden wurde ein "break", dann wird die Schleife verlassen sobald eine Übereinstimmung gefunden wurde
Und bekommt man den Stringwert nicht auch mit ListBox19.Items[i] :gruebel:

kaiser1401 2. Feb 2007 11:41

Re: If-Abfrage überspringt Code
 
ich würd das glaub ich mit
Delphi-Quellcode:
Listbox19.items.indexof(inhalt)
machen, wenns drin ist ist es > -1 wenn nicht -1

Snyderburn 2. Feb 2007 11:52

Re: If-Abfrage überspringt Code
 
Danke leute, hat mir weitergeholfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 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