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 2 von 3     12 3      
Benutzerbild von Fussball-Robby
Fussball-Robby

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

Re: Suchen der Textteile

  Alt 10. Mär 2008, 14:43
So könnte man es natürlich lösen. Hier mal ein Denkanstoß, den Rest müsstest du aber auch selber hinbekommen.
Delphi-Quellcode:
function FileName(Name:String):String;
begin
  Name:=stringreplace(Name,'/','\',[rfreplaceall]);
  Name:=extractfilename(Name);
  Name:=ChangeFileExt(Name,'');
  Result:=Name;
end;
Oder in einer Zeile:
Delphi-Quellcode:
function FileName(Name:String):String;
begin
Result:=ChangeFileExt(extractfilename(stringreplace(Name,'/','\',[rfreplaceall])),'');
end;
Mfg
Robert L.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Suchen der Textteile

  Alt 10. Mär 2008, 14:57
Hallo,

wenn nur der Dateiname existiert, dann sind mir die Delimiter eigentlich egal:

Delphi-Quellcode:
// image filename = NAMEnnn.jpg

function ExtractImageNumber(const url: string): string;
var
  iPos: Integer;
  fn: TFileName;
begin
  fn := Copy(url, Succ(LastDelimiter('/', url)), MAXINT);
  if SameText(ExtractFileExt(fn), '.jpg') then
  begin
    fn := ChangeFileExt(fn, '');
    Result := Copy(fn, FirstDelimiter('1234567890', fn), MAXINT);
  end else Result := '';
end;
Freundliche Grüße
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#13

Re: Suchen der Textteile

  Alt 10. Mär 2008, 15:10
Fehler: "FirstDelimiter" ist Undefinirter Bezeichner. Was tun?

[Edit 1]
In meiner DelphiHilfe (TurboDelphi win32) gibt es kein FirstDelimiter, nur LastDelimiter.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Suchen der Textteile

  Alt 10. Mär 2008, 15:28
Hier eine einfache Version ohne MBCS Unterstützung:

Delphi-Quellcode:
function FirstDelimiter(const delimiters, s: string): Integer;
begin
  Result := 0;
  while Result < Length(s) do
  begin
    Inc(Result);
    if Pos(s[Result], delimiters) > 0 then
      Exit
  end;
  Result := 0;
end;
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#15

Re: Suchen der Textteile

  Alt 10. Mär 2008, 15:40
Sorry, nix für Ungut aber ... Der letzte Part Ist etwas zu hoch für mich. Was macht diese Funktion? Bei deinem ersten Part kann ich alles nachvollziehen (das mit URL und .jpg). Wo ist der zusammenhang?

[Edit 1]
Ich schau mal hier nach.

[Edit 2]
Also, meine aktuelle Lösung ist folgende:

Delphi-Quellcode:
function tform1.ExtractURLPath(Name: string): String;
begin
  Name:=stringreplace(Name,'/','\',[rfreplaceall]);
  Name:=extractfilename(Name);
  Name:=ChangeFileExt(Name,'');
  Result:=Name;
end;

function tform1.FilePath(Name:String):String;
begin
  Name:=stringreplace(Name,'/','\',[rfreplaceall]);
  Name:=extractfilepath(Name);
  Name:=stringreplace(Name,'\','/',[rfreplaceall]);
  Result:=Name;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
  edt2.Text := ExtractURLPath(edtadresse.Text);
  edt1.Text := FilePath(edtadresse.Text)
end;
Primärziel erreicht. Nur so nebenbei. Kann man in einem Text NUR nach Zahlen oder NUR nach Buchstaben suchen?
  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
 
#16

Re: Suchen der Textteile

  Alt 10. Mär 2008, 15:43
Zitat von djpaull:
Sorry, nix für Ungut aber ... Der letzte Part Ist etwas zu hoch für mich. Was macht diese Funktion? Bei deinem ersten Part kann ich alles nachvollziehen (das mit URL und .jpg). Wo ist der zusammenhang?
Das ist eine vereinfachte Alternative zur Funktion FirstDelimiter, die dein Delphi ja nicht kennt.
Einfach mit ins Projekt aufnehmen, und der erste Code von marabu müsste funktionieren
Robert L.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Suchen der Textteile

  Alt 10. Mär 2008, 15:45
Ich habe es mal für Dich kommentiert:
Delphi-Quellcode:
function FirstDelimiter(const delimiters, s: string): Integer;
begin
  //Ergebnis mit 0 vorbelegen --> kein Treffer
  Result := 0;
  //ggf. ganzen String s durchgehen
  while Result < Length(s) do
  begin
    //Result wird hochgezählt und dient als Laufvariable
    Inc(Result);
    //wenn das Zeichen an der aktuellen Position des Strings s
    //im String Delimiters vorkommt
    if Pos(s[Result], delimiters) > 0 then
      //Funktion verlassen, Result ist ja bereits belegt
      Exit
  end;
  //kein Treffer gefunden, Ergebnis wieder auf 0 setzen
  Result := 0;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#18

Re: Suchen der Textteile

  Alt 10. Mär 2008, 17:55
Achso-o . Jetzt habe ich verstanden. Danke. Nichts desto trotz, weiss vielleicht jemand, ob man in einem Text NUR nach Zahlen oder NUR nach Buchstaben suchen kann?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Suchen der Textteile

  Alt 10. Mär 2008, 18:12
Wie meinst Du das jetzt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
djpaull
(Gast)

n/a Beiträge
 
#20

Re: Suchen der Textteile

  Alt 10. Mär 2008, 18:26
Naja. Angenommen mein Text besteht aus Zahlen und Buchstaben. Ist es möglich alle Zahlen in EditFeld1 und alle Buchstaben in EditFeld2 auszugeben ( - die Leerzeichen brauche ich in meinem Fall nicht). Oder den Text bis zu der letzten (gefundenen, beliebigen) Zahl auszugeben.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 14:08 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