Нужна программа для открывание и сохранения файла, код есть, но вот как сделать ехе файл ?(((а то мой чёт не работает((
Код:
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();
}