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

  }


 

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

53544. Генезис научного направления финансовый менеджмент, цели и задачи финансового менеджмента 14.57 KB
  Как известно языковая норма – регулятор правильности литературного языка и условие его устойчивости стабильности. Лексические повтор слова синонимическая замена использование антонимов многозначных слов однокоренных слов слов одной тематической группы ключевые слова Морфологические замена существительных и других частей речи местоимениями видовременное единство глаголов наречий места и времени вводных слов и предложений союзов частиц и др. Синтаксические наличие вопросноответной формы синтаксического параллелизма определенного...
53545. Нашего стола царица или выходец из Южной Америки 95.5 KB
  Цель: расширить знания об одной из основных овощных культур, развивать художественные и творческие способности учащихся, учить анализу собранного материала, воспитывать уважение к людям труда.
53546. ИГРЫ НА УРОКЕ ИНОСТРАННОГО ЯЗЫКА 85.5 KB
  Можно проводить игры на аудирование текста, не имея ни картинок, ни рисунков, ни заранее приготовленных вопросов, ни пунктов текста и т.д., это игры на развитие аудитивной памяти. Учитель читает текст в нормальном темпе, играющие слушают
53547. Система показателей оценки имущественного положения организации 13.86 KB
  Основными характеристиками имущественного положения компании являются: сумма хозяйственных средств, доля внеоборотных активов в валюте баланса, доля активной части основных средств, коэффициент износа, коэффициент выбытия, коэффициент обновления.
53548. Квіти - це життя, надія, радість і натхнення 1.31 MB
  Мета: ознайомити учнів з фрагментами життєвого та творчого шляху видатної української художниці Катерини Білокур; розвивати вміння правильно сприймати і розуміти зміст картини; вчити вдало висловлюватися про побачене; розвивати вміння самостійно підбирати кольори і їх відтінки для вдалого відтворення краси квітки у малюнку; розвивати естетичні смаки; виховувати почуття глибокої поваги до творців прекрасного;...
53550. Використання елементів методів проектів та комп’ютерної підтримки на уроках фізики 646.5 KB
  Важливим аспектом застосування інтерактивних технологій є оновлення структури уроків. Кожен вчитель знає, що такі уроки краще запам’ятовуються учнями, викликають зацікавленість і бажання взяти участь в уроці. В нашій роботі ми пропонуємо використання різних форм роботи на уроках математики, фізики та інформатики.
53551. Все про каву 127.5 KB
  Мета: поглибити знання учнів про каву як рослину її біологічні особливості; ознайомитися з хімічним складом кавових зерен їх корисність та шкідливість вплив на організм; розглянути технологію обробки кавових зерен історію поширення кави по світу; ознайомитися з найбільшими країнамивиробниками кави традиції та звичаї які з нею пов’язані. Розглянути різноманітні рецепти приготування кави цікаві факти про цю рослину та використання кави не за призначенням. Оформлення: назви лабораторій вислови про каву: Говорять все прекрасне в житті...
53552. Показатели оценки рыночной активности 25 KB
  Этот раздел анализа выполняется участниками фондового рынка. Показатели рыночной привлекательности позволяют оценить ожидания рынка относительно доходности и риска ценных бумаг эмитента. Для проведения анализа рыночной привлекательности используется как данные бухгалтерской отчетности...