- •Назовите структурные операторы, применяемые в Object Pascal, и их особенности
- •Использовании подпрограмм в Object Pascal и их разновидности
- •Различных механизмах передачи параметров в под программы Delphi
- •Перечислите области видимости элементов классов, применяемые в Object Pascal
- •Расскажите о правилах описания методов в классах и их особенностях
- •Объясните понятия статических, перегружаемых и абстрактных методов
- •Опишите правила наследования классов.
- •Поясните сущность полиморфизма
- •Расскажите о возможностях определения типа объекта во время выполнения программы и приведение типов объектов
- •Опишите жизненный цикл экземпляра класса, расскажите о конструкторе экземпляров класса
- •Расскажите о деструкторе класса экземпляров класса
- •Деструкторе класса экземпляров класса
- •Описание и использование специальных свойств| объекта property
- •Опишите механизм сообщений в ос Windows
- •Расскажите о методах обработки исключительных ситуаций
- •Расскажите о классах, предназначенных для хранения информации в виде списков
- •Основные свойства и методы классов-списков
- •Опишите возможности и особенности хранения строковых массивов в классах-наследниках tStrings
- •Поясните понятие потока и объясните преимущество использования потоков по отношению к традиционным методам чтения/записи данных
- •Расскажите о строчных потоках, построенных на основе оперативной памяти
- •Поясните понятие графического контекста Windows
- •Форматы графических файлов, поддерживаемых Delphi
- •Расскажите о файлах, соответствующих каждой форме приложения в Delphi
- •Опишите структуру приложения на Delphi, расскажите о видах интерфейса приложения с точки зрения расположения его окон на экране
- •Опишите процесс построения приложения в Delphi
- •Опишите основные инструменты среды разработчика Delphi
- •Опишите жизненный цикл экземпляров классов
- •Расскажите о механизме интерфейсов в Delphi
- •Расскажите об интерфейсах (Interface и (Unknown))
- •Расскажите о правилах именования компонентов и автоматическое именование их Средой разработчика
- •Поясните разницу между свойством принадлежности компонентов и свойством визуальной принадлежности
- •Расскажите о взаимосвязях компонентовчерез механизм уведомлений
- •Расскажите о визуальных компонентах-оболочкахи легковесных компонентах
- •Расскажите об организации структуры элементов управления в окне
- •Расскажите об методах расположения визуальных компонентов на экране и управления их размерами
- •Расскажите о свойствах видимости и доступности визуальных компонентов
- •Расскажите о компонентах, предназначенных для вывода на экран текстовой информации
- •Расскажите о компонентах, предназначенных для ввода текстовой информации
- •При помощи каких компонентов можно обеспечить возможность ввода пользователем числовых значений?
- •При помощи каких компонентов можно вывести на экран какое-либо графическое изображение?
- •Расскажите о возможностях элементов управления — кнопок
- •Приведите правила создания компонентов во время выполнения программы
- •Поясните понятие диалогового компонента
- •Поясните разницу между модальными и немодальными диалогами
- •Поясните понятие формы и основы использования форм в Delphi
- •Опишите жизненный цикл формы
- •Расскажите об основах организации многооконных приложений в Delphi
- •Поясните понятие фрейма
- •Расскажите о депозитарии форм
- •Опишите основные методы, применяемые в Delphi для управления окружением программы
- •Расскажите про использование dll в программных продуктах
- •Расскажите про многопоточные приложения
- •Расскажите об особенностях модели сом
- •Расскажите про модель сообщений компонентов
Расскажите о классах, предназначенных для хранения информации в виде списков
Ответ: Для хранения информации в виде списков в Delphi предусмотрено множество классов:
Класс TList — предназначен для хранения информации, представленной не типизированными указателями.
Класс TObjectList — предназначен для хранения информации, представленной экземплярами классов.
Класс TComponentList — предназначен для хранения информации, представленной экземплярами классов-наследников класса TComponent.
Класс TStringList — используется для хранения списка строк и связанных с ними объектов.
Класс TCollection — предназначен для хранения экземпляров классов-наследников класса TCollectionltem.
Основные свойства и методы классов-списков
Ответ: Для всех классов-списков, кроме TStack и TQueue, определены
методы добавления, удаления и вставки элементов Add, Delete и insert.
Всеми классами поддерживается метод Clear, удаляющий из списка все
элементы.
Количество элементов, которое находится в данный момент в списке, и
потенциально возможное количество хранимых элементов без дополнитель-
ных операций выделения памяти, можно получить с помощью свойств Count
и Capacity.
Для доступа к элементам списков, которые унаследованы от TList, исполь-
зуется индексное свойство items. К массивам строк, хранимых в экземп-
лярах классов TStringList, и связанным с ними объектам можно обращать-
ся через свойства strings и Objects, а стеки TStack и очереди TQueue
выдают свои элементы при их удалении из списка, либо с помощью коман-
ды Peek.
Классы TStack и TQueue имеют особенности в системе организации
свойств и методов в связи с тем, что организуют структуры для последо-
вательного доступа. Добавление элементов в них осуществляется методом
Push, а удаление методом Pop.
Опишите особенности классов-списков,
предназначенных для хранения объектов
Ответ: Для хранения объектов с произвольным доступом к ним, то есть
экземпляров классов, предназначены классы TObjectList, TComponentList
и TCollection. Особенностью этих классов является возможность владе-
ния хранимыми объектами в смысле их разрушения при разрушении самих
списков, или при удалении элементов. Разрушение производится методом
Free и снимает с программы, использующей списки, ответственность за
корректное освобождение памяти, выделенной под эти объекты, что суще-
ственно снижает риск появления динамических ошибок и повышает надеж-
ность программы.
Первые два класса производят разрушение объектов опционально, при
истинном значении свойства OwnsObjects, а класс TCollection владе-
ет хранимыми в нем объектами полностью.
Классы-списки последовательного доступа TObjectstack и TObjectQueue
не имеют средств для разрушения хранимых объектов, так как имеют .дру-
гую логическую направленность — они предназначены для временного хра-
нения экземпляров классов, и объекты, которые хранятся в таких списках,
должны быть изъяты оттуда какими-либо фрагментами программы.
Опишите возможности и особенности хранения строковых массивов в классах-наследниках tStrings
Ответ: Для хранения массивов строк в Delphi описан базовый класс
TStrings, в котором объявлены абстрактные методы, описывающие основ-
ные действия, такие как:
» добавление, вставка и удаление строк из массива с возможностью до-
ступа по индексу, а также просто доступ к строке по индексу;
* упорядочивание строк внутри массива;
» загрузка массива из файла или потока и сохранение в файл или поток;
» сопоставление объектов строкам в массиве для хранения более слож-
ных данных или расширенных параметров строк.
Помимо обычных для представления информации в виде списков методов
Add, Delete и Insert, в классе TStringList предусмотрены методы для
добавления строк со связанными объектами AddObject и insertobject.
Получение информации также ориентировано на текстовый характер храни-
мых данных, например, поддерживается возможность получения всего мас-
сива строк в виде одной строки, причем в различных форматах, в зависимо-
сти ОТ используемого свойства — Text, CommaText или DelimitedString.
Строковые массивы поддерживают возможность сохранения информации
в файл или поток и чтения ее оттуда.
Поддерживается автоматическое упорядочивание строк по алфавиту и кон-
троль уникальности.