AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi string zerlegen ('d:\test\test2\test3\test4') result:=test3
Thema durchsuchen
Ansicht
Themen-Optionen

string zerlegen ('d:\test\test2\test3\test4') result:=test3

Ein Thema von agm65 · begonnen am 1. Dez 2005 · letzter Beitrag vom 1. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#1

string zerlegen ('d:\test\test2\test3\test4') result:=test3

  Alt 1. Dez 2005, 08:44
guten morgen leute...
ich würde gerne nen string zerlege, der so aussieht: ('d:\test\test2\test3\test4')

jetzt möchte ich zB nur test3 als result bekommen...habe mal im forum geschaut und auch tips gefunden
aber zB die stringlist geht leider nicht bei mir, weil ich delphi 5 benutze und dort haben die
stringlists noch keinen delimeter.

jetzt wollte ich euch mal um gute ideen bitte...thx cu
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 08:52
Hallo

Evtl. helfen dir Hier im Forum suchenExplode, Delphi-Referenz durchsuchenCopy, Delphi-Referenz durchsuchenPos und (ich weiß nicht, ob das schon in Delphi 5 gab): Delphi-Referenz durchsuchenPosEx
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 08:56
Hi agm65,

Guck dir das mal an.
Weiss nicht ob das auch mit Delphi5 geht.

MFG Lucius.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 09:14
Delphi-Quellcode:
function Tokenize(const S: string; const C: Char): TStringDynArray;
var
  SLen, SIdx, NTok, TokStart, TokLen: Integer;
begin
  if S <> 'then
  begin
    SLen := Length(S);
    SetLength(Result, SLen);
    TokStart := 0;
    NTok := 0;
    TokLen := 0;
    for SIdx := 1 to SLen do
    begin
      if S[SIdx] <> C then
      begin
        if TokStart = 0 then
          TokStart := SIdx;
        Inc(TokLen);
      end;
      if ((SIdx = SLen) or (S[SIdx] = C)) and (TokStart > 0) then
      begin
        Inc(NTok);
        Result[NTok-1] := Copy(S, TokStart, TokLen);
        TokStart := 0;
        TokLen := 0;
      end;
    end;
    SetLength(Result, NTok);
  end else
    SetLength(Result, 0);
end;
und dann einfach:

Delphi-Quellcode:
var
  Arr: TStringDynArray;
  I: Integer;
begin
  Arr := Tokenize('d:\test\test2\test3\test4', '\');
  for I := 0 to High(Arr) do
    ShowMessage(Arr[I]);
end;
MfG
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
marabu

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

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 09:24
Mein Scherflein:

Delphi-Quellcode:
function ExtractParentDir(dir: string; noPath: boolean): string;
begin
  dir := ExtractFilePath(ExcludeTrailingBackslash(dir));
  if noPath
    then Result := ExtractFileName(ExcludeTrailingBackslash(dir))
    else Result := dir;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#6

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 10:26
danke euch allen ..aber marabu rockt das haus ! danke, einfach und effektive ! habt dank ihr treuen delphi fans !

cu
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#7

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 11:10
marabu noch eine frage ...
[Warnung] Unit1.pas(116): Symbol 'ExcludeTrailingBackslash' ist plattformspezifisch

heisst das: auf manchen rechner ist ExcludeTrailingBackslash kein '\' ?

und wie kann man das auf alle rechner übertragen ?
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 11:15
Ja, bei Linux z.b ist es "/" statt "\"
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
marabu

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

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 11:16
Das heißt, dass du diesen Code nicht ohne Änderungen nach Linux portieren kannst. In den neueren Delphi-Versionen gibt es die portierbare Funktion ExcludeTrailingPathDelimiter().

marabu
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#10

Re: string zerlegen ('d:\test\test2\test3\test4') result:=t

  Alt 1. Dez 2005, 11:21
aber auf den windows plattformen , egal welches land, sollte es laufen ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09: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