Bart Aimar ha scritto:
Paolo Mantovani ha scritto:
Ciao Bart,
wuè Paolo,
Non intendevo dire che dovevi fare un timer senza usare l'istruzione
WAIT ma che non riesco ad immaginare un motivo valido per aver bisogno
di un timer in quel contesto (per quel poco che si è potuto capire)
Misuderstanding! :-)
Se per "contesto" intendi Ultimus certo che no!
In Ultimus non serve un Timer! :-)
Ok non dovevo essere prevenuto, scusa! :-)
Tutto è cominciato quando un'amica che fa l'istruttore di yoga ha
cominciato a lamentarsi che tutti i timer in commercio (programmabili
per diversi successivi intervalli) avevano dei suoni allucinanti e
fastidiosi.
Da qui mi venne l'idea di "fabbricare" un timer, facilmente
programmabile, che come suono avesse una squillante e vibrante
campanella tibetana....
Ed eccoci qui!
Un documento calc che si chiama Shanti-Timer.ods
delle celle da riempire con gli intervalli
uno sgargiante sfondo rosso (e anche una OM)
un pulsante di avvio
il già noto pulsante di annullamento
un pulsante per duplicare il foglio /e archiviare pronti all'uso diversi
"programmi" di sequenze
Insomma un "giocattolo" che è venuto carino, ma che nessuno userà
(tranne forse me).
Infatti ci sono diversi prerequisiti:
- prima di tutto un computer,
- su cui sia installato OOo,
Una cosa tascabile insomma...
Me ne servirebbe uno in cucina, per fare la pasta al dente.
- l'SO deve essere Linux, perché su win non mi funziona...
Dai un occhiata a questo codice che ho adattato al volo dal VBA.
Dovrebbe funzionare (non l'ho testato perciò attenzione!!!)
REM ***** BASIC *****
'_____________________________________________
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
'_____________________________________________
'Sound constants
Private Const SND_SYNC = &H0
Private Const SND_ASYNC = &H1
Private Const SND_NODEFAULT = &H2
Private Const SND_LOOP = &H8
Private Const SND_NOSTOP = &H10
'_____________________________________________
'Interrupt playing
Public StopPlaying As Boolean
'_____________________________________________
Sub PlayBack(AudioFileUrl)
WAVPlay ConvertFromUrl(AudioFileUrl)
End Sub
'_____________________________________________
Sub PlayBackLoop()
WAVLoop ConvertFromUrl(AudioFileUrl)
End Sub
'_____________________________________________
Sub PlayBackStop()
Call WAVPlay("")
End Sub
'_____________________________________________
Sub WAVLoop(File As String)
Dim SoundName As String
Dim wFlags As Long
Dim x As Long
SoundName = File
wFlags = SND_ASYNC Or SND_LOOP
x = sndPlaySound(SoundName, wFlags)
If x = 0 Then MsgBox "Can't play the audio file. ", 16, "Error"
End Sub
'_____________________________________________
Sub WAVPlay(File As String)
Dim SoundName As String
Dim wFlags As Long
Dim x As Long
SoundName = File
wFlags = SND_ASYNC Or SND_NODEFAULT
x = sndPlaySound(SoundName, wFlags)
If x = 0 Then MsgBox "Can't play the audio file. ", 16, "Error"
End Sub
[...]
Grazie Paolo, i tuoi insegnamenti sono sempre preziosi!
Bart
(che - con un po' di sapone - tenta di ridurre il numero di birre che ha
promesso a Paolo)
ecco... la faccenda del sapone non mi è del tutto chiara ma per qualche
imponderabile motivo mi lascia in uno stato di leggera inquietudine...
;-|
ciao
Paolo M
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]