Obcinanie stringa aż do znaku '"/" [DELPHI]

2012-05-08 20:11
0

Jak obciąć stringa aż do napotkania znaku "/". Wiem jak obcinać o kilka znaków ale jak to zrobić kiedy chce by np.
to:
D:\Gry\LFS\LFS.exe
zmieniło się w to:
D:\Gry\LFS\

pomożecie ?


programuję w Delphi status: początkujący

Pozostało 580 znaków

2012-05-08 20:15
0

Czyli do ostatniego "\" tak? Wystarczy w pętli zapamiętywać ostatnie pozycję backslasha i przy wyjściu z pętli obciąć do takiej pozycji stringa.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
edytowany 1x, ostatnio: xeo545x39, 2012-05-08 20:15
mam szukać pos'em w pętli while ? - norbert95 2012-05-08 20:17

Pozostało 580 znaków

2012-05-08 20:32
0

do tego konkretnego problemu:

ExtractFilePath('D:\Gry\LFS\LFS.exe')

Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
edytowany 1x, ostatnio: unikalna_nazwa, 2012-05-08 20:32
Dzięki wielkie działa jak natura chciała :D :D - norbert95 2012-05-08 20:39

Pozostało 580 znaków

2012-05-09 12:30
0

Lub ręcznie:

function ExtractFilePath(FileName: String): String;
var
  I: Word;
begin
  Result := '';

  for I := Length(FileName) downto 1 do
    if FileName[I] = '\' then
      begin
        Result := Copy(FileName, 1, I);
        Exit;
      end;
end;

lub tak (jak napisał @kAzek);

function ExtractFilePath(FileName: String): String;
begin
  Result := Copy(FileName, 1, LastDelimiter('\', FileName));
end;

edytowany 2x, ostatnio: furious programming, 2012-05-09 12:54
jeszcze można się bawić: ShowMessage(Copy(FileName, 1, LastDelimiter('\', FileName))); - kAzek 2012-05-09 12:51
Nie znałem takiej funkcji jak "LastDelimiter"... Dzięki @kAzek :) - furious programming 2012-05-09 12:52

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0