Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tiedoston nimi ja rekisteri

Sivun loppuun

juhaz [09.06.2006 15:51:32]

#

Minulla on ohjelma, joka lataa netistä tiedoston, jonka käyttäjä asettaa (esim. http://www.test.com/test.zip) niin kuinka saan selville, että mikä on sen tiedoston nimi ja pääte automaattisesti?

Entä kuinka minä voin tehdä rekisteriin kohtaan HKEY_CLASSES_ROOT hakemiston nimeltä 'joku' ja sinne hakemistot DefaultIcon, shell (ja shelliin open ja open:iin command) ja kirjoittaa jotain arvoja niiden merkkijonoarvo-kohtiin?

Blaze [09.06.2006 16:43:43]

#

juhaz kirjoitti:

kuinka saan selville, että mikä on sen tiedoston nimi ja pääte automaattisesti?

Ota tuo käyttäjän antama URL, etsi siitä viimeinen kauttaviiva, ja ota kaikki sen jälkeen olevat merkit.

juhaz kirjoitti:

Entä kuinka minä voin tehdä rekisteriin kohtaan HKEY_CLASSES_ROOT hakemiston nimeltä 'joku' ja sinne hakemistot DefaultIcon, shell (ja shelliin open ja open:iin command) ja kirjoittaa jotain arvoja niiden merkkijonoarvo-kohtiin?

http://pp.kpnet.fi/blaze/codefaq/#registrywriting

Metabolix [09.06.2006 16:56:58]

#

Ensimmäiseen vielä, että jos tiedosto välitetään vaikkapa PHP-skriptiltä liitteenä, niin homma käy perin mutkikkaaksi. Monet lataussivuthan jakavat tiedostoja linkeistä kuten
.../lataus.php?tiedosto=joku.zip ellei peräti
.../lataus.php?file_id=10237, että ota nyt tuosta sitten selvää. :)

juhaz [09.06.2006 17:05:33]

#

Löysin tuohon rekisterin kirjoitus-juttuun toimivan ja helpon scriptin.

Private Function RegWrite(Key1, SValue As String)

Set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegWrite Key1, SValue

End Function

Private Sub Command1_Click()
RegWrite "HKEY_CLASSES_ROOT\joku2\DefaultIcon\", Chr(34) & "D:\joku\joku.exe" & Chr(34)
RegWrite "HKEY_CLASSES_ROOT\joku2\shell\open\command\", Chr(34) & "D:\joku\joku.exe" & Chr(34) & " %1"
RegWrite "HKEY_CLASSES_ROOT\joku2\", "URL: joku Protocol"
RegWrite "HKEY_CLASSES_ROOT\joku2\URL Protocol", ""
End Sub

juhaz [11.06.2006 09:06:24]

#

Joo en kyllä keksi miten tuo nimi pitäisi hoitaa. Yritin purkaa osoitetta osiin, mutta siitäkin ilmeni se ongelma, että pitäisi tietää, että se osoite jakautuu aina neljään osaan tj :/

Rozen [11.06.2006 10:31:14]

#

oliskoha joku right$ ja sillä ettii sen /-merkin

Niko [11.06.2006 10:55:17]

#

juhaz kirjoitti:

Joo en kyllä keksi miten tuo nimi pitäisi hoitaa. Yritin purkaa osoitetta osiin, mutta siitäkin ilmeni se ongelma, että pitäisi tietää, että se osoite jakautuu aina neljään osaan tj :/

Lue vastauksen otsikossta (header)

sooda [11.06.2006 10:55:31]

#

InStr kertoo missä kohdassa joku teksti on toisessa. InStrRev on sama mutta aloittaa etsimisen lopusta. Mid nappaa merkkijonosta palan.

tesmu [11.06.2006 13:58:39]

#

Tietysti voit käyttää Split rakennetta eli

Dim Taulukko() As String
Dim Osote As String
Osote = "Osote\juttu\lisäjuttu\hassu\joo"
Taulukko = Split(Osote,"\")
'Taulukko(0) on Osote
'Taulukko(1) on juttu jne...
For I = 0 To UBound(Taulukko)
MsgBox Taulukko(I)
Next I

Eli räjäytetään teksti taulukkoon "\" merkin väleiltä ja sitten annetaan jokainen osa MsgBoxilla ulos. Sovella tuota

juhaz [11.06.2006 15:09:48]

#

tesmu kirjoitti:

Tietysti voit käyttää Split rakennetta eli

Dim Taulukko() As String
Dim Osote As String
Osote = "Osote\juttu\lisäjuttu\hassu\joo"
Taulukko = Split(Osote,"\")
'Taulukko(0) on Osote
'Taulukko(1) on juttu jne...
For I = 0 To UBound(Taulukko)
MsgBox Taulukko(I)
Next I

Eli räjäytetään teksti taulukkoon "\" merkin väleiltä ja sitten annetaan jokainen osa MsgBoxilla ulos. Sovella tuota

Kiitos. Nyt toimii.


Sivun alkuun

Vastaus

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

Tietoa sivustosta