Вниз
Скачать: CL | DM;

Выделение подстроки из строки   Найти похожие ветки 

← →
Volf_555   (2005-10-21 20:15) [0]

Нужно получить следующие:
1) есть строка, например: E:\Text\E-mail
2) нужно получить E:\Text
3) как на Delphi такое сделать?

Пробывал следующий код - определяет только первые три символа, то есть: Е:\

procedure TForm1.Button1Click(Sender: TObject);
var
s:String;
v:Integer;
p:Integer;
begin
s:=edit1.Text;
for v:=Length(s) downto 0 do
begin
 if s[v]="\" then
 begin
  p:=pos("\",s);
  break;
 end;
end;
edit2.Text:=copy(s,0,p);
end;


← →
TUser ©   (2005-10-21 20:36) [1]

ExcludeTrailingBackslash(ExtractFilePath("e:\text\e-mail"))


← →
Antonn ©   (2005-10-21 20:43) [2]

Volf_555   (21.10.05 20:15)
1) есть строка, например: E:\Text\E-mail

caption:=extractfiledir(extractfiledir(E:\Text\E-mail)+".a");


← →
palva ©   (2005-10-21 22:01) [3]


procedure TForm1.Button1Click(Sender: TObject);
var
s:String;
v:Integer;
p:Integer;
begin
s:=edit1.Text;
for v:=Length(s) downto 1 do
begin
if s[v]="\" then
begin
 SetLength(s, v-1);
 break;
end;
end;
edit2.Text:=s;
end;


← →
Zeqfreed ©   (2005-10-21 22:38) [4]

palva ©   (21.10.05 22:01) [3]
Antonn ©   (21.10.05 20:43) [2]

Черезжопогландовырывательством промышляете?


← →
Antonn ©   (2005-10-22 06:56) [5]

Zeqfreed ©   (21.10.05 22:38) [4]
ну работает ведь? Не так уж страшно... для текущего задания вообще подошло бы и такое - extractfiledir("E:\Text\E-mail"+".a");


← →
Anatoly Podgoretsky ©   (2005-10-22 12:53) [6]

Zeqfreed ©   (21.10.05 22:38) [4]
Чего Antonn то обругал, по сути правильно и оптимально, только вот примеры не умеет правильно копировать, как был так и скопировал, никто же не просил ".a" добавлять.


← →
Zeqfreed ©   (2005-10-22 13:52) [7]

Anatoly Podgoretsky ©   (22.10.05 12:53) [6]
Незнаю даже, в общем-то да, правильно и оптимально. Вчера [1] мне показалось наиболее правильным, хотя если бы сам решал такую задачу, то не использовал стандартные ф-ции.

Да, и уж если говорить о правильности, то разделителем каталогов может быть как "\" так и "/" =)


← →
Antonn ©   (2005-10-22 15:41) [8]

Anatoly Podgoretsky ©   (22.10.05 12:53) [6]
как был так и скопировал, никто же не просил ".a" добавлять.

ну я в директорию в файл превратил:)


← →
Antonn ©   (2005-10-22 15:42) [9]

и не скопировал, а набрал:)


← →
Anatoly Podgoretsky ©   (2005-10-22 16:50) [10]

Zeqfreed ©   (22.10.05 13:52) [7]
Ответ соответствует вопросу и делает это оптимальным путем.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
2-1129547718
Parth
2005-10-17 15:15
2005.11.13
Консольное приложение: иероглифы


14-1129919373
LordOfRock
2005-10-21 22:29
2005.11.13
Symantec Norton Antivirus 2004


2-1130343787
Хинт
2005-10-26 20:23
2005.11.13
Как зациклить приложение без окна


3-1128394079
npr2
2005-10-04 06:47
2005.11.13
Запись картинки с Image в БД Access


1-1129788909
Zhekson
2005-10-20 10:15
2005.11.13
Как на определённое время повесить надпись поверх всех окон?




   Наверх