Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

Label   Найти похожие ветки 

 
lasso   (2003-10-21 10:06) [0]

здрастувуйте мастера!!...
я написал программу но у меня такая беда...допустим в edit1 надо ввести число(integer) а если ввести стринг то выдает ошибку как сделать так что бы проверять что ввел пользователь ??


 
Skier ©   (2003-10-21 10:09) [1]

StrToInt + exception


 
zapped   (2003-10-21 10:15) [2]

можно в обработчике OnKeyPress запретить нажатия всех клавиш, кроме нужных...
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [ #8, "0".."9"]) then // #8 = Backspace
Key := #0;
end;


 
Guerrillero ©   (2003-10-21 10:18) [3]

Если вводить надо только целые числа, то добавь Edit стиль ES_NUMBER и будет тебе счастье


 
lasso   (2003-10-21 10:18) [4]


> zapped

спасибо ну а если мне надо что бы в поле вводился ip адресс
то так надо мне написать?

> procedure TForm1.Edit1KeyPress(Sender: TObject; var Key:
> Char);
> begin
> if not (Key in [., #8, "0".."9"]) then // #8 = Backspace
> Key := #0;
> end;


 
arche   (2003-10-21 10:19) [5]

попробуй так (при оладке исключение будет обрабатываться не очень красиво, но если .exe запустить - все нормально):

procedure TForm1.Button2Click(Sender: TObject);
var
myInt: integer;
begin
try
myInt:= StrToInt(Edit2.Text);
ShowMessage("Good Integer!");
except
on E: Exception do
ShowMessage(E.Message);
end;
end;


 
arche   (2003-10-21 10:23) [6]

А почему бы не воспользоваться TMaskEdit?


 
Малиновский Владимир   (2003-10-21 11:22) [7]

private
OldText : string; // Тут хранится значение до изменения

...
procedure TForm1.Edit1Change(Sender: TObject);
begin
try
if (Trim((Sender as TEdit).Text) <> "") and
(Trim((Sender as TEdit).Text) <> "-") then
StrToInt((Sender as TEdit).Text)
except
(Sender as TEdit).Text := OldText
end

end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
OldText := (Sender as TEdit).Text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := "0"; // Инициализация "правильным" значением
end;



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

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
14-98881
realcoding.net
2003-10-07 21:43
2003.10.30
Внимание! Конкурс :) Ценные призы!


1-98713
Undo
2003-10-20 07:55
2003.10.30
Сипплекс метод


14-98849
Владислав
2003-10-11 14:40
2003.10.30
Как круто! Сразу отрезали :-)


1-98689
Natik
2003-10-21 12:13
2003.10.30
OnKeyPress


1-98735
}|{yk
2003-10-20 12:13
2003.10.30
Карта проблем для DSS