[vb6] hoe bestanden distribueren?

Pagina: 1
Acties:
  • 180 views sinds 30-01-2008
  • Reageer

  • DPLuS
  • Registratie: April 2000
  • Niet online
Hoi,

Ik heb in VB een Multimedia control waarmee ik WAV bestanden kan afspelen.

Dit is de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Form_Load()
   ' Set properties needed by MCI to open.
   MMControl1.Notify = False
   MMControl1.Wait = True
   MMControl1.Shareable = False
   MMControl1.DeviceType = "WaveAudio"
   MMControl1.FileName = "C:\WINNT\MEDIA\NOTIFY.WAV"

   ' Open the MCI WaveAudio device.
   MMControl1.Command = "Open"
End Sub

Private Sub Form_Unload(Cancel As Integer)
   MMControl1.Command = "Close"
End Sub

Maar wat ik me nu afvraag is het volgende:
Het bestand dat afgespeeld word is:
MMControl1.FileName = "C:\WINNT\MEDIA\NOTIFY.WAV"

Maar nou kan het dus zijn dat als ik het programma distribueer, dat dat bestand niet bij die ander persoon op die lokatie staat.

Hoe doe ik dat met deze bestanden, hoe moet ik definieren dat ze straks in de map \audio van de installatie-dir van dat programma staan?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Met de Package & Deployment wizard of met mijn persoonlijke favoriet: Inno-Setup

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • DPLuS
  • Registratie: April 2000
  • Niet online
Maar moet ik ook niet iets in de code aanpassen?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Je zal natuurlijk in je code zoiets moeten doen:
code:
1
MMControl1.FileName = App.Path & "\audio\NOTIFY.WAV"

En dan kun je met je setup programma dat bestand in de goede map zetten zodat het altijd op dezelfde plaats staat vanuit je programma gezien.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Mijn favoriet is NSIS

Verwijderd

als we dan toch favorieten aan het posten zijn

mijn favoriet : Visual studio installer

Verwijderd

Hey da's cool :) Wat raden jullie een redelijk ervaren VB6 er aan? Ik heb nog nooid echt een app gemaakt die ik wil verspreiden :P Maar nu heppik er een dus eh... Enne wat is het verschil in grootte van het (gezipte) eindresultaat?

Verwijderd

Ik zou zeggen download alle favoriten die hier genoemnd worden en beslis zelf wat je het handigst vind ?

Verwijderd

Op zaterdag 11 mei 2002 19:14 schreef Yarvieh het volgende:
als we dan toch favorieten aan het posten zijn

mijn favoriet : Visual studio installer
Die heeft Windows Installer nodig. Als ie op cd-rom wordt verspreid is dat natuurlijk geen probleem. Maar als ie over het internet moet wel. Oudere OS'en hebben Windows Installer niet standaard geinstalleerd.

Verwijderd

Op zaterdag 11 mei 2002 19:37 schreef Yarvieh het volgende:
Ik zou zeggen download alle favoriten die hier genoemnd worden en beslis zelf wat je het handigst vind ?
Lijkt me het beste jah :) Die Yarvieh genoemd heeft is heel makkelijk, maar met NSIS scripts kun je heel veel, maar misschien heb je dat ook wel niet nodig.

Verwijderd

Op zaterdag 11 mei 2002 19:47 schreef dev het volgende:
Die heeft Windows Installer nodig. Als ie op cd-rom wordt verspreid is dat natuurlijk geen probleem. Maar als ie over het internet moet wel.
Mja is die 1.5 mb nou echt 'n probleem !? lijkt me niet toch? en grote kans dat ze 'm al hebben overigens bij de meeste ms producten (office ensow) komt ie mee..

Verwijderd

Op zaterdag 11 mei 2002 19:57 schreef Yarvieh het volgende:

[..]

Mja is die 1.5 mb nou echt 'n probleem !? lijkt me niet toch? en grote kans dat ze 'm al hebben overigens bij de meeste ms producten (office ensow) komt ie mee..
Als alles in één altijd werkend bestand moet zitten, moet je zowel de 9x als NT versie meeleveren.

NSIS heeft een overhead van 35 kb, en met zeer uitgebreide scripting :)

  • beany
  • Registratie: Juni 2001
  • Laatst online: 21:02

beany

Meeheheheheh

hmm, mijn minst favoriete:

InstallShield :r

Je kan natuurlijk de gebruiker laten bepalen waar bestanden geplaatst worden, en dit in de registry of een ini file opslaan.

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


  • Mr. B.
  • Registratie: Mei 2000
  • Niet online
Op zaterdag 11 mei 2002 17:37 schreef Gerco het volgende:
Je zal natuurlijk in je code zoiets moeten doen:
code:
1
MMControl1.FileName = App.Path & "\audio\NOTIFY.WAV"

