![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
try..except
Nemeziz © (2008-02-07 20:51:00)Народ, Несколько дней назад начал програмить на Delphi. И вот возникла какая проблема. Как обработать ввод в edit (допускается ввод только числовых данных). Делаю вот так как описал ниже, но вылетает сообщение типа: данные должны быть целого типа. Можно сделать через OnKeyPress, но в данном случае необходимо сделать через try...except.
procedure TForm.btn_TestClick(Sender: TObject);
var
PosX, PosY, Res: Integer;
begin
PosX := Mouse.CursorPos.X;
PosY := StrToInt(edt_PosY.Text);
try
Res := MulDiv(PosX, PosY, 100);
except
on EConvertError do
Exit;
end;
end;
NiGGa (2008-02-07 21:23:00) [1][5] Вроде как еще символ "е" допускается?
MsGuns (2008-02-07 21:06:00) [2]Пример использования:
procedure TForm1.Edit1KeyPress((Sender: TObject; var Key: Char);
begin
Key := MS_ComFnCheckSymbolForFloatText(TEdit(Sender), Key);
end;
MsGuns (2008-02-07 21:03:00) [3]Просто пример:
function MS_ComFnCheckSymbolForFloatText(Edit: TEdit; Key: Char): Char;
// Функция проверки введенного символа на корректность при вводе чисел
// (Рекомендуется для использования в обработчике TEdit.OnKeyPress)
// - Edit - указатель на TEdit, который принимает введенный символ
// - Key - код введенного символа;
begin
result := Key;
with Edit do
if not (Key in ['0'..'9','-',DecimalSeparator,Char(VK_BACK),Char(VK_TAB)]) or
((Key=',') and (Pos(Key,Text)>0)) or
((Key='-') and ((Pos(Key,Text)>0) or (SelStart>0))) then result := #0;
end;
{RASkov} (2008-02-07 21:02:00) [4]> PosY := StrToInt(edt_PosY.Text);
PosY := StrToIntDef(edt_PosY.Text, Mouse.CursorPos.Y);
:)
Elec3C (2008-02-07 21:01:00) [5]procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key < '0') or (Key > '9') then Key := #0;
end;
NiGGa (2008-02-07 20:59:00) [6]Уф. Не вчитался, прошу прощения.
На какой строке возникает исключительная ситуация?
PosY := StrToInt(edt_PosY.Text);?
Других не вижу. К чему бы это.
NiGGa (2008-02-07 20:54:00) [7]TMaskEdit ?