ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Створення текстового редактора
         

     

    Інформатика, програмування

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

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

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

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

    на тему "Створення текстового редактора"

    Виконав: студент групи 2 - АС - 3 ____________ Тимофєєв Т.П.

    Перевірив: ____________ Ганієв А.Е.

    Уфа - 2001р.

    Зміст Завдання ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... стор 3

    Опис програми ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... стор 4

    Лістинг ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... стор 5

    Оригінальний текст програми. ... ... ... ... ... ... ... ... ... .... стор 5

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

    Висновок ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. стор.18

    Список використаної літератури ... ... ... ... ... ... ... ... ... стор.19

    Завдання.

    Створити програму, що забезпечує:

    Створення файлів.

    Перейменування файлів.

    Видалення файлів.

    Копіювання файлу в іншій файл.

    Відкриття файлу для перегляду.

    Програма повинна бути написана на Turbo Pascal в текстовому режимі з використанням будь-яких модулів, які необхідні для її реалізації (допускаються також модулі користувача).

    Опис програми.

    Timofeev Word v.1.0 - це програма для роботи з текстом. З її допомогою можна створювати, видаляти, перейменовувати, відкривати, копіювати файли один в одного. Звичайно, все це можна зробити і в MS-DOS, але перевага цієї програми в тому, що всі ці команди ретельно заховані під красивим і дружнім інтерфейсом моєї програми.

    Так як у програмі Timofeev Word v.1.0 багато процедур, я створив власний модуль Tim.tpu , куди їх (процедури) і відправив.

    Процедури:

    Table - малює оболонку програми.

    Enter_Sandman - відбувається програвання музики на пісню групи Metallica - "Enter Sandman". Я не став робити так, щоб при натисканні будь-якої клавіші вона припиняла грати, тому що для мене (не знаю як для інших) це свято.

    Menu - ця процедура викликає меню, де міститься інформація про програму і допомога (якщо її так можна назвати).

    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;

    Interface

    Uses Crt, Dos;

    Procedure keys (var n: integer);

    Procedure table;

    Procedure Enter_sandman;

    Procedure menu;

    Implementation

    Procedure 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 punkt

    GoToXY (x, y + punkt-1);

    write (menu [punkt ]);

    punkt: = punkt 1;

    TextAttr: = SEl;

    GoToXY (x, y + punkt-1);

    write (menu [punkt ]);

    TextAttr: = NORM;

    end;

    chr (72): (стрілка вгору)

    if punkt> 1 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 та ін

    Список використаної літератури.

    Попов В.Б. "Turbo Pascal для школярів":

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

    Вірт Н. "Алгоритми та структури даних":

    Пер. з англ. - М.: Світ, 1989.

    Прайс Д. "Програмування на мові Паскаль: Практичне керівництво".

    Пер. з англ. - М.: Світ, 1987.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status