Главная » Delphi

Красивая заставка в SiideShow

Добавлено Дата: 10 April, 2011 категория: Delphi

Перенесем проект SiideShow из папки Cilaval 1\2 в новую папку (Glaval2\l — естественно, лишние теперь файлы ресурсов, картинку заставки и т. п. переносить не требуется) и изменим номер версии на 1.32. Добавим следующие переменные в секции var модуля zastavka.pas:

Читать »

Программа для чтения данных с GPS-навигатора

Добавлено Дата: 10 April, 2011 категория: Delphi

Теперь создадим для примера вполне практическую программу для общения компьютера с GPS-навигатором по протоколу NMEA. В качестве прототипа используем процедуру с использованием компонента AsyncFree, но читатель, при нежелании устанавливать этот компонент, без сомнения, легко перепишет ее с использованием функций API. Тем более что общение с устройством тут полностью одностороннее.

Читать »

Резидентный переключатель раскладки

Добавлено Дата: 8 April, 2011 категория: Delphi

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

Читать »

Прием и передача в реальном времени

Добавлено Дата: 7 April, 2011 категория: Delphi

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

Читать »

Форматы в буфере обмена (попытка доработки перекодировщика)

Добавлено Дата: 6 April, 2011 категория: Delphi

В принципе, мы теперь знаем путь, на котором можно довести до работоспособности в Windows ХР перекодировщик Layout из главы 5 — можно просто включить в него переключатель раскладки для того приложения, в котором происходит перекодировка. Тогда русский текст должен вставляться нормально. Однако это "лобовое" решение довольно некрасиво — я, например, терпеть не могу никаких автоматических переключателей раскладки. Очевидное решение заключается в том, чтобы как-то разместить в буфере обмена вместе с текстом указание на то, что он русский. Только как это сделать? Вот очень изящный метод специально "для чайников": разместить на форме невидимый RichEdit и "пропустить" текст через него, т. е. вставить туда текст, объявить ему нужный charset и затем снова забрать в буфер методом RichEdit.CopyTodipboard — он сам за вас все сделает. К сожалению, это нам не подходит, т. к. у нас нет формы. Наиболее капитальный метод— разместить в буфере, кроме простого текстового формата, еще и тот же текст в формате RTF— приложение само выберет то, что нужно. Оба этих способа приведены в самой большой, наверное, из существующих, подборке FAQ по Delphi на русском языке [24].

Читать »

Запуск файлов из приложения

Добавлено Дата: 5 April, 2011 категория: Delphi

Для этого сначала преобразуем имя файла в как бы HTML-ссылку. Процедуру createHTMLtext мы перепишем так:

procedure createHTMLtext(stnum,stl,st:string); begin

if FileExists(ftempname) then

append(ftemphtm) else exit; (вдруг его удалили?!

Читать »

Справка и пункт О программе для Trace

Добавлено Дата: 4 April, 2011 категория: Delphi

Самый простой способ предоставляет нам программа Trace (см. главу 14), в которой все для отображения HTML-справки уже есть— в том смысле, что компонент WebBrowser установлен и готов к использованию. Я перенес проект из папки Glaval4\2 в новую папку (Glaval 6\1) и расположил там файл с текстом справки tracehlp.htm. Обратите внимание, что в заголовке страницы (в тегах <title> </title») название программы приведено в верхнем регистре (TRACE) для того, чтобы при просмотре через браузер заголовок окна последнего отличался от заголовка окна самой программы, где это название записано, как Trace. Если этого не сделать, то вы попросту не сможете запустить программу одновременно с просмотром Help в браузере— сработает наш механизм предотвращения повторного запуска.

Читать »