![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Доброго времени суток!
Помогите пожалуйста решить следующую проблему: Мне нужно чтобы при одном условии из Edit'а удалялся последний символ, но у меня процедура Delete удаляет всё что только можно но не его! У меня это выглядит вот так: Код:
procedure TForm1.EditChange(Sender: TObject); begin DelOp := Edit.Text; if copy(Edit.Text, length(Edit.Text), 1) = '+' then delete(DelOp, length(DelOp), 1); Edit.Text := DelOp; Edit.SelStart := lenght(delOp); end; Что не так? ![]() Последний раз редактировалось link-oln, 29.03.2011 в 00:44. |
|
#2
|
|||
|
|||
|
Код:
delete(DelOp, length(DelOp)-1, 1); |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Насколько я понял суть в том чтобы в Edit нельзя было ввести символ '+'? Проще сделать это в OnKeyPress:
Код:
if Key = '+' then Key := #0; |
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
|||
|
|||
|
Код:
if trim(edit1.text)[length(trim(edit1.Text))]='+' then edit1.Text:=copy(edit1.Text,0,length(trim(edit1.Text))-1); |
|
#7
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.EditChange(Sender: TObject); begin Edit.Text := StringReplace(Edit.Text, '+', '', [rfReplaceAll]); Edit.SelStart := Lenght(Edit.Text); end; |
|
#8
|
|||
|
|||
|
Попробуй так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
s:String;
begin
//Так только если плюс последний символ:
//если в конце строки два или более плюса,
//то удалит только один последний из-за этого
//процедуру надо будет вызывать несколько раз.
if Edit1.Text<>'' then
begin
s:='';
if (Edit1.Text[Length(Edit1.Text)]='+') then
begin
For i:= 1 to Length(Edit1.Text)-1 do s:=s+Edit1.Text[i];
Edit1.Text:=s;
end;
end;
//Так если в строке вообще есть плюсы:
{
if Edit1.Text<>'' then
begin
s:='';
For i:= 1 to Length(Edit1.Text) do
if Edit1.Text[i]<>'+' then s:=s+Edit1.Text[i];
Edit1.Text:=s;
end;
}
end;Последний раз редактировалось Janom, 29.03.2011 в 10:01. |