Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.08;
Скачать: CL | DM;

Вниз

Подскажите, как вырезать часть строки до слеша?   Найти похожие ветки 

 
Сергей   (2008-05-19 15:34) [0]

Есть путь к файлу (c:\vcli\kript_file\Uncript\MLS2008.05.19\), нужно вырезать часть строки до второго слеша справа чтобы получилось c:\vcli\kript_file\Uncript. Пути будут меняться. Если не сложно напишите код или ссылку. Спасибо.


 
Virgo_Style ©   (2008-05-19 15:41) [1]

ExtractFileDir( ExcludeTrailingBackslash( ...  ) );

Это если "я его слепила из того, что было". Оптимально в плане скорости написания, а не быстродействия :-) Иначе - считать слеши справа налево, найдя второй - обрезать все, что правее.


 
Werewolf-Prankster   (2008-05-19 15:43) [2]

var i,sl:integer; ulr1,url2:string //sl - счетчик слешей, url1,url2, где 1-й начальное значение пути, 2-й результат
sl:=0;
url1:=(путь);
for i:=1 to length(url1) do
 if sl<3 then
  begin
   url2[i]:=url1[i];
   if url1[i]:="/" then
    sl:=sl+1;
  end;

Теперь в переменной url2 у тебя находится нужный адресс.


 
Alarm ©   (2008-05-19 15:46) [3]

Сначала необходимо определиться со сторонами (право и лево). Из примера совсем не следует, что это "часть строки до второго слеша справа".
А по существу поможет:
Copy(..., Pos(...), ...);


 
Werewolf-Prankster   (2008-05-19 15:53) [4]

Виноват, это как раз слева.
Попробуем еще раз )
var i,sl,tmp:integer; ulr1,url2:string //sl - счетчик слешей, url1,url2, где 1-й начальное значение пути, 2-й результат
sl:=0;
url1:=(путь);
for i:=length(url1 down to 1 do
begin
if url1[i]="/" then
 sl:=sl+1
if sl=2 then
 tmp:=i;
end; //узнаем номер символа в котором находится слеш
for i:=1 to tmp do
url2[i]:=url1[i];//обрезаем урл


 
Сергей   (2008-05-19 17:13) [5]

Спасибо всем, за помощь.



Страницы: 1 вся ветка

Текущий архив: 2008.06.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
8-1180962851
Igor_thief
2007-06-04 17:14
2008.06.08
Screenshot формы (с рамкой)


6-1188851972
Aibolit
2007-09-04 00:39
2008.06.08
в терминальном сервере


2-1210838406
tytus
2008-05-15 12:00
2008.06.08
как в SendMessage передать строку?


2-1210771941
Alex7
2008-05-14 17:32
2008.06.08
ADODataSet Как сделать сортировку по агрегатному полю?


15-1208258501
Kostafey
2008-04-15 15:21
2008.06.08
Размышления о докуметировании структуры БД