Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: "Avaa sovelluksessa"

napalmi [05.12.2004 23:31:38]

#

Tähän ongelmaan en ole löytänyt ratkaisua vielä, joten kysyn sitä täälä.

Olen tehnyt ohjelman joka soittaa mp3 tiedostoja Windows mediaplayer -komponentilla. Kun valitsen mp3 tiedoston ja "avaa sovelluksessa" ja yritän avata ks. mp3:n omassa ohjelmassa, miten sen saa sielä aukeamaan?

Antti Laaksonen [05.12.2004 23:37:00]

#

Avattavan tiedoston nimi tulee ohjelmalle kometoriviparametrina, jolloin saat sen selville VB:ssä Command-funktion avulla. Kirjoita siis ohjelman alkuun jotain tämmöistä:

Private Sub Form_Load()
    If Command <> "" Then
        ' tiedoston avaaminen
        MsgBox "Soitetaan: " & Command
    End If
End Sub

Meitsi [05.12.2004 23:37:07]

#

laitat että ohjelmasi avaa tiedoston jonka polku on "command" muuttujassa

EDIT: ääh. Antti kerkesi ensiksi ;)

napalmi [05.12.2004 23:38:31]

#

Eipä pelaa..

msgboksi näyttää kyllä tiedoston nimen

tän pitäs pelata näin. mp1.filename = jotain joka sitte soi ja mp1 on se mediaplayer.

If Command <> "" Then
    mp1.FileName = Command
    MsgBox "Soitetaan: " & Command
End If

toi ei toimi, miten sen sitte pitäisi olla? ainakin msgboxissa näkyy " eli lainausmerkit, eikai niitä pidä olla ja miten ne saa pois?

Antti Laaksonen [06.12.2004 00:08:22]

#

Vika on varmaan juuri siinä. Minulla on kyllä semmoinen muistikuva, että vanhemmissa Windowseissa tiedoston nimi oli sellaisenaan ilman lainausmerkkejä. Mutta nyt ei auta muuta kuin poistaa ylimääräiset lainausmerkit, jos niitä on. Asia järjestyy seuraavantapaisella koodilla:

Private Sub Form_Load()
    Dim tiedosto As String
    If Command <> "" Then
        If Left(Command, 1) = """" Then
            tiedosto = Mid(Command, 2, Len(Command) - 2)
        Else
            tiedosto = Command
        End If
        ' tiedoston avaaminen
        MsgBox "Soitetaan: " & tiedosto
    End If
End Sub

napalmi [06.12.2004 00:11:53]

#

No nyt se toimii, Windosina on XP. Tänks!

Vastaus

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

Tietoa sivustosta