Главная страница
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.026 c
14-98806
Gfa
2003-10-12 13:57
2003.10.30
Смешно :)


6-98757
TButton
2003-09-03 17:55
2003.10.30
ЛАН


1-98657
ИМГусак
2003-10-21 12:38
2003.10.30
Продолжение к теме о simple mapi


6-98783
Vladimir
2003-09-05 11:42
2003.10.30
Подключен ли сетевой кабель


14-98871
Dmitriy O.
2003-09-25 08:55
2003.10.30
Кто делал что то в первые в мире программинга ?