Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tiedoston nimi muuttujaan

Sivun loppuun

tuomas [29.05.2004 21:01:17]

#

Miten saisin siirrettyä commondialogissa valitun tiedoston nimen muuttujaan?
Entä miten saan siirrettyä commondialogista valitun tiedosto formaatin muuttujaan?

Antti Laaksonen [29.05.2004 21:07:59]

#

tuomas kirjoitti:

Miten saisin siirrettyä commondialogissa valitun tiedoston nimen muuttujaan?

Tiedoston nimi löytyy muuttujasta CommonDialog.FileName.

tuomas kirjoitti:

Entä miten saan siirrettyä commondialogista valitun tiedosto formaatin muuttujaan?

Valittu formaatti tulee suoraan mukaan tiedostonimeen, jos käyttäjä ei ole kirjoittanut muuta päätettä. Muuttujasta CommonDialog.FilterIndex myös selviää, monesko formaatti listalta oli valittuna.

tuomas [29.05.2004 21:25:05]

#

Miten tuosta saisi sitten poistettua kyseisen tiedoston polun niin että vain nimi jäisi?

sqwiik [29.05.2004 21:46:05]

#

Hae nimen viimeinen \-merkki. Nimi on heti sen jälkeen. Basiccien koodivinkkejä yhdistelemällä ratkaisu löytyy helposti :)

hunajavohveli [29.05.2004 21:51:03]

#

Homma hoitunee kätevimmin Mid-funktiolla, joka palauttaa tekstistä vain tietyn osan. Vilkaisepa tosiaan hausta ja koodivinkeistä.

Blaze [29.05.2004 21:54:53]

#

tuomas kirjoitti:

Miten tuosta saisi sitten poistettua kyseisen tiedoston polun niin että vain nimi jäisi?

CommonDialog.FileTitle

tuomas [29.05.2004 22:02:43]

#

Mitenköhän tuo onnistuisi..?
Voisiko joku auttaa hieman koodin kanssa?
Tässä on mitä sain itse aikaan mutta se ei toimi..
toivottavasti olen oikeilla jäljillä..

Dim A As Integer
TiedostonNimi = CommonDialog1.FileName

For i = 1 To Len(TiedostonNimi)
    If Left(TiedostonNimi, A) = "/" Then
       Mid(TiedostonNimi, A, Len(TiedostonNimi)) = Nimi
    A = A + 1
    End If
Next '
Nimi.Caption = Nimi

Blaze tiesikin helpomman tavan..kiitos!

EDIT:
Entä mieten tuosta saisi vielä erotettua tuon tiedoston tunnisteen?
ja lisättyä sen johonkin muuttujaan.
vaikka soveltemalla jotenkin tuota pientä koodin pätkääni..jota en saanut itse toimimaan kunnolla..
Huomaako siinä kukaan mitään virheitä?

Heikki [29.05.2004 23:08:08]

#

Lähetin CommonDialogiin liittyvän koodivinkin kerran, kannattaa vilkaista:
https://www.ohjelmointiputka.net/koodivinkit/24030-vb6-commondialogin-käyttö

Meitzi [30.05.2004 21:40:17]

#

Tuomas, pistä ihmeessä "Option Explicit" ohjelman alkuun ja säädä se oletukseksi asetuksista. (kohta "Require Variable Declaration")

Teet tuossa parikin virhettä, merkki ei ole / vaan \ ja sitten tuo "mid(jotain) = nimi" on väärinpäin, pitäisi olla varmaan jotain "nimi = mid(jotain)". Tai oikeastaan tuo pitänee pistää kokonaan uusiksi.

Mutta koska helpompiki tapa löytyy niin:

Dim KokoTiedostoNimi As String
Dim TiedostoNimi As String
Dim TiedostoPaate As String

CommonDialog1.ShowOpen

KokoTiedostoNimi = CommonDialog1.FileName
TiedostoNimi = CommonDialog1.FileTitle
'Palautetaan pisteen jälkeinen osa, ohjelma taitaa kaatua jos päätettä ei löydy
TiedostoPaate = Right(TiedostoNimi, Len(TiedostoNimi) - InStrRev(TiedostoNimi, ".", , vbTextCompare))

MsgBox "KokoTiedostoNimi = " & KokoTiedostoNimi & vbLf & "TiedostoNimi = " & TiedostoNimi & vbLf & "TiedostoPaate = " & TiedostoPaate, vbOKOnly, "Tiedosto"

Sivun alkuun

Vastaus

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

Tietoa sivustosta