Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Boolean (https://www.delphipraxis.net/150437-problem-mit-boolean.html)

SunSet 16. Apr 2010 15:15


Problem mit Boolean
 
Tagchen,
ich steh gerade total aufm Schlauch. Ich möchte einen bestimmten Buchstaben in einem Wort finden und wenn einer gefunden wurde soll return auf true gesetzt werden. Das funktioniert ja auch alles nur mein Problem ist folgendes:
Wenn z.B. der gesuchte Buchstabe 'a' ist und das Wort 'Hallo' lautet, dann ist der buchstabe an Platz 2 jedoch wird return logsicher Weise beim überprüfen der letzten 3 Buchstaben wieder auf false gesetzt, sodass mir das ganze nichts bringt da zwar ein Buchstabe gefunden wurde aber return false ist.
Delphi-Quellcode:
ausgabe := lbAusgabe.Caption;
for i := 1 to Length(Wort) do begin
  if Wort[i] = buchstabe then begin
    ausgabe[i] := Wort[i];
    lbAusgabe.Caption := ausgabe;
    return := true;
  end
    else
      return := false;
end;
Ich hoffe ihr versteht wo mein Problem liegt,
danke schonmal im vorraus :D

ATSV 16. Apr 2010 15:18

Re: Problem mit Boolean
 
Delphi-Quellcode:
ausgabe := lbAusgabe.Caption;
result := false; //einmal hier oben sollte reichen
for i := 1 to Length(Wort) do begin
  if Wort[i] = buchstabe then begin
    ausgabe[i] := Wort[i];
    lbAusgabe.Caption := ausgabe;
    return := true;
  end
//    else
//      return := false;
end;
Führt das zu deinem gewünschten Ergebnis?

DeddyH 16. Apr 2010 15:24

Re: Problem mit Boolean
 
Du kannst entweder mit Break aus der Schleife springen oder die for- durch eine while-Schleife mit 2 Bedingungen ersetzen (oder gleich mit Pos() prüfen ;)).
Delphi-Quellcode:
i := 0;
return := false;
while (i < Length(Wort)) and not return do
  begin
    inc(i);
    return := Wort[i] = Buchstabe;
  end;

SunSet 16. Apr 2010 15:27

Re: Problem mit Boolean
 
Vielen dank :)
Echt nett das ihr so schnell geantwortet habt :love:


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