Bart Aimar ha scritto:

Se si vuole eseguire uno script bash o un .bat da una macro è necessario sapere quale sia il sistema operativo per poter eseguire del codice diverso a seconda della situazione rilevata.


In Andrew Macro.pdf (pag. 475 - Shell Function ) c'è un esempio attribuito ad Antal Attila e le frasi chiave recitano così:

' loking for OS type
If instr(mid(dirPath,8),":/")>0 or instr(dirPath,8),"\")>0 Then
  isWindows=TRUE
Else
  isWindows=FALSE
End If

ma non riesco a farla funzionare...

Mi sembra evidente che dirPath deve essere un percorso di un file o di una directory espresso secondo la convenzione del sistema host e quindi NON in notazione URL come di solito si usa in OpenOffice.org

Lo stralcio di macro che hai riportato non fa altro che testare il path per cercare di individuare il separatore in uso.

Si tratta di un metodo indiretto e forse non troppo sicuro, inoltre non ha molto senso usare questo codice perchè esiste una funzione diretta StarBasic che fa la stessa cosa: GetPathSeparator(), per cui potresti riscrivere la stessa routine in questo modo:

isWindows = ( GetPathSeparator() = "/" )

In realtà esiste un metodo ancora più diretto ovvero la funzione Starbasic

GetGuiType()

Valori restituiti:
1: Windows
3: OS Mac
4: UNIX


ciao
Paolo M



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a