КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Изучение принципа работы текстового редактора
Лабораторная работа 17 Цель работы – понять основы работы простейшего текстового редактора. Теория Текстовый редактор – компьютерная программа, предназначенная для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п. Различают два типа текстовых редакторов. Первый тип ориентирован на работу с последовательностью символов в текстовых файлах. Такие редакторы обеспечивают расширенную функциональность – подсветку синтаксиса, сортировку строк, шаблоны, конвертацию кодировок, показ кодов символов и т. п. Иногда их называют редакторами кода, так как основное их предназначение – написание исходных кодов компьютерных программ. Второй тип текстовых редакторов имеет расширенные функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания различного рода документов, от личных писем до официальных бумаг. Классический пример – Microsoft Word. Задание Приведенная ниже программа представляет собой текстовый редактор. Разберитесь в основных принципах ее работы. Опишите используемые функции, операторы, компоненты библиотеки VCL, обработчики событий. Объясните, для чего они нужны в данной программе. #include <vcl.h> #pragma hdrstop #include "lab15_task1.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; AnsiString FileName; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { FileName = "Безымянный"; Form1->Caption = "Текстовый редактор - " + FileName; ComboBox1->Items->Assign(Screen->Fonts); } void __fastcall TForm1::N8Click(TObject *Sender) { Form1->Close(); } void __fastcall TForm1::N6Click(TObject *Sender) { if (OpenDialog1->Execute()) { RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName); FileName = OpenDialog1->FileName; Form1->Caption = "Текстовый редактор - " + OpenDialog1->FileName; } } void __fastcall TForm1::N7Click(TObject *Sender) { if(RichEdit1->Modified) { if (SaveDialog1->Execute()) { RichEdit1->Lines->SaveToFile(SaveDialog1->FileName); RichEdit1->Modified = false; } } } void __fastcall TForm1::N5Click(TObject *Sender) { if(RichEdit1->Lines->Count > 0) { int answer; answer = MessageBox(0,"Сохранить содержимое окна?","Сохранить?",MB_YESNOCANCEL); if(answer==IDYES) { N7Click(Sender); RichEdit1->Clear(); } else if(answer==IDNO) { RichEdit1->Clear(); } } } void __fastcall TForm1::N9Click(TObject *Sender) { if(FileName == "Безымянный.txt") { N7Click(Sender); } else { RichEdit1->Lines->SaveToFile(FileName); } } void __fastcall TForm1::N10Click(TObject *Sender) { PrinterSetupDialog1->Execute(); } void __fastcall TForm1::N11Click(TObject *Sender) { if (PrintDialog1->Execute()) { RichEdit1->Print(OpenDialog1->FileName); } } void __fastcall TForm1::N12Click(TObject *Sender) { RichEdit1->CutToClipboard(); } void __fastcall TForm1::N13Click(TObject *Sender) { RichEdit1->CopyToClipboard(); } void __fastcall TForm1::N14Click(TObject *Sender) { RichEdit1->PasteFromClipboard(); } void __fastcall TForm1::N16Click(TObject *Sender) { if(N16->Checked) { RichEdit1->WordWrap = false; N16->Checked = false; } else { RichEdit1->WordWrap = true; N16->Checked = true; } } void __fastcall TForm1::N15Click(TObject *Sender) { if(FontDialog1->Execute()) { RichEdit1->Font = FontDialog1->Font; } } void __fastcall TForm1::N17Click(TObject *Sender) { RichEdit1->Clear(); } void __fastcall TForm1::N19Click(TObject *Sender) { RichEdit1->Undo(); } void __fastcall TForm1::N20Click(TObject *Sender) { N19Click(Sender); } void __fastcall TForm1::N21Click(TObject *Sender) { N12Click(Sender); } void __fastcall TForm1::N22Click(TObject *Sender) { N13Click(Sender); } void __fastcall TForm1::N23Click(TObject *Sender) { N14Click(Sender); } void __fastcall TForm1::N24Click(TObject *Sender) { N17Click(Sender); } void __fastcall TForm1::N31Click(TObject *Sender) { RichEdit1->SelectAll(); } void __fastcall TForm1::N32Click(TObject *Sender) { N31Click(Sender); } void __fastcall TForm1::ComboBox1Change(TObject *Sender) { RichEdit1->SelAttributes->Name = ComboBox1->Text; } void __fastcall TForm1::ComboBox2Change(TObject *Sender) { RichEdit1->SelAttributes->Size = StrToInt(ComboBox2->Text); } void __fastcall TForm1::N33Click(TObject *Sender) { MessageBox(NULL, "Лабораторная работа № 17\n", "О программе...", MB_OK | MB_ICONINFORMATION); } void __fastcall TForm1::ToolButton1Click(TObject *Sender) { N9Click(Sender); } void __fastcall TForm1::ToolButton3Click(TObject *Sender) { N5Click(Sender); } void __fastcall TForm1::ToolButton2Click(TObject *Sender) { N6Click(Sender); } void __fastcall TForm1::N34Click(TObject *Sender) { RichEdit1->Paragraph->Alignment = taLeftJustify; N34->Checked = true; N35->Checked = false; N36->Checked = false; } void __fastcall TForm1::N35Click(TObject *Sender) { RichEdit1->Paragraph->Alignment = taCenter; N34->Checked = false; N35->Checked = true; N36->Checked = false; } void __fastcall TForm1::N36Click(TObject *Sender) { RichEdit1->Paragraph->Alignment = taRightJustify; N34->Checked = false; N35->Checked = false; N36->Checked = true; } void __fastcall TForm1::ToolButton4Click(TObject *Sender) { N34Click(Sender); } void __fastcall TForm1::ToolButton6Click(TObject *Sender) { N35Click(Sender); } void __fastcall TForm1::ToolButton7Click(TObject *Sender) { N36Click(Sender); } void __fastcall TForm1::ToolButton10Click(TObject *Sender) { N10Click(Sender); }
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 1. Архангельский А.Я. Программирование в C++ Builder 6 и 2006 / А.Я. Архангельский, М.А. Тагин – М.: Бином, 2007. 2. Дейтел Х.М. Как программировать на С++ / Х.М. Дейтел, П.Дж. Дейтел. – М.: Бином, 2007. 3. Павловская Т.А. C/C++. Программирование на языке высокого уровня / Т.А. Павловская. – СПб.: Питер, 2005. 4. Подбельский В.В. Язык С++ / В.В. Подбельский. – М.: Финансы и статистика, 2006. 5. Труб И.И. Объектно-ориентированное моделирование на С++: учебный курс / И.И. Труб. – СПб.: Питер, 2006. 6. Франка П. С++: учебный курс / П. Франка. – СПб.: Питер, 2006.
ОГЛАВЛЕНИЕ Лабораторная работа 1. Знакомство со средой C++ Builder 6.0. Создание консольного приложения 3 Лабораторная работа 2. Переменные и константы. Базовые типы. Арифметические операции 8 Лабораторная работа 3. Циклический и ветвящийся поток управления.............. 23 Лабораторная работа 4. Функции. Вызов функций с формальными параметрами, передаваемыми по значению 33 Лабораторная работа 5. Одномерные массивы...................................................... 43 Лабораторная работа 6. Многомерные массивы.................................................... 48 Лабораторная работа 7. Функции для работы с символами................................. 53 Лабораторная работа 8. Строки, литералы. Передача строк в функции.............. 56 Лабораторная работа 9. Указатели и динамические массивы............................... 63 Лабораторная работа 10. Динамические структуры данных................................. 71 Лабораторная работа 11. Объектно-ориентированное программирование. Создание классов и объектов 78 Лабораторная работа 12. Знакомство со средой быстрой разработки приложений. Использование компонент библиотеки VCL 84 Лабораторная работа 13. Вывод в форму результатов работы программы........ 94 Лабораторная работа 14. Изучение обработчиков событий компонентов библиотеки VCL 98 Лабораторная работа 15. Использование таймера для создания различных эффектов 102 Лабораторная работа 16. Рисование в канве. Построение графиков функций.. 105 Лабораторная работа 17. Изучение принципа работы текстового редактора.... 111 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ.............................................. 118
Учебно - практическое издание
Дата добавления: 2015-08-31; Просмотров: 302; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |