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

  }


 

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

3281. История возникновения и развития юридической герменевтики в России 874 KB
  Актуальность темы исследования. Юридическая наука в своем непрерывном развитии находится в постоянном взаимодействии с различными отраслями гуманитарного знания. Для последних всегда было важно точно излагать и понимать мысли, содержащиеся в сочинен...
3282. Особенности реализации подтекста в кинодискурсе 1.02 MB
  Сегодня в лингвистике накоплен значительный опыт исследования подтекста, что позволило, с одной стороны, применить имеющиеся знания для изучения подтекста в англоязычном кино, а с другой стороны, наметить перспективы исследования этого явле...
3283. Технологии связей с органами власти в практике современного российского бизнеса: опыт железнодорожных компаний 660.5 KB
  Реформы, предпринятые в России в 90-е годы ХХ века и начале XXI века, привели к качественному преобразованию политической системы страны. В ходе этих реформ была сделана попытка  перехода к демократической системе управления...
3284. Створення інтернет-ресурсу для інформаційного забезпечення пілотного інвестиційного проекту 2.05 MB
  У даній бакалаврській роботі було розроблень інтер-ресурс для інформаційного забезпечення пілотного інвестиційного проекту "Агрогород.Луганск". При створенні використовувалися такі програмні засоби, технології і мови програмування: HTML, CSS, PHP, M...
3286. Інформаційне забезпечення пілотного інвестиційного проекту "Агрогород.Луганск" 558 KB
  Актуальність теми. Internet — це найшвидший засіб віщання в історії людства, де кількість користувачів, за оцінками експертів, подвоюється кожні півроку. Користувачі мережі являють собою область підвищеного інтересу для більшості рекламод...
3287. Небезопасная Е-да 121.5 KB
  Небезопасная Е-да Цели мероприятия: дать представление о пищевых добавках, их влиянии на организм человека. Задачи мероприятия: Познавательные: познакомить учащихся с пищевыми добавками, формировать культуру здоровья на основе грамотного питания...
3288. Поле чудес, гра для школярів 84.5 KB
  Підвищувати інтерес учнів до математики сприяти розвитку пізнавальних здібностей, привчати учнів до самостійної роботи під час підготовки до гри,виховувати вміння працьовати у команді для отримання спільного результату,виховувати культуру мате...
3289. Практикум доброты и вежливости. Путешествие по маршруту добрых чувств, поступков, дел и отношений 77 KB
  Внеклассное мероприятие в начальных классах по теме: "Практикум доброты и вежливости. Путешествие по маршруту добрых чувств, поступков, дел и отношений" Цель:  Продолжить формирование таких нравственных понятий как доброта, вежливость. Учить уч...