Помогите решить две проблемы

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем blackphoenix, 14 авг 2008.

  1. blackphoenix

    blackphoenix Гость

    Здравствуйте. Подскажите пожалуйста как в выражении FP+=StrToInt(LabeledEdit1->Text); игнорировать ошибку, которая возникает если в LabeledEdit1 ничего не введено, или там не цифровая информация.
    И второй вопрос :
    Для сворачивания программы в системный трей, я использую следующие две процедуры:
    Код (Text):
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Tray->Visible=true;
    Form1->Hide();
    }
    void __fastcall TForm1::N11Click(TObject *Sender)
    {
    Form1->Show();
    Tray->Visible=false;
    }
    После первого нажатия баттон1, программа нормально сворачивается. После процедуры TForm1::N11Click второе сворачивание программы, не убирает ее из панели задач. Подскажите пожалуйста в чем причина.
    З.Ы. Не бейте сильно, я начинающий.
     
  2. blackphoenix

    blackphoenix Гость

    После первого нажатия баттон1, программа нормально сворачивается в трее и исчезает из панели задач.
    Процедура TForm1::N11Click вызывается из PopupMenu, которое всплывает от двойного клика по значку программы в трее. Эта процедура также выполняется нормально. А вот все последующие сворачивания, не убирают программы из панели задач, пока по ней не кликнуть мышкой.
    Подскажите пожалуйста в чем может быть причина.
     
  3. MyQwerty

    MyQwerty Гость

    Можно условием:
    if (LabeledEdit1->Text!="") FP+=StrToInt(LabeledEdit1->Text);
     
  4. MyQwerty

    MyQwerty Гость

    Тогда можно использовать try{} и catch{}
     
  5. blackphoenix

    blackphoenix Гость

    Спасибо за советы. Я решил эту проблему следующим образом. По событию KeyPress, вызываю подпрограмму, и в ней анализирую нажатую клавишу. Если это цифра, или разделительный знак, то оставляю, если иной символ, то игнорирую.
     
  6. blackphoenix

    blackphoenix Гость

    Работает:
    Код (Text):
     void __fastcall TForm1::LabeledEdit1KeyPress(TObject *Sender, char &Key)
    {
    if (((Key<'0')||(Key>'9'))&&(Key!=','))
    Key=0;
    В этом случае, вводятся только цифры и разделительный знака.
     
  7. blackphoenix

    blackphoenix Гость

    Работает. В данном случае не работает (ctrl+v). :)
     
Загрузка...
Похожие Темы - Помогите решить две
  1. mrx13
    Ответов:
    8
    Просмотров:
    258
  2. kuklofon
    Ответов:
    9
    Просмотров:
    576
  3. GREED
    Ответов:
    1
    Просмотров:
    539
  4. vovanabali
    Ответов:
    0
    Просмотров:
    534
  5. zarina
    Ответов:
    0
    Просмотров:
    677

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