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

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



НазваниеСоздание текстового редактора в Turbo Pascal
Дата конвертации25.08.2012
Размер34.19 Kb.
ТипРеферат
Создание текстового редактора в Turbo Pascal


Министерство энергетики РФ Уфимский Энергетический Колледж Специальность 2202 Курсовая работа по Основам алгоритмизации и программирования на тему “Создание текстового редактора”Выполнил: студент группы 2 – АС – 3 ____________ Тимофеев Т.П.Проверил:____________ Ганиев А.Э. Уфа – 2001г. Содержание1. Задание ……………………………………………………… стр. 32. Описание программы ………………………………………. стр. 43. Листинг ……………………………………………………… стр. 5 1. Исходный текст программы .…………………………. стр. 5 2. Текст модуля ……………….………………………….. стр.104. Заключение ………………………………………………….. стр.185. Список использованной литературы ……………………… стр.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 i<0; считывай функциональные клавиши пока i<0, а т.к. i=1 и не изменяется, то этот процессбесконеченb:end. Текст модуля.Unit Tim;InterfaceUses Crt,Dos;Procedure keys(var n:integer);Procedure table;Procedure Enter_sandman;Procedure menu;ImplementationProcedure keys(var n:integer);процедура нажатия клавишиvar c:char;begin if keypressed then begin c:=readkey; if c=#0 then c:=readkey; n:=ord(c); end;end;Procedure Enter_sandman; музыкаConst m:array [1..6] of integer=(165,330,392,233,220,330); t:array [1..6] of integer=(1100,600,600,600,1100,600); e:array [1..7] of integer=(165,165,165,165,165,165,170); r:array [1..7] of integer=(600,600,600,600,600,600,1100); w:array [1..5] of integer=(167,167,167,294,233); q:array [1..5] of integer=(1100,600,600,600,1100); o:array [1..9] of integer=(165,182,165,182,165,196,165,182,165); b:array [1..9] of integer=(600,1100,600,600,600,600,600,600,3000); var a,u,z,x:integer; i:byte;begin for a:=1 to 4 do begin for i:=1 to 6 do begin sound(m[i]); delay(t[i]); nosound; end; end; for u:=1 to 3 do begin for i:=1 to 7 do begin sound(e[i]); delay(r[i]); nosound; end; end; for z:=1 to 3 do begin for i:=1 to 5 do begin sound(w[i]); delay(q[i]); nosound; end; end; for i:=1 to 9 do begin sound(o[i]); delay(b[i]); nosound; end;end;Procedure table; рисует таблицу var w,h:integer; c1,c2,c3,c4,c7,c5,c6,c8,c9,c10:char;begin textbackground(blue); clrscr; textcolor(yellow); w:=1; h:=1; c1:=chr(218); c2:=chr(196); c3:=chr(191); c4:=chr(179); c5:=chr(192); c6:=chr(217); c7:=chr(195); c8:=chr(180); c9:=chr(193); c10:=chr(194); for h:=2 to 25 do begin gotoxy(w,h); write(c4); end; gotoxy(w,h); write(c5); for w:=2 to 79 do begin gotoxy(w,h); write(c2); end; gotoxy(w,h); write(c6); for h:=24 downto 1 do begin gotoxy(w,h); write(c4); end; gotoxy(w,h); write(c3); for w:=78 downto 1 do begin gotoxy(w,h); write(c2); end; gotoxy(w,h); write(c1); gotoxy(1,20); write(c7); for w:=2 to 59 do begin gotoxy(w,20); write(c2); end; gotoxy(w,1); write(c10); for h:=2 to 24 do begin gotoxy(w,h); write(chr(179)); end; gotoxy(w,20); write(c8); gotoxy(59,25); write(c9); gotoxy(62,4); writeln('F1-Помошь'); gotoxy(62,5); writeln('F2-Новый'); gotoxy(62,6); writeln('F3-Копировать'); gotoxy(62,7); writeln('F4-Переименовать'); gotoxy(62,8); writeln('F5-Удалить'); gotoxy(62,9); writeln('F6-Просмотреть'); gotoxy(62,10); writeln('F10-Выход');end;Procedure menu;Const NORM=$17; цвет невыделеного пункта SEL=$70; цвет выделенного пункта N=3;var menu:array[1..N] of string[12]; названия пунктов меню punkt:integer; номер выделенного пункта ch:char; введенный символ x,y,i:integer; координаты первой строки меню Procedure punkt1;begin ClrScr; writeln('Выполнил студент гр. 2-АС-3 Тимофеев Т.П. (2001 г.)'); writeln('Курсовая работа-а-а-а-а-а-а-а !!!!!!!!!!!!!!!!!'); readln;end;Procedure punkt2;begin ClrScr; writeln('Тута всё понятно даже ребёнку.'); readln;end;Procedure MenuToScr; вывод меню на экран var i:integer;begin ClrScr; for i:=1 to N do begin GoToXY(x,y+i-1); write(menu[i]); end; TextAttr:=SEL; GoToXY(x,y+punkt-1); write(menu[punkt]); выделим строку меню TextAttr:=NORM;end;begin menu[1]:=' О программе '; menu[2]:=' Помощь '; menu[3]:=' Выход '; punkt:=1; x:=5; y:=5; TextAttr:=NORM; MenuToScr; repeat ch:=ReadKey; if ch=char(0) then begin ch:=ReadKey; case ch of chr(80): стрелка вниз if punkt1 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г.




Похожие:

Создание текстового редактора в Turbo Pascal iconУчебный курс С. Немнюгин, Л. Перколаб «Изучаем Turbo Pascal» (главы 1, 2, 4, 6), Г. Г. Рапаков, С. Ю. Ржеуцкая «Turbo Pascal для студентов и школьников» (главы 2-4, 8, 9), комплект задач по программированию
Планирование составлено на основе авторской программы модуля «Простые и структурированные (матрицы) типы данных. Стандартные модули...
Создание текстового редактора в Turbo Pascal iconТема: «Создание открытки средствами текстового редактора Microsoft Word» Тип урока
Цель: создание готового объекта – открытки ко дню народного единства с использованием панели инструментов Рисование и ранее изученных...
Создание текстового редактора в Turbo Pascal iconКолледж "Серебряный бор" при Центре "агат"
В 1992 г фирма Borland International выпустила два пакета программирования: Borland Pascal V. 0 и Turbo Pascal V. 0, последнему и...
Создание текстового редактора в Turbo Pascal iconФайловый тип данных Turbo Pascal Операции для работы с файлами

Создание текстового редактора в Turbo Pascal iconПрограмма сделана по типу знаменитой игры Марио. Она написана на языке программирования Turbo Pascal Пользователю предлагается пройти заданные (или собственные
Программа сделана по типу знаменитой игры Марио. Она написана на языке программирования Turbo Pascal Пользователю предлагается пройти...
Создание текстового редактора в Turbo Pascal iconОбчислення визначника методом Гауса (матриця 4х4) Текст програми на мові Turbo Pascal

Создание текстового редактора в Turbo Pascal iconДокументи
1. /Лекции по Turbo Pascal 7.0.doc
Создание текстового редактора в Turbo Pascal iconСправочник по процедурам и функциям модуля Graph языка программирования Turbo Pascal «Модуль Graph». 2
Электронный справочник по процедурам и функциям модуля Graph языка программирования Turbo Pascal «Модуль Graph»
Создание текстового редактора в Turbo Pascal iconОбчислення визначника методом Гауса (матриця 4х4) Текст програми на мові Turbo Pascal

Создание текстового редактора в Turbo Pascal iconВозможности текстового редактора ms word'97 при решении задач по стереометрии

Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы