Способ хранения данных в Turbo Vision

Атомная энергетика. Ядерные реакторы АЭС. Атомный флот. Ядерное оружие

РБМК-1000
Гражданский суда
Авиация

Высшая математика

Задачи
Практикум
Карта сайта
Ядерные реакторы на быстрых нейтронах
География размещения БН
Проект БРЕСТ-ОД-300
Проект БРЕСТ-1200
Реактор БР-5 (10), г.Обнинск
Реактор БОР-60, г. Димитровград
Реактор БН-350, г. Шевченко
Реактор БН-600
Реактор БН-800
Проектные решения систем безопасности
АЭС с БН-800
Схемы обращения с РАО на АЭС с БН-800
Реактор БН-1200
Реализация принципа естественной безопасности в проекте БН-1200
ВВЭР
(Водо-Водяной Энергетический Реактор)
АЭС с ВВЭР-440
ВВЭР-1200
ВВЭР-1000
История разработки и сооружения
Конструктивные особенности реактора ВВЭР
Принципиальная тепловая схема
Реактор Большой Мощности Канальный (РБМК)
РБМК-1000 история создания
Устройство реактора РБМК-1000
Концепции безопасности реакторов РБМК
Тепловыделяющая сборка
Атомные станции
Белоярская АЭС
Балаковская АЭС
Балтийская (Калининградская) станция
Ленинградская АЭС
Ленинградская АЭС-2
Белорусская АЭС
Нововоронежская АЭС
Нововоронежская АЭС-2
Ростовская АЭС
Атомная энергетика
Смоленская атомная станция САЭС
Месторасположение Смоленской АЭС
История строительства
Деятельность
Экологическая политика
Экологический контроль
Атомные надводные корабли
Суда с ядерными энергетическими установками в России
Обзор судов с ядерной энергетической установкой
Атомные энергетические установки в корабельной энергетике
Атомная установка на авианосце
Атомный авианосец проекта «Шторм»
Тяжёлые атомные ракетные крейсеры проекта «Орлан»
История создания крейсеров проекта «Орлан»
Вооружение крейсеров проекта «Орлан»
Тяжелый атомный ракетный крейсер «Киров»
Тяжелый атомный крейсер «Петр Великий»
Разведывательный корабль «Урал»
Тяжелый авианесущий крейсер «Ульяновск»
Атомные ледоколы
Действующие ледоколы России
Атомный ледокол "Россия"
Ледоколы класса "Арктика"
Легендарный ледокол «Ленин»
ПЕРСПЕКТИВЫ АТОМНОГО ПРИВОДА
РИТМ-200 реактор для атомного ледокола
Судовая ядерная ППУ ледокола
Реактор ледокола
Корпус реактора
Система компенсации давления
Система газоудаления
Особенности парогенераторов
Второй контур
Реактор атомохода «Ленин»
Реакторы ОК-150
Универсальный двухосадочный атомный ледокол ЛК-60
Гражданские атомные плавсредства
Атомный сухогруз «Фукусима»
Саванна
ТРАНСПОРТНЫЕ СУДА
Рудовоз Otto Hahn («Отто Ган»)
Атомная подводная лодка
Реакторы для подводных лодок
АПЛ проекта 627
Атомная шестиракетная субмарина «К-19»
Ракетный подводный крейсер стратегического назначения
Атомные подлодки типа «Огайо»
АПЛ «Наутилус». США.
Ядерный реактор для авиации
Атомный противолодочный самолет
Создание атомного бомбардировщика
Летающая «утка» М-60/М-30
Атомный самолет М-19
Самолет с ядерным двигателем NB-36H (X6)
Ядерные двигатели
Стратегия США
Летающая атомная лаборатория
лаборатория
ПЛАВУЧИЕ ЭЛЕКТРОСТАНЦИИ
ПАТЭС Академик Ломоносов
Первый в мире плавающий реактор МН-1А
Физика
Основы электротехники
Базовый общетехнический курс
по электротехнике
Общая электротехника
Примеры решения задач по электротехнике
Решение задач по электротехнике
использование MATLAB
Язык программирования MATLAB
Расчет электрических цепей в Simulink
Моделирование цепей переменного ток
Электрические и магнитные цепи
Электротехнические материалы
Физические основы механики
Волновая оптика
Механика
Теория и синтез машин и механизмов
Информатика
Основы Web технологий
Учебник системного администратор
Основы организации персонального компьютера
Основы вычислительных систем
Основы вычислительных комплексов
Информационные системы и сети
Основные понятия об информации
и информатике
Устройство персонального компьютера
Windows
Microsoft Word
Microsoft Excel
Microsoft Access
Введение в локальные вычислительные сети
Интернет
Средства сжатия информации
Основы защиты компьютерной информации
Основы алгоритмизации
Система программирования Турбо Паскаль
Встроенный ассемблер
Turbo Visio
JavaScript
Примеры программирования на Java
Примеры скриптов для клиента на языке JavaScriptScript
Учебник PHP
Паскаль
Графика
Единая система конструкторской документации
Начертательная геометрия
Сопряжение
Курс лекций по начерталке
Практикум по решению задач
Вопросы к экзамену по черчению
Оформление чертежей
Инженерная графика
Машиностроительное черчение
Выполнение чертежей деталей
Виды соединений деталей
Позиционные задачи
Построения центральных проекций
Искусство
Литература и искусство эпохи Возрождения (Ренессанса)
Примеры решения задач по математике
Элементарная математика
Примеры решения задач курсовой
Кратные интегралы
Векторный анализ
Аналитическая геометрия
Курс лекций математического анализа
ТФКП
Типовой расчет по высшей математике
Введение в математический анализ
Определённый интеграл
Замена переменных
Числовые ряды
Правила вычисления неопределенных интегралов
Дифференциальные уравнения
 

 

Одним из недостатков языка Паскаль (и Турбо Паскаль) является невозможность создания и использования в программе массивов с переменной размерностью - так называемых динамических массивов Коллекции предназначены, строго говоря, для тех же целей, что и массивы языка Турбо Паскаль: они позволяют создать набор из произвольного количества элементов и организуют индексный способ доступа к этим элементам. Доступ к элементам коллекций Часто бывает необходимо каким-либо образом упорядочить коллекцию, т.е. расставить ее элементы в определенном порядке Для создания коллекции следует прежде всего определить тип тех данных, которые будут в ней храниться Поскольку элементы коллекций располагаются в динамической памяти, при их использовании особенно важными становятся вопросы контроля за состоянием кучи. Как уже говорилось, коллекции Turbo Vision обладают свойством полиморфизма -они позволяют хранить различные объекты. Для создания и использования коллекции отсортированных строк в Turbo Vision используется объект TSrtingCollection.

Основным способом хранения данных в Turbo Vision является их размещение в полях объектов. Поток Turbo Vision - это коллекция объектов со специфичным способом хранения элементов: для этих целей коллекция-поток использует дисковый файл, отображаемую память (EMS-память) или файловое устройство (устройство ввода-вывода данных). Для регистрации любого объекта используется обращение к глобальной процедуре Register-Type, определенной в интерфейсной части модуля Objects. Для работы с потоками в Turbo Vision предусмотрен абстрактный тип TStream и три его потомка - TDOSStream, TBufStream и TEMSStream. Базовый объект TStream реализует три метода, используемых для непосредственной работы с потоком Хотя потоки спроектированы в основном для работы с объектами, Вы можете использовать их для хранения не только полей объектов, но и любых других данных. Метод Store осуществляет запись данных в поток. При обнаружении ошибки поток вызывает свой метод TStream.Error, который определяет необходимую реакцию программы. Поток имеет методы, имитирующие файловые процедуры прямого доступа к дисковому файлу Чтобы поместить объект в поток, нужно обратиться к методу Put, передав ему в качестве параметра инициированный экземпляр объекта

Ресурсы - это индексированные потоки. Главное отличие ресурсов от потоков заключается в том, что к объектам, хранящимся в ресурсе, можно обращаться по ключам - уникальным строкам, идентифицирующим объекты. Поскольку ресурс - это поток, для создания ресурса необходимо открыть (создать) поток. Для этого следует использовать метод Init для потока нужного типа (обычно используется буферизованный поток TBufStream или его потомок). После того как поток успешно открыт, в него помещают нужные объекты с их уникальными ключами и затем поток закрывается - файл ресурсов готов. Получить объект из ресурса не представляет проблемы: после инициации файла ресурсов Вы просто используете его метод Get, которому передаете ключ (имя) нужного ресурса Списки строк используются в программах Turbo Vision очень часто, поэтому специально для этого вида ресурсов разработаны два особых объекта - TStrListMaker и TStringList. С помощью TSrtListMaker создается строковый ресурс, а с помощью TStringList ранее созданный строковый ресурс становится доступен программе. Предполагается, что создание строкового ресурса и его использование осуществляется в разных программах, поэтому обоим объектам в Turbo Vision присвоен один и тот же регистрационный номер. По той же причине TStrListMaker имеет метод Put, но не имеет метода Get, a TStringList, наоборот, имеет Get и не имеет Put.

При разработке диалоговых программ часто бывает необходимо не только предоставить пользователю возможность ввода данных, но и проверить их допустимость в данном контексте программы. Если, например, пользователь должен вводить целочисленные величины, то в набранной им строке могут содержаться только цифры, а если от него ожидается ввод имени файла, строка должна представлять собой правильный маршрут поиска дискового файла. Объект TPXPictureValidator проверяет введенную пользователем строку на соответствие некоторому шаблону ввода. Шаблон ввода определяется с помощью специальных символов, подобно тому, как задается допустимый ввод в базе данных Paradox корпорации Borland Как уже говорилось, основное назначение объектов-контролеров состоит в контроле текстовой информации, вводимой пользователем с помощью объектов TInputLine или их специализированных потомков. Для упрощения подключения контролера в объекте TInputLine предусмотрен специальный метод SetValidator, единственным параметром обращения к которому является ссылка на экземпляр объекта-контролера.

Программирование с использованием библиотеки Turbo Vision весьма специфично по сравнению с обычным программированием в среде Турбо Паскаля. Каждый видимый элемент наследует виртуальный метод TView.Valid (Command: Word): Boolean. Если Вы пытались отлаживать какую-либо программу в Turbo Vision, Вы наверняка убедились, что трассировка (пошаговое прослеживание логики работы) таких программ весьма неэффективна Модули Turbo Vision разработаны с учетом возможного использования их в оверлейных программах. Все они могут быть оверлейными за исключением модуля Drivers, который содержит процедуры обработки прерываний и другой системный интерфейс низкого уровня. Большая часть объектов Turbo Vision спроектирована в расчете на их дальнейшее перекрытие в прикладных программах. Типичным примером такого рода объектов является TView, метод Draw которого создает на экране пустой прямоугольник и, следовательно, не может отображать никакой полезной информации Как правило, объекты в Turbo Vision размещаются в куче Порядок вызова наследуемого метода зависит от конкретного алгоритма В этом разделе приводятся примеры программных реализаций некоторых типичных задач, решаемых с помощью Turbo Vision В следующей программе создается строка статуса, содержание которой зависит от установленного контекста подсказки (определяется значением поля TProgram.HelpCtx). Вызывайте наследуемый метод до реализации дополнительных действий Вызывайте наследуемый метод после реализации дополнительных действий В следующей программе на экране создается несколько окон, содержащих один и тот же текст - текст программы Скроллером называется специальное окно, обеспечивающее просмотр (скроллинг) текста. Ниже приводится программа, в которой показано, как можно создать и использовать диалоговое окно для выбора файлов из любого каталога. Стандартная программа содержит поле MenuBar типа ТМепиВаr. Если диалог завершен командой «Установить», на экране разворачивается окно, в котором сообщаются полученные из диалогового окна параметры - текст из строки ввода и настройка кнопок.

