Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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,000
По умолчанию

Код:
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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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