Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Bonsoir,

Merci pour vos réponses.

J'ai trouvé un solution qui semble bonne.
Elle est basée sur l'observation suivante : Dans les Win 64 bits, les applications 32 bits sont dans un dossier nommé Program Files (x86) ...

Cordialement.

Function IsLO5Win64 As Boolean
If (getGuitype = 1 And Instr(GetRepertoirePath("inst"),"x86") = 0 and OOoNumVersion()>=500 and ENVIRON("PROCESSOR_ARCHITECTURE")="AMD64") Then
        IsLO5Win64 = True
    Else
        IsLO5Win64 = False
    Endif
End Function


Function GetRepertoirePath(sInstPath as String) as String 'donne le répertoire correspondant
    Dim  oPathSubstSrv as Object
    Dim sPath as String
        sInstPath = "$("+sInstPath+")"
oPathSubstSrv = createUnoService("com.sun.star.comp.framework.PathSubstitution") sPath = ConvertFromUrl(oPathSubstSrv.getSubstituteVariableValue(sInstPath))
        GetRepertoirePath = sPath
End Function


Function OOoNumVersion() As Integer
      Dim aSettings, aConfigProvider
      Dim aParams2(0) As new com.sun.star.beans.PropertyValue
      Dim sProvider$, sAccess$
      sProvider = "com.sun.star.configuration.ConfigurationProvider"
      sAccess   = "com.sun.star.configuration.ConfigurationAccess"
      aConfigProvider = createUnoService(sProvider)
      aParams2(0).Name = "nodepath"
      aParams2(0).Value = "/org.openoffice.Setup/Product"
aSettings = aConfigProvider.createInstanceWithArguments(sAccess, aParams2())
      If aSettings.hasbyname("ooSetupVersionAboutBox") Then
      sOOOVersion = aSettings.getbyname("ooSetupVersionAboutBox")
      Else
      sOOOVersion = aSettings.getbyname("ooSetupVersion")
      EndIf
      If Len(sOOOVersion) = 3 Then sOOOVersion = sOOOVersion & ".0"
OOoNumVersion = Cint(Mid(sOOOVersion,1,1))*100 + Cint(Mid(sOOOVersion,3,1))*10 + Cint(Mid(sOOOVersion,5,1))
End Function



Le 29/12/2015 22:06, Jean-Francois Nifenecker a écrit :
Bonsoir,

Le 29/12/2015 19:01, ThierryT a écrit :

Il suffit d'utiliser en programmation macro Basic la fonction ENVIRON avec
le paramètre "PROCESSOR_ARCHITECTURE" selon le modèle ci-dessous :

si LO 32 bits => environ("PROCESSOR_ARCHITECTURE") retourne x86
si LO 64 bits => environ("PROCESSOR_ARCHITECTURE") retourne AMD64


La commande fonctionne sous Windows XP mais pas sous Linux (Debian).

Ce qui semble normal puisque le wiki OOo [1] dit :
"The Environ function returns the environmental variables of the operating system. Depending on the system and configuration, various types of data are saved here. [...]" (la fonction Environ retourne la valeur des variables d'environnement du système d'exploitation. En fonction du système et de sa configuration, différentes sortes de données y sont stockées.)

Ce que demande Didier c'est de pouvoir reconnaître la version de LibO, pas celle de l'OS. Et, désolé, pas trouvé. J'avais bien pensé à getSolarVersion mais ça ne répond pas non plus à la demande... /o\

[1] https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide/Other_Functions_%28Runtime_Library%29

--
Didier Dorange-Pattoret
Tel : +33.6.32.38.87.02
http://www.dmaths.org


Soutenez le projet Dmaths : rejoignez le club ou faites adhérer votre établissement !
http://www.dmaths.org/documentation/doku.php?id=presentation:club



--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.