Delphi и управление ресурсами



   Септик гей порно отзывы порно септик дачник отзывы секс.       кипр отзывы туристов      Порно транссексуалы на e-batsa.pro | порно   

Delphi для начинающих

В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать.
Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах.
Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем -фантастическая!
Delphi — это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.

Введение
Во введении кратко описывается процесс установки Delphi. На примере программы, вычисляющей скорость, с которой бегун пробежал дистанцию, демонстрируется технология визуального проектирования и событийного программирования, вводятся основные понятия и термины.

Предисловие
Введение
Установка Delphi
Начало работы
Первый проект
Форма
Компоненты
Событие и процедура обработки события
Редактор кода
Система подсказок

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

Программа
Этапы разработки программы
Спецификация
Разработка алгоритма
Кодирование
Отладка
Тестирование
Тестирование
Создание установочной дискеты
Алгоритм и программа

Управляющие структуры языка Delphi
На практике редко встречаются задачи, алгоритм решения которых является линейным. Часто оказывается, что алгоритм решения даже элементарной задачи не является линейным. Например, пусть надо вычислить по формуле ток в электрической цепи. Если предположить, что пользователь всегда будет вводить верные данные, то алгоритм решения этой задачи действительно является линейным. Однако полагаться на то, что пользователь будет вести себя так, как надо программе, не следует. Формула расчета предполагает, что величина сопротивления не равна нулю. А что будет, если пользователь введет 0? Ответ простой: возникнет ошибка "Деление на ноль", и программа аварийно завершит работу. Можно, конечно, возложить ответственность за это на пользователя, но лучше внести изменения в алгоритм решения, чтобы расчет выполнялся только в том случае, если введены верные данные.

Управляющие структуры языка Delphi
Условие
Выбор
Инструкция if
Инструкция case
Циклы
Инструкция for
Инструкция while
Инструкция repeat
Инструкция goto

Символы и строки
Компьютер может обрабатывать не только числовую информацию, но и символьную. Язык Delphi оперирует с символьной информацией, которая может быть представлена как отдельными символами, так и строками (поcледовательностью символов).

Символы и строки
Символы
Строки
Операции со строками
Функция length
Процедура delete
Функция pos
Функция сору

Консольное приложение
Хотя данная глава посвящена программированию в Windows, нельзя обойти вниманием так называемые консольные приложения. Консоль — это монитор и клавиатура, рассматриваемые как единое устройство. Консольное приложение — программа, предназначенная для работы в операционной системе MS-DOS (или в окне DOS), для которой устройством ввода является клавиатура, а устройством вывода — монитор, работающий в режиме отображения символьной информации (буквы, цифры и специальные знаки).

Консольное приложение
Инструкции write и writeln
Инструкции read и readln
Создание консольного приложения

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

Массивы
Объявление массива
Операции с массивами
Вывод массива
Ввод массива
Использование компонента StringGrid
Использование компонента Memo
Поиск минимального элемента массива
Поиск в массиве заданного элемента
Алгоритм простого перебора

Процедуры и функции
Часто, работая над программой, программист замечает, что некоторая последовательность инструкций встречается в разных частях программы несколько раз. Например, в листинге 6.1 приведена программа пересчета веса из фунтов в килограммы. Обратите внимание, что инструкции, обеспечивающие ввод исходных данных из полей редактирования, расчет и вывод результата (в листинге они выделены фоном), есть как в процедуре обработки события на кнопке Вычислить, так и в процедуре обработки события OnKeyPress В поле Editl.

Процедуры и функции
Функция
Объявление функции
Использование функции
Процедура
Объявление процедуры
Использование процедуры
Повторное использование функций и процедур
Создание модуля
Использование модуля

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

Файлы
Объявление файла.
Назначение файла
Вывод в файл
Открытие файла для вывода
Ошибки открытия файла
Закрытие файла
Пример программы
Ввод из файла
Открытие файла

Типы данных, определяемые программистом
До этого момента в программах использовались стандартные типы данных: integer, Real, Char, string и Boolean. Вместе с тем, язык Delphi позволяет программисту определить свой собственный тип данных, а затем данные этого типа использовать в программе. Объявляемый программистом новый тип данных базируется на стандартных типах или на типах, созданных программистом ранее.

Типы данных, определяемые программистом
Перечисляемый тип
Интервальный тип
Запись
Объявление записи
Инструкция with
Ввод и вывод записей в файл
Вывод записи в файл
Чтение записи из файла
Динамические структуры данных

Введение в ООП
Исторически сложилось так, что программирование возникло и развивалось как процедурное программирование, которое предполагает, что основой программы является алгоритм, процедура обработки данных. Объектно-ориентированное программирование (ООП) — это методика разработки программ, в основе которой лежит понятие объект. Объект — это некоторая структура, соответствующая объекту реального мира, его поведению. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.

Введение в ООП
Класс
Объект
Метод
Инкапсуляция и свойства объекта
Наследование
Директивы protected и private
Полиморфизм и виртуальные методы

Графические возможности Delphi
Delphi позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации. Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.

Графические возможности Delphi
Холст
Карандаш и кисть
Карандаш
Кисть
Вывод текста
Методы вычерчивания графических примитивов
Линия
Ломаная линия
Окружность и эллипс

Мультимедиа возможности Delphi
Большинство современных программ, работающих в среде Windows, являются мультимедийными. Такие программы обеспечивают просмотр видеороликов и мультипликации, воспроизведение музыки, речи, звуковых эффектов. Типичными примерами мультимедийных программ являются игры и обучающие программы. Delphi предоставляет в распоряжение программиста два компонента, которые позволяют разрабатывать мультимедийные программы

Мультимедиа возможности Delphi
Компонент Animate
Компонент MediaPlayer
Воспроизведение звука
Запись звука
Просмотр видеороликов и анимации

Рекурсия
Рекурсивным называется объект, частично состоящий или определяемый с помощью самого себя. Факториал — это классический пример рекурсивного объекта. Факториал числа п — это произведение целых чисел от 1 до п.

Рекурсия
Понятие рекурсии
Примеры программ
Поиск файлов
Кривая Гильберта
Поиск пути

Отладка программы
Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестирование. Обычно программа редко сразу начинает работать так, как надо, или работает правильно только на некотором ограниченном наборе исходных данных. Это свидетельствует о том, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой.

Отладка программы
Классификация ошибок
Предотвращение и обработка ошибок
Отладчик
Трассировка программы
Точки останова программы
Добавление точки останова
Изменение характеристик точки останова
Удаление точки останова
Наблюдение значений переменных

Справочная система
Каждая программа должна обеспечивать пользователю доступ к справочной системе, содержащей исчерпывающую информацию о программе и о том, как с ней работать. Справочная система программ, работающих в Windows, в том числе и справочная система Delphi, представляет собой набор файлов определенной структуры, используя которые программа Winhelp, являющаяся составной частью Windows, выводит справочную информацию по запросу (требованию) пользователя.

Справочная система
Файл документа справочной информации
Создание справочной системы
Создание проекта справочной системы
Включение в проект файла справки
Характеристики окна справочной системы
Назначение числовых значений идентификаторам
Компиляция проекта
Доступ к справочной информации
Подготовка справочной информации

Примеры программ
Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала учреждений, т. е. практически во всех сферах деятельности человека. Испытуемому предлагается ряд вопросов (тест), на которые он должен ответить. Обычно к каждому вопросу дается несколько вариантов ответа, из которых надо выбрать правильный. Каждому варианту ответа соответствует некоторая оценка. Суммированием оценок за ответы получается общий балл, на основе которого делается вывод об уровне подготовленности испытуемого.

Примеры программ
Система проверки знаний
Требования к программе
Файл теста
Форма приложения
Вывод иллюстрации
Загрузка файла теста
Текст программы
Усовершенствование программы
Игра Сапер 2002

Компонент программиста
Delphi предоставляет возможность программисту создать свой собственный компонент, поместить его на одну из вкладок палитры компонентов и использовать при разработке приложений точно так же, как и другие компоненты Delphi.

Компонент программиста
Выбор базового класса
Создание модуля компонента
Тестирование модуля компонента
Установка компонента
Ресурсы компонента
Установка
Ошибки при установке компонента
Тестирование компонента
Удаление компонента

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

Базы данных
Классификация баз данных
Локальная база данных
Удаленная база данных
Структура базы данных
Модель базы данных в Delphi
Псевдоним базы данных
Создание базы данных
Создание каталога
Создание псевдонима

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

Создание установочного диска
Программа InstallShield Express
Новый проект
Структура
Выбор устанавливаемых компонентов
Конфигурирование системы пользователя
Настройка диалогов
Системные требования

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

Язык Delphi (краткий справочник)
Зарезервированные слова и директивы
Структура модуля
Основные типы данных
Строки
Массив
Запись
Инструкции выбора
Инструкция if
Инструкция case

Кодировка символов в Windows
В Windows в основном используется кодировка, которая называется ANSI. Разновидность набора ANSI, содержащая символы русского алфавита, называется Windows-1251.

Представление информации в компьютере
В обыденной жизни человек имеет дело с десятичными числами. В десятичной системе счисления для представления чисел используются цифры от О до 9. Значение числа определяется как сумма произведений цифр числа на весовой коэффициент, определяемый местом цифры в числе. Весовой коэффициент самой правой цифры равен единице, цифры перед ней — десяти, затем ста и т. д.

Десятичные и двоичные числа
Память компьютера


Рекомендуемая дополнительная литература

Описание диска

Основы языка Delphi

В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать.
Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах.
Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем -фантастическая!

Введение
Для объектов редактор кода выводит список свойств и методов. Как только программист наберет имя объекта (компонента) и точку, так сразу на экране появляется окно подсказки — список свойств и методов этого объекта (В30). Перейти к нужному элементу списка можно при помощи клавиш перемещения курсора или набрав на клавиатуре несколько первых букв имени нужного свойства или метода. После того как будет выбран нужный элемент списка и нажата клавиша Enter, выбранное свойство или метод будут вставлены в текст программы.

Система подсказок
В29 Пример подсказки
В30 Редактор кода автоматически
В31 Окно Code Explorer
Навигатор кода
Шаблоны кода
В32 Список шаблонов кода
В33 В поля диалогового
В34 Пример шаблона кода программиста
Справочная система

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

Алгоритм и программа
Основные символы используемые
Программа Стоимость покупки
Алгоритм программы вычисления
Окно (форма) программы Стоимость покупки
Компиляция
Схема работы компилятора
Язык программирования Delphi
Тип данных
Целый тип

Управляющие структуры языка Delphi
На практике редко встречаются задачи, алгоритм решения которых является линейным. Часто оказывается, что алгоритм решения даже элементарной задачи не является линейным. Например, пусть надо вычислить по формуле ток в электрической цепи. Если предположить, что пользователь всегда будет вводить верные данные, то алгоритм решения этой задачи действительно является линейным. Однако полагаться на то, что пользователь будет вести себя так, как надо программе, не следует. Формула расчета предполагает, что величина сопротивления не равна нулю.

Инструкция goto
Простое число (использование инструкции goto)
Условие
Два варианта алгоритма решения одной задачи
Операторы сравнения
Выполнение логических операций
Выбор
Инструкция if
Алгоритм реализуемый инструкцией ifthenelse
Алгоритм реализуемый инструкцией ifthen

Символы и строки
Компьютер может обрабатывать не только числовую информацию, но и символьную. Язык Delphi оперирует с символьной информацией, которая может быть представлена как отдельными символами, так и строками (по-cледовательностью символов).

Символы
Форма приложения во время разработки
Форма приложения во время работы
Таблица символов
Таблица символов unit tablsim_;
Таблица символов содержит только
Строки
Сравнение строк
Операции со строками
Функция length

Консольное приложение
Хотя данная книга посвящена программированию в Windows, нельзя обойти вниманием так называемые консольные приложения. Консоль — это монитор и клавиатура, рассматриваемые как единое устройство. Консольное приложение — программа, предназначенная для работы в операционной системе MS-DOS (или в окне DOS), для которой устройством ввода является клавиатура, а устройством вывода — монитор, работающий в режиме отображения символьной информации (буквы, цифры и специальные знаки).

Инструкции write и writeln
Инструкции read и readln
Создание консольного приложения
Шаблон главной процедуры приложения

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

Алгоритм простого перебора
Диалоговое окно программы Поиск в массиве
Поиск в массиве
Метод бинарного поиска
Выбор среднего элемента при бинарном поиске
Алгоритм бинарного поиска в упорядоченном
Диалоговое окно программы Бинарный поиск
Свойства компонента CheckBox
Компонент CheckBox
Значения свойств компонента CheckBox1

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

Использование модуля
Использование функции из модуля программиста
Структура проекта в окне Project Manager
Функция
Объявление функции
Примеры функций
Использование функции
Окно программы Поездка на дачу
Пример использования функций программиста
Процедура

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

Открытие файла
Обработка ошибки открытия
Чтение данных из файла
Чтение чисел
Чтение строк
Примеры чтения строк из файла
Конец файла
Окно программы Чтение из файла
Чтение из файла
Объявление файла

Типы данных, определяемые программистом
До этого момента мы работали только с данными, имеющими статическую, неизменяемую во время исполнения программы, структуру. Во время работы программы могли изменяться только значения переменных, в то время как количество переменных всегда оставалось постоянным (отсюда и название — статические структуры). Это не всегда удобно.

Динамические структуры данных
Указатели
Переменнаяуказатель
Динамические переменные
Создание использование
Списки
Графическое изображение списка
Добавление элементов в список
Окно программы Динамический список
Добавление элемента

Введение в ООП
Объектно-ориентированное программирование (ООП) — это методика разработки программ, в основе которой лежит понятие объект. Объект — это некоторая структура, соответствующая объекту реального мира, его поведению. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.

Класс
Объект
Метод
Инкапсуляция и свойства объекта
Наследование
Директивы protected и private
Полиморфизм и виртуальные методы
Диалоговое окно программы Полиморфизм
Демонстрация полиморфизма
Классы и объекты Delphi

Графические возможности Delphi
Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.

Окружность и эллипс
Значения параметров метода Ellipse
Дуга
Значения параметров метода Arc
Прямоугольник
Метод RoundRec вычерчивает прямоугольник
Многоугольник
Сектор
Значения параметров метода Pie
Точка

Мультимедиа возможности Delphi
Хотя анимация, находящаяся в AVI-файле может сопровождаться звуковыми эффектами (так ли это — можно проверить, например, при помощи стандартной программы Проигрыватель Windows Media), компонент Animate обеспечивает воспроизведение только изображения. Для полноценного воспроизведения сопровождаемой звуком анимации следует использовать компонент меdiaPlayer.

Значок компонента Animate
Свойства компонента Animate
На вкладке Сводка информация об AVIфайле
Форма программы Просмотр анимации
Значения свойств компонента Animate1
Свойство
Использование компонента Animate
Значение comonAVi определяет анимацию
Компонент MediaPlayer
Значок компонента MediaPlayer

Зарезервированные слова и директивы
Сначала выполняются инструкции цикла, которые расположены между repeat и until. Затем вычисляется значение выражения Условие, и если оно равно False, то инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие не станет равным True.

Инструкция repeat
Инструкция while
Безусловный переход
Объявление функции
Объявление процедуры
Стандартные функции и процедуры
Математические функции
Преобразования
Работа со строками и символами
Структура модуля

Десятичные и двоичные числа
В обыденной жизни человек имеет дело с десятичными числами. В десятичной системе счисления для представления чисел используются цифры от О до 9. Значение числа определяется как сумма произведений цифр числа на весовой коэффициент, определяемый местом цифры в числе.

Десятичные и двоичные числа
П3 1
П3 2
Память компьютера

Delphi 6 программирование

Эволюция технических средств персональных компьютеров привела к повсеместному вытеснению старой “доброй” ОС MS-DOS значительно более мощными системами Windows, программирование для которых существенно сложнее, чем программирование для MS-DOS. Разработчики систем программирования, и прежде всего такие корпорации, как Microsoft и Borland, не замедлили выпустить соответствующие средства: уже в 1991 году, т. е. сразу после появления Windows 3.1, Borland выпускает Turbo Pascal for Windows, а в 1992 - усовершенствованную версию этой системы программирования - Borland Pascal with Objects 7.0. Эти первые специализированные инструменты требовали основательного знания Windows и были сложны в освоении. Но вот в 1993 году Microsoft выпустила первую визуальную среду программирования Visual Basic, и программирование для Windows стало даже проще, чем программирование для MS-DOS. В ответ на это Borland в 1995 году выпустила первую версию Delphi, а затем, с интервалом в 1 год, - еще 4 версии: 2, 3, 4 и 5. Наконец, в середине 2001 г. выпускается версия б, которая и положена в основу этой книги. Замечу, что материал книги можно с некоторыми (часто несущественными) ограничениями использовать и для изучения более ранних версий.
Не секрет, что лучшим языком для изучения и освоения программирования является Паскаль, а лучшей в мире системой программирования для MS-DOS - Turbo Pascal. Delphi продолжила серию Паскаль-ориентированных средств программирования и, по моему глубокому убеждению, является наиболее удобным инструментом для Windows-программирования.

Динамическое изменение свойств компонента
Поскольку кнопка Button1 в нашей программе способна “звучать”, полезно изменить ее надпись: вместо умалчиваемой надписи Button1, которую автоматически формирует Delphi по имени компонента, назовем кнопку, например, “Звук”. Проще всего это сделать с помощью окна формы и Инспектора объектов, т. е. на этапе конструирования формы (для этого нужно просто изменить свойство caption компонента Button1 в окне Инспектора объектов), но для более полного знакомства с Delphi мы рассмотрим другой способ - динамического[ К сожалению, эта процедура работает не всегда: если ваш ПК не оснащен звуковой картой, динамик будет молчать.

Строковый и символьный типы
Окно программы CopyTxt
Опция Help
Окна справочной службы
Окно службы OpenHelp
TCheckBox независимый переключатель
Вариантные массивыпараметры
Компоненты для работы с базами данных
Строки
Создание объекта отображения

TMaskEdit специальный редактор
Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, TMaskEdit работает как обычный редактор TEdit. Свойство IsMasked: Boolean доступно только для чтения и содержит True, если строка шаблона задана. Свойство EditText: string содержит текст до наложения на него маски шаблона (т. е. то, что ввел пользователь), а свойство Text: String может (в зависимости от шаблона см. ниже) содержать либо исходный текст, либо результат наложения на него маски шаблона.

Разновидности форм
Класс EXCEPTION обработка исключений
APPLICATION
Константы простых типов и типа STRING
Этапы разработки
Опция Edit
Окно выравнивания компонентов
Окно изменения размеров компонентов
Окно масштабирования компонентов
Страница WebServices

Задание идентифицирующей строки
Для задания перекрестных ссылок, реализующих скачок от одного раздела к другому, разделы помечаются уникальными идентифицирующими строками (идентификаторами). Только помеченные идентификаторами разделы можно просматривать в рамках гипертекстовой системы (непомеченные разделы могут быть доступны для просмотра по ключевым словам и в порядке просмотра связанных разделов).

Пример задания перекрестных ссылок
Пример использования окна пояснений
Опция Project
Окно выбора языков локализации
Окно опций проекта
TTreeView дерево иерархии
Пример использования компонента TTreeView
Редактор компонента
Палитра компонентов
Окно редактора палитры компонентов

Клавиатура в MSDOS и Windows
Следует заметить, что Windows значительно “строже” относится к использованию клавиатуры, чем MS-DOS. Это может вызывать проблемы при переносе игровых приложений, а также приложений, созданных с помощью FoxPro или Clipper, в среду Delphi.

Клавиатура в MSDOS и Windows
Классы TSTRINGS И TSTRINGLIST наборы строк

Delphi - сборник статей

Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу, то несомненно внешний вид программы будет намного привлекательнее (главное не переборщить, увлекаясь дизайном, не надо забывать о том что программа должна быть удобна и проста в использовании! ).
Итак, как же совместить Флэш и Дельфи? (Надеюсь, что у вас Флэш установлен:))
Запустите Дельфи и выберите пункт меню Component->Import ActiveX Control... Перед вами откроется диалоговое окно с заголовком Import ActiveX Control. В разделе Registered Controls выберите Shockwave Flash. В разделе Pallete Page... Выберите страницу в палитре компонентов, на которой будет располагаться установленный компонент (по умолчанию это ActiveX). В разделе Unit Dir Name... путь к папке куда будет установлен компонент.

Delphi и Flash. Совмещение несовместимого
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу, то несомненно внешний вид программы будет намного привлекательнее (главное не переборщить, увлекаясь дизайном, не надо забывать о том что программа должна быть удобна и проста в использовании! ).

Эксперимент
Мой эксперимент заключается в следующем. Создать 3d-движок с нуля. Это значит, что нужно, ни на что не опираясь, ввести формат тел, формат анимации, комплекс процедур для реализации в движке методов аналитической геометрии и физики. И, двигаясь по порядку, я начинаю с создания формата моделей

Принцип костной деформации
Формат файла модели

Улучшение вспомогательных окон среды Delphi
В практике программирования в среде часто приходится пользоваться вспомогательными окнами, в которых необходимо вывести сообщение - однострочное или многострочное или задать вопрос (также однострочный или многострочный) с тем, чтобы получить от пользователя программы ответ, который необходим для разрешения какой-либо ситуации.

Улучшение вспомогательных окон среды Delphi - 2
Несколько слов об обсуждении названной статьи. Нельзя сказать, что оно было продуктивным. Главным образом, обсуждающие демонстрировали свою просвещенность, не вдаваясь особенно в суть предлагаемых решений. И все же один из принявших участие в обсуждении под псевдонимом Gemini высказал интересную мысль о том, что код, изложенный в статье, может быть с успехом использован не только для русификации, но и, вообще, для быстрой иной "национализации" надписей окна окна (такой мысли у меня даже не было).

Обход дерева каталогов с прерыванием и возобновлением или "Куда мы идем завтра?"
Недавно занимаясь интересной задачкой по написанию службы индексации, столкнулся с интересным вопросом: " А как бы нам поиск заморозить и продолжить после (через минуту, завтра, через месяц)?". Да конечно можно сказать - что у тебя за машина такая, вот у меня дерево каталогов обходит за 3 минуты... Согласен, это не вопрос. Но когда нужно не просто обходить, а еще и выполнять некоторые действия с файлами, да если их на диске 150 тыс. и больше, да еще не загружая процессор на 100%, то время может затянуться до нескольких суток, вот тогда - как быть?

