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


3-98517
td
2003-10-02 22:38
2003.10.30
Visual FoxPro в dBase IV


1-98609
kukuikar
2003-10-14 18:08
2003.10.30
Как WinAmp


1-98582
Fantom_
2003-10-21 15:36
2003.10.30
Просто вопрос о наследовании...


1-98625
Tolik
2003-10-17 14:59
2003.10.30
Модальное окно





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