Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

стирание последнего символа   Найти похожие ветки 

 
SveTTT   (2007-09-30 09:13) [0]

Здравствуйте!

Каким выражением описывается функция стирания последнего введенного символа в поле Edit. ("BackSpace" но только от нажатия кнопки на форме, а не на клавиатуре).


 
engine ©   (2007-09-30 09:20) [1]

procedure TForm1.Button1Click(Sender: TObject);
 var s : String;
begin
 s := Edit1.Text;
 s[Length(s)] := #0;
 Edit1.Text := s;
end;


 
SveTTT   (2007-09-30 09:21) [2]

Спасибо!


 
Leonid Troyanovsky ©   (2007-09-30 09:31) [3]


> SveTTT   (30.09.07 09:13)  

> Каким выражением описывается функция стирания последнего
> введенного символа в поле Edit.


procedure TFormX.SpeedButton1Click(Sender: TObject);
begin
  Edit1.Perform(WM_CHAR, VK_BACK, 0);
end
;

--
Regards, LVT.


 
SveTTT   (2007-09-30 09:59) [4]

Спасибо!


 
Dmitry S   (2007-09-30 14:42) [5]

Первый способ кривой, кстати.


 
engine ©   (2007-09-30 14:47) [6]

> [5] Dmitry S   (30.09.07 14:42)

Исправить ошибку — домашнее задание автору вопроса :)


 
{RASkov} ©   (2007-09-30 15:41) [7]

> Первый способ кривой, кстати.

Второй способ тоже не всегда будет стирать именно последний символ в Эдите...

procedure DelLastCharInEdit(Edit: TCustomEdit);
begin
 Edit.Perform(WM_KEYDOWN, VK_END, 0);
 Edit.Perform(WM_KEYUP, VK_END, 0);
 Edit.Perform(WM_CHAR, VK_BACK, 0);
end;
...
DelLastCharInEdit(Edit1);


 
Leonid Troyanovsky ©   (2007-09-30 16:24) [8]


> {RASkov} ©   (30.09.07 15:41) [7]

> Второй способ тоже не всегда будет стирать именно последний

Во-первых, последний введенный.
А, во-вторых, как "BackSpace".

--
Regards, LVT.


 
{RASkov} ©   (2007-09-30 16:27) [9]

> [8] Leonid Troyanovsky ©   (30.09.07 16:24)
> Во-первых, последний введенный.

Точно.... что-то я не в тему заметил.... сбило с толку наверное s[Length(s)] := #0; из [1]
Сорри...


 
engine ©   (2007-09-30 16:32) [10]

> [8] Leonid Troyanovsky ©   (30.09.07 16:24)

Неспроста значок голубого цвета — не придерешься :)


 
{RASkov} ©   (2007-09-30 19:51) [11]

> [8] Leonid Troyanovsky ©   (30.09.07 16:24)
> Во-первых, последний введенный.

Все равно не всегда верно стираться символ будет, так как после ввода последнего символа, можно SelStart изменить мышой например, или "стрелками"

> А, во-вторых, как "BackSpace".

Ну а здесь не поспоришь :)


 
Vasiliy   (2007-09-30 21:17) [12]

Есть еще один "кривой" способ по нажатию клавиши, но работающий.:
var
   Backstring:string;
   Size:Integer;
begin
 if (key=vk_Back) then begin
                       Backstring:=edit1.Text;
                       edit1.Clear;
                       Delete(Backstring,length(Backstring),1);
                       Size := Length(Backstring);
                       edit1.Text := Backstring;
                       edit1.SelStart := size;
                       end;
                       
end;


 
Leonid Troyanovsky ©   (2007-09-30 21:30) [13]


> {RASkov} ©   (30.09.07 19:51) [11]

> Все равно не всегда верно

Конечно же, не всегда.

Иногда в некоем высказывании анализируются все символы,
вплоть до знаков препинания.
А иногда - нет, т.е., чисто формально.

Оный выбор зависит от настроения (отношения &etc), т.е.,
субъективных вещей, но, это право отвечающего, не так ли?

Но, главное в нашем деле - избавляться от заблуждений ;)
И кто пожелает - имеет к тому все возможности, IMHO.

--
Regards, LVT.



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

Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.05 c
2-1190724118
alles
2007-09-25 16:41
2007.10.21
Как правильно использовать TServerSocket?


4-1177198354
nikitozz
2007-04-22 03:32
2007.10.21
Как завершить процесс.


15-1190286598
ANTPro
2007-09-20 15:09
2007.10.21
Подкажите программу


15-1190633232
Ega23
2007-09-24 15:27
2007.10.21
Может я чего не так понимаю...


15-1190253868
Slider007
2007-09-20 06:04
2007.10.21
С днем рождения ! 20 сентября 2007 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский