![]() |
Suchen der Textteile
Hallo allerseits.
Irgendwie komm ich nicht weiter. Mein Programm soll unteranderem folgendes können: Ein Editfeld enthält immer eine Internet-Adresse. Falls die Adresse ein Bild ist, also z.B. "http://www.bla.de/bilder/bild123.jpg", soll das Programm im zweiten Editfeld nur die Bildnummer ausspucken (hier "123") - also ohne "http://www.bla.de/bilder/bild" und ohne ".jpg". Hab dazu eine Funktion geschrieben.
Delphi-Quellcode:
Problem dabei ist, in der Zeile mit "edt2", dass er mir "123.jpg" ausgibt. Ich will aber das ".jpg" weghaben.
function tform1.suchebild;
var Text, Suchtext, Bildnr: string; Suchindex: integer; begin Text:= edtadresse.Text; Suchtext := '.jpg'; Suchindex := Pos(Suchtext, Text); edt2.Text:=copy(text, Suchindex - 3, Suchindex - 0); // hier wird dir Bildnummer ausgegeben edt1.Text:=copy(text, 1, suchindex - 4); end; Und noch was. Kann man vielleicht den Text nur nach Ziffern oder z.B. nach "/" dursuchen lassen? Über ein Tutorial zum Thema Suche würd ich mich auch freuen. [edit=SirThornberry]Titel angepasst - Mfg, SirThornberry[/edit] |
Re: Problem beim Suchen der Textteile
erstmal muss eine Funktion einen Ergebniswert haben, wenn dus aber so lassen willst, nimm eine prozedur.
Delphi-Quellcode:
Mfg
Procedure SucheBild;
Var Text, Suchtext : String; Suchindex, Bildlaenge : Integer; begin Text:= edtadresse.Text; Suchtext := '.jpg'; Suchindex := Pos(Suchtext, Text); Bildlaenge := Length(Text)-Suchindex; edt2.Text:=Copy(Text, Suchindex - 3, Bildlaenge); //Der Dritte Parameter ist hier NICHT, BIS ZU WELCHEM, sondern WIE VIELE Zeichen er kopieren soll! edt1.Text:=Copy(Text, 1, Suchindex - 4); end; |
Re: Problem beim Suchen der Textteile
Wie wäre es mit [oh]ChangeFileExt(deinString, '');[/oh] um die Dateiendung zu entfernen? Und Wie wäre es mit
![]() |
Re: Problem beim Suchen der Textteile
Zitat:
|
Re: Problem beim Suchen der Textteile
Auch mal von mir ein Ansatz:
Delphi-Quellcode:
function TForm1.SuchBildNummer(Addr: String): String;
var i: Byte; j: Byte; begin Addr := Copy(Addr, 1, Pos('.jpg', Addr) - 1); for i := Length(Addr) downto 1 do begin if (Ord(Addr[i]) < 48) or (Ord(Addr[i]) > 57) then Break; end; Result := Copy(Addr, i + 1, Length(Addr) - i); end; procedure TForm1.Button1Click(Sender: TObject); begin Edt2.Text := SuchBildNummer(Edt1.Text); // Edt1.Text enthält die Adresse end; |
Re: Problem beim Suchen der Textteile
Zitat:
Delphi-Quellcode:
"//www.bla.de/bilder/bild123.jpg" zurück
ExtractFileName('http://www.bla.de/bilder/bild123.jpg')
Mfg |
Re: Problem beim Suchen der Textteile
Da du noch Delphi 5 hast: Ja. Bei dir schon.
|
Re: Problem beim Suchen der Textteile
Danke euch. Werde mich schlau machen und n bischen mit dem code rumspielen. Ich schreib dann wie es war. :)
Also, ich hab mich dem Code von Mazel bedient. Es funzt auch soweit. Noch ne Kleinigkeit - kann man auch so machen, dass wenn er ".jpg" findet, soll er das und das machen. Irgendwie so: if "Suchtext" found then ... |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Sonstige Fragen zu Delphi" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Suchen der Textteile
Hi. Also ich hab das gleiche Problem wie Fussball-Robby. Hab im Web
![]() [Edit 1] Vielleicht könnte man örgentwie im AdressenFeld nach "/" suchen, diese in "\" umwandeln, Suchfunktion laufen lassen und anschließend die "\" zurück umwandeln in die "/", damit die Adresse korrekt angezeigt wird. Mal sehen, vielleicht krieg ich das so hin. [/Edit 1] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz