Автор: Вячеслав Ачкасов | Учебный центр "ANIT Texno Inform"
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Стоимость обучения с персональным тьютором:
500 руб. [?]
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
24:40:00
Студентов:
1035
Выпускников:
225
В курсе рассматривается среда программирования Lazarus и компилятор FPC.
Lazarus – свободно распространяемая среда программирования на Объектом Паскале, бесплатный аналог Delphi. По этой причине в настоящее время в школах, университетах, гос. учреждениях переходят на Lazarus. В курсе подробно рассматриваются все аспекты создания Windows-приложений.
Специальности: Программист
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
34 минуты
Введение в Lazarus
На этой лекции вы познакомитесь с великолепной бесплатной средой разработка программ - Lazarus. Узнаете об истории развития языков программирования, о бесплатной лицензии GNU, о том, где взять последнюю версию Lazarus и как установить ее, напишите свое первое приложение.
-
Тест 1
21 минута
-
Лекция 2
22 минуты
Анатомия проекта
На этой лекции вы узнаете, как настроить IDE Lazarus для более удобной работы, познакомитесь с составом проекта, напишите интерактивную программу. Также вы изучите новые компоненты TLabel и TEdit.
-
Лекция 3
50 минут
Работа с компонентами
Эта лекция посвящена работе с компонентами. Подробно рассмотрены свойства таких компонентов, как TForm, TPanel, TButton, TBitBtn и TSpeedButton. Рассмотрена возможность изменения размеров панелей с помощью границы-разделителя TSplitter.
-
Тест 2
24 минуты
-
Лекция 4
35 минут
Основы кода
Эта лекция посвящена основам кодирования на Паскале. Рассмотрены такие понятия, как Типы данных, Переменные, Константы, Комментарии, Значения, Выражения, Ключевые слова и так далее. Для закрепления материала приводятся подробные практические примеры по темам лекции.
-
Лекция 5
56 минут
Символы и строки
Лекция посвящена работе с символами и строками. Подробно рассмотрен механизм строк в Lazarus, символьные и строковые типы данных. Подробно рассмотрены компоненты для работы со строками.
-
Тест 4
24 минуты
-
Лекция 7
41 минута
Логические типы, конструкции и компоненты
В лекции представлен исчерпывающий материал по работе с логическими данными. Существующие логические типы, операции над ними, а также компоненты TCheckBox, TCheckGroup, TRadioButton, TRadioBox. Примеры программ демонстрируют все возможности работы с логическими типами.
-
Лекция 8
31 минута
Числа
В лекции подробно рассмотрена работа с числами - целыми и вещественными, знаковыми и беззнаковыми. Дан материал по различным операциям с числами, их преобразовании в другие типы данных, вывод на экран в нужном формате. Материал закрепляется практикой - созданием программы для определения Индекса Массы Тела.
-
Лекция 9
39 минут
Подпрограммы
В данной лекции рассматривается работа с подпрограммами - процедурами и функциями. Подробно рассматриваются аргументы, передаваемые в подпрограммы, параметры по значению, параметры по ссылке. Рассматриваются различные способы реализации подпрограмм, а также такое важное понятие, как область видимости переменных и других объектов.
-
Тест 8
21 минута
-
Лекция 10
31 минута
Циклы и переключатель case
В данной лекции мы изучим работу с циклами for, while, repeat, и переключателем case. Рассмотрим весь материал на небольших практических примерах, показывающих все особенности работы с циклами.
-
Тест 9
21 минута
-
Экранная заставка
Эта лекция написана в виде лабораторной работы, и посвящена закреплению пройденного материала на практике. Описан весь путь создания полноценного рабочего приложения: экранной заставки в виде часов. Кроме того, в лекции описывается работа с системным таймером TTimer и с функцией-генератором случайных чисел Random().
-
Лекция 11
35 минут
Дата и время
Лекция посвящена изучению работы с типом дата-время TDateTime. Изучены компоненты для работы с этим типом, рассмотрены все основные стандартные функции и процедуры для обработки даты-времени.
-
Тест 10
21 минута
-
Лекция 12
39 минут
Массивы простые, многомерные и динамические
Лекция посвящена изучению массивов. Подробно рассматриваются простые, многомерные и динамические массивы, а также функции для работы с ними. Материал подкрепляется практическими примерами.
-
Лекция 13
50 минут
Коллекции (массивы) строк и компоненты для них
В лекции рассматривается тип TStrings, который является базовым типом массивов строк, а также компоненты TMemo, TListBox и TComboBox, которые используют этот тип. Изучаются основные возможности TStrings. Материал подкрепляется практической работой, в которой учащиеся знакомятся со способами обработки строк: их редактированием, сохранением в текстовый файл, считыванием из файла и прочее.
-
Лекция 14
32 минуты
Диалоги
Лекция посвящена изучению работы с диалогами. Приводятся многочисленные примеры, а также рассматриваются принципы работы с графическими файлами.
-
Лекция 15
37 минут
Организация меню и панелей инструментов
На лекции рассматриваются способы организации главного меню, всплывающего меню и панели инструментов, рассматривается компонент TImageList и возможность вывести изображение на пункты меню и кнопки панели.
-
Лекция 16
37 минут
Модули
В этой лекции мы рассматриваем структуру модулей, их создание и подключение к проекту. На конкретном практическом примере рассматривается работа с модулями.
-
Блокнот - шифратор
Данная лабораторная работа закрепляет пройденный материал и показывает на практике реализацию текстового редактора - прототипа стандартного Блокнота Windows. В лекции рассматривается включение модуля стороннего разработчика, практическое применение четырех диалогов.
-
Лекция 17
32 минуты
Деревья
Лекция посвящена работе с древовидными иерархическими структурами данных, и компонентом TTreeView. На практике показаны все основные действия с компонентом.
-
Тест 15
21 минута
-
Лекция 18
27 минут
Многооконные приложения. SDI- и MDI-интерфейсы
На этой лекции мы рассмотрим создание многооконных приложений. На практике научимся создавать модальные и немодальные окна. Подробно изучим создание SDI-интерфейсов, немного коснемся принципов работы MDI-интерфейсов.
-
Лекция 19
26 минут
Консольные приложения и параметры программы
На этой лекции мы научимся создавать консольные приложения, вводить и выводить данные в консольных программах, устанавливать правильную кодировку и использовать параметры программы.
-
Лекция 20
21 минута
Тип TStringList. Работа с папками
Эта лекция посвящена типу TStringList, который удобно использовать для работы с текстовыми файлами и списками строк. В лекции также рассматриваются инструменты для различной работы с папками - создание, удаление, смена текущей папки, проверка на существование.
-
Лекция 21
48 минут
Файлы
На этой лекции мы изучим работу с файлами: текстовыми, типизированными и нетипизированными. Весь материал подкреплен подробными примерами.
-
Тест 18
21 минута
-
Лекция 22
41 минута
Записи и вариант. Сетка строк TStringGrid
Данная лекция рассматривает работу с записями (record), типом данных variant и сеткой строк TStringGrid. Весь материал подкреплен практическими примерами.
-
Телефонный справочник
Данная лабораторная работа закрепляет пройденный материал по темам работы с записями, типизированными файлами и сеткой строк TStringGrid. В процессе работы подробно рассматривается создание программы - телефонного справочника.
-
Лекция 23
1 час 9 минут
DLL
Лекция посвящена работе с динамически подключаемыми библиотеками - DLL. Рассматривается концепция DLL, создание библиотеки, статическое и динамическое связывание библиотеки с приложением.
-
Тестирование и отладка
Лекция носит факультативный характер. Здесь мы рассматриваем виды допускаемых в программировании ошибок, способы тестирования и отладки программ, инструменты встроенного отладчика.
-
Создание справочной системы
Лекция носит факультативный характер. Мы рассматриваем все этапы разработки справочной системы, осваиваем программы NVU и MS HTML Help Workshop, разрабатываем справочную систему, подключаем его к проекту Lazarus.
-
Создание инсталлятора
Лекция носит факультативный характер. Здесь мы рассмотрим создание инсталляционного файла для нашей программы, изучим работу с системой Inno Setup.
-
1 час 40 минут
-
Yan Fantalov
Yan Fantalov