Постановка задачи
На компьютерах с операционными системами Windows NT x.x при установке создается учетная запись локального администратора, которая имеет неограниченные права на данном компьютере. Если компьютер предполагается использовать в домене, то, как правило, технический персонал устанавливает один и тот же пароль для данной учетной записи. И как правило он не очень сложный.

Постановка задачи
ADSI
VBS
Реализация на Delphi.

Создание графического интерфейса пользователя средствами Win32 API
С появлением разнообразных визуальных средств разработки приложений, написание графических интерфейсов программ превратилось в подобие детской игры. Ткнул мышкой - появилась формочка, второй раз ткнул - кнопочка нарисовалась. Как мне кажется, многие сейчас не помышляют об ином способе программирования в графической среде. Безусловно, против прогресса не попрешь, при написании больших проектов все эти удобства очень даже кстати. Но разговор не об этом. Иногда дело доходит до абсурда, примитивное приложение пишется с использованием MFC, VCL etc.

Дельфийское слово
Cамая прогрессивная часть человечества - программисты - вынуждены зачастую заниматься изобретением велосипеда. Почему это происходит? В большинстве случаев, реализуемый программистом алгоритм уже присутствует в компьютере пользователя, и даже неоднократно. Но воспользоваться им из новой программы нет возможности, или нет информации, как это делается. Речь пойдет о Delphi-Word.

Установка Delphi для работы с Word
Открытие Word через OLE Automation
Как подключиться к загруженной копии Word
Получение информации из Word
Закрытие Word
Создание нового документа
Открытие существующего документа
Закрытие документа
Вставка текста
Форматирование текста

Комментирование блока текста
После загрузки среды перед нами возникает приветственная страница "Welcome Page". Это новый аналог того самого окошка новостей, которое выглядело довольно неказисто, если ваш компьютер не был подключен к интернету во время работы. Однако не стоит так же сбрасывать со счетов и новый вариант. Кроме ленты новостей (RSS), "Welcome Page" содержит немало полезных ссылок.

Сворачивание части кода
Help Insight
Error Insight
Sync Edit
История изменений
Но, есть и неприятные моменты.
Рефакторинг
Unit-тестирование
Компилятор
For..in..do

Язык описания математических формул
Те, кто занимаются различными научными расчетами или написанием научного программного обеспечения часто сталкиваются со следующей проблемой: "Каким образом добавить возможность интерактивно вводить и вычислять математические формулы в своей программе?"

Алфавит языка описания формул
Элементарные конструкции
Типы данных
Комментарии
Структура формулы
Грамматика языка описания формул
Буква
Вещественное число
Число
Входная переменная

База данных без BDE
Полная зависимость от прихотей этого мощного, но при этом не лишенного недостатков механизма связи с базами данных с самого начала нравилась далеко не всем. Тем не менее, до последнего времени BDE была одним из наиболее распространенных механизмов доступа к данным из приложений, разработанных с использованием систем программирования от Borland.

DbExpress и MySQL
Усложняем проект
Заключение
MySQL: краткая справка
Установка и управление MySQL
FWS-компоненты для работы с базами
TjanSQL v.1.1
MiTeC DBFTable v.1.5
Delphi 6: первое знакомство
Введение в Delphi 8

Создание заставок для ваших программ
Наверно, каждый программист на Дельфи хоть раз хотел создать к какой-нибудь своей программе заставку. В этой статье мы рассмотрим создание заставок в Дельфи. Тому кто умеет работать более чем с одной формой в приложении, будет очень легко это понять. Чтобы не вдаваться в теорию, начнем сразу с практики.

Редактор диска своими руками
Для начала разберемся как происходит само чтение диска. Проще всего это делать в Windows 2000/XP (с правами администратора, конечно). Работа с жестким диском в этих операционных системах производится путем открытия диска как файла с помощью функции CreateFile и указания диска или раздела по схеме Device Namespace (открывается физический диск - '\\.\PHYSICALDRIVEn'), полученный хэндл в дальнейшем используется для работы с диском с помощью функций ReadFile, WriteFile и DeviceIoControl.

DLL и Дельфи
Думаю многие знают, что такое DLL (dynamic link library - динамические библиотеки). У библиотек есть немало преимуществ, достаточно веских, что бы их использовать. В этой статье мы научимся создавать и использовать динамические библиотеки в своих проектах.

Особенности работы с "русским" Excel'ем
Написанное приложение, прекрасно работающие с Excel'ем на собственном компьютере, часто, после переноса приложения на другой компьютер, оказывается неработоспособным! Отчего так происходит? В этой статья я собираюсь описать разницу в работе русской версии Excel'я из VBA и через COM интерфейс (библиотеку типов, TLB) из Delphi. Почему возникли расхождения? Ответа на эти вопросы у Microsoft я не нашел…

У вас русская версия Excel?
Работа с Range NumberFormat
Формат даты
Формат чисел. Разделители
Цвет в формате
Формулы на листе
Запись формул из Variant-ного массива
Создание колонтитулов

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

Эксперты в Delphi — что это такое?
Стили экспертов
Реализация класса TIExpert
Open Tools API
Регистрация экспертов
Некоторые полезные эксперты

Знакомство с утилитой MEGA V 1.0
В данной статье излагается материал о проблемах связанных с созданием анимированных 3D пресонажей в приложениях использующих OpenGl. Статья расчитана в основном на продвинутого читателя. Для наилучшего восприятия желательно иметь опыт работы со средой программирования Delphi, а также весьма не помешает знать библиотеку OpenGL, графический пакет 3D Studio Max и его расширение Character Studio.

Введение
Знакомство с утилитой MEGA V 1.0
Формат файла GMS
Загрузка файла формата GMS в Delphi
Создание персонажа и вывод на экран
Что такое нормали?
Загрузка фасетных нормалей из файла GMS
Загрузка сглаживающих нормалей из файла GMS
Соглашения
Рекомендуемая литература

Создание базовой формы
Предположим вы создаете приложение с множеством документов. Каждый документ должен обладать возможностью отправить на печать свое содержимое или предоставить возможность предварительного просмотра его печатной формы на экране или предоставить возможность сохранить данные во внешний файл. Таким образом имеем на основной форме набор из трех кнопок: Печать, Промотр, Экспорт.

Создание базовой формы
Создание главной формы
Создание наследуемой формы
Использование форм, созданных ранее

Установка и настройка MPICH
Проблема параллельных вычислений заинтересовала меня совсем не потому что это сейчас модно. Столкнулся с задачей, когда надо было сформировать (для дальнейнего анализа) большой массив данных. Хотелось уменьшить время вычислений имеющимися средствами. Оказывается, организовать параллельные вычисления с использованием моего любимого компилятора — вполне решаемая задача.

Установка и настройка MPICH.
Установка.
Настройка
Модуль mpi на FreePascal.
Простейшая MPI программа на FreePascal.
Основные функции.
Запуск MPI-программы.
Утилита MPIRegister.exe.
Более сложные программы.
Функции двухточечного обмена.

Warnings and Hints
В течение своей профессиональной деятельности программист вырабатывает систему правил, которая позволяет ему не совершать допущенных ранее ошибок и избегать потенциально опасных ситуаций. Ценность правил заключается в том, что они ограждают программиста от не всегда очевидных проблем, дают возможность писать единообразный код и дают возможность поступать формально, тем самым, освобождая "мыслительные" ресурсы на решение поставленной задачи.

