Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: MP3 soittimeen playlist (VB6) (VBA)

Sivun loppuun

p-p [15.01.2005 20:17:27]

#

Kävin väsäämään MP3 soitinta ja jumituin sen niin sanotun soittolista tallennukseen ja lataukseen. Miten saan tallennuksen ASCII tiedostoon toimimaan yhdessä Microsoft Common Dialog Control 6.0:n kanssa?

ASCII tallennus:

Open tiedosto.txt For Output As #1
Print #1, Text1.Text
Close #1
End Sub

Miten saan tuommoisen toimimaan common dialogilla?

Antti Laaksonen [15.01.2005 20:21:47]

#

Kirjoita tiedoston nimen kohdalle CommonDialogiin kirjoitettu tiedostonimi, joka tulee kontrollin FileName-ominaisuuteen. Tarkista kuitenkin ensin, että nimi ei ole tyhjä peruutuspainikkeen painamisen takia.

Heikki [15.01.2005 20:22:41]

#

Katsoppa tätä koodivinkkiä.

Ja esimerkki joka tallentaa tekstilaatikon sisällön käyttäjän commond ialogista valitsemaan tiedostoon:

Private Sub Command1_Click()
'eli tallennus nimellä
On Error GoTo cancel 'jos käyttäjä painaa cancel, mennään kohtaan cancel (cancel-napista
                                                    'tapahtuu virhe)
'Suodattimet (näkyvät tiedostotyyppi-osiossa)
CommonDialog1.Filter = "Kaikki tiedostot|*.*|Tekstitiedostot|*.txt"
'eli filterit asetetaan tyyliin "teksti|tiedostot|teksti2|tiedostot2"

'näytetään tallenna nimellä -ikkuna
CommonDialog1.ShowSave      'jos halutaan avata, ShowSaven tilalle ShowOpen

'avataan käyttäjän valitsema tiedosto
open CommonDialog1.FileName for output as #1
print #1, Text1.Text
Close #1

Exit Sub
cancel:
Exit Sub
End Sub

Kopioitu suurelta osin tuosta koodivinkistä.


Edit. Antti ehätti hieman edelle.

p-p [15.01.2005 21:10:01]

#

Private Sub cmdSavePlaylist_Click()
      Common.FileName = ""
      Common.Filter = "WBP|*.wbp"
      Common.ShowSave
      If Common.FileName = "" Then Exit Sub
      Dim i As Integer
      Dim path As String
      i = 0
      Open Common.FileName For Output As #1
      Do
            Paths.List(i) = path
            Print #1, path
            i = i + 1
      Loop
End Sub

Tommosella koodilla yritin tallentaa niitten tiedostojen polkuja tiedostoon. Kaikki meni muuten hyvin, mutta se looppaa tota niin kauan että tulee overflow. Miten sen overflowin tulemisen voi estää?

Blaze [15.01.2005 21:19:58]

#

Laittamalla tuohon looppiin joku ehto, jolla se lopetetaan.

p-p [15.01.2005 21:29:45]

#

Jos lisään tohon äskeiseen koodiini i = i + 1 jälkeen if lausekkeen

If i > 99 then exit sub

niin tulostaa 100 tyhjää riviä tiedostoon *.wbp.

Edit. Voiko joku tehä tosta toimivan esimerkin? Kun se ei tulosta edes niitä polkuja vaan pelkkiä tyhjiä rivejä :( Oon pihalla ku lumiukko...

Blaze [15.01.2005 21:50:06]

#

Näytät kirjottavan sinne tiedostoon path-muuttujan. Ko. muuttujalle ei missään vaiheessa aseteta arvoa, joten tyhjiä rivejähän sinne ilmestyy.

Todennäkösesti haluaisit vaihtaa tuon pathin ja listboksin paikkaa tuossa printtaamista edeltävällä rivillä.

p-p [15.01.2005 21:55:54]

#

Juu katos siinähän se virhe olikii... En huoman sitä :D

EDIT:Miten saan tietooni kuinka monta saraketta(tai mitä nyt onkaa) listboxissa on?

esakom [19.01.2005 01:06:48]

#

Sarakkeet:
Dim numCols As Integer
numCols = List1.Columns

Rivit:
Dim numLines As Integer
numLines = List1.ListCount


Sivun alkuun

Vastaus

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

Tietoa sivustosta