Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: SaveFileDialog

novice [16.10.2008 15:31:55]

#

Mikä koodissa vikana? Tein savefiledialog harjoituksen sivulta: http://www.homeandlearn.co.uk/NET/nets4p9.html
Jostain syystä dialogissa joutuu painamaan kahdesti jompaa kumpaa nappia (save tai cancel).

Private Sub menu_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menu_save.Click
        Dim tiedostonimi As String
        Dim didwork As String

        SaveFD.OverwritePrompt = True
        SaveFD.Title = "tallenna tiedosto"
        SaveFD.InitialDirectory = "c:\"
        SaveFD.Filter = "text files|*.txt"
        SaveFD.ShowDialog()

        tiedostonimi = SaveFD.FileName
        didwork = SaveFD.ShowDialog()

        If didwork = DialogResult.Cancel Then
            MsgBox("cancel nappia painettiin")
        Else
            tiedostonimi = SaveFD.FileName
            MsgBox("tiedosto " & tiedostonimi & " tallennettu")
        End If

    End Sub

neau33 [17.10.2008 18:52:33]

#

Moikka taas novice!

Komennon 'tuplaus' johtuu siitä, että koodi avaa dialogi-ikkunan kahteen kertaan...

'....
' koodi avaa dialogi-ikkunan tässä ensimmäisen kerran...
SaveFD.ShowDialog()
'...
'...ja tässä uudestaan (ensimmäinen on turha)...
didwork = SaveFD.ShowDialog()
'...

Lisää erikoisuuksia...yleensäkään Windows ohjelmissa Menun File-valikon Save-toiminnon yhteydessä ei käytetä SaveFileDialog-funktiota, vaan tiedosto tallennetaan suoraan mitään kyselemättä samalla nimellä, jolla se on avattu (tiedostopolku haetaan joko esim. OpenFileDialog1.FileName -ominaisuudesta tai se on tallennettu julkiseen muuttujaan...) Sen sijaan kyseinen toiminto liitetään Menussa yleensä Save As-valintaan. Eli Menun Save-valinta on joko estetty tai sitä ei edes näy Menun File-valikossa jos mitään tiedostoa ei ole avattu...

Mutta jos nyt edetään näillä eväillä niin rivi...

tiedostonimi = SaveFD.FileName

pitäisi luonnollisesti olla muodossa...,

SaveFD.FileName=tiedostonimi

jolloin tiedostonimi näkyy automaattisesti Tiedostonimi: tekstiruudussa, kun SaveFileDialog-ikkuna avautuu...

novice [17.10.2008 19:08:56]

#

Kiitos vastauksesta.

Vastaus

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

Tietoa sivustosta