Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2009, 18:51   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию таймер. откоментируйте код, плиз

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}      int s,m;//этого не было, сам добавил, чтоб заработало
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
              //щелчок на кнопке Старт
        Timer1->Enabled=!Timer1->Enabled;//пустить таймер
        Button2->Enabled=true;
        Label2->Visible=true;
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   //таймер генерирует событие каждые 0.5 с
   Label2->Visible=!Label2->Visible;    //это значит, что 05. с мы видим число, а 0.5 не видим

   if (!Label2->Visible) // это значит если Label2->Visible=false???
        return;//что делает эта функция?
   if (s==59)//s определена в в классе таймера?
   {
   m++; //аналогичный вопрос
   Label1->Caption=IntToStr(m);
   s=0;
   }
   else
   s++;
   //отобразить секунды
   if (s<10)
        Label2->Caption="0"+IntToStr(s);
        else
        Label2->Caption=IntToStr(s);
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
s=0;
m=0;
Label1->Caption="00";
Label2->Caption="00";
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 19:05   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
   if (!Label2->Visible) // это значит если Label2->Visible=false???
Да.
Код:
return;//что делает эта функция?
Просто выход из функции. В данном случае из TForm1::Timer1Timer(TObject *Sender).
Код:
 if (s==59)//s определена в в классе таймера?
   {
   m++; //аналогичный вопрос
Скорее всего они должны были быть объявлены в Unit1.h.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.07.2009, 19:08   #3
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

По моему это задачи из книги Культина. Если да. То почему вы не читаете пояснения к ним.

Последний раз редактировалось profi; 09.07.2009 в 19:12.
profi вне форума Ответить с цитированием
Старый 09.07.2009, 19:48   #4
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

profi: оттуда. почему не читаю? читаю. Но те вопросы, которые я задаю или там не рассмотрены или криво объяснены.
Sazary:
if (!Label2->Visible)
return;//что делает эта функция?
не return, а ВСЁ условие
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 19:49   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
if (!Label2->Visible)
return;//что делает эта функция?
не return, а ВСЁ условие
Если Label2 невидим, то выходим из функции.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.07.2009, 20:20   #6
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

ОФФТОП.
я хочу в этой программе использовать ControlBar, да так, чтобы он был красиво закрашен. в Культине написано, что за это отвечают свойства DrawingStyle, GradientDirection, но в билдере в свойстваъ этого элемента я не нашёл.. может так они назывались в другой версии, а в этой иначе??
P.S. у меня 6ой билдер
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 20:21   #7
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Чуток расширю.
Код:
if (!Label2->Visible) // Если Lable2 невидим...
        return;// выход из функции
   if (s==59)//(s - это глобальная переменная)
   {
   m++; // (тоже глобальная переменная) Это значит увеличить m на 1
   Label1->Caption=IntToStr(m); // вывод в Label1 значение m
   s=0; // обнуление
   }
   else // Если s не равна 59 то ...
   s++; // увеличим на 1
psycho-coder вне форума Ответить с цитированием
Старый 09.07.2009, 20:22   #8
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Если Label2 невидим, то выходим из функции.
выходим, ничего не делая, а если видим, то вообще не входим в эту функцию. результат один и тот же, то есть это совершенно ненужная функция?
Dimarik вне форума Ответить с цитированием
Старый 09.07.2009, 20:25   #9
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от Dimarik Посмотреть сообщение
выходим, ничего не делая, а если видим, то вообще не входим в эту функцию. результат один и тот же, то есть это совершенно ненужная функция?
А если видим то выполняется вот это
Код:
if (s==59)//(s - это глобальная переменная)
   {
   m++; // (тоже глобальная переменная) Это значит увеличить m на 1
   Label1->Caption=IntToStr(m); // вывод в Label1 значение m
   s=0; // обнуление
   }
   else // Если s не равна 59 то ...
   s++; // увеличим на 1
psycho-coder вне форума Ответить с цитированием
Старый 09.07.2009, 20:29   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Dimarik
а если видим, то вообще не входим в эту функцию.
С чего вы это взяли? Если видим, то выполняется все, что ниже.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер graff Общие вопросы C/C++ 11 04.07.2009 01:36
Подредактируйте код плиз Paul_AG Общие вопросы C/C++ 2 08.06.2009 16:32
помогите плиз написать код на следующие вопросы delf7 Фриланс 1 03.01.2008 10:53
Таймер Blondinko Помощь студентам 6 23.10.2007 10:35