Interroga da console (via SHELL) il programma chiedendo l'help (espeak --help): se hai in risposta un errore allora il programma non è installato, se ti risponde con l'help (allora è installato).
Riguardo alla risposta positiva, ho visto che tra le prime righe "spara" la versione:
eSpeak text-to-speech: 1.36.02 13.Mar.08
Quindi, basta vedere se nell'output del comando c'è questa parte:
SHELL "espeak --help" TO variabile
IF Instr(variabile, "eSpeak text-to-speech:") < 1 THEN
'--NON TROVATO
ENDIF
ho provato a creare un form (FSplash) dove compare un messaggio che invita ad installare eSpeak...tale form deve "apparire" soo che eSpeak non c'è....
però non funziona...
ecco il codice inserito nell' Form_open: dell'FMain:
'*******************************************************
'cerca la dipendenza se presente(eSpeak)
DIM verifica AS String
SHELL "espeak --help" TO verifica
IF InStr(verifica, "eSpeak text-to-speech:") < 1 THEN
Fmain.Visible = FALSE
FSplash.visible = TRUE
ENDIF
'*******************************************************
ma non va...dove sbaglio?
Come al solito GNU/Linux offre tanti modi per fare una cosa. Io farei così:
DIM sEspeakBinary as String
SHELL "which espeak" TO sEspeakBinary
IF Process.LastValue <> 0 THEN
Message.Warning("Sembra che espeak non sia installato!", "Esci")
sEspeakBinary = ""
ME.Close
ENDIF
Non ha riprodotto nulla ed ha sfornato in console questa sfilza di errori:
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000
Sistema audio ALSA (ma mettendo Pulse non cambia nulla).