- •1.Тип данных “класс”. Объекты и классы.
- •Классы и объекты, понятие экземпляра класса, понятие членов класса
- •Виды классов
- •Классы в языке Object Pascal (среда Delphi)
- •2.Методы класса
- •3.Свойства класса и поля. Отличие свойства класса от полей записи.
- •4. Конструктор и деструктор класса.
- •Назначение конструктора
- •Виды конструкторов
- •Конструктор по умолчанию
- •Конструктор копирования
- •Конструктор преобразования
- •Виртуальный конструктор
- •Деструктор в Delphi
- •5.Использование разделов класса public, protected, published.
- •6. Использование наследования при создании класса.
- •Простое наследование
- •Множественное наследование
- •Delphi (Object Pascal)
- •7. Определение инкапсуляции.
- •8. Определение полиморфизма.
- •Примеры
- •В объектно-ориентированных языках
- •9. Динамическое создание объектов на форме с помощью классов.
- •10-13. Классы
- •14-16 StringGrid.
- •17. Процедуры работы с памятью. Приведите примеры.
- •18. Особенности работы процедур GetMem, BlockRead, функция FileSize .
- •19. Особенности работы процедуры new
- •20. Особенности работы процедуры FreeMem.
- •21. Стек. Локальные переменные и стек. Параметры процедуры и стек.
- •22. Списки. Динамическое создание очереди. Приведите примеры.
- •23. Компоненты работы с базами данных Table, Query, dbGrid, DataSource.
- •25. Занесение информации из базы данных в StringGrid.
- •Interface
- •Implementation
- •Implementation
- •26. Иерархические структуры. Деревья.
- •27. Использование компоненты TeeView для построения деревьев.
- •28. Рекурсия. Рекурсивные функции и процедуры. Рекурсия в программировании Функции
- •29. Выдача сообщений и отладка
- •Место отладки в цикле разработки программы
- •Инструменты
- •Инструменты, снижающие потребность в отладке
- •Оператор try...OnException..._try
- •31. Типы файлов. Операторы последовательного метода доступа.
- •32. Особенности обработки текстовых файлов.
- •33. Особенности работы с файлами с помощью прямого метода доступа.(!хз!)
- •34. Организуется диалогового поиска файлов. Компонента OpenDialog.
17. Процедуры работы с памятью. Приведите примеры.
Addr |
Возвращает указатель на объект. |
AllocMem |
Выделяет на куче блок памяти заданного размера, заполняет его нулями и возвращает указатель на начало блока. |
CompareMem |
Выполняет бинарное сравнение двух участков памяти. |
GetHeapStatus |
Возвращает текущее состояние диспетчера памяти. |
GetMemoryManager |
Возвращает значения указателей полей текущего диспетчера памяти. |
IsMemoryManagerSet |
Определяет, используется в настоящий момент диспетчер памяти, установленный по умолчанию, или был установлен другой диспетчер. |
Ptr |
Возвращает указатель на адрес памяти, переданный в качестве аргумента. |
SizeOf |
Возвращает размер памяти, занимаемый переменной. |
SetMemoryManager |
Устанавливает значения полей диспетчера памяти. |
SysFreeMem |
Высвобождает память, используемую динамической переменной. |
SysGetMem |
Выделяет блок памяти заданного размера и возвращает указатель на него. |
SysReallocMem |
Изменяет размер динамически распределенного блока памяти. |
18. Особенности работы процедур GetMem, BlockRead, функция FileSize .
1.Процедура GetMem пытается получить указанные в StorageSize байт памяти, сохраняя указатель на память в StoragePointer. Если при распределении произошли сбои, то вызывается исключение EOutOfMemory. Память не всегда инициализируется. |
|
Примечания |
Процедура GetMem потоко безопасна, пока IsMultiThread истинено. Для распределения памяти для записей лучше использовать New - пример используется для иллюстрации GetMem и манипуляции указателем. |
2.Процедура BlockRead используется для чтения RecordCount записей данных в Buffer из нетипизированного двоичного файла, данного FileHandle. Файл, должно быть, был назначен, используя AssignFile и открыт с помощью Reset. Подпрограмма Reset по умолчанию открывает файл с размером записи равной 128 байт. Этот размер может быть изменён в этой подпрограмме в значение, более полезное для вас (см. пример). Данные записываются в Buffer(обычно строка или byte массив) из файла. Если recordSize 10 байт, иRecordCount 3, то 3 записи по 10 байт будут занимать 30 байт, взятыми из файла. Фактический число считанных записей сохраняется в дополнительной переменнойRecordsRead. Она будет меньше чем RecordCount, если, например, был достигнут конец файла.
3.Функция FileSize выдает размер открытого файла в записях. Прежде, чем эта функция может использоваться, файл должен быть назначен дескриптору, используяAssignFile и открыт используя подпрограммы Append, Reset илиReWrite.
19. Особенности работы процедуры new
Процедура New выходила в 2-х версиях. Старшая версия - устаревший метод создания объектов (теперь вы можете вызывать, вместо этого, конструктор класса). Первая версия размещает память в переменную типа указателяVariablePointer. New используется, когда память требует фиксированного размера. Используйте GetMem, чтобы указать точный ассигнованный размер для хранения.