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

  }


 

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

75479. Отчеты и обработка (1С) 23.5 KB
  Свойства отчета редактируются в палитре свойств Свойства отчета. Фактически объект метаданных типа Отчет или Обработка представляет собой форму модуль которой является алгоритмом построения отчета а таблица служит для выдачи результатов построения отчетов в требуемом виде. Внешним отчетом в системе называется отчет или обработка хранящийся вне конфигурации в отдельном файле внешнего отчета. Отличием внешнего отчета от объектов метаданных типа Отчет и Обработка является то что он представляет собой только форму.
75480. Понятие запроса в MS Access, создание запроса на выборку в однотабличной БД 45.5 KB
  Понятие запроса в MS ccess создание запроса на выборку в однотабличной БД Запрос это обращение к БД для поиска или изменения в базе данных информации соответствующей заданным критериям. Создание запроса Для начала создания запроса следует открыть базу данных и перейдя на вкладку Запросы нажать кнопку Создать. Появится окно Новый запрос для выбора способа построения запроса рис 3.Диалоговое окно Новый запрос Конструктор создает запрос на основе пустого бланка запроса.
75481. Понятие инвестиционного плана и его содержание в ИС Project Expert 28.5 KB
  Понятие инвестиционного плана и его содержание в ИС Project Expert Инвестиций план затраты подготовительного периода затраты на приобретение и создание активов земли оборудования календарный план и сетевой график проекта. Раздел инвестиционный план предназначен для составления календарного графика работ проекта с указанием отдельных этапов необходимых финансовых ресурсов для выполнения этих этапов установления взаимосвязей между этапами формирования активов предприятия проекта описания способов и сроков амортизации созданных...
75483. Операционный план и его основное содержание в ИС Project Expert 35 KB
  Диалог План сбыта состоит из двух основных частей: таблицы содержащей список продуктов и информацию о ценах верхняя часть диалога; диалоговой панели для ввода информации об объемах и условиях сбыта текущего продукта нижняя часть диалога которая изменяется от степени детализации вводимых данных опция Детальное описание...
75484. Формирование запроса в MS Access, создание запроса на выборку в многотабличной БД 28.5 KB
  С помощью Access могут быть созданы следующие типы запросов: запросы на выборку, запросы на изменение, перекрестные запросы, запросы с параметром. Для начала создания запроса следует открыть базу данных, и, перейдя на вкладку Запросы нажать кнопку Создать. Появится окно Новый запрос для выбора способа построения запроса...
75485. Методы оценки финансового состояния предприятия с использованием Project Expert 25.5 KB
  Методы оценки финансового состояния предприятия с использованием Project Expert Финансовая оценка финансовая состоятельность т. Отчет о прибылях и убытках отражает операционную деятельность предприятия здесь и далее под операционной деятельностью понимается процесс производства и сбыта продукции или услуг за определенные периоды времени месяц квартал год. Балансовая ведомость в отличие от Отчета о прибылях и убытках отражает финансовое состояние предприятия определенный момент времени например 31 декабря 2001 года. Балансовая...
75486. Объект планы счетов 33 KB
  Слева от каждой строки находится пиктограмма характеризующая состояние данного счета. Если пиктограмма желтого цвета то это означает что счет является групповым то есть к нему открыты субсчета. Как например счета 01 или 03. Заметим что групповые счета не могут использоваться в проводках в них могут использоваться только его субсчета а сам групповой счет служит для аккумулирования информации по всем субсчетам в целом.
75487. Индексация данных. Индексы в базах данных. Нормализация БД 59.5 KB
  Первичный ключ атрибут или совокупность атрибутов которые уникальным образом однозначно идентифицируют экземпляр объекта запись таблицы. если у таблицы задан первичный ключ то любые записи данной таблицы должны отличаться значениями первичных ключей. Вторичный ключ атрибут или совокупность атрибутов предназначенных для упорядочения таблицы. Нормализация это разбиение таблицы на две или более обладающих лучшими свойствами при включении изменении и удалении данных.