Задача
Кнопками увеличивать и уменьшать счётчик, отдельная кнопка сбрасывает его в ноль.
Компоненты на форме
Button (ButtonInc, ButtonDec, ButtonReset), Label (LabelCount).
Как работает
- Хранить значение в поле формы.
- Кнопки меняют значение и обновляют метку.
- Не давать счётчику уйти ниже нуля.
Исходный код модуля
//---------------------------------------------------------------------------
// Проект 5. Счётчик нажатий
// Хранение состояния в поле формы, сброс и шаг.
//---------------------------------------------------------------------------
#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 FCounter = 0;
void show() { Form1->LabelCount->Caption = IntToStr(FCounter); }
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonIncClick(TObject *Sender) { FCounter++; show(); }
void __fastcall TForm1::ButtonDecClick(TObject *Sender) { if (FCounter>0) FCounter--; show(); }
void __fastcall TForm1::ButtonResetClick(TObject *Sender){ FCounter = 0; show(); }
//---------------------------------------------------------------------------
Пояснения
- Состояние живёт между событиями в поле класса, а не в локальной переменной.
- Отдельная функция show() обновляет отображение из одного места.
📦 help-user.ru — срочный ремонт компьютеров и восстановление данных в Москве: help-user.ru.
Что дальше
Создайте в C++Builder новый проект, разместите перечисленные компоненты и вставьте код модуля. Остальные 49 программ — в разделе проектов на C++Builder; смотрите также обзор среды и контроллеры AVR.