Newsgroup: it.comp.lang.visual-basic
Titolo: Il Timer in Vba si evolve, ma...? (grazie)

grazie per il metodo Doevents --> funziona che è un piacere!
ora vi sottopongo un'altra questione:
per far suonare un file wave allo scadere del conto alla rovescia, sto
utilizzando il comando Shell con tutta la stringa del caso.... pensate sia
meglio utilizzare DDE ? ve lo chiedo perchè alla fine della riproduzione 
del file, vorrei che l'applicazione in questione (media player) si
chiudesse da sola, e con shell devo per forza utilizzare SendKeys e
sinceramente non mi va; questo perchè ho utilizzato Shell con l'opzione 6 e
così facendo ottengo di nascondere il media player ma perdo anche il fuoco
dell'applicazione e non so se con sendkeys dovrei andare a recuperare
prima il fuoco prima di lanciare un bel ALT-F4...
Per la cronaca ho provato nel frattempo ad usare DDE, ma non c'è verso di
fargli trovare il media player.. mi spiego :
la stringa completa per invocare il DDEInitiate è la seguente :
channelNumber = Application.DDEInitiate(app:="Windows Media Player", _
                topic:="C:\WINNT\Media\chimes.wav")
ma ogni volta che viene eseguita, Win risponde "Remote data not accessible
Start application 'WINDOWS.EXE'?" 
chiaramente la domanda piuttosto stupida si riferisce ai primi sette
caratteri della stringa app:= ; infatti cambiando, qualunque cosa si metta
ripropone la stessa domanda cambiando solo i sette caratteri iniziali....
Che fare?
grazie ancora :)
Fly
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ma ogni volta che viene eseguita, Win risponde "Remote data not accessible
Ci sono molte soluzioni altuo problema, potresti includere l'ocx i windows
media palyer nel tuo progetto cosi lo controlli direttamente,
Oppure usare le api per riprodurre il file wav se si tratta solo di questo.
Private Const SND_APPLICATION = &H80         '  look for application
specific association
Private Const SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry
Private Const SND_ALIAS_ID = &H110000    '  name is a WIN.INI [sounds] entry
identifier
Private Const SND_ASYNC = &H1         '  play asynchronously
Private Const SND_FILENAME = &H20000     '  name is a file name
Private Const SND_LOOP = &H8         '  loop the sound until next
sndPlaySound
Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory
file
Private Const SND_NODEFAULT = &H2         '  silence not default, if sound
not found
Private Const SND_NOSTOP = &H10        '  don't stop any currently playing
sound
Private Const SND_NOWAIT = &H2000      '  don't wait if the driver is busy
Private Const SND_PURGE = &H40               '  purge non-static events for
task
Private Const SND_RESOURCE = &H40004     '  name is a resource name or atom
Private Const SND_SYNC = &H0         '  play synchronously (default)
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal
lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub Form_Load()
    PlaySound "C:\WINDOWS\MEDIA\TADA.WAV", ByVal 0&, SND_FILENAME Or
SND_ASYNC
End Sub
Ci sono altre api che permettono la riproduzione di un file audio.
Ciao :-)

 Ciao :-)


 come?
Lo metti nella directory di systema per essere proprio precisi
e da start, esegui di windows scrivi:
Regsvr32 "c:\windows\system32\MSCOMCT2.OCX"
ora però non so se questo file a delle dipendenze da altri, per avercelo
sicuro potresti fare un paccetto setup
con il tuo controllo.
Ciao :-)

 grazie per il metodo Doevents --> funziona che è un piacere!
Volevo solo farti presente  una cosa: Doevents funziona si ma manda la cpu
al100% in alternativa usa la chiamata API sleep con un tempo di 10ms.
Ciao

 Ciao
max, devo chiederti di postare l'esempio come ha fatto Fabio,
in modo che possa mettere il codice nella mia macro VBA-->
perdonami ma non sono molto pratico con le API
grazie mille


 perdonami ma non sono molto pratico con le API
Dichiari la funzione (copi la Declare dal win32api.txt, dal visualizzatore
api o dal programma di 
allapi.com
) e poi la usi come una normale funzione.
Le descrizioni di ogni funzione dell'api la trovi in MSDN.
Ciao
--
using System.Gtk.Forms = "
http://www.neodatatype.net/windowsforms/sgf.aspx
"
mathParser = "
http://www.neodatatype.net
"
sitoComune = "
http://www.it-lang-vb.net
"