Delphi. Учимся на примерах
Шрифт:
Откомпилируйте приложение и присвойте ему имя cgi_test.cgi. Этот CGI-сценарий при обращении к нему создает страницу с заголовком "Первый cgi-сценарий на Delphi" и большим текстом на странице: "Это мой первый CGI-сценарий".
Теперь необходимо создать Web-страницу, которая будет обращаться к этому сценарию. Создайте файл с расширением .html следующего содержимого:
Это форма с кнопкой, которая активизирует CGI-сценарий (рис. 19.2).
Рис. 19.2. Web-страница
Для того чтобы протестировать сценарий, необходимо переписать рассмотренные выше файлы на сервер с поддержкой CGI или установить и настроить собственный Web-сервер (например, Apache). Открыв показанную Web-страницу, следует нажать кнопку Выполнить или щелкнуть мышью на ссылке.
В ответ должна быть отображена новая страница с текстом "Это мой первый CGI-сценарий" (рис. 19.3).
Рис. 19.3. Страница, выданная CGI-сценарием cgi_test.cgi
⊚ Все файлы рассмотренного проекта находятся на прилагаемом к книге компакт-диске в папке Chapter_19.
Приложение А
Коды клавиш и их значения
Коды клавиш в десятичном и шестнадцатиричном представлении, а также соответствующие константы и функции Ord перечислены в табл. А.1.
Таблица А.1. Коды клавиш и соответствующие константы
Клавиша | Код в десятичном представлении | Код в шестнадцатеричном представлении | Константа | Функция ord |
---|---|---|---|---|
а, А | 65 | $41 | ord('A') | |
b, B | 66 | $42 | ord('В') | |
с, С | 67 | $43 | ord('С') | |
d, D | 68 | $44 | ord('D') | |
е, Е | 69 | $45 | ord('E') | |
f, F | 70 | $46 | ord('F') | |
g, G | 71 | $47 | ord ('G') | |
h, H | 72 | $48 | ord('H') | |
i, I | 73 | $49 | ord('I') | |
j, J | 74 | $4А | ord('J') | |
k, K | 75 | $4В | ord('K') | |
l, L | 76 | $4С | ord('L') | |
m, M | 77 | $4D | ord ('M' ) | |
n, N | 78 | $4Е | ord('N') | |
o, O | 79 | $4F | ord('O') | |
p, P | 80 | $50 | ord('P') | |
q, Q | 81 | $51 | ord('Q') | |
r, R | 82 | $52 | ord('R') | |
s, S | 83 | $53 | ord('S') | |
t,T | 84 | $54 | ord('T') | |
u, U | 85 | $55 | ord('U') | |
v, V | 86 | $56 | ord('V') | |
w, W | 87 | $57 | ord('W') | |
x, X | 88 | $58 | ord('X') | |
y, Y | 89 | $59 | ord('Y') | |
z, Z | 90 | $5А | ord('Z') | |
0 | 96 | $60 | VK_NUMPAD0 | |
1 | 97 | $61 | VK_NUMPAD1 | |
2 | 98 | $62 | VK_NUMPAD2 | |
3 | 99 | $63 | VK_NUMPAD3 | |
4 | 100 | $64 | VK_NUMPAD4 | |
5 | 101 | $65 | VK_NUMPAD5 | |
6 | 102 | $66 | VK_NUMPAD6 | |
7 | 103 | $67 | VK_NUMPAD7 | |
8 | 104 | $68 | VK_NUMPAD8 | |
9 | 105 | $69 | VK_NUMPAD9 | |
* | 106 | $6А | VK_MULTIPLY | |
+ | 107 | $6В | VK_ADD | |
– | 109 | $6D | VK_SUBTRACT | |
. | 110 | $6Е | VK_DECIMAL | |
/ | 111 | $6F | VK_DIVIDE | |
F1 | 112 | $70 | VK_F1 | |
F2 | 113 | $71 | VK_F2 | |
F3 | 114 | $72 | VK_F3 | |
F4 | 115 | $73 | VK_F4 | |
F5 | 116 | $74 | VK_F5 | |
F6 | 117 | $75 | VK_F6 | |
F7 | 118 | $76 | VK_F7 | |
F8 | 119 | $77 | VK_F8 | |
F9 | 120 | $78 | VK_F9 | |
F10 | 121 | $79 | VK_F10 | |
пробел | 32 | $20 | VK_SPACE | |
Backspace | 8 | $8 | VK_BACK | |
Tab | 9 | $9 | VK_TAB | |
Enter | 13 | $0D | VK_RETURN | |
Shift | 16 | $10 | VK_SHIFT | |
Ctrl | 17 | $11 | VK_CONTROL | |
Alt | 18 | $12 | VK_MENU | |
CapsLock | 20 | $14 | VK_CAPITALE | |
Esc | 27 | $1В | VK_ESCAPE | |
Insert | 45 | $2D | VK_INSERT | |
PageUp | 33 | $21 | VK_PRIOR | |
PageDown | 34 | $22 | VK_NEXT | |
End | 35 | $23 | VK_END | |
Home | 36 | $24 | VK_HOME | |
← | 37 | $25 | VK_LEFT | |
↑ | 38 | $26 | VK_UP | |
→ | 39 | $27 | VK_RIGHT | |
↓ | 40 | $28 | VK_DOWN | |
Delete | 46 | $2Е | VK_DELETE | |
PrintScreen | 44 | $2С | VK_SNAPSHOT | |
ScrollLock | 145 | $91 | VK_SCROLL | |
Pause | 19 | $13 | VK_PAUSE | |
Numlock | 144 | $90 | VK_NUMLOCK |
Приложение
Kylix — Delphi для Linux
В 2001 году компания Borland International, разработавшая Delphi, выпустила продукт под названием Kylix, Kylix— это среда быстрой разработки приложений для Linux. Интерфейсом она почти ничем не отличается от привычного Delphi, а язык программирования, который использует Kylix просто не может не радовать — это Object Pascal. Короче говоря, Kylix — это тот же Delphi, только для ОС Linux. Корпорация Borland предлагает два основных варианта Kylix: Kylix Desktop Developer и Kylix Server Developer. Наиболее полной версией по возможностям и функциональности является Kylix Server Developer.
Существует возможность переносить программы из Delphi в Kylix (само собой, если у программ нет привязки к ОС — например, использования функций WinApi). Стоит сказать несколько слов о совместимости и переносимости исходных кодов программ с Delphi в Kylix. Как известно, в Delphi используется библиотека классов VCL. Для Kylix эта библиотека называется CLX (библиотека компонентов для кросс-платформенной разработки). Впрочем, они довольно совместимы, и в VCL присутствует почти полная поддержка библиотеки классов CLX.
Еще одно небольшое отличие заключается в расширении файлов, содержащих описание форм. В Delphi эти файлы имеют расширение *.dfm, а в Kylix — *.xfm. Это не создает особых неудобств, просто в программах следует изменить директиву {$R .dfm} на {$R .xfm}.
В Kylix, в отличие от Delphi, отсутствует возможность работы с базами данных BDE и ADO. Отсутствует поддержка ActiveX, COM и CORBA. Невзирая на все перечисленные недостатки и аспекты несовместимости с Delphi, Kylix является довольно удобной средой программирования. Тот кто программирует на Delphi, сможет перейти на Kylix без особых затруднений.
Приложение В
Справочник по реестру Windows
Ниже описаны интересные ключи системного реестра Windows. Их можно изменять программно или вручную, используя стандартную программу для работы с реестром regedit.exe. Используя эти ключи реестра, можно расширить шаблон программы для настройки Windows, рассмотренный в главе 12.
Общая настройка ПК
Изменение разрешения экрана
Для изменения разрешения экрана (например, на 800×600) следует внести следующие изменения в реестр:
Ключ:
Значение ключа:
Установка задержки перед появлением контекстного меню
Для того чтобы установить задержку появления контекстного меню в 10 миллисекунд следует создать такой ключ:
Сокрытие изображение стрелки на ярлыках
Для того чтобы убрать изображение стрелки на ярлыках, создайте следующие два ключа: