Рефераты

Создание текстового редактора в Turbo Pascal

Создание текстового редактора в Turbo Pascal

Министерство энергетики РФ

Уфимский Энергетический Колледж

Специальность 2202

Курсовая работа

по Основам алгоритмизации и программирования

на тему “Создание текстового редактора”

Выполнил: студент группы 2 – АС – 3 ____________ Тимофеев Т.П.

Проверил:

____________ Ганиев А.Э.

Уфа – 2001г.

Содержание

1. Задание ……………………………………………………… стр. 3

2. Описание программы ………………………………………. стр. 4

3. Листинг ……………………………………………………… стр. 5

1. Исходный текст программы .…………………………. стр. 5

2. Текст модуля ……………….………………………….. стр.10

4. Заключение ………………………………………………….. стр.18

5. Список использованной литературы ……………………… стр.19

Задание.

Создать программу, обеспечивающую:

1. Cоздание файлов.

2. Переименование файлов.

3. Удаление файлов.

4. Копирование файла в другой файл.

5. Открытие файла для просмотра.

Программа должна быть написана на Turbo Pascal в текстовом режиме с

использованием любых модулей, которые необходимы для её реализации

(допускаются также модули пользователя).

Описание программы.

Timofeev Word v.1.0 – это программа для работы с текстом. С её

помощью можно создавать, удалять, переименовывать, открывать, копировать

файлы друг в друга. Конечно, всё это можно проделать и в MS-DOS, но

преимущество этой программы в том, что все эти команды тщательно спрятаны

под красивым и дружественным интерфейсом моей программы.

Так как в программе Timofeev Word v.1.0 много процедур, я создал

собственный модуль Tim.tpu, куда их (процедуры) и отправил.

Процедуры:

1. Table – рисует оболочку программы.

2. Enter_Sandman – происходит проигрывание музыки на песню группы Metallica

- “Enter Sandman”. Я не стал делать так, чтобы при нажатии какой-либо

клавиши она прекращала играть, потому что для меня (не знаю как для

других) это свято.

3. Menu – эта процедура вызывает меню, где содержится информация о

программе и помощь (если её так можно назвать).

4. Keys – процедура, считывающая код нажатой клавиши.

В этой программе, конечно много недоработок, но я надеюсь, что вскоре

появятся дополненные версии 1.2, 1.3, 2.0,2.1,……, n.m.

Эта программа может использоваться в о-о-о-о-о-очень маленьких

офисах, которые не имеют возможности приобрести качественный лицензионный

продукт, к примеру Microsoft Office’9x, ’2000 (если кто-то имеет на примете

такой офис, я с удовольствием продам, за символическую цену, свой

программный продукт). Также программа может использоваться для обучения

детей в детских садах работе на персональных компьютерах. И, наконец, ей

могут воспользоваться студенты I курса для сдачи её как Курсовой работы на

следующем курсе.

Листинг.

Исходный текст программы.

Program Redaktor;

Uses Crt,Tim; {использовать модули Crt и Tim}

Label b; {метка}

Var {тело}

Programname,Cmdline:string;

nn,i,x,y:integer;

f1,f1_new:text;

Name,New_name:string[12];

txt,text:string;

ch:char;

begin

i:=1;

textbackground(red);

clrscr;

textcolor(yellow);

gotoxy(22,10);

writeln('Текстовый процессор Timofeev Word');

gotoxy(22,11);

writeln(' Версия 1.0 (2001 год)');

gotoxy(40,15);

writeln('Составил Тимофеев Тимур (2-АС-3)');

textcolor(green);

gotoxy(40,16);

writeln('Все права защищены.');

gotoxy(40,17);

writeln('Незаконное копирование');

gotoxy(40,18);

writeln('или подделка без согласия автора');

gotoxy(40,19);

writeln('преследуется по понятиям !!!');

delay(5000);

textcolor(yellow);

table;

gotoxy(2,21);

write('Введите имя:');

readln(name);

assign(f1,name);

rewrite(f1);

gotoxy(2,21);

write('Вводите текст !!! ');

gotoxy(1,2);

repeat

write(chr(179),':>');

readln(txt);

writeln(f1,txt);

until txt='';

close(f1);

gotoxy(2,21);

writeln('Ввод окончен, нажмите чего-нибудь ...');

repeat

readkey;

keys(nn);

case nn of {определяет нажатие функциональных клавиш}

59:menu; {F1}

60:begin {F2}

table;

gotoxy(2,21);

write(' ');

gotoxy(2,21);

write('Введите имя:');

readln(name);

assign(f1,name);

rewrite(f1);

gotoxy(2,21);

write('Вводите текст !!! ');

gotoxy(1,2);

repeat

write(chr(179),':>');

readln(txt);

writeln(f1,txt);

until txt='';

close(f1);

gotoxy(2,21);

writeln('Ввод окончен, нажмите чего-нибудь ...');

end;

61:begin {F3}

gotoxy(2,21);

write('Введите имя файла, в который копир-я файл ',name,'->');

readln(new_name);

reset(f1);

assign(f1_new,new_name);

append(f1_new);

while not eof(f1) do

begin

readln(f1,txt);

writeln(f1_new,txt);

end;

close(f1);

close(f1_new);

gotoxy(2,21);

writeln('Файл ',name,' скопирован в ',new_name,' нажмите

чего-нибудь ...');

end;

62:begin {F4}

gotoxy(2,21);

write(' ');

gotoxy(2,21);

write('Введите новое имя файла:');

readln(new_name);

assign(f1,name);

rename(f1,new_name);

gotoxy(2,21);

writeln('Файл ',name,' перименован в ',new_name,' нажмите

чего-нибудь ... ');

end;

63:begin {F5}

erase(f1);

gotoxy(2,21);

writeln('Файл ',name,' удалён с диска, нажмите чего-нибудь ...');

end;

64:begin {F6}

{$I-}

repeat

gotoxy(2,21);

write('Введите имя файла для считывания текста ->');

readln(name);

assign(f1,name);

reset(f1);

if ioresult<>0 then

begin

gotoxy(2,21);

writeln('Файл не найден ... ');

close(f1);

end;

until ioresult=0;

{$I+}

table;

gotoxy(1,2);

while not eof(f1) do

begin

readln(f1,txt);

writeln(chr(179),txt);

end;

close(f1);

gotoxy(2,21);

write('Файл считан, нажмите чего-нибудь ... ');

end;

68:goto b; {F10} {Происходит выход на метку}

end;

until i1 then begin

GoToXY(x,y+punkt-1);

write(menu[punkt]);

punkt:=punkt-1;

TextAttr:=SEl;

GoToXY(x,y+punkt-1);

write(menu[punkt]);

TextAttr:=NORM;

end;

end;

end

else

if ch=chr(13) then begin { нажата клавиша }

case punkt of

1:punkt1;

2:punkt2;

3:i:=2;{ выход }

end;

MenuToScr;

end;

until i=2;

end;

end.

Заключение.

В результате проделанной работы я написал прекрасную программу за 4

часа свободного от учёбы времени практически без помощи литературы и других

источников.

Программа основана на стандартных процедурах и функциях модуля Crt: Rename,

Erase, Append, Rewrite, Reset, Assign и др.

Список использованной литературы.

1. Попов В.Б. “Turbo Pascal для школьников”:

Учеб.пособие. – 3-е доп. изд. – М.: Финансы и статистика, 2001г.

2. Вирт Н. “Алгоритмы и структуры данных”:

Пер. с англ. – М.: Мир, 1989г.

3. Прайс Д. “Программирование на языке Паскаль: Практическое руководство”.

Пер. с англ. – М.: Мир, 1987г.


© 2010 Современные рефераты