В обработчиках пунктов меню FileCreate и FileOpen, а также в обработчике закрытия формы OnClose - в этих трех процедурах содержится один и тот же код

  {Если есть изменения текста, спросим пользователя, не хочет ли он сохранить
  их перед созданием нового текста}
  if Memo1.Modified then begin
    //если пользователь согласен сохранить изменения:
    if MessageDlg('Сохранение файла',
                  'Текущий файл был изменен. Сохранить изменения?',
         mtConfirmation, [mbYes, mbNo, mbIgnore], 0) = mrYes then
            FileSaveClick(Sender);
  end; //if

Позвольте спросить: не лучше ли было бы вынести этот код в отдельную процедуру, например - в обработчик события формы OnCloseQuery? Насколько я помню по опыту Delphi, вызов этой процедуры сам по себе не должен приводить к закрытию формы. А значит, ее можно использовать и в процедурах очистки Memo1 и чтения из файла... Или в Lazarus так делать нельзя?

Андрей Видикер
Андрей Видикер

Цитата "если мы уберем скобки в первом примере:

if a = b or b then ShowMessage('Истина');

То сообщение "Истина" не будет выполнено. Ведь оператор IF делает только одну проверку, значит, он проверит только a = b. Часть условия с OR будет пропущена, потому что мы не заключили операнды в скобки" - конец цитаты

На самом деле проверяется всё выражение и ничего не будет пропущено, а причина в порядке выполнения логических операций - сначала выполняется OR а потом результат сравнивается с а.

Михаил Лазуренко
Михаил Лазуренко
Россия, Санкт-Петербург
Андрей Приб
Андрей Приб
Казахстан, Актау, КГУТИ им. Есенова