Министерство энергетики РФ Уфимский Энергетический Колледж Специальность 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 ioresult0 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 i
|