консольний додаток на Дельфі h2>
Хоч
і консольні програми вже давно вийшли з моди, за допомогою них можна легко
робити рутинні операції. Вони займають не так багато місця, не вимогливі до
ресурсів та швидко виконуються. У цій статті ми розглянемо створення найпростішого
консольного застосування p>
Intro p>
Сподіваюся,
я вас переконав, що консольні програми в "домашньому господарстві" це
є гуд. Можна наробити кучу програмок, із смішним розміром, що допомагають практично
у всьому. Але як же написати таку програму? Зараз розповім. P>
Що
б написати консольний застосунок потрібно в меню Project вибрати команду View
Source. Потім закрити Всі юніти, які були в проекті і залишити
"голий" dpr файл проекту. Його треба привести до такого виду: p>
program
Project1; p>
($ APPTYPE
CONSOLE) p>
begin p>
end. p>
Директива
($ APPTYPE CONSOLE) призначена для компілятора і повідомляє йому, що програму
потрібно генерувати як консольний додаток. p>
Слід
звернути вніменіе на те, що в Windows Використовується кодування символів ANSI, а в
Досе ASCII. Через це замість російських символів ми ризикуємо побачити абракадаброю.
Для перетворення російських символів у ASCII в кожному вашому проекті буде потрібна
функція p>
function AnsiToAscii (s:
string): string; p>
var i: Integer; p>
begin p>
for i: = 1 to length (s) do p>
begin p>
case s [i] of p>
'А' .. 'п': s [i]: = Chr (ord (s [i]) -64); p>
'р' .. 'я': s [i]: = Chr (ord (s [i]) -16); p>
end; p>
end; p>
AnsiToAscii: = s p>
end; p>
Write
і WriteLn p>
Для
виведення повідомлень у вікно застосовуються процедури Write і WriteLn. Їх основна відмінність
один від одного полягає в тому, що після виконання процедура Write каретка
залишається після слова, а після WriteLn переміщається на новий рядок. Приклад: p>
Write ( 'Some text'); p>
write ( 'else some text'); p>
Ми побачимо: p>
Some textelse some text. p>
WriteLn ( 'Some text'); p>
Write ( 'else some text'); p>
Ми побачимо: p>
Some text p>
else some text p>
Read і ReadLn p>
Процедури
Read і ReadLn призначені для введення в програму значень змінних, тобто
зчитування введених користувачем значень. Вони відрізняються один від одного тим,
що після виконання процедури Read можна прочитати тією ж функцією число,
що стоїть після іншого числа. А якщо ми застосуємо ReadLn, то всі значення, після
перше, ігноруються і каретка переміщається на наступний рядок. p>
Outro p>
Ну
і на останок невеличкий приклад: p>
program
kilometerstometters; p>
($ APPTYPE CONSOLE) p>
uses p>
SysUtils; p>
function AnsiToAscii (s:
string): string;// ця функція дозволяє відображати p>
var i: Integer;// російські символи p>
begin p>
for i: = 1 to length (s) do p>
begin p>
case s [i] of p>
'A' .. '