
- •Занятие 1. Введение Почему именно Delphi?
- •Что мы видим на экране
- •Контрольные вопросы:
- •Занятие 2. Мое первое приложение в Delphi Вывести текст в окне
- •Задания для самостоятельной работы
- •Кнопки. Какие они бывают и зачем они?
- •Задания для самостоятельной работы
- •Поле редактирования
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 3. Введение в язык программирования Pascal
- •Понятие алгоритма
- •Структура процедуры
- •Правила задания имен языка Pascal
- •Задания для самостоятельной работы
- •Тип данных
- •Числовой тип данных. Целые числа
- •Числовой тип данных. Вещественные числа
- •Описание данных
- •Задания для самостоятельной работы
- •Операции
- •Присвоение значения переменной. Оператор присваивания
- •Задания для самостоятельной работы
- •Задача «Простой калькулятор»
- •Встроенные функции
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 4. Разветвляющийся алгоритм
- •Логический тип данных
- •Описание данных логического типа
- •Логические выражения
- •Разветвляющийся алгоритм
- •Оператор if
- •Оператор выбора case
- •Задания для самостоятельной работы
- •Списки. Компоненты ListBox и ComboBox
- •Зависимые переключатели. Компоненты RadioButton, RadioGroup
- •Задание для самостоятельной работы
- •Добавление формы к проекту
- •Структура модуля Pascal
- •Как открыть форму
- •Задание для самостоятельной работы
- •Способность форм ссылаться друг на друга
- •Задание для самостоятельной работы
- •Просмотр форм и ассоциированных с ними модулей
- •Основные свойства, методы и события формы
- •Менеджер проектов
- •Опции пpоекта
- •Упpавление пpоектами
- •Компиляция и сборка проекта
- •Выполнение и отладка проекта
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 6. Начинаем рисовать
- •Рисование линий
- •Задание цвета
- •Рисование фигур
- •Свойства класса tBrush
- •Вывод текста
- •События формы OnPaint и OnResize
- •Задания для самостоятельной работы
- •Занятие 7. Циклы
- •Цикл со счетчиком: for
- •Цикл с предусловием: while
- •Цикл с постусловием: repeat..Until
- •Использование операторов Continue и Break в циклах
- •Задание случайных чисел. Функция Random. Процедура Randomize
- •Вложенные циклы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 8. Массивы
- •Одномерные массивы
- •Двумерные массивы
- •Компонент tStringGrid
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 9. Строки и символы
- •Символьный тип данных
- •Строковый тип данных
- •Сравнение текстовой информации
- •Функции для работы с текстовой информацией
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 10. Работа с изображениями
- •Редактор Image Editor
- •Как отобразить рисунок в форме
- •Компонент Timer
- •Как заставить картинку двигаться
- •Случайное движение
- •Задание для самостоятельной работы.
- •Движение по закону
- •Задание для самостоятельной работы
- •Управляемое движение
- •Задание для самостоятельной работы
- •Как совместить разные виды движения
- •Задание для самостоятельной работы
- •Использование мыши
- •Занятие 11. Процедуры и функции
- •Описание и вызов процедуры
- •Описание и вызов функции
- •Где описывать процедуры(функции)
- •Передача параметров по ссылке и по значению
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Занятие12. Еще про компоненты Еще раз про списки
- •Функция MessageDlg
- •Задание для самостоятельной работы
- •Главное меню приложения. Компонент MainManu
- •Задание для самостоятельной работы
- •Кнопочная панель. Компонент ToolBar
- •Область редактирования. Компонент Memo
- •Контекстное меню. Компонент PopupMenu
- •Диалоговые окна Windows
- •Задание для самостоятельной работы
- •Занятие 13. Объектно-ориентированный подход (ооп) в программировании Основные понятия ооп
- •Основные принципы ооп
- •Тип данных запись (структура)
- •Задание для самостоятельной работы
- •Классы и объекты в Delphi
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 14. Работа с файлами
- •Общая технология работы с файлами в Delphi
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Занятие 9. Строки и символы
Компьютер можно использовать для обработки не только числовой, но и текстовой информации. Для представления текстовых данных можно использовать символьный и строковый типы данных.
Символьный тип данных
Данными символьного типа являются любые символы, вводимые с клавиатуры: заглавные буквы, цифры, строчные буквы, специальные знаки и т. д. С помощью символьного типа данных можно задать одиночный символ, который можно описать либо с помощью одинарных кавычек, например: ‘A’, ’P’, ’+’, ‘=’, либо указанием его внутреннего кода, которому предшествует символ #. Например, #13 – символ Enter (Ввод), #27 – символ Escape (Отмена). Данные символьного типа описываются с помощью ключевого слова Char, например, с помощью следующего описания задается переменная Ch типа Char:
Var
Ch : Char;
Следующее описание задает две константы sm и enter:
Const
Sm=’*’; enter=#13;
Для присвоения значения символьной переменной используется следующий синтаксис, например:
Ch:=’R’;
Строковый тип данных
Под строкой понимается последовательность символов. При описании строки используется ключевое слово string. При этом допускается задание размера строки – максимальное количество символов. Если размер строки не указывается, то по умолчанию длина строки равна 255 символам. Например:
Var
Str : string;
Ss : string[7];
Строка Str – может иметь максимальный размер 255 символов. Размер строки Ss – ограничен 7 символами.
Для задания значений строковым переменным используется следующий синтаксис, например:
Str:=’Привет’;
Ss:=’Надежда’;
Если строке будет присвоено значение большей длины, она будет усечена до нужного размера.
Над строками определена единственная операция – сцепление(конкатенация) строк, когда в конец первой строки подписывается вторая строка. Операция обозначается знаком +(плюс). Например:
Str:=Str + Ss;
ShowMessage(Str);
Строку можно рассматривать как массив символов вида:
Var Ss : array[0..7] of char;
При этом нулевой элемент строки содержит число символов в строке.
Доступ к нужному символу строки можно получать как к элементу массива, т.е. по его порядковому номеру.
Сравнение текстовой информации
Над символьными и строковыми данными определены операции сравнения, как над логическими, целыми и вещественными данными: =, >, <, >=, <=, <> .
Функции для работы с текстовой информацией
Приведем основные встроенные функции, позволяющие работать с текстовой информацией.
Функция |
Описание |
StrToInt |
Преобразует строку в целое. |
IntToStr |
Преобразует целое в строку. |
FloatToStr |
Преобразует плавающее число в строку. |
StrToFloat |
Преобразует строку в плавающее.число |
StrToDate |
Преобразует строку в дату. |
DateToStr |
Преобразует дату в строку. |
Length |
Возвращает длину символьной строки. |
Copy |
Возвращает подстроку из строки. |
Insert |
Вставить подстроку в нужную позицию строки |
Delete |
Удаляет подстроку из строки. |
Pos |
Возвращает позицию подстроки в строке. |
Ord |
возвращает код для введенного символа |
Chr |
Возвращает символ по его коду |
UpperCase |
Преобразует строку к верхнему регистру букв. |
LowerCase |
Преобразует строку к нижнему регистру букв. |
Пример 1. Функция chr возвращает символ по его коду. Синтаксис:
function Chr(X: Byte): Char;
Например, создадим небольшое приложение, которое по коду символа выводит его представление. Внешний вид формы может быть следующим:
На кнопку “Ввод” напишем обработчик:
var kod:integer;
begin
kod:=StrToInt(Edit1.Text);
label2.caption:=' Символ = '+ chr(kod);
Пример 2. Функция ord возвращает код символа для введенного символа. Синтаксис функции:
function Ord(X);
Например, разработаем приложение, которое по введенному символу будет возвращать его код. Внешний вид приложения:
На кнопку «Ввод» напишем обработчик:
var
kod:integer;
ch:char;
str:string[1];
begin
str:=Edit1.Text;
ch:=str[1];
kod:=ord(ch);
Label2.Caption:='Код символа = '+IntToStr(kod);
end;