En dan kun je met je setup programma dat bestand in de goede map zetten zodat het altijd op dezelfde plaats staat vanuit je programma gezien.
Dat gaat natuurlijk fout als de user zo stom is geweest om je app in de root te installeren ;)

Als ik kleine notification geluidjes gebruik in een programma dan stop ik ze gewoon in een resource file en speel ik ze van daaruit af met een simpele API call. Dan hoef je het wavje niet los mee te leveren, en je hebt die hele MMControl niet nodig :)

StatBar.nl - @GoT

Het verschil tussen theorie en praktijk is in de praktijk altijd veel groter dan in theorie.


Verwijderd

nu het hier toch over installatie programmas gaat, heb ik ook nog een vraagje!

-welk programma maakt 1 install exe, en niet zoals package en deployment 3 of meer files?

Verwijderd

Op zondag 12 mei 2002 21:42 schreef unknownjim het volgende:
nu het hier toch over installatie programmas gaat, heb ik ook nog een vraagje!

-welk programma maakt 1 install exe, en niet zoals package en deployment 3 of meer files?
Alles behalve die van VB ongeveer :)

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 08-09 14:52

johnwoo

3S-GTE

Geef mij ook maar NSIS :) Lekker klein en kan heel veel.
Ik heb ooit eens InnoSetup geprobeerd, maar die maakt echt lomp grote files (en heeft nog n paar andere onoverkomelijke nadelen). Aan de andere kant ziet Inno er wel het beste uit (da's dan weer een nadeel van NSIS, ik vind hem er persoonlijk niet zo goed uitzien).
Ooit... ga ik een installer schrijven met de looks van Inno en de functionaliteit en efficientie/compactheid van NSIS ;)

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • -rAz-
  • Registratie: April 2002
  • Laatst online: 28-05-2022
Wise Installer \o/

Verwijderd

Op maandag 13 mei 2002 00:49 schreef johnwoo het volgende:
Geef mij ook maar NSIS :) Lekker klein en kan heel veel.
Ik heb ooit eens InnoSetup geprobeerd, maar die maakt echt lomp grote files (en heeft nog n paar andere onoverkomelijke nadelen). Aan de andere kant ziet Inno er wel het beste uit (da's dan weer een nadeel van NSIS, ik vind hem er persoonlijk niet zo goed uitzien).
Ooit... ga ik een installer schrijven met de looks van Inno en de functionaliteit en efficientie/compactheid van NSIS ;)
Inno heeft een flink grote overhead idd.

Je hebt gelijk over NSIS, om het klein te houden is het grafisch niet geweldig mooi. Voor een 100kb progje maakt dat uit, maar als het al 5 MB is maken die maar kb's niet veel meer uit, en wil je liever een moderne style.

De volledige source van NSIS zit er echter bij (gemaakt in MS Visual C++ 6). Het is goed mogelijk om een NSIS versie met een moderne style te maken :) Moet niet zo heel moeilijk zijn.

Ik zelf heb mooiere full colors icons en images toegevoegd, maar dat zou best een goed idee zijn om zoiets te doen. Ik heb het op het NSIS forum al eens voorgesteld, maar kreeg toen weinig reactie.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Op zaterdag 11 mei 2002 22:02 schreef Mr. B. het volgende:
Dat gaat natuurlijk fout als de user zo stom is geweest om je app in de root te installeren ;)
Dan gaat er waarschijnlijk wel meer fout. Ook lekker handig van MS om trouwens inconsistent te zijn met het wel/niet \ aan het einde van een pad...

Ik zet altijd in mn main sub een stukje code wat dat uitvogelt voor app.path en dan in AppPath (Public read-only property van mn Main Module) zet, dan hoef ik daar iig niet meer over na te denken.
dan stop ik ze gewoon in een resource file en speel ik ze van daaruit af met een simpele API call.
Hoe heet die API call als ik mag vragen. Dat is wel handig :)

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Mr. B.
  • Registratie: Mei 2000
  • Niet online
Op maandag 13 mei 2002 22:02 schreef Gerco het volgende:

[..]

Dan gaat er waarschijnlijk wel meer fout. Ook lekker handig van MS om trouwens inconsistent te zijn met het wel/niet \ aan het einde van een pad...
Idd... waarom dat zo gedaan is vraag ik me ook af.
Hoe heet die API call als ik mag vragen. Dat is wel handig :)
code:
1
2
strSoundBuffer = StrConv(LoadResData("RESOURCE_ID", "RESOURCE_TYPE"), vbUnicode)
Call sndPlaySound(strSoundBuffer, SND_ASYNC Or SND_NODEFAULT Or SND_MEMORY)

Eerst wordt gewoon de hele wave vanuit de resource file in een string geladen en vervolgens doorgegeven aan sndPlaySound, da's alles :)

StatBar.nl - @GoT

Het verschil tussen theorie en praktijk is in de praktijk altijd veel groter dan in theorie.

Pagina: 1