Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [VB2008] formissa olevien kenttätietojen talletus

Nemo [26.11.2008 13:29:03]

#

Eli tarkoitus olisi saada tallennettua Form:ssa olevien erilaisten textboxien yms. valintaruutujen talletus mahdollisimman yksinkertaisesti erilliseksi tiedostoksi haluamallaan nimellään. Tiedostomuodolla ja suojauksella tuskin väliä?

Ja jos on tallentanut kyseiset tiedot, niin ne on luonnollsesti jälkeenpäin avattavissa.

Ideoita tämän ongelman ratkaisemiseksi?

Erikseen painonapin kautta tai ylävalikon kautta.
Kyseessä siis Visual Basic 2008 Express Edition.

Olen aika newbie tässä asiassa, joten olisi kiva saada vähän yksityisopetusta :-)

tsuriga [26.11.2008 17:08:34]

#

Haku: visual + basic + 2008 + file + save + dialog ===>
http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx
Ja edelleen pienellä vaivalla ===> http://msdn.microsoft.com/en-us/library/6ka1wd3w.aspx

Sovelletaan (Pohjattomasta taikurihatusta vedettyä: en voinut testata, enkä ole tiedostoonkirjoittamisesta ollenkaan varma, mutta MSDN-manuskasta voi noita parametreja ja metodeja etsiä lisää):

Private Sub button1_Click(sender As Object, e As System.EventArgs)
    Dim myStream As Stream
    Dim saveFileDialog1 As New SaveFileDialog()

    'Määritellään tallennusvalitsimen ominaisuudet
    saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    saveFileDialog1.FilterIndex = 2
    saveFileDialog1.RestoreDirectory = True

    'Näytetään tallenusvalitsin ja luetaan vastaus
    If saveFileDialog1.ShowDialog() = DialogResult.OK Then
        myStream = saveFileDialog1.OpenFile()
        If (myStream IsNot Nothing) Then

            'Kirjoitetaan tiedostoon Textbox1:n sisältö
            Dim writer As New StreamWriter(myStream)
            writer.WriteLine(Textbox1.Text)
            writer.Flush()

            'Suljetaan virrat
            writer.Close()
        End If
        myStream.Close()
    End If
End Sub

Debuggaus onnistuu esim. valitsemalla virhetilanteessa "Debug" ja viemällä kursoria muuttujien päälle, jolloin näet niiden arvot virhetilanteessa (sillä oletuksella, että VB08EE toimii about samoin periaattein kuin VBA-editori). Tai Debug.Print, tai viljelet manuaalisesti breakpointteja (F9?) koodin sekaan.

En valitettavasti osaa auttaa järin ammattimaisesti, sillä omat kokemukset rajoittuvat parin kuukauden trial-error -hakkaukseen. Kyllähän ne miun ohjelmat toimivat...

groovyb [26.11.2008 21:37:57]

#

kamat kannattaa kirjoittaa sinne tekstiin vaikka pilkku tai tab -erotettuna, niin on helppo splitata string arrayhin kun halutaan kamaa tiedostosta lukea.

Nemo [27.11.2008 09:50:38]

#

En tiedä, mitä tein väärin tai mitä jätin tekemättä... mutta jotenkin tuntuu että olen nyt lumiukkona pihalla.

Olen vääntänyt yksinkertaisen formin, johon olen luonnut tuon textbox1:n ja button1:n. Jonka jälkeen olen koodipuolelle heittänyt tuon koodin kokonaisuudessaan.

Yritin vielä OpenFileDialogia, mutta ei sekään onnaa.

Ilmeisesti jotain vaikutusta on myös sillä että heittää formiin toolboxista dialogs kohdasta kyseiset "työkalut" sisään.

Mutta tämäki tuli kokeiltua ja todettua että minun aivokapasiteettini ei riitä nyt tämän ratkaisemiseen.

Eli jos jollakin on valmis esimerkkiohjelma, jossa on mielellään menustripillä toteutettu tallenna ja avaa toiminnot, jotka tallentaa formin "kaikki" data haluamallaan nimellä ja haluttuun kansioon.

Samalla sitten tuo avaa toiminta, eli avaa halutun tiedoston -> lukee -> heittää tiedot formiin.

Vastaus

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

Tietoa sivustosta