Обработка данных и ошибок в Edit

Тема в разделе "Pascal and Delphi", создана пользователем Intersap, 28 янв 2011.

Статус темы:
Закрыта.
  1. Intersap

    Intersap Гость

    Пусть в поле Edit вводится число в пределах от Min до Max. Обработку ошибки от ввода букв я сделал, а не подскажите как сделать обработку чтобы если число не попадает в диапазон программа дальше не работала, а просила перезадать число. Спасибо. Тривиальный пример:
    Код (Delphi):
    procedure TForm1.Button1Click(Sender: TObject);

    var u: real; //

    begin

    Label1.Caption := ' ';

    try

    u := StrToFloat(Edit1.Text);

    except

    on EConvertError do

    begin

    Edit1.Text:='';

    exit;

    end;

    end;

    Label1.Caption := FloatToStr(u);

    end;

    end.
     
  2. mss

    mss Гость

    > Обработку ошибки от ввода букв я сделал

    Не сделал ты ее)
    Ничто не мешает юзеру вставить в Edit ошибочную строку из буфера обмена, при этом OnChange не возникнет и твоя программа тут же облажается.
     
  3. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Причем тут OnChange я не очень понимаю, если обоработка ведется при нажатии кнопки , т.е. постфактум.

    добавить условия
    Код (Text):
    try

    u := StrToFloat(Edit1.Text);
    if (u>=min)and(u<=max) then
    begin
    //непосредственно что делает прога после нажатия кнопки
    end;
     
Загрузка...
Похожие Темы - Обработка данных ошибок
  1. kolka
    Ответов:
    6
    Просмотров:
    254
  2. anna
    Ответов:
    9
    Просмотров:
    885
  3. FaRReLL
    Ответов:
    0
    Просмотров:
    869
  4. crow1986
    Ответов:
    8
    Просмотров:
    1.875
  5. Dazzel
    Ответов:
    1
    Просмотров:
    948
Статус темы:
Закрыта.

Поделиться этой страницей