Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 21.04.2009, 18:40   #1
CraZZy RabbIt
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 172
По умолчанию вопрос по строкам

есть строка -
C:\Program Files\Borland\Delphi7\Projects
как мне вытащить из этой строки последнее слово - Projects...
путь может быть разным - как и C:\Projects так и до очень большого кол-ва подпапок...
CraZZy RabbIt вне форума   Ответить с цитированием
Старый 21.04.2009, 18:47   #2
Joe_Tribbiani
Форумчанин
 
Аватар для Joe_Tribbiani
 
Регистрация: 14.02.2009
Сообщений: 110
По умолчанию

Тебе нужно именно слово Projects или любое полследнее слово?
Joe_Tribbiani вне форума   Ответить с цитированием
Старый 21.04.2009, 18:48   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,003
По умолчанию

Код:
function GetFolderBeforeLastSlash(str:string):string;
var k:integer; 
     s:string;
begin
 k:=length(str);
 s:='';
 while (K>0)and(str[k]<>'\') do
  begin
   s:=s+str[k];
   k:=k-1;
  end;
 Result:='';
 for k:=length(s) downto 1 do Result:=Result+s[k];
end;
держи=)
вытаскивает все после последнего слэша(но именно \)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 21.04.2009, 18:49   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Как вариант:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s,buf : string;
c : char;
i : integer;
begin
s := 'C:\Program Files\Borland\Delphi7\Projects';
buf := '';
for i:=length(s) downto 1 do
 begin
 if s[i]='\' then break;
 buf := buf + s[i];
 end;

for i:=1 to (length(buf) div 2) do
 begin
 c := buf[i];
 buf[i] := buf[length(buf)-i+1];
 buf[length(buf)-i+1] := c;
 end;
ShowMessage(buf);

end;
Еще можно pos искать '\' и выделить подстроку от последнего '\' до конца.
Sazary вне форума   Ответить с цитированием
Старый 21.04.2009, 19:00   #5
CraZZy RabbIt
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 172
По умолчанию

спасибо,помогли

Последний раз редактировалось CraZZy RabbIt; 21.04.2009 в 19:03.
CraZZy RabbIt вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка по строкам WhiteWaterLily Общие вопросы C/C++ 5 26.03.2009 18:39
Задача на С++ по строкам EwwwA Помощь студентам 2 20.12.2008 16:22
задача по строкам D_K_ Помощь студентам 10 14.12.2008 17:21


22:30.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.