Здравствуйте. Вопрос возможно туп до идиотизма но все же. В едите есть текст, и нужно проверить стоит ли на самом конце знак "\" и если его нету то вставить иначе сделать тото. Ума не приложу как это сделать, помогите пожалуйста Delphi 2009
Code: 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;
чуточку посидев сам в принципе придумал решение: Code: if copy(edit1.Text, length(edit1.Text), 1)='\' then showmessage('okei') else edit1.Text:=edit1.Text+'\'; однако думаю лучше использовать код slesh. Всем большое спасибо
2 НTL Но не каждый исходный код имеет право на жизнь (С) SLESH Твой код завалится на строке типа C:\dir\ подумай над этим )
А нельзя сразу написать if (edit1.text[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\'; ?
M_script_ edit1.text - это не переменная, это метод. Который в одном случае возвращает строку, в другом записывает её. И по этому нужно юзать промежуточную переменную.
можно только вот так if (edit1.text=[length[edit1.text]] <> '\') then edit1.text := edit1.text + '\'; но тогда надо предварительно чо то записать в едит1
Можно, но код будет некоторым не приятно воспринимать (по виду), впрочем кому как нравиться - тот так и пишет (да кстати так правильнее будет если смотреть на твой пример:...length(edit1.text)...)
Я в делфи не работаю, только в билдере, но VCL все равно один и тот же, поэтому не совсем понятно, с каких пор свойство Text класса TEdit стало методом? На билдере код выглядит так: Code: if(Edit1->Text[Edit1->Text.Length()] != '\\') Edit1->Text = Edit1->Text + '\\';
А код с названиями типа "edit1" по любому неприятно воспринимать Не говоря уж про то, что функционал программы нельзя смешивать с интерфейсом...