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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-98457
Брат
2003-10-09 17:15
2003.10.30
Долго закрывающееся приложение


3-98440
TASADAR
2003-10-08 12:39
2003.10.30
как программно менять udl файл


6-98767
Support1
2003-08-29 22:22
2003.10.30
Как при коннекте с нетом, получать данные о скорости, и ...


14-98881
realcoding.net
2003-10-07 21:43
2003.10.30
Внимание! Конкурс :) Ценные призы!


7-98914
mitur
2003-08-18 11:00
2003.10.30
Как перевести компьютер в спящий режим (WinXP)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский