Newsgroup: it.comp.lang.delphi
Titolo: Non mi è chiaro...

Ciao a Tutti,
in un messaggio di qualche giorno fa ho letto:
" [per eseguire un wav] Utilizza la PlaySound, devi aggiungere la Unit
MMSystem".
Cosa significa, per favore? Playsound č un ocx? (non credo!)
La sintassi corretta č simile a qualcosa del genere?
Playsound (c:\windows\suono.wav)
E la Unit, dove va aggiunta?
Chiedo scusa se le domande sono banali, ma sono i soliti problemi che
incontra chi inizia un nuovo linguaggio.
Grazie
Enzo

 E la Unit, dove va aggiunta?
Ciao Enzo! Immagino che la playsound sia il componente TMediaPlayer (palette
System)
o qualcosa di analogo ... per suonare un wav o un file supportato dal media
player di windows,
basta che utilizzi quel componente.
Quando usi il componente direttamente sulla form, la unit mmsystem viene
aggiunta da delphi
(nel pas della form).
Ciao! Davide DG.

Ciao Enzo! Immagino che la playsound sia il componente TMediaPlayer
(palette System)
Davide, la playsound è semplicemente una funzione, non è il componente
TMediaPlayer.
Ciao a tutti
--
- Carlo -
BSSoftware Tips Mailing-List Support

Enzo
ok Enzo. Ci si sente....magari per posta.
Buona Pasqua......ciao !!
Antonio Tarolla
BSSoftware Tips Mailing - List Support


Ho seguito le tue istruzioni ma ancora non funziona.
Dubbio: PlaySound oppure SndPlaySound? (lavoro con Delphi 1).
Ho seguito anche il consiglio di Antonio Tarolla sulla funzione, ma invano.
(A proposito: la funzione va dichiarata e incollata cosě com'č? E dove?)
Abbiate pazienzzzzzzz!
Enzo

(A proposito: la funzione va dichiarata e incollata cosě com'č? E dove?)
Ho paura che i consigli miei e di Antonio siano stati inutili proprio perchč
hai Delphi 1. Se non sbaglio puoi cominciare ad effettuare chiamate al SO
solo dalla versione 2 di Delphi. Cmq su Computer Programming di marzo
dovrebbe esserci in omaggio Delphi 2 (ti consiglio fortemente di chiedere
l'arretrato)
Ciao


(A proposito: la funzione va dichiarata e incollata cosě com'č? E dove?)
ma non avevi acquistato Delphi 2 in edicola quando ti avevo avvertito per
posta ? Me l'avevi confermato no ?
Se si, utilizza Delphi 2 altrimenti con Delphi 1 č un disastro chiamare
certe API.
Se in Delphi 2 non ci dovesse essere la MMSystem, usa la PlaySound cosě:
const
  SND_SYNC            = $0000;  { play synchronously (default) }
  SND_ASYNC           = $0001;  { play asynchronously }
  SND_NODEFAULT       = $0002;  { don't use default sound }
  SND_MEMORY          = $0004;  { lpszSoundName points to a memory file }
  SND_LOOP            = $0008;  { loop the sound until next sndPlaySound }
  SND_NOSTOP          = $0010;  { don't stop any currently playing sound }
  SND_NOWAIT          = $00002000;  { don't wait if the driver is busy }
  SND_ALIAS           = $00010000;  { name is a registry alias }
  SND_ALIAS_ID        = $00110000;  { alias is a predefined ID }
  SND_FILENAME        = $00020000;  { name is file name }
  SND_RESOURCE        = $00040004;  { name is resource name or atom }
  SND_PURGE           = $0040;      { purge non-static events for task }
  SND_APPLICATION     = $0080;      { look for application specific
association }
function
PlaySound(pszSound:PAnsiChar;hmod:HMODULE;fdwSound:DWORD):BOOL;stdcall;
                   external 'winmm.dll' name 'PlaySoundA';
incollando il codice che ti ho scritto dopo la linea di codice:
var Form1 : TForm1;
della tua unit associata alla tua form1 (se stai lavorando con una form).
Poi per utilizzare la "PlaySound" scrivi ad esempio:
PlaySound(PChar('C:\Windows\Media\Chord.wav'), 0, SND_ASYNC);
e dovrebbe funzionare !!
Ti saluto.....mi raccomando, installa Delphi 2 !!
Antonio Tarolla

Ciao Antonio,
finalmente le casse sparano il Wav!
Avevi ragione: il problema era Delphi1.
Incollando il codice che mi hai passato in Delphi2 (tutto, anche la Playsound) è
andato tutto liscio.
In realtà il Delphi 2 l'ho installato in un computer su cui non lavoro molto
spesso
perché tutto sommato mi sembrava che la versione 1 potesse bastarmi. Poi c'è
sempre il dubbio che quando passi a una versione successiva non sai cosa ci
guadagni veramente... Adesso però ho notato che del codice scritto con la 1
viene letto e compilato perfettamente con la 2 e quindi i prossimi progetti li
inizierò direttamente con questa. (a proposito: è compatibile anche con il 16
bit?)
Grazie
A presto
Enzo
PS:
Quando premo invio in un TEdit viene prodotto un suono di sistema. E' possibile
inibirlo?