Элементы диалоговой среды В среде Турбо Паскаля используется несколько окон, которые могут частично или полностью накладываться друг на друга Для перехода из состояния редактирования к выбору из главного меню используется клавиша F10, для возврата в редактор - клавиша Esc. С помощью диалогового окна уточняется выбранное действие. В диалоговом окне имеется несколько полей, в которых группируется информация о возможностях среды и ее настройке. Все управление средой Турбо Паскаля осуществляется в основном с помощью системы последовательно разворачивающихся меню NEW. Создает и открывает новое окно редактора с именем NONAMExx.PAS. Порядковый номер XX окна зависит от количества окон со стандартным именем NONAME, открытых к моменту обращения к опции. UNDO. В активном окне редактора восстанавливает только что уничтоженную командой Ctrl-Y или измененную строку. RUN. Осуществляет компиляцию, компоновку и исполнение (прогон) программы из файла редактора BREAKPOINTS. Эта опция позволяет просмотреть все контрольные точки и при необходимости удалить, переместить любую контрольную точку или задать условия ее работы. MESSAGES. Активизирует окно сообщений. Окно сообщений содержит вывод инструментальных программ типа GREP и позволяет использовать эти сообщения для поиска нужных фрагментов в текстах программ Основные приемы работы с редактором описаны в гл. 1. Ниже приводится полное описание команд редактора. Все команды редактора можно разделить на команды перемещения курсора, команды удаления/вставки, команды работы с блоками, прочие. При подготовке текстов программ часто возникает необходимость перенести фрагмент текста в другое место или удалить его Некоторые наиболее часто используемые команды можно передать среде непосредственно из режима редактирования COMPILER. Эта опция задает несколько параметров, с помощью которых Вы можете управлять генерацией машинного кода программы. TILE. Располагает окна так, чтобы каждое было видно на экране и все они имели бы приблизительно одинаковые размеры. В меню OPTIONS/COMPILER включены опции, с помощью которых можно управлять работой компилятора Полный формат команды ДОС, осуществляющей вызов Турбо Паскаля

Стандартный знакогенератор ПК IBM PC имеет кодировку символов, изображенную на рис.2.1. Символы с кодами от 0 до 127, образующие первую половину символов знакогенератора (рис.П2.1, а), построены по стандарту ASCII и одинаковы на всех IBM-совместимых ПК. Среда Турбо Паскаля дает исчерпывающую информацию о характере и месте обнаруженной компилятором ошибки. При обнаружении ошибки среда автоматически загружает в окно редактора исходный файл и помещает курсор около того места, где в исходном тексте обнаружена ошибка Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщенияЕсли один из операторов компилировался с директивой {$I+}, то ошибка ввода-вывода приводит к прекращению выполнения программы Эти ошибки всегда приводят к немедленной остановке программы.

Модуль SYSTEM является основной библиотекой Турбо Паскаля. Input и Output - стандартные файлы, необходимые в каждой реализации языка Паскаль Модуль Dos реализует ряд очень полезных программ операционной системы и обработки файлов. Ни одна из программ модуля Dos не определена в стандартом Паскале и поэтому они размещены в собственном модуле Процедуры даты и времени Константы регистра флагов GetDate (var Year, Month, Day, DayOfWeek: Word) Возвращает текущую дату Модуль Сrt содержит подпрограммы управления текстовым выводом на экран дисплея, звуковым генератором и чтения клавиатуры. Модуль Graph представляет собой мощную библиотеку графических подпрограмм универсального назначения, рассчитанную на работу с наиболее распространенными графическими адаптерами IBM-совместимых ПК Константы задания драйверов и режимов работы PaletteType = record {Используется в GetPallete} Procedure Arc(X, Y: Integer; StAngle, EndAngle, Radius: Word) Рисует дугу радиусом Radius от начального угла StAngle к конечному EndAngle, используя X, Y как координаты центра. Procedure GetBkColor; Word Возвращает текущий фоновый цвет.

Программа определения дня недели Программа для определения физической, эмоциональной и интеллектуальной активности человека Подключение библиотеки дополнительных процедур Программа обслуживает файлы данных "записной книжки".

Вернуться на главную