AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suchen der Textteile

Ein Thema von djpaull · begonnen am 6. Mär 2008 · letzter Beitrag vom 10. Mär 2008
Antwort Antwort
Seite 1 von 3  1 23      
djpaull
(Gast)

n/a Beiträge
 
#1

Suchen der Textteile

  Alt 6. Mär 2008, 14:58
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:
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;
Problem dabei ist, in der Zeile mit "edt2", dass er mir "123.jpg" ausgibt. Ich will aber das ".jpg" weghaben.

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]
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 16:25
erstmal muss eine Funktion einen Ergebniswert haben, wenn dus aber so lassen willst, nimm eine prozedur.
Delphi-Quellcode:
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;
Mfg
Robert L.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 16:40
Wie wäre es mit [oh]ChangeFileExt(deinString, '');[/oh] um die Dateiendung zu entfernen? Und Wie wäre es mit Delphi-Referenz durchsuchenExtractFileName() zuvor, damit du nur noch den Dateinamen hast und nicht mehr die URI Angabe?
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 16:46
Zitat von djpaull:
Über ein Tutorial zum Thema Suche würd ich mich auch freuen.
Dann mach Dich mal zum Thema 'Reguläre Ausdrücke' bzw. 'Regular Expressions' bzw. 'RegEx' schlau.
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#5

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 16:48
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;
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 16:53
Zitat von Muetze1:
Und Wie wäre es mit Delphi-Referenz durchsuchenExtractFileName() zuvor, damit du nur noch den Dateinamen hast und nicht mehr die URI Angabe?
Kann es sein, dass ExtractFileName nur bei Pfadangaben mit "\" und nicht mit "/" geht? Also bei mir liefert er bei ExtractFileName('http://www.bla.de/bilder/bild123.jpg') "//www.bla.de/bilder/bild123.jpg" zurück

Mfg
Robert L.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 17:17
Da du noch Delphi 5 hast: Ja. Bei dir schon.
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#8

Re: Problem beim Suchen der Textteile

  Alt 6. Mär 2008, 19:23
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 ...
  Mit Zitat antworten Zitat
6. Mär 2008, 19:24
Dieses Thema wurde von "SirThornberry" von "Sonstige Fragen zu Delphi" nach "Object-Pascal / Delphi-Language" verschoben.
djpaull
(Gast)

n/a Beiträge
 
#10

Re: Suchen der Textteile

  Alt 10. Mär 2008, 14:10
Hi. Also ich hab das gleiche Problem wie Fussball-Robby. Hab im Web das gefunden. ExtractFileWasAuchImmer scheint nur mit "\" zu funktionieren. Also nur für lokale Adressen, wie die im Explorer bzw. Arbeitsplatz. Gilt also nicht für Internet-Pfade.

[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]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 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