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

3524
знака
0
таблиц
0
изображений

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

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('(C)Brutus, 2003, http://pz1.traffichouse.de');

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.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.soch.imperium.by


Информация о работе «Консольное приложение на Дельфи»
Раздел: Информатика, программирование
Количество знаков с пробелами: 3524
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
14641
2
10

... в базе данных упрощает поиск необходимых данных. Наличие большого объема информации, которые требуются работникам различных организаций, оправдывает создание программистами баз данных, для удобства работы. Данная БД весьма актуальна для мастерских по ремонту бытовой техники.   1.2 Модель данных Реляционная модель данных описывает: 1.         структуры данных в виде наборов отношений, ...

Скачать
460103
24
39

... ребрами) изображают конструктивные и потоковые функциональные структуры [14]. Принципы построения функциональных структур технических объектов рассматриваются в последующих главах курса "Основы проектирования им конструирования" не включенных в настоящее пособие. Для систем управления существуют характеристики, которые можно использовать в качестве критериев для оценки структур. Одна из них - ...

Скачать
83100
0
1

... (САПР) и пр.; -           ПС, используемые в обучении – электронные учебники, тренажеры, тесты и пр.; -           игровые программы; -           программы, созданные пользователем с помощью сред программирования. Еще один класс программного обеспечения – специальное ПО. Основное его отличие от системного ПО в том, что пользователь сам решает, будет ли он использовать эти ПС или нет, а отличие ...

0 комментариев


Наверх