procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Text <> '' then
Edit1.Text := Copy(Edit1.Text, 1, Length(Edit1.Text)-1);
end;
Ой, помогите сложная задача! Как сделать кнопку Back?
P.S. Извините за заголовок, не выдержал!
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
if edit1.SelText=Edit1.Text then Edit1.Text:=''
else begin
s:=Edit1.Text;
Delete(s,length(s),1);
Edit1.Text:=s;
end;
end;
то можно написать
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i, n: Integer;
begin
s := Edit1.Text;
n := Length(s);
if n = 0 then Exit;
if Edit1.SelLength > 0 then begin
if n = Edit1.SelLength then
Edit1.Text := ''
else if Edit1.SelStart = 0 then
Edit1.Text := Copy(s, Edit1.SelStart + Edit1.SelLength + 1, n)
else
Edit1.Text := Copy(s, 1, Edit1.SelStart) + Copy(s, Edit1.SelStart + Edit1.SelLength + 1, n);
end
else begin
i := Edit1.SelStart;
if i > 0 then begin
if i = n then
Edit1.Text := Copy(s, 1, n-1)
else
Edit1.Text := Copy(s, 1, i-1) + Copy(s, i+1, n);
Edit1.SelStart := i - 1;
end;
end;
end;
var
s: string;
i, n: Integer;
begin
s := Edit1.Text;
n := Length(s);
if n = 0 then Exit;
if Edit1.SelLength > 0 then begin
if n = Edit1.SelLength then
Edit1.Text := ''
else if Edit1.SelStart = 0 then
Edit1.Text := Copy(s, Edit1.SelStart + Edit1.SelLength + 1, n)
else
Edit1.Text := Copy(s, 1, Edit1.SelStart) + Copy(s, Edit1.SelStart + Edit1.SelLength + 1, n);
end
else begin
i := Edit1.SelStart;
if i > 0 then begin
if i = n then
Edit1.Text := Copy(s, 1, n-1)
else
Edit1.Text := Copy(s, 1, i-1) + Copy(s, i+1, n);
Edit1.SelStart := i - 1;
end;
end;
end;
Edit1.Perform(WM_CHAR, VK_BACK, 0);