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

     

     

     

     

     

         
     
    Розробка текстового редактора
         

     

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

    Міністерство освіти України

    Харківський державний технічний університет радіоелектроніки

    Кафедра ПЗ ЕОМ

    Курсовий проект з дисципліни:

    «Основи програмування та алгоритмічні мови »

    Тема:

    « Розробка текстового редактора »


    | Виконав: | Руководитель: |
    | Ст. гр. ІСПР-99-2 | |
    | Морашко Олексій | |
    | | Робота захищена з оцінкою: |
    | | |
    | | |
    | | Комісія: |

    Харків, 2000 р.

    ХДТУРЕ

    Кафедра ПЗ ЕОМ

    Завдання на курсову роботу з дисципліни «ОП і АЯ »ст. гр. ІСПР-99-2 Морашко А.Г.

    Тема: «Розробка текстового редактора в Borland C + + Builder»

    І Розробити текстовий редактор, який би мав такі можливості:
    . Відкривати та зберігати текстові файли типу TXT або RTF
    . Можливості редагування тексту
    . Простий і зручний інтерфейс

    ІІ Константи. Їх синтаксис і застосування.

    Дата видачі завдання: Дата захисту:

    Студент: Морашко А.Г.

    Керівник:

    Реферат

    Дана робота містить 30 сторінок, включаючи додаток; 5 ілюстрацій.

    Мета роботи: створити, використовуючи систему програмування C + + Builder,текстовий редактор.

    Об'єкт дослідження: текстовий редактор, розроблений в C + + Builder,вміє редагувати файли типу TXT і RTF. У перспективі плануєтьсяредагування формату документів типу DOC.

    Ключові слова:
    C + + BUILDER, текстовий редактор, КОНСТАН, для word Фото,
    ХАРАКТЕРИСТИКИ

    Зміст

    Реферат 3


    Зміст 4


    Введення 5


    1 Опис програми 6


    1.1 Основні характеристики 6

    1.2 Керівництво для користувача 6

    2.1 Константи 14


    2.1.1 Цілі Константи 14

    2.1.2 Константи з плаваючою Точкою 15

    2.1.3 Символьні Константи 15

    2.1.4 Строки 16

    2.1.5 Нуль 17

    2.1.6 Const 18

    2.1.7 Перерахування 19

    Перелік посилань 21

    < br>Додаток А 22

    Введення

    Кілька років тому дослідники помітили, що програмісти протягомпевного часу пишуть і налагоджують приблизно однакова заобсягом код, незалежно від мови програмування. Обсягроботи приблизно той же, але результати різні. Написання 100 рядків на Свимагає стільки ж витрат, скільки і 100 рядків коду на асемблері, алеможливості коду на С набагато ширше. Зрозумівши це, дослідники почалирозробляти мови високого рівня, які збільшували б потенціалокремого програміста, скорочуючи тим самим рядки і вартість розробкипроектів.

    У 70-х роках серед творців мов програмування придбалапопулярність концепція об'єкта. Об'єкт є сукупністю коду таданих, створеної для відтворення властивостей фізичних об'єктів абоабстрактних понять.

    Об'єктно-орієнтоване програмування - це методологія, якаконцентрується більше на зв'язках між об'єктами, ніж на деталяхреалізації. Дані зв'язку зазвичай розвиваються за принципом дерев, при цьомунові типи об'єктів утворюються вже з існуючих. Приховування реалізаціїоб'єкта веде до того, що користувача більше хвилює зв'язок з іншимиоб'єктами, ніж поведінка об'єкта. Дане відміну дуже важливо, оскільки воноозначає принципова відмова від «імперативних» мов (таких як С), вяких функції і виклики функцій складають основу діяльності.

    У С + + деякі об'єкти є частиною самої мови. Але в цілому завданнястворення нових об'єктів лягає на користувача. У C + + Builder єбезліч типів об'єктів, але реальне використання мови вимагає створеннянових типів. Ефективність ООП виявляється тільки при створенні і застосуваннігруп пов'язаних між собою об'єктів. Такі групи називають ієрархіямикласів. Розвиток цих ієрархій класів є основою діяльності в
    ООП.

    C + + Builder є об'єктно-орієнтованою мовою програмування іна прикладі створення текстового редактора я хочу продемонструвати всю міцьі швидкість візуального об'єктно-орієнтованого програмування.

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

    1 Основні характеристики

    Розглянута програма має можливість редагування текстовихфайлів типу TXT і RTF, а також їм подібні.

    Програма є EXE файл; програма вміє відкривати ізберігати текстові файли, редагувати їх, змінювати шрифт і розміртексту, має пошук і заміну тексту. Опис функцій і клавіш буденаведено нижче.


    3 Керівництво для користувача

    виконуваний файл називається WORD.EXE. Після його запуску на екраніз'являється вікно, показане на Малюнок 1. 1

    Малюнок 1. 1 - Вікно програми, що виникає після запуску

    Після того як програма запуститься її можна використовувати.

    Кнопки панелі управління

    -створення нового документа.

    - відкриття документа

    - збереження документа

    - вирізування виділеного тексту

    - копіювання виділеного тексту

    - вставка тексту з буфера обміну

    - скасування останньої дії

    - пошук в тексті

    - заміна в тексті

    - друк документа

    - вибір шрифту для виділеного тексту

    - зміна розміру обраного тексту

    - напівжирний шрифт

    - курсивний шрифт

    - підкреслений шрифт

    - рівняння тексту по лівому краю

    - рівняння тексту по центру

    - рівняння тексту по правому краю

    - маркування виділеного абзацу

    Робота з документами

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

    1. У меню Файл виберіть команду Новий.

    2. Почніть введення тексту.

    3. Щоб зберегти новий файл, виберіть у меню Файл команду Зберегти як і введіть ім'я в полі Ім'я файлу.
    Збереження зміненого документа
    У меню Файл виберіть команду Зберегти.
    Примітка

    . Щоб зберегти існуючий документ під іншим іменем, виберіть команду Зберегти як і введіть нове ім'я в полі Ім'я файлу.
    Відкриття документа

    1. У меню Файл виберіть команду Відкрити.

    Малюнок 1.2 - Вікно відкриття файлу.

    2. У діалоговому вікні (рис 1.2), в полі зі списком Папка виберіть диск, що містить документ, який потрібно відкрити.

    3. Двічі клацніть папку, яка містить потрібний документ.

    4. Оберіть документ і натисніть кнопку Відкрити.
    Примітки

    . Якщо ви не бачите потрібний документ, спробуйте вибрати інший тип документів в полі зі списком Тип файлів.

    . Щоб відкрити один з недавно відкритих документів, виберіть його ім'я в меню Файл.


    Налаштування вікна MAGWord

    Виведення на екран або приховування лінійки
    У меню Вигляд виберіть команду Лінійка.

    Якщо ліворуч від цієї команди в меню стоїть позначка, лінійка знаходиться на екрані.

    Виведення на екран або приховування панелі інструментів
    У меню Вигляд виберіть команду Панель інструментів.
    Якщо ліворуч від цієї команди в меню стоїть позначка, панель інструментівзнаходиться на екрані.
    Примітки

    . Панель форматування містить кнопки, що прискорюють форматування тексту, наприклад, що змінюють накреслення тексту або стиль абзацу. Щоб відформатувати текст, виділіть його, а потім натисніть відповідну кнопку на панелі форматування.


    Робота з текстом

    Скасування останньої дії
    У меню Правка виберіть команду Скасувати.
    Видалення тексту

    1. Виділіть текст, який потрібно видалити.

    2. Щоб перемістити частину тексту в іншу частину документа, виберіть у меню

    Правка команду Вирізати.

    Щоб просто видалити текст з документа, натисніть клавішу DELETE.
    Примітки

    . Щоб зняти виділення, клацніть будь-яке місце в документі.

    . Щоб скасувати видалення, виберіть у меню Правка команду Скасувати.

    . Щоб виділити для видалення весь текст в документі натисніть Ctrl + A.
    Пошук тексту

    1. У документі клацніть місце, з якого слід почати пошук тексту.

    2. У меню Правка виберіть команду Пошук. У вікні (Малюнок 1.3) встановити параметри пошуку.

    3. У полі Зразок введіть зразок тексту для пошуку та натисніть кнопку

    Знайти далі.

    Малюнок 1.3 - Вікно пошуку тексту

    4. Щоб знайти наступні входження шуканого тексту, натисніть кнопку

    Знайти далі.

    Примітки

    . Для пошуку та заміни тексту виберіть у меню Правка команду Замінити.

    Пошук і заміна тексту

    1. У меню Правка виберіть команду Замінити.

    2. У полі Зразок введіть зразок тексту для пошуку і заміни.

    3. У полі Замінити на введіть новий текст.
    Примітки

    . Щоб замінити всі входження шуканого тексту, натисніть кнопку Замінити все.

    . Щоб замінювати кожне входження зразка окремо, натисніть кнопку Знайти далі, а потім кнопку Замінити.

    Форматування тексту


    Створення маркованого списку

    1. Клацніть місце в документі, з якого слід почати маркований список.

    2. У меню Формат виберіть команду Маркер, а потім починайте введення тексту.

    При кожному натисканні клавіші ENTER на наступному рядку буде з'являтися новий маркер.

    3. Щоб завершити маркований список, виберіть команду Маркер ще раз.

    Зміна шрифту, накреслення і розміру символів

    1. Виділіть текст, формат якого слід змінити.

    2. У меню Правка виберіть команду Шрифт. З'явиться діалогове вікно показане на малюнку 1.4.

    Малюнок 1.4 - Вікно вибору шрифту.

    3. Виберіть потрібні параметри та натисніть кнопку застосувати.
    Примітки

    . Щоб задати шрифт для оформлення нового тексту, змініть його до початку введення тексту.

    . Щоб змінити шрифт всього документа, натисніть Ctrl + A, а потім у меню

    Редагування виберіть Шрифт.

    Форматування абзацу

    1. Клацніть будь-яке місце всередині абзацу, який потрібно відформатувати.

    2. На панелі інструментів клацніть по одній з кнопок вирівнювання тексту і задайте параметри відступу за допомогою лінійки.

    Друк


    Зміна принтера і зміна параметрів друку

    1. Щоб змінити принтер, натисніть кнопку Друк. З'явиться діалогове вікно показане на малюнку 1.5. Виберіть ім'я принтера в полі зі списком Ім'я.

    Малюнок 1.5 - Діалогове вікно друку документа.

    2. Щоб почати друк клацніть на кнопці OK.

    6 Константи

    C + + дає можливість запису значень основних типів: символьнихконстант, цілих констант і констант з плаваючою точкою. Крім того, нуль
    (0) може використовуватися як константа будь-якого вказівного типу, ісимвольні рядки є константами типу char []. Можна також задаватисимволічні константи. Символічна константа - це ім'я, значенняякого не може бути змінено в його області видимості. У C + + є тривиду символічних констант: (1) будь-якого значення будь-якого типу можна дати ім'яі використовувати його як константу, додавши до його опису ключове словоconst; (2) безліч цілих констант може бути визначено як перерахування;і (3) будь-яке ім'я вектора або функції є константою.


    1 Цілі Константи

    Цілі константи постають у чотирьох обличчях: десяткові, вісімкові,шістнадцяткові і символьні константи. Десяткові використовуються частішеза все і виглядають так, як можна було б очікувати:

    0 1234 976 12345678901234567890

    Десяткова константа має тип int, за умови, що вона влазить в int,в іншому випадку її тип long. Компілятор повинен попереджати проконстанти, які занадто довгі для представлення в машині. Константа,яка починається нулем за яким йде x (0x), є шістнадцятковимчислом (з основою 16), а константа, яка починається нулем за якимйде цифра, є вісімкові числом (з основою 8). Ось прикладивісімкових констант:

    0 02 077 0123

    їх десяткові еквіваленти - це 0, 2, 63, 83. У шістнадцятковій записуці константи виглядають так:

    0x0 0x2 0x3f 0x53

    Букви a, b, c, d, e і f, або їх еквіваленти у верхньому регістрі,використовуються для подання чисел 10, 11. 12, 13, 14 і 15,відповідно. Вісімкова і шістнадцяткова запису найбільш кориснідля запису набору бітів; застосування цих записів для вираження звичайнихчисел може привести до несподіванок. Наприклад, на машині, де intпредставляється як двійкове додаткове шістнадцяткове ціле, 0xffffє від'ємним десятковим числом -1; якби для представленняцілого використовувалося більше число бітів, то воно було б числом 65535.


    2 Константи з плаваючою Точкою

    Константи з плаваючою точкою мають тип double. Як і в попередньомувипадку, компілятор повинен попереджати про константи з плаваючою точкою,які занадто великі, щоб їх можна було уявити. Ось деякіконстанти з плаваючою точкою:

    1.23 .23 0.23 1. 1.0 1.2e10 1.23e-15

    Зауважте, що в середині константи з плаваючою точкою не можезустрічатися пробіл. Наприклад, 65.43 e-21 є не константою з плаваючоюкрапкою, а чотирма окремими лексичними символами (лексемами):

    65.43 e - 21

    і викличе синтаксичну помилку.

    Якщо ви хочете мати константу з плаваючою точкою типу float, ви можетевизначити її так: const float pi = 3.14159265;


    3 Символьні Константи

    Хоча в C + + і немає окремого символьного типу даних, точніше, символможе зберігатися в цілому типі, у ньому для символів є спеціальна ізручна запис. Символьна константа - це символ, укладений в одинарнілапки; наприклад, 'a' або '0 '. Такі символьні константи внасправді є символічними константами для цілого значеннясимволів у наборі символів тієї машини, на якій буде виконуватисяпрограма (який не обов'язково збігається з набором символів, вживанена тому комп'ютері, де програма компілюється). Тому, якщо вивиконується на машині, яка використовує набір символів ASCII, то значенням '0 'буде 48, але якщо ваша машина використовує EBCDIC, то воно буде 240.
    Вживання символьних констант замість десяткового запису робить програмубільше переноситься. Кілька символів також мають стандартні імена, вяких зворотна коса використовується як escape-символ:
    | 'b' | повернення назад |
    | 'f' | переклад формату |
    | 'n' | новий рядок |
    | 'r' | повернення каретки |
    | 't' | горизонтальна табуляція |
    | 'v' | вертикальна табуляція |
    |''| Зворотний коса (зворотний слеш) |
    |'' '| Одинарна лапки |
    | ' "' | Лапки |
    | ');

    FFileName = SaveDialog-> FileName;

    RichEdit1-> Modified = false;

    )

    )

    void __fastcall TForm1:: CheckFileSave (void)

    (if (RichEdit1-> Modified) (switch (MessageBox (Handle, "Save Changes ?",

    " Confirmation " , MB_YESNOCANCEL | MB_ICONQUESTION))

    (case ID_YES: FileSave1Execute (this); case ID_CANCEL: Abort ();

    )

    ) < p>)

    void __fastcall TForm1:: FileExit1Execute (TObject * Sender)

    (

    Close ();

    )

    void __fastcall TForm1:: HelpAbout1Execute (TObject * Sender)

    (

    AboutBox-> ShowModal ();

    )

    void __fastcall TForm1:: UndoClick (TObject * Sender)

    (if (RichEdit1-> HandleAllocated ())

    SendMessage (RichEdit1-> Handle, EM_UNDO, 0, 0 );

    )

    void __fastcall TForm1:: PrintClick (TObject * Sender)

    (if (PrintDialog1-> Execute ()) RichEdit1-> Print ( OpenDialog-> FileName);

    )

    void __fastcall TForm1:: Print_SetupClick (TObject * Sender)

    (

    PrinterSetupDialog1-> Execute ();

    )

    void __fastcall TForm1:: FindClick (TObject * Sender)

    (

    FindDialog1-> FindText = RichEdit1-> SelText;

    FindDialog1-> Execute ();

    )

    void __fastcall TForm1:: FindDialog1Find (TObject * Sender) < p> (int FoundAt, StartPos, ToEnd; if (RichEdit1-> SelLength)

    StartPos = RichEdit1-> SelStart + RichEdit1-> SelLength; else

    StartPos = 0;

    ToEnd = RichEdit1-> Text.Length () - StartPos;

    FoundAt = RichEdit1-> FindText (FindDialog1-> FindText, StartPos, ToEnd,
    TSearchTypes () SetFocus ();

    RichEdit1-> SelStart = FoundAt;

    RichEdit1-> SelLength = FindDialog1-> FindText.Length ();

    )

    )

    void __fastcall TForm1:: ReplaceDialog1Replace (TObject * Sender)

    (if (RichEdit1-> SelLength == 0)

    FindDialog1Find (Sender); else

    (

    RichEdit1-> SelText = ReplaceDialog1-> ReplaceText;

    FindDialog1Find (Sender);

    )

    if (ReplaceDialog1-> Options.Contains (frReplaceAll)) while (RichEdit1-> SelLength! = 0)

    ReplaceDialog1Replace (Sender);

    )

    void __fastcall TForm1:: ReplaceClick (TObject * Sender)

    (

    ReplaceDialog1-> Execute ();

    )

    void __fastcall TForm1:: N5Click (TObject * Sender)

    (

    FontDialog1-> Options Execute ();

    )

    void __fastcall TForm1:: FontDialog1Apply (TObject * Sender, HWND Wnd)

    (if (ActiveControl-> ClassNameIs ( "TEdit "))

    ((TEdit * ) ActiveControl) -> Font-> Assign (FontDialog1-> Font); else if (ActiveControl-> ClassNameIs ( "TRichEdit "))

    ((TRichEdit *) ActiveControl) -> SelAttributes-> Assign ( FontDialog1-
    > Font); else

    MessageBeep (0);

    )

    void __fastcall TForm1:: prClick (TObject * Sender)

    (

    ToolButton8-> Visible = false;

    )

    void __fastcall TForm1:: rp1Click (TObject * Sender)

    (

    ToolButton8-> Visible = true;

    )

    void __fastcall TForm1:: CenterAlignClick (TObject * Sender)

    (

    RichEdit1-> Paragraph-> Alignment = taCenter;

    )

    void __fastcall TForm1:: LeftAlignClick (TObject * Sender)

    (

    RichEdit1-> Paragraph-> Alignment = taLeftJustify;

    )

    void __fastcall TForm1:: RightAlignClick (TObject * Sender)

    (

    RichEdit1-> Paragraph-> Alignment = taRightJustify;

    )

    void __fastcall TForm1:: SetupRuler (void)

    (int iCtr = 1; char sTmp [201]; while (iCtr <200) (sTmp [iCtr] = 9; iCtr + +; sTmp [iCtr] = '|'; iCtr ++;

    )

    Ruler-> Caption = (AnsiString) sTmp;

    )

    void __fastcall TForm1:: FormCreate (TObject * Sender)

    ( < p> OpenDialog-> InitialDir = ExtractFilePath (ParamStr (0 ));

    SaveDialog-> InitialDir = OpenDialog-> InitialDir;

    SetupRuler (); for (int i = 0; i Fonts-> Count; i ++)

    ComboBox1-> Items-> Add (Screen-> Fonts-> Strings [i ]);

    RichEdit1-> SelStart = 0;

    )

    void __fastcall TForm1:: ToolButton14Click (TObject * Sender)

    (if (RichEdit1-> Paragraph-> Numbering == TNumberingStyle ( nsBullet))

    RichEdit1-> Paragraph-> Numbering = TNumberingStyle (nsNone); else

    RichEdit1-> Paragraph-> Numbering = TNumberingStyle (nsBullet);

    )

    void __fastcall TForm1:: ComboBox1Change (TObject * Sender)

    (

    TCharsetObject * ChasrsetObject; if (! FUpdating) ( < p> ChasrsetObject = (TCharsetObject *) ComboBox1-> Items-
    > Objects [ComboBox1-> ItemIndex];

    CurrText () -> Name = ComboBox1-> Items-> Strings [ComboBox1-> ItemIndex];

    ) < p>)

    void __fastcall TForm1:: ToolButton15Click (TObject * Sender)

    (if (CurrText () -> Style == CurrText () -> Style>> fsBold)

    CurrText () -> Style = CurrText () -> Style Style = CurrText () -> Style>> fsBold;

    )

    void __fastcall TForm1: : ToolButton17Click (TObject * Sender)

    (if (CurrText () -> Style == CurrText () -> Style>> fsItalic)

    CurrText () -> Style = CurrText () -> Style Style = CurrText () -> Style>> fsItalic;

    )

    void __fastcall TForm1:: Edit2Change (TObject * Sender)

    (int fontsize = atoi (Edit2-> Text.c_str ()); if ((! FUpdating) & & (fontsize))

    (

    CurrText () -> Size = atoi (Edit2-> Text.c_str ());

    )

    )

    void __fastcall TForm1:: ToolButton3Click (TObject * Sender) < p> (if (CurrText () -> Style == CurrText () -> Style>> fsUnderline)

    CurrText () -> Style = CurrText () -> Style Style = CurrText () -> Style>> fsUnderline;

    )

    void __fastcall TForm1:: FirstIndMouseDown (TObject * Sender,

    TMouseButton Button, TShiftState Shift, int X, int Y)

    (

    TLabel * oTmpLabel = (TLabel *) Sender;

    FDragOfs = oTmpLabel-> Width/2; oTmpLabel-> Left = oTmpLabel-> Left + X-FDragOfs;

    FDragging = True;

    )

    void __fastcall TForm1:: FirstIndMouseUp (TObject * Sender,

    TMouseButton Button, TShiftState Shift, int X, int Y)

    (

    FDragging = False;

    RichEdit1-> Paragraph-> FirstIndent = int ((FirstInd - > Left + FDragOfs-
    GutterWid)/RulerAdj);

    LeftIndMouseUp (Sender, Button, Shift, X, Y);

    )

    void __fastcall TForm1:: LeftIndMouseUp (TObject * Sender,

    TMouseButton Button, TShiftState Shift, int X, int Y)

    (

    FDragging = False;

    RichEdit1-> Paragraph-> LeftIndent = int ((LeftInd-> Left + FDragOfs-
    GutterWid)/

    RulerAdj)-RichEdit1-> Paragraph-> FirstIndent;

    RichEdit1SelectionChange (Sender);

    )

    void __fastcall TForm1:: FirstIndMouseMove (TObject * Sender,

    TShiftState Shift, int X, int Y)

    (if (FDragging) (

    TLabel * oTmpLabel = ( TLabel *) Sender; oTmpLabel-> Left = oTmpLabel-> Left + X-FDragOfs;

    )

    )

    void __fastcall TForm1:: RightIndMouseUp (TObject * Sender,

    TMouseButton Button, TShiftState Shift, int X, int Y)

    (

    FDragging = False;

    RichEdit1 - > Paragraph-> RightIndent = int ((Ruler-> ClientWidth-RightInd-> Left + FDragOfs-2)/

    RulerAdj) -2 * GutterWid;

    RichEdit1SelectionChange (Sender);

    )

    void __fastcall TForm1:: RulerResize (TObject * Sender)

    (

    RulerLine-> Width = (int) Ruler -> ClientWidth - (RulerLine-> Left * 2);

    )

    void __fastcall TForm1:: FormPaint (TObject * Sender)

    (

    TRect Rct = Rect (GutterWid, 0, RichEdit1-> ClientWidth-GutterWid,

    ClientHeight);

    SendMessage (RichEdit1-> Handle, EM_SETRECT, 0, long ( & Rct ));;

    )

    void __fastcall TForm1:: FormResize (TObject * Sender)

    (

    RichEdit1SelectionChange (Sender) ;

    )

    void __fastcall TForm1:: FormActivate (TObject * Sender)

    (

    FileNew1Execute (Sender);

    RichEdit1-> SetFocus ();

    )

    void __fastcall TForm1:: FormCloseQuery (TObject * Sender, bool & CanClose)

    (try (

    CheckFileSave ();

    ) catch (...) (

    CanClose = False;

    ) < p>)

    void __fastcall TForm1:: NRulerClick (TObject * Sender)

    (if (Ruler-> Visible == false)

    (

    Ruler-> Visible = true;

    NRuler-> Checked = true;) else (Ruler-> Visible = false; NRuler-> Checked = false;

    )

    )

    void __fastcall TForm1:: NPanelClick (TObject * Sender)

    (if (Panel1-> Visible == false)

    (

    Panel1-> Visible = true;

    NPanel-> Checked = true;

    ) else (Panel1-> Visible = false;

    NPanel-> Checked = false;

    )

    )

    void __fastcall TForm1:: NBarClick (TObject * Sender) < p> (if (StatusBar-> Visible == false)

    (StatusBar-> Visible = true;

    NBar-> Checked = true;) else (StatusBar-> Visible = false;

    NBar-> Checked = false;

    )

    )


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

     

     

     

     

     

     

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