Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Leerzeichen im String entfernen (https://www.delphipraxis.net/155795-leerzeichen-im-string-entfernen.html)

schokoschnecke 8. Nov 2010 17:31

Delphi-Version: 5

Leerzeichen im String entfernen
 
Hallo,

Wir arbeiten in der Schule an einem Programm, welches Palindrome erkennen kann. Allerdings funktioniert das Leerzeichenentfernen nicht. Ich habe die Suche bemüht, allerdings nur andere Wege gefunden, nicht aber den Weg mit einer If-Funktion.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var palindrom, palindrom2, neuwort:string;
laenge,i:integer;

begin
palindrom:=lowercase(edit1.Text);
laenge:=length(palindrom);

for i:=1 to laenge do
if palindrom[i] <> ' ' then
palindrom2:=palindrom2+palindrom[i];

for i:=laenge downto 1 do
neuwort:=neuwort+palindrom2[i];
label1.caption:=neuwort;

if palindrom2=neuwort then
showmessage('Palindrom!')
else
showmessage('Kein Palindrom!');

end;
Ich sehe meinen Fehler nicht? Kann mir jemand helfen? Danke!

Muellermilchtrinker 8. Nov 2010 17:33

AW: Leerzeichen im String entfernen
 
füg deinen code bitte in [delphi] [/ delphi] codes (ohne leerzeichen).

BTT: Schau dir mal die funktion stringreplace an

Billa 8. Nov 2010 17:41

AW: Leerzeichen im String entfernen
 
Wenn auch nur ein Leerzeichen in "palindrom" ist und deshalb "palindrom2" kürzer wird, muss dann "laenge" zwischendurch nicht neu berechnet werden?

schokoschnecke 8. Nov 2010 17:43

AW: Leerzeichen im String entfernen
 
Zitat:

Zitat von Billa (Beitrag 1060416)
Wenn auch nur ein Leerzeichen in "palindrom" ist und deshalb "palindrom2" kürzer wird, muss dann "laenge" zwischendurch nicht neu berechnet werden?

Stimmt... Aber müsste er dann nicht trotzdem ein Wort ausgeben?

Billa 8. Nov 2010 17:45

AW: Leerzeichen im String entfernen
 
Ungeprüft: eigentlich müsste das Programm abstürzen ...
oder einen Fehler ausgeben, weil palindrom2[i] ggf. ins Nirwana zeigt.

Der zweite Fehler: palindrom2 ist vielleicht zu Anfang gar nicht = '' ?

schokoschnecke 8. Nov 2010 17:48

AW: Leerzeichen im String entfernen
 
Zitat:

Zitat von Billa (Beitrag 1060419)
Ungeprüft: eigentlich müsste das Programm abstürzen ...
oder einen Fehler ausgeben, weil palindrom[i] ggf. ins Nirwana zeigt.

Ahh, jetzt geht es! Super, dankeschön! :)


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