проверить последний символ |

05.12.2009, 21:13
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
С нами:
8913664
Репутация:
0
|
|
проверить последний символ
Здравствуйте. Вопрос возможно туп до идиотизма но все же. В едите есть текст, и нужно проверить стоит ли на самом конце знак "\" и если его нету то вставить иначе сделать тото.
Ума не приложу как это сделать, помогите пожалуйста  Delphi 2009
|
|
|

05.12.2009, 21:24
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
Begin
s := form1.Edit1.Text;
If not (pos('\',s) = length(s)) then s:= s+'\';
form1.Edit2.Text := s;
end;
Последний раз редактировалось НTL; 05.12.2009 в 21:27..
|
|
|

05.12.2009, 21:28
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами:
8947056
Репутация:
229
|
|
Сообщение от НTL
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
Begin
s := form1.Edit1.Text;
If not (pos('\',s) = length(s)) then s:= s+'\';
form1.Edit2.Text := s;
end;
идиотизм
ну вот мой код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
Begin
s := form1.Edit1.Text;
If (s[length(s)]<>'\') then s:= s+'\';
form1.Edit1.Text := s;
end;
to slesh, ^_^
|
|
|

05.12.2009, 21:32
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Сообщение от wolmer
идиотизм
ну вот мой код:
Каждый исходный код уникален (с) Xakep
Последний раз редактировалось НTL; 05.12.2009 в 21:34..
|
|
|

05.12.2009, 21:29
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
s := edit1.text;
if (s[length[s]] <> '\') then edit1.text := edit1.text + '\';
|
|
|

11.12.2009, 06:03
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами:
9227388
Репутация:
180
|
|
Сообщение от slesh
s := edit1.text;
if (s[length[s]] <> '\') then edit1.text := edit1.text + '\';
А нельзя сразу написать
if (edit1.text[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
?
|
|
|

11.12.2009, 17:09
|
|
Banned
Регистрация: 03.11.2009
Сообщений: 112
С нами:
8694756
Репутация:
17
|
|
Сообщение от M_script_
А нельзя сразу написать
if (edit1.text[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
?
можно только вот так
if (edit1.text=[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
но тогда надо предварительно чо то записать в едит1
|
|
|

11.12.2009, 17:14
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами:
8947056
Репутация:
229
|
|
Сообщение от M_script_
А нельзя сразу написать
if (edit1.text[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\';
?
Можно, но код будет некоторым не приятно воспринимать (по виду), впрочем кому как нравиться - тот так и пишет (да кстати так правильнее будет если смотреть на твой пример:...length (edit1.text )...)
Последний раз редактировалось wolmer; 11.12.2009 в 17:29..
|
|
|

12.12.2009, 03:06
|
Регистрация: 29.05.2002
Сообщений: 1,793
С нами:
12604706
Репутация:
0
|
|
Сообщение от wolmer
Можно, но код будет некоторым не приятно воспринимать (по виду)
А код с названиями типа "edit1" по любому неприятно воспринимать
Не говоря уж про то, что функционал программы нельзя смешивать с интерфейсом...
|
|
|

05.12.2009, 21:40
|
|
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
С нами:
8913664
Репутация:
0
|
|
чуточку посидев сам в принципе придумал решение:
Код:
if copy(edit1.Text, length(edit1.Text), 1)='\' then
showmessage('okei')
else
edit1.Text:=edit1.Text+'\';
однако думаю лучше использовать код slesh. Всем большое спасибо 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|