![]() |
Re: Suchen der Textteile
So könnte man es natürlich lösen. Hier mal ein Denkanstoß, den Rest müsstest du aber auch selber hinbekommen.
Delphi-Quellcode:
Oder in einer Zeile: :wink:
function FileName(Name:String):String;
begin Name:=stringreplace(Name,'/','\',[rfreplaceall]); Name:=extractfilename(Name); Name:=ChangeFileExt(Name,''); Result:=Name; end;
Delphi-Quellcode:
Mfg
function FileName(Name:String):String;
begin Result:=ChangeFileExt(extractfilename(stringreplace(Name,'/','\',[rfreplaceall])),''); end; |
Re: Suchen der Textteile
Hallo,
wenn nur der Dateiname existiert, dann sind mir die Delimiter eigentlich egal:
Delphi-Quellcode:
Freundliche Grüße
// 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; |
Re: Suchen der Textteile
Fehler: "FirstDelimiter" ist Undefinirter Bezeichner. Was tun?
[Edit 1] In meiner DelphiHilfe (TurboDelphi win32) gibt es kein FirstDelimiter, nur LastDelimiter. |
Re: Suchen der Textteile
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; |
Re: Suchen der Textteile
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 ![]() [Edit 2] Also, meine aktuelle Lösung ist folgende:
Delphi-Quellcode:
Primärziel erreicht. Nur so nebenbei. Kann man in einem Text NUR nach Zahlen oder NUR nach Buchstaben suchen?
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; |
Re: Suchen der Textteile
Zitat:
Einfach mit ins Projekt aufnehmen, und der erste Code von marabu müsste funktionieren |
Re: Suchen der Textteile
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; |
Re: Suchen der Textteile
Achso-o :thumb: . 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?
|
Re: Suchen der Textteile
Wie meinst Du das jetzt?
|
Re: Suchen der Textteile
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 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