Referat.me

Название: Консольное приложение на Дельфи

Вид работы: реферат

Рубрика: Информатика и программирование

Размер файла: 14.54 Kb

Скачать файл: referat.me-138943.docx

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

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

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

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.

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

  • Логический тип данных. Операции сравнения

    Логические, или булевские, данные предназначены для хранения логических значений "истина" или "ложь". Логические переменные и константы имеют тип Boolean и занимают в памяти 1 байт. Существует всего две логические константы - TRUE и FALSE.

  • Создание консольных приложений с помощью мастера в Visual C++ 6 - 2

    An empty project (Пустой проект). A simple application (Простое приложение). A “Hello World!” application (Приложение “Hello World!”). An application that supports MFC (Приложение с поддержкой MFC).

  • Как сделать промдизайн

    Портфолио. Цена. Техническое задание. Эскизы.Функциональность.

  • Описание файлов, создаваемых Дельфи

    Вы когда ни будь задумывались о том, что создает Дельфи в папке с исходниками проекта? Да и нужен ли весь этот абсолютно бесполезный, для рядового программиста, "мусор"? Пора призадуматься. В этой мини-статье я расскажу о назначении таких файлов.

  • Предотвращение запуска 2-x копий программы

    Известно, что Windows - многозадачная система. Это конечно хорошо. Но обратной стороной многозадачности является то, что одновременно можно запустить несколько копий одного и того же приложения.

  • Работа с файлам в Дельфи

    В статье рассматриваются стандартные I/O операции с файлами, типичные ошибки и методы их предотвращения.

  • Установка компонентов в Дельфи

    Если после установки компонента на форму возникли проблемы с компиляцией проекта, то это значит, что Delphi не может найти .pas файл компонента.

  • C++ Builder. Введение в структурное программирование

    Создание консольных приложений с использованием графического интерфейса пользователя. Содержание палитры компонентов программы С++ Builder. Использование возможностей объектно-ориентированного программирования, особенности редактора кода и форм в С++.

  • Разработка базы данных для приложения "Радиодетали"

    Задачи реляционной модели данных. Работа с БД посредством SQL запросов. Требования к программе. Система просмотра отчета. Способы вывода информации: на бумажный носитель и в табличный процессор Microsoft Excel. Средства защиты и хранения данных.

  • Различные способы печати из приложений

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