![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
маска edit (принимать только integer) [D7, WinXP]
stalk001 © (2004-11-29 20:39:00)нужно чтобы в edit текст записывалось только числовой тип или как определить что введенна буква
мне просто нужно создать масив з буквами но не ['a'..'z']-это все символы а только буквы???
это все что нужно дальше уже pos и тд //дальше я знаю
..а как масив просто букв зделать???
Leonid Troyanovsky (2004-12-03 14:43:00) [1]
> GrayFace © (03.12.04 14:18) [11]
> Ой. Найдите 2 отличия между [10] и [8].
А.. тест на внимательность.
Изволь - первое:
> GrayFace © (30.11.04 06:05) [8]
> GrayFace © (03.12.04 14:16) [10]
Второе: первое оригинал, а второе - копия (с дефектами).
--
С уважением, LVT.
GrayFace (2004-12-03 14:18:00) [2]Ой. Найдите 2 отличия между [10] и [8].
GrayFace (2004-12-03 14:16:00) [3]Yanis © (29.11.04 23:24) [6]
if not (key in ['0'..'9','.',',']) then
Key := #0;
if not (key in ['0'..'9','.',DecimalSeparator,ThousandSeparator,'e','+','-']) then Key := #0;
А если только целые, то if not (key in ['0'..'9',ThousandSeparator,'+','-']) then Key := #0;
GuAV © (29.11.04 23:31) [7]
SetWindowLong(h, GWL_STYLE, GetWindowLong(h, GWL_STYLE) xor ES_NUMBER);
Все-таки лучше and not, а то захочит человек два раза подряд сделать Edit числовым, и ...
GuAV (2004-11-30 14:48:00) [4]GrayFace © (30.11.04 6:05) [8]
Тогда лучше or.
Я именнот так и сделал специально - toggle ES_UMBER.
GrayFace (2004-11-30 06:05:00) [5]Yanis © (29.11.04 23:24) [6]
if not (key in ['0'..'9','.',',']) then
Key := #0;
if not (key in ['0'..'9','.',DecimalSeparator,ThousandSeparator,'e']) then Key := #0;
А если только целые, то if not (key in ['0'..'9',ThousandSeparator]) then Key := #0;
GuAV © (29.11.04 23:31) [7]
SetWindowLong(h, GWL_STYLE, GetWindowLong(h, GWL_STYLE) xor ES_NUMBER);
Все-таки лучше and not, а то захочит человек два раза подряд сделать Edit числовым, и ...
GuAV (2004-11-29 23:31:00) [6]
procedure TForm1.Button1Click(Sender: TObject);
var h: THandle;
begin
h := Edit1.Handle;
SetWindowLong(h, GWL_STYLE, GetWindowLong(h, GWL_STYLE) xor ES_NUMBER);
end;
Кстати,
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1101363417&n=0
Yanis (2004-11-29 23:24:00) [7]Что то типа:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',',']) then
Key := #0;
end;
GanibalLector (2004-11-29 23:17:00) [8]2 GuAV
Что есть ES_NUMBER?Засвети пример...и еще,а как на счет float?
GuAV (2004-11-29 23:12:00) [9]stalk001 (29.11.04 20:39)
нужно чтобы в edit текст записывалось только числовой тип
ES_NUMBER
GanibalLector (2004-11-29 23:05:00) [10]procedure TForm3.Edit2Change(Sender: TObject);
begin
if edit2.text<>'' then
try
strtoint(edit2.text);
old2:=edit2.text;
except
edit2.text:=old2;
edit2.SelStart:=length(edit2.text);
edit2.seltext:='';end;
end;
Davinchi (2004-11-29 20:53:00) [11]а еще в RxLib есть замечательные компоненты TCalcEdit and TCurrencyEdit1
YurikGL (2004-11-29 20:49:00) [12]проще всего maskedit пользвать ИМХО.
Можно обрабатывать onKeyPress и смотреть какая клавиша нажата.