Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi string überprüfen (https://www.delphipraxis.net/26856-string-ueberpruefen.html)

DF.A 30. Jul 2004 11:34


string überprüfen
 
Hallo ich möchhte überprüfen ob eine bestimmte Zeichenreihenfolge in einem String vorhanden ist. Ich lese Zeilen einzelnd aus ner Datei aus und überprüfe dann ob bestimmte Zeichen in dieser Reihe vorhanden sind.
Also ich mach das folgendermaßen:

Delphi-Quellcode:
if (pos('17', copy(s,0,40)) = 0) then begin
          ShowMessage('17 kommt nicht in dieser Zeile oder an der Vorgegebenen Position vor');
          EXIT;
        end;
Eigentlich müsste ja bei einer Zeile in der eine 17 am Anfang steht ShowMessage nicht ausgeführt werden, wird Sie aber trotzdem. Allerdings nur in dieser Zeile. Ich schreib die auch mal kurz hierhin:
Diese Zeile ist das Problem: 1722.1 Mustermann

Hier wird die 17 nicht erkannt. Hat jemand ne Ahnung wodran das liegt?

MfG

rantanplan99 30. Jul 2004 12:06

Re: string überprüfen
 
Der String fängt bei Index 1 ein, der Index 0 steht für die länge

Delphi-Quellcode:
if (pos('17', copy(s,1,40)) = 0) then begin         //<-- !
korrigier den StartIndex beim Copy-Befehl

Tyrael Y. 30. Jul 2004 12:09

Re: string überprüfen
 
Kann es vielleicht sein, daß vor dem 1722.1 Mustermann
noch ein Sonderzeichen steht?

Bzw. an der Position die du prüfts steht ein Sonderzeichen?

Lies mal die Zeichen die du haben willst in einen String rein und
prüfe es mal.

DF.A 30. Jul 2004 12:34

Re: string überprüfen
 
Hi
Sorry war grad kurz Weg.
Wenn ich den String einzelnd überprüfe kommt genau das raus was rauskommem müsste. So wie unten hattest du das doch gedacht oder?
Delphi-Quellcode:
 while not EOF(F) do begin
    inc(i);
    ReadLn(F, s);
    if i = 11 then begin
      index := pos('17',s);
      t := copy(s,index,5);
      Memo1.Lines.Add(t);
    end;
  end;
Fällt noc wem was dazu ein?
Gruß DFA

Gibt es eine Funktion mit der man vergleichen kann ob zwei Strings den gleichen Inhalt haben?

Tyrael Y. 30. Jul 2004 12:42

Re: string überprüfen
 
Würd schon reichen zu prüfen:

Delphi-Quellcode:
Hilfstring := s[0];
Hilfstring := s[1];
Hilfstring := s[2];
.
.
.
..nen Haltepunkt ganz am Anfang setzten und gucken, was
in jedem Schritt in Hilfstring steht.


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