Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Form1->RichEdit:tin tallentaminen Form2:sesta?

CoolC++ [22.12.2007 19:51:25]

#

Kysäisisin vielä, että jos es. ohjelma kysyy ohjelma sulkiessa, että tallennetaanko tekstitiedosto (form2), niin jos käyttäjä valitsee "kyllä", niin "SaveDialog" -aktivoituu ja pyytää käyttäjän tallentamaan tiedoston, jonnekin ja kun käyttäjä tallentaa niin ohjelma tallentaa (form1) -formilla olevan "RichEdit" tiedoston kyseiseen hakemistoon? Ja taas jos "Ei" niin ohjelma sulkeutuu? Kun taas peruuta laitetaan "Close();". Ohjelmana on Borland C++ Builder 5.

zacura [22.12.2007 21:18:52]

#

Kysymyksen formin sulkeutuessa saa tekemällä käsittelijän formin OnCloseQuery tapahtumalle. En saanut selvää mitä eri formien on tuossa tarkoitus tehdä, mutta tarkoititko kenties näin:

void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    int vastaus = MessageDlg("Tallenetaanko?", mtConfirmation, mbYesNoCancel, 0);

    if (vastaus == mrYes) {

        if (SaveDialog1->Execute()) {
            // Tallennetaan teksti
            RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
            CanClose = true;
        }
        else {
            // Käyttäjä painoi peruuta SaveDialogissa
            CanClose = false;
        }
    }
    else if (vastaus == mrNo) {
        // Ei tallenneta
        CanClose = true;
    }
    else {
        // Käyttäjä painoi peruuta
        CanClose = false;
    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta