Пятница, 20.06.2025
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нужен форум на сайте?
Всего ответов: 91
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Разные » Примеры Delphi

Консольное приложение на Дельфи

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

Intro

Надеюсь, я вас убедил, что консольные программы в "домашнем хозяйстве" это есть гуд. Можно наделать кучу программок, со смешным размером, помогающих практически во всем. Но как же написать такое приложение? Сейчас расскажу.
Что бы написать консольное приложение нужно в меню Project выбрать команду View Source. Затем закрыть Все юниты, которые были в проекте и оставить "голый" dpr файл проекта. Его нужно привести к такому виду:

program Project1;

{$APPTYPE CONSOLE}

begin

end.

Директива {$APPTYPE CONSOLE} предназначена для компилятора и сообщает ему, что программу нужно генерировать как консольное приложение.
Следует обратить внимение на то, что в Windows спользуется кодировка символов ANSI, а в досе ASCII. Из-за этого вместо русских символов мы рискуем увидеть абракадабру. Для преобразования русских символов в ASCII в каждом вашем проекте будет нужна функция

function AnsiToAscii(s : string):string;
var i : Integer;
begin
for i:=1 to length(s) do
begin
case s[i] of
'А'..'п' : s[i]:=Chr(ord(s[i])-64);
'р'..'я' : s[i]:=Chr(ord(s[i])-16);
end;
end;
AnsiToAscii:=s
end;

Write и WriteLn

Для вывода сообщений в окно применяются процедуры Write и WriteLn. Их основное отличие друг от друга состоит в том, что после выполнения процедура Write каретка остается после слова, а после WriteLn перемещается на новую строку. Пример:

Write('Some text');
write('else some text');

Мы увидим:

Some textelse some text.

WriteLn('Some text');
Write('else some text');

Мы увидим:

Some text
else some text

Read и ReadLn

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

Outro

Ну и на последок небольшой пример:

program kilometerstometters;

{$APPTYPE CONSOLE}

uses
SysUtils;

function AnsiToAscii(s : string):string; //эта функция позволяет отображать
var i : Integer; //русские символы
begin
for i:=1 to length(s) do
begin
case s[i] of
'A'..'ï' : s[i]:=Chr(ord(s[i])-64);
'ð'..'ÿ' : s[i]:=Chr(ord(s[i])-16);
end;
end;
AnsiToAscii:=s
end;

var
metters, kilometers : Integer;
comm : String;
t : Boolean=false;
label
b;
begin
metters := 0; //инициализация переменных
kilometers := 0;
comm := '';
t := false;
writeln('www.realcoding.net');
b:
t := false;
writeln(AnsiToAscii('Введите величину в километрах и нажмите ')+'[Enter]');
write('->');
try
readln(kilometers);
metters := kilometers*1000;
except
writeln(AnsiToAscii('Ошибка! Введите правильное число.'));
t := true;
end;
if t=true then goto b;
writeln(AnsiToAscii('Результаты:'));
writeln(AnsiToAscii(IntToStr(kilometers)+' километров это '+IntToStr(metters)+' метров'));
writeln(AnsiToAscii('Введите слово ')+'''again'''+AnsiToAscii(', что бы перевести еще что нибудть. Что бы выйти нажмите просто ')+'[Enter]');
try
readln(comm);
if (comm='again') or (comm='''again''') then t := true;
except
end;
if t=true then goto b;
end.

Автор: Brutus

Получить ссылку на материал

Категория: Примеры Delphi | Добавил: Барон (20.12.2011)
Просмотров: 2716 | Теги: консоль | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Delphi.NET [3]
Kylix Delphi for Linux [9]
Советы Дельферу [6]
Хитрости в Delphi [2]
Обзор Delphi [45]
Инсталлятор [11]
Пользовательский интерфейс [18]
Примеры Delphi [93]
Функции и процедуры [15]
Разные [31]
Королевство Delphi © 2010-2025
Яндекс цитирования