Использование констант
Range Check и Integer Overflow Check
Будьте недоверчивы
Значения по умолчанию
Инициализация переменных и полей
Передача параметров
Функции, процедуры и состояния
Контроль достижения предела
Частота выделения-освобождения ресурсов
Область использования переменных

Немного теории
Все цвета в двоичном коде представляются в виде трехбайтовых (или более) последовательностей. Есть различные схемы представления цвета - RGB, HLS, CMYK и некоторые другие, (например OpenGL) которые используются исключительно в системах компьютерной графики, нас они не очень интересуют. Итак, все по порядку. RGB (Red, Green, Blue) представляет цвет следующим образом: это трех байтовая последовательность вида $GGBBRR. Каждый байт представляет определенный оттенок (от 0 до 255) цветов: красный, зеленый, синий. Например, $FF0000 означает чистый синий цвет полной интенсивности, $00FF00 - чистый зеленый, $0000FF - чистый красный, $FFFFFF - черный цвет, $000000 - белый. Таким образом, задав определенное числовое значение, можно добиться того или иного оттенка искомого цвета. Но это в формате RGB.

Немного теории.
Алгоритмы

Пишем простой хелп
Справочная система (далее в тексте также - "справка") - важная составная часть любой более-менее сложной (и даже простой) программы. Существуют разные форматы справочных систем. Справка в формате WinHelp - о ней в статье и пойдет речь, Html-help - как, например, справка к ОС Windows или к программам MS Office. В качестве справки может выступать набор связанных html-файлов, например так организована справка к СУБД MySQL.

Пишем простой хелп
Общие сведения
Создание тематических файлов.
Создание оглавления справки.
Создание последовательностей просмотра.
Добавление картинок и гиперссылок.

Hints and Warnings, или Спасение утопающих
Не секрет, что гораздо сложнее бороться с ошибками, возникающими во время выполнения программы, особенно, когда они приводят не просто к ее "падению", а к неадекватной работе, наслаивая проблемы и создавая "наведенные" ошибки. И здесь уже надежды на компилятор нет... Спасение утопающих, как известно, дело рук этих самых утопающих.

Типы сообщений компилятора
Безобидные(?) Hints
О пользе сообщений компилятора
Коварные Warnings

Иконки в трейбаре? Проще чем кажется!
Во многих форумах с завидной систематичностью выплывают вопросы об иконках в трее и многие программеры с недовольством отвечают: "Это же так просто, почитай документацию". Да, действительно просто - но лучше все посмотреть на практике, в человеческом, так сказать, изложении. Эта статья как раз и предназначена для заполнения некоторого "информационного вакуума" сложившегося по данной теме и расскажет о некоторых приемах работы с треем в Delphi.

Определения
С чего начать
Параметр - тип
Описание параметров:
Tray в чистом виде
Заключение

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

Основные сведения о протоколе XMPP
Jabber — система для быстрого обмена сообщениями и информацией о присутствии (в контакт-листе) между любыми двумя пользователями Интернета на основе открытого протокола XMPP. В отличии от той же Аськи Jabber-сеть имеет на мой взгляд более развитые возможности, а наличие расширений протокола открывает горизонты функциональности на недосягаемые для коммерческих IM-сетей, вот некоторые из них:

Основные сведения о протоколе XMPP
Адресация пользователей в Jabber
Структура XML-пакетов Jabber протокола
Атрибуты элементов XML
Пространства имен XML
Подготовка
Прохождение аутенфикации
RFC 2831 использование MD5-Digest
Базовые семантические модули
Отправка и прием сообщений Message

Разработка приложений для Lotus Notes/Domino в среде Borland Delphi
Lotus Notes / Domino – прекрасная платформа для создания мощных корпоративных информационных систем, ориентированных на групповую работу с электронными документами. В своей работе над комплексной медицинской информационной системой мы на основе тщательного анализа средств разработки и имеющихся на рынке СУБД выбрали Lotus Notes / Domino в качестве основы всей системы. Разработка осуществляется с 1999 года, за это время мы постепенно перешли с версии 4.6 на версию R 5, а затем – на R 6. В данный момент идет тестирование R 6.5 на совместимость с существующим ПО.

Инициализация сессии.
Доступ к базе данных
Работа с базой данных
Работа с документами
Выводы
Литература:

Эффективный способ применения интерфейсов в MDI приложениях
Изначально ставилась задача: разработать модель для построения приложений, ориентированных на работу с базами данных (БД). Под таким приложением подразумевается набор форм, каждая из которых обычно отображает одну таблицу БД. Например, в бухгалтерской или складской программе таблицы "Накладные", "Клиенты", "Товары" удобно расположить на отдельных формах. Несколько таблиц с малым числом строк и столбцов можно было бы расположить на одной форме, например: "Категории товаров", "Типы накладных", "Единицы измерения". Пользователь должен иметь возможность выбирать окно, с которым он хочет работать. Поэтому где-то должно быть меню или список всех или почти всех окон.

Семь чудес и два фокуса на Дельфи
Верите ли Вы в чудеса или нет, Вы наверняка согласитесь со мной, что иногда что-то такое случается с кодом наших программ, и они вдруг перестают компилироваться или, что еще коварнее, начинают выдавать совершенно непредсказуемый результат. И вот тогда, сознайтесь, вас начинают посещать странные мысли об участии во всех этих чудесах неких потусторонних сил.

Чудо Первое (Round Miracle).
Чудо Второе (Absolute Miracle).
Чудо третье (One more low integer miracle).
Чудо четвертое (String Trick).
Чудо пятое (Is-Miracle).
Чудо шестое (Is-Miracle II)
Чудо седьмое (Miracle with Variants).
Фокус первый (Variant trick)

Поддержка MS-макросов в DELPHI
Многие из вас наверняка пробовали свои силы в написании макросов в Word, Excel, Access и других продуктах Microsoft. И немало программистов завидовало Word'у и мечтало встроить поддержку макрокоманд и в свои приложения

С чего начать
Пример 1
Пример 2
Послесловие

НеОбычный TDBGrid
Материал рассчитан на начинающих программистов, которые хотят научиться не только использовать чужие компоненты, но и писать свои. Авторы ни в коем случае не отрицают положительные стороны использования сторонних компонентов, более того, нередко сами их используют. Тем не менее, придерживаются четкого мнения, что если хочешь контролировать ситуацию — нужно знать "как оно там все работает". Обычный TDBGrid можно превратить в мощный инструмент своими руками, заточив его под определенные задачи.

Компонент в ячейке редактирования
Подмена стандартного Inplace-Editor'a в DBGrid
Синхронизация размеров и положения колонок
Вызываем разные меню для заголовков и области
Выделение цветом текущей строки
Сложные заголовки
Запрет перемещения колонок
Имитация внутренних группировок и метки
Рисуем ячейку в стиле заголовка в TDBGrid
Имитация внутренних группировок

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

Передача данных в интернет при помощи InternetExpress
В InternetExpress используются средства поддержки XML из MIDAS 3. Поскольку в настоящее время не все интернет-браузеры поддерживают представление данных по стандарту XML, в InternetExpress реализована специальная технология поддержки XML на основе JavaScript и DHTML, позволяющая использовать InternetExpress браузерами, не поддерживающими XML. Кроме того, если приложение InternetExpress работает с IE 5, то порождаемый им XML-пакет будет специальным образом оптимизироваться.

InternetExpress вблизи
Формирование структуры HTML-документа
Серверная часть приложения InternetExpress
Клиентская часть приложения InternetExpress

Методы нахождения базового маршрута
В теоретическом плане задача решается легко: достаточно перебрать все перестановки городов T[1] .. T[n-2] на маршруте и выбрать ту из них, которая доставляет кратчайший путь. Однако этот метод при существующих возможностях ПК дает результат за приемлемое время вычислений (от нескольких секунд до минуты), если N10. С дальнейшим увеличением N быстродействие комбинаторного метода быстро снижается и его нельзя использовать в практических расчетах.

Методы нахождения базового маршрута
Методы улучшения базового маршрута
Приближенные комбинированные методы
К материалу прилагаются файлы:

Создание сводного отчета в Excel
В списке обсуждаемых тем на Круглом столе Королевства Delphi часто возникает вопрос о построении сводных таблиц. Сводная таблица представляет собой очень удобный инструмент для отображения и анализа данных, возвращаемых запросом к базе данных. Можно, конечно, для этой цели использовать различные пакеты для построения отчетов (вроде FastReport). Но с генераторами отчетов возникает масса вопросов (отсутствие каких либо библиотек, проблемы с экспортом, отсутствие необходимой документации и т.д.). А начальник требует выдать ему отчет приблизительно такого вида: чтобы были видны все продажи, по всем сотрудникам, по всем регионам, по всем товарам за указанный период времени (скажем, за два года), но денег на покупку генератора отчетов не дает.

Реализация простейшего алгоритма распознавания графических образов
На написание данного материала меня подвигла одна, нередко встречающаяся в ответах на вопросы круглого стола, фраза: "Если задумал написать свой … - даже не берись. Дело безнадежное. Это не для одиночек, и тем более не для начинающих (нужна команда серьезных математиков и программистов). Что касается различных "know how", то вряд ли владеющий ими поделится с кем-либо. Такая информация стоит бооольших денег..." На реализацию предлагаемого алгоритма у меня ушло примерно 15 часов.

Немного математики
На написание этого опуса меня спровоцировала статья Юрия Кислякова , который, по моему скромному мнению очень удачно начал мысль о том, что распознавание образов не есть что-то сверхсуперсложное, не поддающееся разуму простых смертных. Давным-давно уже во многих областях техники используются различные автоматы и устройства, более или менее удачно решающие задачу распознавания (это и автомат для сортировки почтовых конвертов по индексу, и зенитная ракета, захватывающая горячее сопло самолетного двигателя, но игнорирующая солнце, и различные системы анализа спутниковых снимков, и голосовой вызов вашего мобильника, и многое-многое другое), тем не менее, людей, уверенных в непреодолимой сложности алгоритмов, очень много.

Немного математики
Реализация
Программа
Заключение

Файлы исходного кода
Этот стандарт документирует стилевое оформление для форматирования исходного кода Delphi. Оригинал статьи создан Чарльзом Калвертом и расположен на . В стандарте использованы материалы команды разработчиков Delphi, сообщества разработчиков библиотеки JEDI. Стандарт так же дополнен некоторыми правилами, созданными на основе собственного опыта разработки.

Файлы исходного кода
Соглашение об именованиях
Использование пробелов
Комментарии
Классы
Интерфейсы
Операторы
Дополнения

Изменение TP Lex & Yacc
Занимаясь разработкой трансляторов на Delphi, рано или поздно сталкиваешься с пакетом TP Lex and Yacc (автор Albert Graef). Пакет этот максимально повторяет оригинальные Lex и Yacc, генерирующие код на языке C. Этот факт при переходе на язык Pascal порождает ряд проблем, а точнее неудобств, которые связаны с различиями в трансляции и структуре языков C и Pascal. Оригинальный Yacc, равно как и TP Yacc, генерируют выходной файл, содержащий функцию yyparse.

(Пред) История
Проблемы
Решение
Новые директивы OLex и OYacc
Подстановки второго этапа
Работа с OLex и OYacc

Увидеть за лесом деревья
Сидел я как-то раз на одном форуме, на котором темы отображались в виде полностью раскрытого дерева. И залезла мне в голову шальная мысль: а как можно сделать такой вот древовидный форум, чтобы данные хранились в БД, а список тем выдавался одним запросом. Причем, чтобы порядок записей тоже определялся в этом запросе, а не приходилось потом полученные темы отсортировывать руками.

Постановка задачи
Простое дерево
Фиксированное дерево
Неограниченное дерево
Сравнительный анализ
Пример реализации

Упрощаем работу с потоками (TStream)
Работа программиста невозможна без работы с данными, которые хранятся в файлах или в памяти. В Delphi введен механизм потокового ввода-вывода, значительно упрощающий наш нелегкий труд. Однако структура данных может быть достаточно сложна. К тому же, в разных проектах она наверняка будет различна. Все это заставляет нас снова и снова писать сотни строчек однообразного кода записи/чтения данных. Утомляет. В этой я покажу, как я решил эту проблему для себя.

Совсем немного теории
Ставим задачу
Реализация
Что дальше?

Использование инструментов криптографии в Delphi-приложениях
Защита информации от несанкционированного доступа и распространения играет все более важную роль в современной жизни. Задача криптографии - обеспечить эту защиту. О том, чем могут быть полезны достижения этой науки для программиста, и как их использовать, и будет посвящена данная статья.

Основные понятия
Популярные алгоритмы
CryptoAPI
Другие полезности

Слежение за процессами
На первый взгляд, задача кажется малорешаемой. На второй - после поиска в MSDN - понимаешь, что она не решаема в User-mode в том смысле, что нет соответствующих API. А впрочем, когда это было проблемой для настоящих программистов?

Слежение за файлами
Outro

Перенос VBA-макросов в Delphi
Запись макроса (меню Excel "Сервис\Макрос\Начать запись…") незаменимая вещь при написании отчетов или создания диаграмм в Excel'е, особенно для тех, кто только начинает с ним работать. Но, записанный в Excel макрос, иногда выглядит довольно громоздко и читается с трудом. В данной статье я хочу рассмотреть методы перевода записанных макросов в более удобный вид для использования их в Delphi.

Варианты решения
Предполагается: знание Delphi на уровне использования DLL, а также написания собственных; знание С++ на уровне написания простейшего приложения в среде MS VC++.

Обоснование
Варианты решения
Немного теории
Немного практики
Заключение
Используемая литература

State-full Web Services на Delphi
Среда Borland Delphi (версии 6 и 7) предоставляет достаточно удобные инструменты по созданию Web Services application. В сочетании с технологией Midas у программиста есть очень эффективный инструмент по созданию N-звенных приложений доступа к корпоративным БД. Тем не менее реализация Web Services в Delphi содержит некоторые существенные ограничения, которые, в целом оправданы, но при переходе на новую платформу, будут вызывать у программистов, привыкших работать с TDCOMConnection, TSocketConnection и т.п. дополнительные сложности.

Введение
Проблемы и их решения.
Дополнительные особенности.
Реализация
Сервер
Клиент
Клиент -2
Сервер

Что такое WEB-сервис ?
Что такое WEB-сервис наверное знает каждый. WEB-сервисы не собственность компании Microsoft, а целый промышленный стандарт на основе открытых протоколов HTTP и SOAP, однако использование в качестве средства разработки платформы .NET позволит создавать WEB-сервисы очень быстро и просто.

Что такое WEB-сервис ?
Простейший WEB-сервис
Атрибут WebMethod
Сложные типы данных в WEB-методах
Архитектура WEB-сервиса
WSDL - язык описания WEB-сервисов.
Создание клиента для WEB-сервиса.
Прокси WEB-сервиса
Вызов WEB-методов. Асинхронный режим.
Заключение

Секция Interface
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу, то несомненно внешний вид программы будет намного привлекательнее (главное не переборщить, увлекаясь дизайном, не надо забывать о том что программа должна быть удобна и проста в использовании! ).

List
Запустите Дельфи и выберите пункт меню Component-Import ActiveX Control... Перед вами откроется диалоговое окно с заголовком Import ActiveX Control. В разделе Registered Controls выберите Shockwave Flash. В разделе Pallete Page... Выберите страницу в палитре компонентов, на которой будет располагаться установленный компонент (по умолчанию это ActiveX). В разделе Unit Dir Name... путь к папке куда будет установлен компонент.

Таблица функций

Delphi 3.Библиотека программиста

Программисты (особенно начинающие) любят задавать вопросы типа: «Скажи, на чем ты пишешь?..» Когда-то этот вопрос выглядел вполне логично. Компиляторы, отладчики, серверы, системы управления базами данных и все остальное только-только выходило из каменного века. Программные инструменты разительно отличались друг от друга по качеству и возможностям. Стоило сделать ставку на неудачный инструментарий, и работа становилась излишне тяжкой, а качество результата - низким.
Сегодня стал актуальным другой вопрос: «А чего стоишь ты сам?» Благодаря непрерывной конкуренции современные средства разработчика стали невероятно мощными и качественными, так что среднему программисту вряд ли удастся выжать из них все возможное. Скорее всего, вы спасуете намного раньше, чем ваш инструментарий - если только не узнаете о нем абсолютно все и не доведете свое мастерство программиста до подлинного совершенства.
Книги этой серии предназначены для углубленного изучения программных инструментов. В них рассматриваются нетривиальные возможности, которые невозможно описать в простейшем учебнике. Полноценные проекты заставляют читателя мыслить на уровне эксперта - напрягать серое вещество, лежащее в основе всего, что мы называем «мастерством».
Конечно, это не единственный путь - например, можно добросовестно набивать шишки обо все острые углы новых технологий и наобум пробовать все подряд, пока что-нибудь не заработает. А можно воспользоваться опытом наших авторов, которые уже прошли стадию обучения и попутно сделали кое-какие заметки на память. Мы тщательно отобрали темы, авторов и методику изложения, чтобы читатель не путался в ненужных вступлениях или редких технологиях, которые ему все равно не понадобятся.

32 разрядные консольные приложения
Большинство этих людей либо вообще ничего не знали о Паскале, либо прошли начальные курсы под руководством других «попугаев», для которых переносимость кода стала высшим достижением во всей компьютерной науке. Так что в учебных заведениях обычно преподавался выхолощенный Паскаль, пригодный разве что для перебора элементов массива или работы с командной строкой. На самом деле C обладает ничуть не большей переносимостью, чем Паскаль, но…, впрочем, довольно - все эти разговоры попросту смешны, поскольку переносимость была и остается мифом.

Консольные приложения
Фильтры
Консольные приложения на Delphi
Hello Delphi
Программа Hello Delphi
Консольный ввод/вывод
Программафильтр на Delphi
Базовая программафильтр
Обработка командной строки
Программа Params

Вопросы безопасности
В групповом поле gbSecurity можно указать, какие действия разрешаются FTP-клиентам, а какие нет. Например, вы можете запретить клиентам удалять каталоги на сервере, для этого следует лишь снять флажок cbDeleteDir. Если вы не хотите, чтобы программа KEEPER32 разрешала клиентам передаватьFRcvBuffer свои файлы на сервер, снимите флажок cbUpload. Внесенные изменения сохраняются кнопкой Save, при нажатии которой вызывается процедура SaveSecure Settings.

Список нежелательных IPадресов
Где и как хранится конфигурация
Процедура LoadSettings
Открываемся!
Вывод списка каталогов и файлов
Процедура GetDirList
Создание прослушивающего сокета
Метод CsSocket GetServer
Как вас обслуживают?
Вход строго по одному

Применение иерархических данных в запросах
Возможности иерархических и реляционных моделей по части запросов сильно расходятся. Реляционная модель хорошо подходит для поиска записей по атрибутам (полям) или объединения таблиц по общим значениям. На SQL такие запросы часто записываются в виде коротких, очевидных выражений.

Использование SQL для поиска среди потомков
Целостность структуры
Использование SQL
Использование SQL
Проблема произвольной вложенности
Использование сохраненных процедур
Процедуры выборки в InterBase
Компоненты TreeData
Работа со свойствами элементов TreeData
Свойства компонентов TreeData

DirectX Графика в проектах Delphi

Ключевым понятием операционной системы Windows, позволяющим понять любую технологию, использующуюся в ней, является понятие библиотеки динамической компоновки (DLL, Dynamic Link Library). Любое полноценное приложение этой операционной системы (32-разрядное приложение, имеющее собственное окно) использует DLL-файлы. По мере необходимости приложение обращается к библиотекам, вызывая из них нужные функции. Например, выполнимый модуль приложения не содержит кода по отображению окна, вывода в окно и реакции на большинство событий. Перечисленные действия реализуются в системных DLL. В частности, использованием такой технологии удается экономить драгоценные ресурсы, один и тот же код не дублируется многократно, а размещается в памяти единожды. К одной библиотеке, как правило, может обращаться одновременно несколько приложений. Библиотеку в такой схеме называют сервером, а обслуживаемое им приложение - клиентом. Сервером и клиентом в общем случае могут являться и библиотека, и приложение. В частности, это означает, что некоторая библиотека, в свою очередь, может "подгружать" функции из другой библиотеки.

Библиотеки динамической компоновки
Технология, основанная на динамических библиотеках, является очень эффективной, потому и стала основой программной архитектуры операционной системы. Однако ей присуще ограничение, не позволяющее использовать парадигму объектно-ориентированного программирования (ООП): библиотеки могут содержать код функций и процедур, а также ресурсы, но не способны содержать описания классов. Это утверждение верно отчасти, я говорю пока о DLL "в чистом виде". По мере развития программирования как технологии, возникла необходимость поддержки ООП на уровне операционной системы.

СОМ-модель
Контроль версии
СОМ-объекты
Интерфейсы
Интерфейсы - 2
Интерфейсы - 3
Интерфейсы - 4
Интерфейсы - 5
Что вы узнали в этой главе
Поверхности

Полноэкранный режим
Конечно, для многих ваших приложений потребуется именно полноэкранный режим, поэтому мы изучим нюансы, связанные с использованием Direct3D в таком режиме. Как обычно для этой книги, рассмотрим особенности на конкретном примере (проект каталога Ех28) модифицированного варианта вращающейся звезды. Теперь звезда вращается в полноэкранном режиме.

Альфа-составляющая цвета
Альфа-составляющая цвета - 2
Альфа-составляющая цвета - 3
Альфа-составляющая цвета - 4
Работа с переменным числом вершин
Работа с переменным числом вершин - 2
Работа с переменным числом вершин - 3
Текстура
Текстура - 2
Текстура - 3

Справочное руководство по Delphi

Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7.0, Borland C++ 4.0, Word for Windows, Program Manager - это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) - определяет особый способ управления нескольких дочерних окон внутри одного большого окна.
Среда Delphi же следует другой спецификации, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. Это было сделано из-за того, что SDI близок к той модели приложений, что используется в Windows 95.


Структура среды программирования
Если Вы используете SDI приложение типа Delphi, то уже знаете, что перед началом работы лучше минимизировать другие приложения, чтобы их окна не загромождали рабочее пространство. Если нужно переключиться на другое приложение, то просто щелкните мышкой на системную кнопку минимизации Delphi. Вместе с главным окном свернутся все остальные окна среды программирования, освободив место для работы других программ.

Дополнительные элементы
Инструментальные средства
Инструментальные средства - 2
Стандартные компоненты
Стандартные компоненты - 2
Подробнее об Инспекторе Объектов
Подробнее об Инспекторе Объектов - 2
Сохранение программы
TButton, исходный текст, заголовки и
TButton, исходный текст, заголовки и - 2

Создание таблиц с помощью компонента TTable
Параметр Name, имеющий тип string, определяет имя индекса. Параметр Fields (также имеющий тип string) обозначает имя поля, которое должно быть индексировано, т.е. имя индексируемого поля. Составной индекс, использующий несколько полей, может быть задан списком имен полей, разделенных точкой с запятой “;”, например: ‘Field1;Field2;Field4’.

Основные понятия о TQuery
Свойство SQL
Свойство SQL - 2
TQuery и Параметры
TQuery и Параметры - 2
TQuery и Параметры - 3
Передача параметров через TDataSource
Выполнение соединения нескольких таблиц.
Выполнение соединения нескольких таблиц. - 2
Open или ExecSQL?

Отладка программы в Delphi

Delphi может включить в исполняемую программу инструкции контроля диапазона значений переменных. Чтобы инструкции контроля были добавлены в программу, нужно во вкладке Compiler диалогового окна Project Options (Рисунок 12.3) установить флажок Overflow checking (Контроль переполнения), который находится в группе Runtime errors (Ошибки времени выполнения).

Понятие рекурсии
Рекурсивным называется объект, частично состоящий или определяемый с помощью самого себя. Факториал — это классический пример рекурсивного объекта. Факториал числа п — это произведение целых чисел от 1 до п. Обозначается факториал числа п так: n!.

Окно программы вычисления факториала
Использование рекурсивной функции
Примеры программы вычисления факториала
Вкладка Compiler диалогового окна Project Options
Примеры программ
Рекурсивный алгоритм поиска файлов
Диалоговое окно Обзор папок
Программа поиск файлов
Кривая Гильберта
Кривые Гильберта первого второго порядков

Наблюдение значений переменных
Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестирование.

Наблюдение значений переменных
Добавление имени переменной в список Watch List
Результат добавления имени в Watch List
Контроль значений переменных
Контроль значения без Watch List
Классификация ошибок
Сообщение об ошибке при запуске из Delphi
Сообщение об ошибке при запуске из Windows
Предотвращение и обработка ошибок
Таблица 13 1 Типичные исключения

Использование редактора Microsoft Word
Справочная система программ, работающих в Windows, в том числе и справочная система Delphi, представляет собой набор файлов определенной структуры, используя которые программа Winhelp, являющаяся составной частью Windows, выводит справочную информацию по запросу (требованию) пользователя.

Добавление закладки
Выбор точки документа для перехода по ссылке
Использование HTML Help Workshop
Основы HTML
HTMLтеги
Создание файла справки
Компиляция
Вывод справочной информации
Описание класса THhореn
Окно программы Использование ActiveX

Представление данных
Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала учреждений, т. е. практически во всех сферах деятельности человека. Испытуемому предлагается ряд вопросов (тест), на которые он должен ответить.

Клетка игрового поля - элемент массива
Массив в начале игры
Форма приложения
Главная форма программы Сапер 2002
Компонент MainMenu
Структура меню программы Сапер 2002
Свойства объекта TMenuItem
Начало игры
Процедура NewGame
Процедура ShowPole

Удаление компонента
Delphi предоставляет возможность программисту создать свой собственный компонент, поместить его на одну из вкладок палитры компонентов и использовать при разработке приложений точно так же, как и другие компоненты Delphi

Выбор пакета для редактирования
Диалоговое окно Confirm
Окно редактора пакета
Выбор компонента удаляемого из пакета
Информационное сообщение о недоступности
Настройка палитры компонентов
Диалоговое окно Palette Properties
Выбор базового класса
Создание модуля компонента
Диалоговое окно New Component

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

Окно BDE Administrator
Диалоговое окно New Database Alias
Регистрация нового псевдонима
Создание таблицы
Тип поля определяет тип информации
Тип
Специальные символы при записи шаблонов
Программа управления базой данных
Поле
Памятники СанктПетербурга

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

Новый проект
Начало работы над новым проектом
В левой части окна проекта
Структура
Команды группы Organize Your Setup
Параметры команды General Information
Некоторые псевдонимы каталогов Windows
Псевдоним
Несколько элементов в группе Features
Команда Setup Types

Операционные системы. Управление ресурсами

Операционная система с точки зрения системного программиста
Операционная система (ОС) есть набор программ, которые распределяют ресурсы процессам.
Приведенная выше формулировка является ключевой для понимания всего курса. Прежде, чем мы ее раскроем, дадим определение входящих в нее терминов. Ресурс - "средство системы обработки данных, которое может быть выделено процессу обработки данных на определенный интервал времени". Простыми словами: ресурс - это все те аппаратные и программные средства и данные, которые необходимы для выполнения программы. Ресурсы можно подразделить на первичные и вторичные. К первой группе относятся те ресурсы, которые обеспечиваются аппаратными средствами, например: процессор, память - оперативная и внешняя, устройства и каналы ввода-вывода и т.п. Ко второй группе - ресурсы, порождаемые ОС, например, системные коды и структуры данных, файлы, семафоры, очереди и т.п. В последнее время в связи с развитием распределенных вычислений и распределенного хранения данных все большее значение приобретают такие ресурсы как данные и сообщения.

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

ОС с точки зрения системного программиста
Операционные системы и ресурсы
Классификация и предварительный обзор ОС
Уровни обработки и модели вычислений
Трехуровневая архитектура клиент/сервер
Точка зрения пользователя
Операционная система процессы оборудование
Аппаратная архитектура и поддержка ОС
Ядро и процессы
Архитектурные концепции операционных систем

Интерфейс пользователя
До сих пор мы рассматривали взаимодействие с ОС, выполняемое из программы при помощи вызовов API - интерфейса прикладного программиста. Теперь рассмотрим взаимодействие вне программы - через команды, вводимые с клавиатуры терминала в интерактивных системах или поступающие во вводном потоке в пакетных системах. В первом случае, как правило, новая команда вводится после выполнения предыдущей, и сама новая команда или ее параметры могут выбираться в зависимости от результатов этого выполнения.

Командный язык и командный процессор
Запуск вторичного командного интерпретатора
Командные файлы и язык процедур
Проблема идентификации адресата
WIMPинтерфейс
Контрольные вопросы


Новые возможности в Maya 6
Помощь для CorelDRAW Х3
Учебник по Corel Painter 8.0
Учебник по Corel Draw 10
Учебный курс по CorelDRAW 12
Help для CorelDRAW Х3
Корпоративные базы данных
Corel Painter 8.0
Учебник по Corel Painter 8.0
Bash - командный интерпретатор GNU Bourne
Объектно-ориентированное программирование на C++
Введение в язык Си++
Язык C++
С++ для начинающих
Perl для системного администрирования
ЗАРОЖДЕНИЕ КРИПТОГРАФИИ
Настройка и работа в Linux
Серверный JavaScript 1.4. Руководство по использованию
CSS
Структуры и алгоритмы обработки данных