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

  }


 

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

63897. Институт детства – что дальше? 36.5 KB
  Если сравнить прошлое и настоящее, детей современности и детей прошлого, детей XX века и детей начала XXI века, то мы заметим многие интересные черты. Предположим, что дети прошлого воспитывались в достаточно традиционной культуре...
63898. Этнические стереотипы и механизмы их становления 22.74 KB
  Мы пришли к выводу что в культуре отдельного народа и этноса можно отнести к стереотипам следующее: вербальное поведение; невербальное поведение мимика жесты телодвижения; национальный характер и представления о нем другими нациями...
63899. Трансформация института семьи 19.67 KB
  Семья базовая ячейка общества один из важнейших социальных институтов государства. В процессе радикальных социальных изменений вызванных модернизацией и глобализацией традиционные семьи находятся на распутье выбирая и балансируя между сохранением традиций...
63900. Образ «за границы» в глазах молодежи 37 KB
  В целом те кто был заграницей оценивают ее по следующим критериям: Климату: Невыносимая жара надоедает существует опасность стихийных бедствий. В России образование хуже чем заграницей. Психоэмоциональным оценкам: Заграницей другие люди.
63901. Стереотипная идентификация: восприятие представителей различных национальностей за границей 20.83 KB
  В первом вопросе предлагалось выбрать от 1 до 3 вариантов ответа в случае подтверждения факта общения с представителями какой либо из 3 национальностей китайцы корейцы японцы и отметить период знакомства указать в 10 летнем периоде или выбрать пункт никогда не сталкивался.
63902. Эмоциональные реакции, маркирующие трансгрессивный переход 36 KB
  Случается ли в бытии человека такая настроенность которая подводит его к самому Ничто и отвечает Ужас приоткрывает Ничто Но действительно ли это настроенность подводит человека к Ничто или всё же ситуация столкновения с Ничто вызывает эту настроенность Мы всё же возьмём ужас...
63903. Трансгрессия глобальной системы международно-правового регулирования 65.5 KB
  Основой глобального права может быть только международное право которое уже приобрело некоторые черты универсального регулятора. Глобализация это состояние мировой экономической системы охватывающей весь спектр человеческой деятельности происходящей от углубленной...
63904. Экономические условия трансформации социокультурного пространства. Доверие в экономике: миф или реальность 63 KB
  Выделяя общественные индивидуальные и самобытные отношения автор рассматривает доверие как феномен изначально характерный для индивидуальных отношений. Однако сегодня доверие становится неотъемлемой частью экономики так как с одной стороны наличие доверия...
63905. Эгоизм как общественная проблема в период социально-культурных трансформаций 25.51 KB
  Проблема эгоистичного устройства общества стояла перед человечеством с возникновением первых цивилизаций. Для нашего рассуждения мы выбирали именно эти произведения так как они относятся к одной и той же эпохе описывают одну и ту же социальную реальность...