Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   In einem Feld suchen (https://www.delphipraxis.net/41904-einem-feld-suchen.html)

Nisbo 10. Mär 2005 15:23


In einem Feld suchen
 
Moin Moin

erstmal vorne Weg, die Suchfunktion betätige ich jetzt schon seit Stunden bei Google und in dieversen Boards nur leider finde ich nicht zu einem Ergebnis

Ich nutze nämlich nicht Delphi sondern Lazarus ist aber auch Pascal und ähnlich Delphi:
http://www.lazarus.freepascal.org/index.php

Das Problem was ich jetzt habe ist das:

ich habe jetzt z.B. in Edit1.Text einen Inhalt drinn, den möchte ich überprüfen möchte ob dort z.b. ABC drinn vorkommt, wie stelle ich das am besten an ? habe da kein so richgtiges schlagwort für die suche gefunden und klicke mich so durch ganzen seiten durch

also ala:

if ABC in Edit1.Text then istdrin := '1';

alcaeus 10. Mär 2005 15:24

Re: In einem Feld suchen
 
Hallo Nisbo,

sieh dir mal Delphi-Referenz durchsuchenPos an:
Delphi-Quellcode:
If Pos('ABC',Edit1.text) > 0 then ShowMessage('Drin!');
Beachte dass Pos case-sensitiv arbeitet.

Greetz
alcaeus

opfer.der.genauigkeit 10. Mär 2005 15:25

Re: In einem Feld suchen
 
Aber Lazarus unterstützt Object Pascal und nicht nur Pascal und Delphi ist eigentlich auch nichts anderes. IMHO..

Und nach einem Teilstring in einem String suchen kannst du über die Funktion Pos().

Nisbo 10. Mär 2005 15:34

Re: In einem Feld suchen
 
vielen Dank, Pos hinft schon mal weiter, allerdings noch nicht so ganz zufriedenstelled, oder vielleicht nur ne verständnisfrage

If Pos('sid',Memo2.caption) > 0 then ShowMessage('Drin!');

funktioniert

If Pos('sid=',Memo2.caption) > 0 then ShowMessage('Drin!');

allerdings nicht

als inhalt von Memo2.caption habe ich z.b. dieses format: name.php?schnulli=123&sid=

was für mich jetzt interessant zu wissen ist ob halt sid= schon vorhanden ist da ich es sonst selber hinten anfügen möchte

opfer.der.genauigkeit 10. Mär 2005 15:41

Re: In einem Feld suchen
 
Zum Thema Object Pascal nochmal:
Wikipedia Object Pascal aka Delphi :freak:

Dein Beispiel mit Pos funktioniert bei mir leider herrlich. Überprüf ob der String
beim Debugging auch wirklich korrekt in Caption steht.

Binärbaum 10. Mär 2005 16:38

Re: In einem Feld suchen
 
Zitat:

Zitat von Nisbo
If Pos('sid',Memo2.caption) > 0 then ShowMessage('Drin!');

funktioniert

If Pos('sid=',Memo2.caption) > 0 then ShowMessage('Drin!');

allerdings nicht

als inhalt von Memo2.caption habe ich z.b. dieses format: name.php?schnulli=123&sid=

was für mich jetzt interessant zu wissen ist ob halt sid= schon vorhanden ist da ich es sonst selber hinten anfügen möchte

Wenn das 'sid=' immer am Ende des Strings steht, kann man das auch so überprüfen:
Delphi-Quellcode:
if copy(Memo2.Caption, length(Memo2.Caption)-3, 4) = 'sid=' then begin
  //'sid=' ist vorhanden
  ...
end
else begin
  //ist noch nicht vorhanden
  ...
end;
MfG
Binärbaum

Nisbo 10. Mär 2005 17:06

Re: In einem Feld suchen
 
auch vielen dan an eure hilfe hier, fuchste mich so langsam ein :)
habe es aber bereits gelöst

Delphi-Quellcode:

      // Session-Hash-Erkennung
      istdrinn := 'Nein';
      istdrinn2 := 'Nein';
      if CheckBox2.checked = true then
         begin
              Memo2.caption := StringReplace(Memo2.caption,'?sid=',wbbart,[rfReplaceAll, rfIgnoreCase]);
              Memo2.caption := StringReplace(Memo2.caption,'&sid=',wbbart2,[rfReplaceAll, rfIgnoreCase]);
             
              istdrinn := 'Nein';
              istdrinn2 := 'Nein';

              If Pos(wbbart, Memo2.caption) > 0 then istdrinn := 'Ja';
              If Pos(wbbart2,Memo2.caption) > 0 then istdrinn := 'Ja';
              If Pos('?',Edit3.caption)    > 0 then istdrinn2 := 'Ja';

              if istdrinn = 'Nein' then
              begin
                   if istdrinn2 = 'Ja'
                      then  Memo2.caption := StringReplace(Memo2.caption,'PLATZHALTER',wbbart2,[rfReplaceAll, rfIgnoreCase])
                      else  Memo2.caption := StringReplace(Memo2.caption,'PLATZHALTER',wbbart ,[rfReplaceAll, rfIgnoreCase])
              end;
         end;

     // Platzhalter wieder entfernen
     Memo2.caption := StringReplace(Memo2.caption,'PLATZHALTER','',[rfReplaceAll, rfIgnoreCase])
ist vielleich tnicht das sauberste aber es funktioniert :hello:


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