Пробуем программировать в Lazarus

Попробуем написать очень простое приложение в среде разработки Lazarus. Что же это такое, «Lazarus»? Вот что пишет википедия:
«Lazarus — свободная среда разработки программного обеспечения для компилятора Free Pascal Compiler. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.»
Заинтересовало? Прошу под кат.

Я буду использовать Debian 6.0.2.1 и Lazarus 0.9.28.2-12 beta. По поводу установки. В debiane все сделалось одной командой:


В других linux’ах по разному. Например в Ubuntu — так же, потому что она построена на основе Debian. В Arch Linux не намного сложнее:

Теперь приступим к программированию. Наша задача:

  1. Создать форму с кнопкой и лейбой;
  2. Создать свой класс Timer’a. Добавить ему необходимые методы;
  3. Создать автоматическую работу нашего таймера, на основе системного таймера.

И так, поехали. Создадим форму. Добавим на нее кнопку и лейбу. Переименуем их в понятные имена:

Создание класса в Lazarus такое же простое, как и в Delphi. Для начала создадим новый модуль (Файл — Создать модуль). В нем будет реализован наш класс. Напишем простой интерфейс класса, в разделе type:

После этого можно реализовать методы класса:

Конечно же, все очень «сложно». Теперь реализуем следующее. При нажатии на кнопку, значение нашего счетчика будет увеличиваться и записываться в лейбу. Для этого в главном юните добавим переменную нашего таймера:

Подключили в uses наш юнит. Теперь:

Этим мы объявили саму переменную таймера. Далее необходимо ее инициализировать с помощью конструктора. Заодно и опишем событие кнопки.

Как видите, все очень просто. Процедура создания формы вызывает создание нашего таймера, а нажатие на кнопку, вызывает инкремент таймера. Теперь сделаем чуток сложнее. Добавим системный таймер, при запуске которого, наша программа автоматически будет инкрементировать наш таймер. Добавим на форму компонент TTimer из вкладки System. Я хотел сделать динамический вариант создания таймера, но увы не вышло, таймер сильно «прирос» к форме.

Теперь реализуем событие таймера. Кликните два раза на событии OnTimer в свойствах вашего таймера, пишем код:

Создадим кнопку BtnStartStop. Запишем в ее событие Onclick следующий код:

Мы проверяем, работает ли таймер. Если нет — включаем, если да — выключаем. Не забудем добавить в событие создание формы строчку:

Что бы наш таймер не запускался сам при запуске приложения. Запускаем. Если все работает, идем дальше. Расширим наш класс TMTimer методом SetTime:

Добавим кнопку BtnSetTime, а в нее:

Все очень просто. Запускаем, проверяем. Все должно работать.

Спрашивайте свои ответы, пишите замечания и предложения.

Комментарии 3

  • ЭЭЭЙ, как сделать так, чтобы при нажатии кнопки менялся текст лейбла???????? СРОЧНО!!!

    • Увы, но я не могу срочно отвечать на комментарии, так как мой блог — не коммерческий проект. Да и вы, как-то, не очень вежливо просите, такое впечатление, что настаиваете. С таким подходом вам никто не ответит.

      Ваш вопрос очень примитивный, вам стоит просто подучить Delphi (сам язык). Я в блоге помогаю студентам (возможно), но не выполнением за них работы, а знаниями.

    • Label1 или Label2.Caption:=’Сюда текст’;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *