41619

Текстовий редактор

Лабораторная работа

Информатика, кибернетика и программирование

Лістинг програми fn=String::Empty; textChnged=flse; } prgm endregion privte: System::Void копіюватиToolStripMenuItem_ClickSystem::Object^ sender System::Eventrgs^ e { textBox1 Copy; } privte: System::Void копіюватиToolStripMenuItem1_ClickSystem::Object^ sender System::Eventrgs^ e { textBox1 Copy; } privte: System::Void вирізатиToolStripMenuItem_ClickSystem::Object^ sender System::Eventrgs^ e { textBox1 Cut; } privte: System::Void...

Украинкский

2013-10-24

122.58 KB

1 чел.

Лабораторна робота № 5

Варіант №8

Завдання:

Робота над проектом «Текстовий редактор».

Лістинг програми

fn=String::Empty;

  textChanged=false;

 }

#pragma endregion

 private: System::Void копіюватиToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {

    textBox1->Copy();

   }

private: System::Void копіюватиToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {

   textBox1->Copy();

  }

private: System::Void вирізатиToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {

   textBox1->Cut();

  }

private: System::Void вирізатиToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {

   textBox1->Cut();

  }

private: System::Void вставитиToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {

   textBox1->Paste();

  }

private: System::Void вставитиToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {

   textBox1->Paste();

  }

private:

String^ fn; //имя файла

 bool textChanged; //true - в текст внесені изменения

private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {

   textChanged=true; //текст измене

  }

 //Записывает текст в файл

  //возвращает 0 или -1, если пользователь

  //в окне Сохранить нажмет кнопку Отмена

 private: int TextToFile()

   {System::Windows::Forms::DialogResult dr;

   int r=0;

   if(fn == String::Empty)

   { //Это новый документ

    //Запросить у пользовтеля имя файла

    //Отобразить диалог Сохранить

    dr =saveFileDialog1->ShowDialog();

    if (dr ==System::Windows::Forms::DialogResult::OK)

    {   fn=saveFileDialog1->FileName;

     r=0;

    }

    else 

    //в окне диалога Сохранить пользователь выбрал Отмена

    r=-1;

   }

   //сохранить файл

   if (r==0)

   {

    try

    {   //получим информаци о файле fn

     System::IO::FileInfo^ fi=gcnew System::IO::FileInfo(fn);

     //поток записи

     System::IO::StreamWriter^ sw=fi->CreateText();

     sw->Write(textBox1->Text);

     sw->Close(); //закрываем поток

     textChanged=false;

     r=0;

    }

    catch (System::IO::IOException^ e)

    {

     MessageBox::Show(e->ToString(),

                  "MEdit",

         MessageBoxButtons::OK,

         MessageBoxIcon::Error);

    }

   }

   return r;

   }

 //Проверяет, есть ли изменения в тексте,и сохраняет текст в файле

 //Возвращает 0 или -1, если пользователь

 //отказался от выполнения операции (нажал кнопку Отмена)

private: int SaveText()

  {System::Windows::Forms::DialogResult dr;

         int r;

   r=0;

   if (textChanged)

   {

    dr=MessageBox::Show("В текст внесены изменения. Сохранить измененный текст?",

    "MEdit",

    MessageBoxButtons::YesNoCancel,

    MessageBoxIcon::Warning);

    switch (dr)

    {

    case System::Windows::Forms::DialogResult::Yes:

    r=TextToFile();

    break;

    case System::Windows::Forms::DialogResult::No:

     r=0;

     break;

    case System::Windows::Forms::DialogResult::Cancel:

     r=-1;

     break;

    };

   }

   return r;

  }

 private: void OpenDocument()

   { System::Windows::Forms::DialogResult dr;

   int r;

   r=SaveText();

   if (r==0)

   {

    openFileDialog1->FileName=String::Empty;

    //Отоброзить диалог Открыть

    dr = openFileDialog1->ShowDialog();

    if (dr == System::Windows::Forms::DialogResult::OK)

    {

     fn = openFileDialog1->FileName;

             //Отобразить имя файла в заголовке окна

     this->Text=fn;

     try

     {

      //Считываем данные из файла

      System::IO::StreamReader^ sr=

      gcnew System::IO::StreamReader(fn);

      textBox1->Text=sr->ReadToEnd();

      textBox1->SelectionStart=textBox1->TextLength;

      sr->Close();

      textChanged=false;

     }

     catch (System::IO::FileLoadException^ e)

     {

      MessageBox::Show("Error:\n"+ e->Message,

                    "MEdit",

           MessageBoxButtons::OK,

           MessageBoxIcon::Error);

     }

    }

   }

   }

private: void SaveDocument()

  {int r;

  r=SaveText();

  if (r==0)

  {

   this->Text=fn;

   textChanged=false;

  }

  }

private: void NewDocument()

  {

   int r;

   r=SaveText();

   if (r==0)

   {

    this->Text="New Document";

    textBox1->Clear();

    textChanged=false;

    fn = String::Empty;

   }

  }

private: System::Void відкритиToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {

OpenDocument();

  }

private: System::Void зберегтиToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {

   SaveDocument();

  }

private: System::Void новийДокументToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {

   NewDocument();

  }


 

А также другие работы, которые могут Вас заинтересовать

13490. Принципы функционирования среды Matlab и Simulink 178.5 KB
  Лабораторная работа №1 на тему: Принципы функционирования среды Matlab и Simulink Дисциплина: ОПД.Ф.15. Теория автоматического управления 1. Цель работы. 1.1. Ознакомление с основными правилами структурного метода построения типовых звеньев используя библиотеку объектов S...
13491. ИССЛЕДОВАНИЕ УСТОЙЧИВОСТИ ЛИНЕЙНЫХ САУ 120.5 KB
  Лабораторная работа №7. ИССЛЕДОВАНИЕ УСТОЙЧИВОСТИ ЛИНЕЙНЫХ САУ. Дисциплина: ОПД.Ф.15. Теория автоматического управления ЦЕЛЬ РАБОТЫ. Исследование влияния параметров линейной системы рис. 1 на ее устойчивость; Изучение возможностей практического
13492. Синтез САУ 816 KB
  Лабораторная работа №9. Тема: Синтез САУ Дисциплина: ОПД.Ф.15. Теория автоматического управления Цель работы: 1. Изучение методики выбора типового регулятора и расчета его настроек. 2. Практическая оценка и исследование характеристик САР с типовым регулятором о...
13493. КОРРЕКЦИЯ СТАТИЧЕСКИХ И ДИНАМИЧЕСКИХ СВОЙСТВ САУ 209.5 KB
  Лабораторная работа №10. Тема: КОРРЕКЦИЯ СТАТИЧЕСКИХ И ДИНАМИЧЕСКИХ СВОЙСТВ САУ Дисциплина: ОПД.Ф.15. Теория автоматического управления 1. ЦЕЛЬ РАБОТЫ Эта работа нацелена на приобретение студентами навыков анализа и синтеза САУ : 1 определение характеристик С...
13494. СИНТЕЗ СИСТЕМ АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ. ПАРАМЕТРИЧЕСКАЯ КОРРЕКЦИЯ 288 KB
  Лабораторная работа №11. Синтез систем автоматического регулирования. ПАРАМЕТРИЧЕСКАЯ КОРРЕКЦИЯ Дисциплина: ОПД.Ф.15. Теория автоматического управления 1. ЦЕЛЬ РАБОТЫ. Данная работа нацелена на приобретение студентами навыков синтеза САУ. Её целью является вы
13495. СИНТЕЗ СИСТЕМ АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ. СТРУКТУРНАЯ КОРРЕКЦИЯ 386 KB
  Лабораторная работа №12. Синтез систем автоматического регулирования. СТРУКТУРНАЯ КОРРЕКЦИЯ Дисциплина: ОПД.Ф.15. Теория автоматического управления Цель работы Изучить влияние последовательного включения различных корректирующих звеньев на свойс
13496. СИНТЕЗ САР РЕЛЕЙНЫХ И ЛОГИЧЕСКИХ СХЕМ 97 KB
  Лабораторная работа №8 СИНТЕЗ САР РЕЛЕЙНЫХ И ЛОГИЧЕСКИХ СХЕМ. Цель работы: 1. Изучение методики синтеза релейной а также логической схемы. 2. Разработка САР на базе релейных и логических элементов путем моделирования структурной схемы на ЭВМ. 3. Практическая оценка и ис...
13497. Коррекция статических и динамических свойств САУ 334 KB
  Лабораторная работа №14. Тема: Коррекция статических и динамических свойств САУ 1. Цель работы Эта работа нацелена на приобретение студентами навыков анализа и синтеза САУ: 1 определение характеристик САУ которые необходимо скорректировать; 2 обеспечение
13498. Стеганографические методы передачи информации в сетях TCP/IP 1.27 MB
  Методические указания на проведение лабораторных работ Стеганографические методы передачи информации в сетях TCP/IP по дисциплине специальности. Введение Традиционно для защиты данных передаваемых по открытым сетям используются методы криптографии позв...