1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "С и С++", создана пользователем blackphoenix, 14 авг 2008.

  1. blackphoenix

    blackphoenix Гость

    Репутация:
    0
    Здравствуйте. Подскажите пожалуйста как в выражении FP+=StrToInt(LabeledEdit1->Text); игнорировать ошибку, которая возникает если в LabeledEdit1 ничего не введено, или там не цифровая информация.
    И второй вопрос :
    Для сворачивания программы в системный трей, я использую следующие две процедуры:
    Код:
    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 Гость

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

    MyQwerty Гость

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

    MyQwerty Гость

    Репутация:
    0
    Тогда можно использовать try{} и catch{}
     
  5. blackphoenix

    blackphoenix Гость

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

    blackphoenix Гость

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

    blackphoenix Гость

    Репутация:
    0
    Работает. В данном случае не работает (ctrl+v). :)
     
Загрузка...
Похожие Темы - Помогите решить две
  1. KanycTa
    Ответов:
    1
    Просмотров:
    50
  2. Ким
    Ответов:
    24
    Просмотров:
    1.190
  3. Makc
    Ответов:
    4
    Просмотров:
    281
  4. mrx13
    Ответов:
    8
    Просмотров:
    670
  5. z3RoTooL
    Ответов:
    9
    Просмотров:
    830

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