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();

  }


 

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

67208. СУТНІСТЬ І РОЛЬ ДЕМОКРАТІЇ В ПОЛІТИЧНОМУ ЖИТТІ СУСПІЛЬСТВА 91 KB
  Виникла демократія разом із появою держави. Вперше це поняття згадується в працях мислителів Давньої Греції (Демокріта). У класифікації держав, запропонованій Аристотелем, воно означало «правління всіх», на відміну від аристократії («правління обраних»), і монархії («правління одного»).
67209. Проектування, компонування та подання форм за допомогою CSS 863 KB
  Можна сказати, що використання великої кількості маркерів class та id порушує принцип KISS (принцип збереження максимальної простоти). Проте складні компонування часто створюють конфлікти в каскадуванні – конфлікти, які найпростіше вирішуються додаванням до елементів маркерів...
67210. Синтаксис. Предмет синтаксиса 175.5 KB
  Синтаксический ярус – самый высокий в системе языка. С фонетикой синтаксис связан посредством интонации: основная синтаксическая единица языка – предложение – всегда интонационно оформлено. Интонация выражает утверждение, вопрос, побуждение, восклицание; интонационно выделяются вводные слова, конструкции и т.д.
67211. ЭФФЕКТОРЫ 90 KB
  К эффекторам относятся мышцы скелетные гладкие и сердечная и железы внешней секреции. Скелетные мышцы называются также произвольными поскольку их сокращением и расслаблением можно сознательно управлять хотя частичное сокращение обеспечивающее мышечный тонус регулируется без участия сознания.
67212. Предмет психологии, ее задачи 99.75 KB
  Предмет психологии ее задачи. Общее представление о психологии как науке. Соотношение научной и житейской психологии. Система феноменов которые изучаются в современной психологии жизненная роль соответствующих явлений.
67213. Основные направления современной психологии 98.51 KB
  Все что происходит внутри человека изучить невозможно то есть человек выступает как черный ящик. Объективно изучать регистрировать можно только реакции внешние действия человека и стимулы ситуации которые эти реакции обусловливают. Основная задача бихевиоризма подчеркивает Уотсон заключается в накоплении наблюдений...
67215. Сознание и самосознание. Свойства сознания 102.02 KB
  Определение сознания. Основные признаки сознания. Психологические характеристики сознания человека. Соотношение сознания и бессознательного впервые было изучено в рамках теории и практики психоанализа.
67216. Ощущения и восприятие 79.04 KB
  Ощущения и восприятие. Ощущения считаются самыми простыми из всех психических явлений. Способность к ощущениям имеется у всех живых существ обладающих нервной системой. Качество это основная особенность данного ощущения отличающая его от других видов ощущений и варьирующая в пределах данного вида ощущения.