• Новости
  • Темы
    • Экономика
    • Здоровье
    • Авто
    • Наука и техника
    • Недвижимость
    • Туризм
    • Спорт
    • Кино
    • Музыка
    • Стиль
  • Спецпроекты
  • Телевидение
  • Знания
    • Энциклопедия
    • Библия
    • Коран
    • История
    • Книги
    • Наука
    • Детям
    • КМ школа
    • Школьный клуб
    • Рефераты
    • Праздники
    • Гороскопы
    • Рецепты
  • Сервисы
    • Погода
    • Курсы валют
    • ТВ-программа
    • Перевод единиц
    • Таблица Менделеева
    • Разница во времени
Ограничение по возрасту 12
KM.RU
Рефераты
Главная → Рефераты → Информатика, программирование
  • Новости
  • В России
  • В мире
  • Экономика
  • Наука и техника
  • Недвижимость
  • Авто
  • Туризм
  • Здоровье
  • Спорт
  • Музыка
  • Кино
  • Стиль
  • Телевидение
  • Спецпроекты
  • Книги
  • Telegram-канал

Поиск по рефератам и авторским статьям

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

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

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

Дата добавления: 05.12.2005

База рефератов на портале KM.RU существует с 1999 года. Она пополнялась не только готовыми рефератами, докладами, курсовыми, но и авторскими публикациями, чтобы учащиеся могли использовать их и цитировать при самостоятельном написании работ.


Это популяризирует авторские исследования и научные изыскания, что и является целью работы истинного ученого или публициста. Таким образом, наша база - электронная библиотека, созданная в помощь студентам и школьникам.


Уважаемые авторы! Если Вы все же возражаете против размещения Вашей публикации или хотите внести коррективы, напишите нам на почту info@corp.km.ru, мы незамедлительно выполним Вашу просьбу или требование.


официальный сайт © ООО «КМ онлайн», 1999-2025 О проекте ·Все проекты ·Выходные данные ·Контакты ·Реклама
]]>
]]>
Сетевое издание KM.RU. Свидетельство о регистрации Эл № ФС 77 – 41842.
Мнения авторов опубликованных материалов могут не совпадать с позицией редакции.

Мультипортал KM.RU: актуальные новости, авторские материалы, блоги и комментарии, фото- и видеорепортажи, почта, энциклопедии, погода, доллар, евро, рефераты, телепрограмма, развлечения.

Карта сайта


Подписывайтесь на наш Telegram-канал и будьте в курсе последних событий.


Организации, запрещенные на территории Российской Федерации
Telegram Logo

Используя наш cайт, Вы даете согласие на обработку файлов cookie. Если Вы не хотите, чтобы Ваши данные обрабатывались, необходимо установить специальные настройки в браузере или покинуть сайт.