Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textausschnitt vom Ende bis zum letzten Leerzeichen? (https://www.delphipraxis.net/149929-textausschnitt-vom-ende-bis-zum-letzten-leerzeichen.html)

TitanNano 2. Apr 2010 16:20


Textausschnitt vom Ende bis zum letzten Leerzeichen?
 
hi,
Ich programmiere gerade einen Downloadmanager, die Indi Komponente "IdFTP" liefert mir aber immer wen ich den Ordnerinhalt ermittle einen zulangen String zurück. Das heißt das Veränderungsdatum eine ID den Namen und andere Dinge sie sind alle durch ein Lehrzeichen getrennt. Doch der Name steht immer an letzter stelle und deswegen möchte ich nur die die letzten Zeichen bis zum letzten Lehrzeichen herausnehmen. Leider habe ich es mit,
Delphi-Quellcode:
split:=pos(' ', activ);
activ:=copy(activ, length(activ), split);
nicht hin bekommen, aber vielleicht gibt es ja noch eine andere Möglichkeit.

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]

DeddyH 2. Apr 2010 18:44

Re: Textausschnitt vom ende bis zum letzten lerzeichen??
 
Vielleicht nicht die schnellste Möglichkeit, aber so müsste es gehen:
Delphi-Quellcode:
function StringAfterLastSpace(const s: string): string;
var Position: integer;
begin
  Result := '';
  Position := Length(s);
  while (Position > 0) and (s[Position] <> ' ') do
    begin
      Result := s[Position] + Result;
      dec(Position);
    end;
end;

TitanNano 2. Apr 2010 18:55

Re: Textausschnitt vom ende bis zum letzten lerzeichen??
 
wie greif ich denn auf die Funktion zu??

DeddyH 2. Apr 2010 18:58

Re: Textausschnitt vom ende bis zum letzten lerzeichen??
 
Delphi-Quellcode:
activ := StringAfterLastSpace(activ);

Christian Seehase 2. Apr 2010 19:38

Re: Textausschnitt vom ende bis zum letzten lerzeichen??
 
Moin Detlef,

so find' ich's einfacher:

Delphi-Quellcode:
function StringAfterLastSpace(const s: string): string;
begin
  Result := Copy(s,LastDelimiter(' ',s)+1,MaxInt);
end;
@TitanNano:
Es heisst Leerzeichen.

DeddyH 2. Apr 2010 20:07

Re: Textausschnitt vom ende bis zum letzten lerzeichen??
 
Moin Christian,

zu meiner Schande muss ich gestehen, dass ich LastDelimiter irgendwie aus meinem Wortschatz gestrichen hatte :oops:. Hast natürlich Recht, so ist es einfacher und vermutlich auch schneller :zwinker:

TitanNano 6. Apr 2010 08:05

Re: Textausschnitt vom Ende bis zum letzten Leerzeichen?
 
also kann ich auch das auch so verwenden?
Delphi-Quellcode:
active := Copy(active,LastDelimiter(' ',active)+1,MaxInt);

DeddyH 6. Apr 2010 08:23

Re: Textausschnitt vom Ende bis zum letzten Leerzeichen?
 
Versuch macht klug :mrgreen:

TitanNano 6. Apr 2010 09:54

Re: Textausschnitt vom Ende bis zum letzten Leerzeichen?
 
es geht!!


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