- •Объектно-ориентированное программирование
- •Объектно - ориентированное программирование, достоинства ооп. Принцип действия программ управляемых событиями.
- •Основные понятия
- •События
- •События в Delphi
- •Модульное программирование.
- •Нисходящее программирование.
- •Структурное программирование.
- •Понятия объекта, класса объектов.
- •Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм.
- •Данные типа класс, объявление класса, объекты.
- •Данные типа запись, оператор присоединения, правила использования.
- •Методы объекта и их реализация с помощью процедур и функций..
- •Конструкторы и деструкторы.
- •Палитра компонентов. Окно Формы. Инспектор объектов. Окно редактора кода (Среда delphi).
- •Файл проекта. Модуль формы. Файл ресурсов. Файл параметров проекта. Модули. Связь между файлами проекта. (Среда delphi).
- •Визуальные компоненты. Свойства компонентов, динамическое изменение свойств. События и делегирование.
- •Компоненты ввода-вывода и редактирования при разработке приложений.
- •Меню. Создание главного и контекстного меню. Создание приложений с использованием меню.
- •Данные строкового типа. Стандартные подпрограммы для строкового типа.
- •Иерархия объектов. Характеристики объектов. Абстрактный класс. Визуальные компоненты.
- •Создание списков и таблиц. Кнопочные компоненты, переключатели Формы. Модальные формы sdi и mdi приложения.
- •Использование файла ресурсов.
- •Обработка исключительных ситуаций. Стандартные классы исключений.
- •Способы хранения и обработки данных. Связанные списки Использование строковых массивов.
- •Потоки.
- •Процедуры и функции для преобразования данных.
- •Компонент Memo, назначение, правила использования, основные свойства компонента. Ввод и вывод числовых данных с помощью компонента Memo.
- •События. Переменные и их типы.
- •Константы, выражения и функции. Перегрузка функций.
- •Динамические данные. Указатели. Ссылочный тип. Динамические массивы.
- •Организация ссылок на ресурсы Internet, связей между компьютерами.
- •Объявления переменных. Встраиваемые функции.
- •Интерфейсы и реализация.
- •Свойство Canvas. Назначение, свойства объекта Canvas.
- •Основные методы класса Tcanvas для программного построения изображений.
- •Построение изображений в delphi: компоненты Bevel, Shape, назначение, свойства.
- •Создание изображений в Delphi: компонент Image, назначение, свойства.
- •Данные типа файл, типы файлов, объявление файловых переменных. Действия с файлами, связь с внешним файлом.
- •Библиотека dll, назначение, структура библиотеки, правила записи. Использование подпрограмм из dll библиотеки в проекте Delphi.
- •Окна для вывода сообщений (MessageDlg), назначение, принципы использования.
- •Внедрение объектов. Анимация, мультимедиа. Подпрограммы.
- •Ввод и вывод файлов в delphi. Процедуры открытия файлов для чтения, записи, добавления. Закрытие файлов. Текстовые файлы, назначение, правила использования.
Данные строкового типа. Стандартные подпрограммы для строкового типа.
Строковые типы Данные строкового типа – это последовательность символов переменной длины. Такой тип еще называют типом string. Он во многом похож на одномерный массив символов, однако, в отличие от последнего, количество символов в строке–переменной может меняться от 0 до N, где N – максимальное количество символов в строке.
Описание строкового типа состоит из ключевого слова string, после которого в квадратных скобках указано максимальное количество символов строки данного типа. Это количество может выражаться с помощью целой константы или имени целой константы. Если максимальный размер строки не указан, то он автоматически принимается равным 255 – максимально возможная длина строки. (Существуют еще ASCIIZ–строки, длина которых может достигать 65536 символов, но для работы с такими строками нужна особая директива компилятору). Длина переменной такого типа может динамически изменяться между 1 и значением константы. Символы в строке следует воспринимать как пронумерованные в интервале от 1 до значения константы.
Переменную типа STRING можно сравнивать с другой переменной или константой типа STRING, используя операторы =,<,>,<=,>=,<>. Строки сравниваются посимвольно от первого символа. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. Если в одинаковых позициях строк находятся разные символы, большей считается та строка, у которой в этой позиции находится символ с большим кодом.
Подпрограмма - это группа операторов, оформленных как самостоятельная программная единица. Подпрограмма записывается однократно в определенной части программы, а затем в нужных местах программы обеспечивается только обращение к ней. Таким образом, подпрограмма - это эффективное средство экономии памяти.
Стандартные функции обработки строк:
1) Функция Length(Str: String) - возвращает длину строки (количество символов). Пример:
var
Str: String; L: Integer;
{ ... }
Str:='Hello!';
L:=Length(Str); { L = 6 }
2) Функция SetLength(Str: String; NewLength: Integer) позволяет изменить длину строки. Если строка содержала большее количество символов, чем задано в функции, то "лишние" символы обрезаются. Пример:
var Str: String;
{ ... }
Str:='Hello, world!';
SetLength(Str, 5); { Str = "Hello" }
3) Функция Pos(SubStr, Str: String) - возвращает позицию подстроки в строке. Нумерация символов начинается с единицы (1). В случае отсутствия подстроки в строке возращается 0. Пример:
var Str1, Str2: String; P: Integer;
{ ... }
Str1:='Hi! How do you do?';
Str2:='do';
P:=Pos(Str2, Str1); { P = 9 }
4) Функция Copy(Str: String; Start, Length: Integer) - возвращает часть строки Str, начиная с символа Start длиной Length. Ограничений на Length нет - если оно превышает количество символов от Start до конца строки, то строка будет скопирована до конца. Пример:
var Str1, Str2: String;
{ ... }
Str1:='This is a test for Copy() function.';
Str2:=Copy(Str1, 11, 4); { Str2 = "test" }
5) Процедура Delete(Str: String; Start, Length: Integer) - удаляет из строки Str символы, начиная с позиции Start длиной Length. Пример:
var Str1: String;
{ ... }
Str1:='Hello, world!';
Delete(Str1, 6, 7); { Str1 = "Hello!" }
6) Процедура Insert(SubStr: String; Str: String; Pos: Integer) - вставляет в строку Str подстроку SubStr в позицию Pos. Пример:
var Str: String;
{ ... }
Str:='Hello, world!';
Insert('my ',Str, 8); { Str1 = "Hello, my world!" }
7) Функции UpperCase(Str: String) и LowerCase(Str: String) преобразуют строку соответственно в верхний и нижний регистры:
var Str1, Str2, Str3: String;
{ ... }
Str1:='hELLo';
Str2:=UpperCase(Str1); { Str2 = "HELLO" }
Str3:=LowerCase(Str1); { Str3 = "hello" }
Строки можно сравнивать друг с другом стандартным способом:
var Str1, Str2, Str3: String; B1, B2: Boolean;
{ ... }
Str1:='123';
Str2:='456';
Str3:='123';
B1:=(Str1 = Str2); { B1 = False }
B2:=(Str1 = Str3); { B2 = True }
Если строки полностью идентичны, логическое выражение станет равным True.