Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: EXE:een tiedostoja?

Sivun loppuun

Zorro [03.10.2002 17:58:46]

#

Mietin että oisikohan mahdollista saada liitettyä ohjelman exe tiedostoon muita tiedostoja sillä tavoin että ne voisi purkaa taas omiksi tiedostoiksi tai ajaa sen exen sisältä?

KimmoKM [03.10.2002 18:03:14]

#

Siis QBllä tai VBllä?

Antti Laaksonen [03.10.2002 18:08:14]

#

Projektiin on ainakin mahdollista luoda "Resource File", johon voi liittää toisia tiedostoja. Sitä en tiedä, onnistuuko näiden ohjelmien suorittaminen suoraan tallentamatta niitä välillä levylle.

Gevil [03.10.2002 18:29:03]

#

Mitähä tiedostoja. Riippuu vähän siitäkin.. esimerkiksi kuvatiedostoja pystyy liittämään exeen VB:ssä.. ja saahan ne sieltä irtiki sitten omiksi tiedostoikseen..ainaki kikkailemalla..

Zorro [03.10.2002 19:24:53]

#

lainaus:

Siis QBllä tai VBllä?

Siis VBllä.

Jokin musiikki tiedosto ois kiva saada liitettyä, jotta sais jonkunlaisen taustamusiikin ohjelmiin ilman että tarttee siirtää exen mukana muita tiedostja.

thefox [03.10.2002 21:12:31]

#

Taas jäi kysymys vajaaksi. Eli minkätyyppinen musiikki on kyseessä? Miten sitä meinaat soitella: DLL? (fmod, bassmod..) winmm.dll?

Zorro [04.10.2002 16:21:27]

#

Mp3? Wav? Ihan mikä tahansa musiikki.

Antti Laaksonen [04.10.2002 17:08:42]

#

Jos kyseessä on wav-tiedostot, niiden soittaminen onnistuu suoraan Resource File:stä. Mp3 ja Midi pitää varmaankin tallentaa välillä levylle, ennen kuin ne voi soittaa.

Zorro [04.10.2002 17:25:32]

#

Tämä saattaa olla tyhmä kysymys, mutta mitenköhän tämä Resource File mahtaa toimia? Tai miten ylipäänsä laitetaan tuommoinen Resource file?

HtH [04.10.2002 19:35:41]

#

Itselläni nyt ei ole paljoa tälläisistä resurrssitiedostojen käytöstä kokemusta, mutta .EXE tiedoston loppuun voi laittaa ihan minkalaista tietoa vain. Manuaalisesti ei tämä välttämättä ihan onnistu, mutta voit tehdä ohjelman, joka kirjoitta exe:n loppuun jonkun tiedoston. Helppoa tämä kuitenkaan ei tule olemaan näin aloittelijalta..

Antti Laaksonen [04.10.2002 20:42:49]

#

Tämän pitäisi toimia ainakin VB6.0:ssa:

Valitse Project-valikosta "Add New Resource File" -kohta. Tämän jälkeen VB kysyy resurssitiedoston nimeä ja mihin se tallennetaan. Resurssitiedostojen tunnus on .RES.

Sitten projektiin ilmestyy Related Documents -osio, josta löytyy juuri luomasi resurssitiedosto. Tätä tiedostoa pystyy muokkaamaan Resource Editorista. Kuva: https://www.ohjelmointiputka.net/testit/resurssi.png

Nyt voit lisäillä tekstiä, kuvia, kuvakkeita tai muita tiedostoja resurssitiedostoon. Kullakin "resurssilla" on oma id, johon viitataan sitten funktioissa. Resurssitiedostoa käytetään koodista seuraavilla funktioilla:

LoadResString - hakee merkkijonon resurssitiedostosta

LoadResPicture - hakee kuvan, kuvakkeen tai kursorin resurssitiedostosta

LoadResData - hakee minkä tahansa tiedoston resurssitiedostosta.

Zorro [04.10.2002 21:00:10]

#

Nyt en ihan ymmärtänyt... Nimeänkö sen tiedoston jonka haluan liittää exeen .res päätteiseksi?
Miksi muuten https://www.ohjelmointiputka.net/testit/ osioon ei pääse?

snakari [04.10.2002 21:04:46]

#

se on suojattu. miten onnistuisi kansion liittäminen exeen (qb)

Antti Laaksonen [04.10.2002 21:05:33]

#

Ei, vaan teet ensin resurssitiedoston, johon sitten lataat niitä tiedostoja Resource Editorilla.

lainaus:

Miksi muuten https://www.ohjelmointiputka.net/testit/ osioon ei pääse?

Koko hakemistoa ei ole tarkoitettu kaikkien nähtäville.

Zorro [04.10.2002 21:59:15]

#

Juuh, nyt ymmärsin. Olisi vielä kiva jos kertoisit miten semmoisen tiedoston joka on siellä Related Documentsissa voidaan muuttaa taas takaisin omaksi tiedostoksi?

Antti Laaksonen [05.10.2002 15:05:28]

#

Tämä ei tietääkseni ole suoraan mahdollista. Seuraavalla aliohjelmalla muunnoksen pitäisi kuitenkin onnistua. Se tallentaa halutusta osiosta halutun id:n tiedoston ohjelman hakemistoon nimellä data.res.

Global DataBuffer() As Byte

Sub HaeData(id As Integer, osio As String)
    DataBuffer = LoadResData(id, osio)
    Open App.Path + "\data.res" For Binary As #1
    Put #1, , DataBuffer
    Close #1
End Sub

'Esimerkki
HaeData 101, "DATA"

Zorro [05.10.2002 16:04:02]

#

No niin, nyt saan tehtyä asennusohjelmiakin ohjelmilleni. Kiitos.


Sivun alkuun

Vastaus

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

Tietoa sivustosta