Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > сохранение.


Автор: Malish 16.3.2006, 20:59
void __fastcall TForm2::N5Click(TObject *Sender)
{
SaveDialog1->Execute();
Memo1->Lines->SaveToFile(SaveDialog1->FileName.c_str());
}

помогите сделать тоже самое только чтобы сохранение было в txt формате.
и как обработать искючения при сохранении, если, например, пользователь отказался сохранять.

Автор: Feldsher 16.3.2006, 23:00
Код
if(SaveDialog1->Execute())
{
    try
    {
        Memo1->Lines->SaveToFile(SaveDialog1->FileName.c_str());
    }
    catch(/*указываешь исключение*/)
    {
        /*код*/    
    }
}

Добавлено @ 23:04
"txt формат" - прописуешь в фильтре диалога обработку файлов txt

Автор: BreakPointMAN 16.3.2006, 23:10
Цитата(Malish @ 16.3.2006, 20:59 Найти цитируемый пост)
и как обработать искючения при сохранении, если, например, пользователь отказался сохранять.

Причем здесь исключения? Читаем справку:
Цитата

TSaveDialog.Execute
Displays the Save As dialog box.

virtual bool __fastcall Execute(void);

Description

Execute opens the Save As dialog, returning true when the user selects a file name and clicks Save. If the user cancels the save operation, Execute returns a false value.

if (SaveDialog1->Execute())

  Memo1->Lines->SaveToFile(SaveDialog1->FileName);

Автор: Malish 17.3.2006, 16:53
ребят спс, тема закрыта.

Автор: Malish 17.3.2006, 18:13
вот конечный вариант, спс еще раз smile

void __fastcall TForm2::N5Click(TObject *Sender)
{
SaveDialog1->DefaultExt="txt";
SaveDialog1->Filter="ASCII files (*.txt)|*.txt|";
if(SaveDialog1->Execute())
{
try
{
Memo1->Lines->SaveToFile(SaveDialog1->FileName);
}
catch(...)
{
ShowMessage("Не удалось сохранить фаил.");
}
}
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)