Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - POS Funktion findet Zeichenfolge im String nicht


DocSol - Sa 05.09.09 21:54
Titel: POS Funktion findet Zeichenfolge im String nicht
Guten Abend,

ich hoffe es ist OK wenn ich für dieses Problem nen extra thread auf mache anstatt in meinem älteren Thema zu schreiben... dort wird nämlich ein weiteres Problem von mir besprochen...

Aber das soll nun egal sein... hier mein Problem:

Ich habe einen String mit einem langen, durchgehenden Wort. Also keine Leerzeichen oder Sonderzeichen.

Wenn ich nun in diesem String nach einem bestimmten Wort suche (welches 100%ig vorhanden ist in dem String) findet er dieses Wort nicht.
Ich habe den String schon auf LowerCase gesetzt und suche auch nur nach einem kleingeschriebenen Wort.

Hier einmal der Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
for apos := 1 to length(zeile) do
begin
  // ---------- Millionen suchen und abspalten ---------------------------
  if (Pos(LowerCase(zeile), 'million') > 0then
  begin
    ShowMessage('Es sind Millionen vorhanden');
    break;
  end;
end;


Es handelt sich bei den Wörtern um Zahlen. Wenn dort also die ausgeschriebene Zahl "zweimillionenvierhundertausend" im String steht, sollte "POS" ja eigentlich das Wort "million" finden... oder?
Tut die Funktion aber nicht. Mein Programm soll mir zum Prüfen nur ne Message ausgeben, wenn das Wort gefunden wurde aber es passiert nichts. Wenn nun im String nur das Wort "million" steht, bekomme ich auch meine Nachricht angezeigt.
Rechtschreibfehler wurden natürlich schon ausgeschlossen.

Woran könnte es denn noch liegen, dass meine Zeichenfolge nicht gefunden wird?


Gammatester - Sa 05.09.09 22:53

Falsche Reihenfolge der Parameter, richtig:

Delphi-Quelltext
1:
if Pos('million', LowerCase(zeile)) > 0 then                    


Gammatester


DocSol - Sa 05.09.09 23:03

Das glaub ich ja nun nicht... seit Stunden hocke ich an diesem Fehler und dann ist es so simpel... Vielen Dank für die Hilfe...