вопрос по С++(SaveDialog)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ITdocer, 15 Sep 2011.

  1. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    как можно сделать так что бы текстовый редактор сохранял несколько форматов

    if (SaveDialog1->Execute())
    Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".txt");

    этот скрипт сохраняет только в ".txt"

    а что нужно дописать в этот скрипт что бы сохраняло например в "*.rtf" или "*.html" ?
     
  2. xophet

    xophet Member

    Joined:
    16 Apr 2011
    Messages:
    617
    Likes Received:
    49
    Reputations:
    5
    у SaveDialog есть свойство Filter вида Текст1|фильтр1;Текст2|Фильтр2, которое показывает только файлы по фильтру, а там уж дела что хочешь зная имя и расширение файла.
    например при выбраном фильтре *.rtf, у тебя SAveDialog.Filename уже будет с расширением rtf
     
  3. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    то есть мне нужно создать что то типа такого?

    void __fastcall TForm1::N3Click(TObject *Sender)
    {
    if (SaveDialog1->Execute())
    Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".txt");


    if (SaveDialog1->Execute())
    Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".rtf");

    if (SaveDialog1->Execute())
    Memo1->Lines->SaveToFile(SaveDialog1->FileName + ".html");

    }

    так нужно?
     
  4. inCode

    inCode Member

    Joined:
    20 Jun 2011
    Messages:
    141
    Likes Received:
    22
    Reputations:
    5
    Code:
    // Filter by Word Documents OR Excel Worksheets OR PowerPoint Presentations //           OR Office Files //           OR All Files
    dlg.Filter = "Word Documents|*.doc|Excel Worksheets|*.xls|PowerPoint Presentations|*.ppt" +
                 "|Office Files|*.doc;*.xls;*.ppt" +
                 "|All Files|*.*";