• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом


  • Иллюстрированный самоучитель по Delphi 7 для начинающих

    Усовершенствование программы

    Если компонент должен реагировать на некоторое событие, то. нужно написать процедуру обработки этого события и поместить объявление созданной процедуры в объявление типа формы. Например, объявление типа формы разрабатываемой программы должно выглядеть так:

    type
    TForm1 = class(TForm)
    Label5: TLabel; // поле вывода вопроса
    Image1: TImage; // область вывода иллюстрации
    Panel1: TPanel;
    Button1: TButton; // кнопка Ok, Дальше, Завершить
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ButtonlClick(Sender: TObject);
    procedure SelectorClick(Sender: TObject);
    private
    { Private declarations } public
    { Public declarations } end;
    

    В отличие от других, сгенерированных Delphi, строк объявления типа, строка procedure SelectorClick(Sender: TObject) вставлена в объявление вручную.

    Примечание
    При создании процедуры обработки события для обычного компонента (компонента, который добавлен в форму во время разработки формы программы) Delphi автоматически генерирует заготовку процедуры обработки события и ее объявление. Программист должен написать только инструкции процедуры
    .

    В случае создания процедуры обработки события для компонента, который создается динамически, программист должен полностью написать текст процедуры и поместить ее объявление в объявление формы.

    После того как будет написана процедура обработки события, нужно связать эту процедуру с конкретным компонентом. Делается это путем присвоения имени процедуры обработки свойству, имя которого совпадает с именем обрабатываемого события. Например, инструкция:

    selector[1].OnClick: = SelectorClick;
    

    Задает процедуру обработки события Onclick для компонента selector [i]. В листинге 15.2 приведен полный текст программы Тест, версия 2.

    Листинг 15.2. Программа тестирования, версия 2.

    unit test2_;
    interface
    uses
    SysUtils, WinTypes, WinProcs,
    Messages, Classes, Graphics,
    Controls, Forms, Dialogs,
    StdCTRLs, ExtCTRLs;
    type
    TForm1 = class (TForm)
    Label5: TLabel; // поле вывода вопроса
    Image1: TImage; // область вывода иллюстрации
    Panel1: ТPanel; Button1: TButton;
    // кнопка Ok, Дальше, Завершить
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ButtonlClick(Sender: TObject);
    procedure SelectorClick(Sender: TObject);
    private
    { Private declarations } public
    { Public declarations } end;
    var
    Form1: TForm1; // форма
    implementation
    const
    N_ANSWERS=4; // четыре варианта ответов
    N_LEVEL=4; // четыре уровня оценки
    var
    // динамически создаваемые компоненты
    answer: array [1..N_ANSWERS] of TLabel;
    // альтернативные ответы
    selector: array[1..N_ANSWERS+1] of TRadioButton;
    // кнопки выбора ответа
    f:TextFile;
    fn:string; // имя файла вопросов
    level:array[1..N_LEVEL] of integer;
    // сумма, соответствующая уровню
    mes: array [1..N_LEVEL] of string;
    // сообщение, соответствующее уровню
    score:array[1..N_ANSWERS] of integer;
    // очки за выбор ответа
    summa:integer; // набрано очков
    vopros:integer; // номер текущего вопроса
    n_otv:integer; // число вариантов ответа
    otv:integer; // номер выбранного ответа
    
    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.