Datatiedoston luonti bcb:llä

Moi!

Minulla on semmoinen ongelma, että raapustelemani ohjelma tuottaa lukuarvoja, jotka sitten näytetään taulukossa, joka on Borlandin c builderin StringGrid-komponentti. Koko taulukon sisältö pitäisi saada talteen käyttäjän haluamaan tiedostoon ja lisäksi käyttäjä voisi ladata tiedoston takaisin taulukkoon.
Ongelmana on, etten osaa tallentaa koko taulukkoa tiedostoon. Esim. yhden sarakkeen tallennus onnistuu kyllä, kun siihen voi suoraan viitata.

Mitenköhän tämä olisi viisainta tehdä?
4282
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Voihan jokaiseen gridin celliin viitata erikseen. Sisällön saa ulos samaan tyyliin kuin sinne kirjoitetaankin. (->Cells[int ACol][int ARow])

Äänestä
  • No juu, näinhän se on. En vain oikein tiedä miten tiedostoon pitäisi kirjoittaa :(
    Anna pieni vinkki :)

    Äänestä

  • Noviisi kirjoitti:

    No juu, näinhän se on. En vain oikein tiedä miten tiedostoon pitäisi kirjoittaa :(
    Anna pieni vinkki :)

    Homman voi tehdä monella tapaa:
    1) funktio, joka käy alkiot läpi ja kirjoittaa tiedostoon
    2) periytä StringGrid-luokasta uusi luokka, johon lisäät kohdan 1 funktion metodiksi
    3) kuormita ofstream-luokan >>-operaattori (taas periytys) jolloin StringGridin voi kirjoittaa normaalisti tiedostoon kuten vaikka merkkijonon
    Alla esim. miten homman voi tehdä kohdan 3 tavalla. Käytän StringGrid:n tilalla STL:n luokkaa vector

    #include
    #include

    using namespace std;

    //vector2-luokka perii luokan vector
    template
    class vector2 : public vector{
       public:
          //ystäväfunktio, joka kuormittaa

    Äänestä

  • Punikki & 7 hyypiötä kirjoitti:

    Homman voi tehdä monella tapaa:
    1) funktio, joka käy alkiot läpi ja kirjoittaa tiedostoon
    2) periytä StringGrid-luokasta uusi luokka, johon lisäät kohdan 1 funktion metodiksi
    3) kuormita ofstream-luokan >>-operaattori (taas periytys) jolloin StringGridin voi kirjoittaa normaalisti tiedostoon kuten vaikka merkkijonon
    Alla esim. miten homman voi tehdä kohdan 3 tavalla. Käytän StringGrid:n tilalla STL:n luokkaa vector

    #include
    #include

    using namespace std;

    //vector2-luokka perii luokan vector
    template
    class vector2 : public vector{
       public:
          //ystäväfunktio, joka kuormittaa

    Kiitos oikein paljon vinkistä, täytyy alkaa kokeilemaan noita konsteja. Apu oli sittenkin tuolla jossain...

    Äänestä

Kommentoi aloitusta


Noviisi kirjoitti:

Moi!

Minulla on semmoinen ongelma, että raapustelemani ohjelma tuottaa lukuarvoja, jotka sitten näytetään taulukossa, joka on Borlandin c builderin StringGrid-komponentti. Koko taulukon sisältö pitäisi saada talteen käyttäjän haluamaan tiedostoon ja lisäksi käyttäjä voisi ladata tiedoston takaisin taulukkoon.
Ongelmana on, etten osaa tallentaa koko taulukkoa tiedostoon. Esim. yhden sarakkeen tallennus onnistuu kyllä, kun siihen voi suoraan viitata.

Mitenköhän tämä olisi viisainta tehdä?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu