Bonsoir Papy,

Le 23 août 2010 22:51, Jean Sympa <[email protected]> a écrit :

>
>
> Merci François,
>
>
> 1 ) - Voici les deux macros qui font intervenir un chemin.
>
>
> La première, EnregistrerChemin(PysEvent), fonctionne correctement. Le
> chemin enregistré dans la base est correct.
>
>
> La seconde, ApercuImage, est le siège de l'erreur
>
>
> sub EnregistrerChemin(PysEvent)
>
> 'Xray.thisdocument
>
> '------------------------------
>
> thiscomponent.drawPage.forms.getByName("MainForm").getByName("txtFle_Chemin").Text
> =_
>
> PysEvent.Source.Text
>
>
> thiscomponent.drawPage.forms.getByName("MainForm").getByName("txtFle_Chemin").commit
>
> '
> thiscomponent.drawPage.forms.getByName("Standard").getByName("txttitre").Text
> =_
>
> ' PysEvent.Source.Text
>
> '
> thiscomponent.drawPage.forms.getByName("Standard").getByName("txttitre").commit
>
>
> ' extrait le nom du fichier
>
> Control=ThisComponent.drawpage.Forms("MainForm").getByName("txtFle_Chemin")
>
> chemin = Control.text
>
> Dim I%, Point%, Slash%
>
> For I = Len(chemin) To 1 Step -1
>
> If Mid(chemin, I, 1) = "." Then Exit For
>
> Next
>
> Point = I
>
> For I = Point + 1 To 1 Step -1
>
> If Mid(chemin, I, 1) = "\" Then Exit For
>
> Next
>
> Slash = I
>
> nom = Mid(chemin, Slash + 1, Point - Slash - 1)
>
> '
> thiscomponent.drawPage.forms.getByName("Standard").getByName("txtFle_Nom").Text
> =_
>
> ' nom
>
> '
> thiscomponent.drawPage.forms.getByName("Standard").getByName("txtFle_Nom").commit
>
>
> end sub
>
>
> Sub ApercuImage
>
> ' xray thisComponent
>
> '--------------
>
> Dim Control as object, txtFle_Nom, txtFle_chemin as string
>
> Dim chemin, nom as String
>
> Dim ShExec As Object
>
> Dim Fichier As String
>
> ' Control=ThisComponent.drawpage.Forms("MainForm").getByName("txttitre")
>
> ' nom = Control.text
>
> Control=ThisComponent.drawpage.Forms("MainForm").getByName("txtFle_Chemin")
>
> chemin = Control.text
>
> Fichier = Chemin + "\" + nom
>
D'après le message d'erreur que tu nous as fourni, le problème semble être
ici.
la variable "nom" doit surement être égal à "." et donc la syntaxe est
incorrecte pour du linux.
Je transformerais donc la ligne comme ceci :

Fichier =  Chemin

ceci pour la version linux ! il faudra retester ensuite sous windows pour
s'assurer du comportement identique, mais je soupçonne windows de réagir
autrement au contrôle de base.


> ' Fichier = Chemin
>
> ShExec = createUnoService("com.sun.star.system.SystemShellExecute")
>
>
> ShExec.execute(convertToURL( Fichier ) , "", 0)
>
> End Sub
>
>
> 2 ) - Par ailleurs,
>
>
> > si le fonctionnement est
>
>   prévu pour les plateformes Windows et Linux il faudra sans doute
>>  veiller à ce que les chemins de tes documents soient gérés
>> différemment selon que l'on est sous Windows ou Linux.
>>
> Je n'ai jamais rencontré un problème de chemin. Je ne voie pas comment
> gérer les chemins sous Ubuntu.
>

C'est justement François qui le précise, la fonction convertToURL se charge
des conversions adéquates selon les environnements (si j'ai bien compris ;-)
)

En espérant que ça fonctionne ;-)
Yves


> Cordialement
> Papy
>
>
>
> //****************************************************************************
>
> Le 23/08/2010 19:08, François Gatto a écrit :
>
>> Bonsoir Jean,
>>
>>
>> Le 23 août 2010 17:33, Jean Sympa<[email protected]>  a écrit :
>>
>>> Merci François,
>>>
>>> J'ai corrigé la macro. J'ai encore une erreur. Le-fichier est
>>> introuvable.
>>>
>>> Je constate que le chemin se termine par[\.]. C'est sans doute là que
>>> siège l'erreur!
>>>
>> Oui !
>> Je ne peux regarder ton code, mais s'il ajoute effectivement un
>> Antislash à la fin du nom de fichier ce n'est pas normal.
>>
>> Par ailleurs,  je n'ai pas testé la base, si le fonctionnement est
>> prévu pour les plateformes Windows et Linux il faudra sans doute
>> veiller à ce que les chemins de tes documents soient gérés
>> différemment selon que l'on est sous Windows ou Linux.
>> Celui qui enregistre un élément dans la base ne devrait pas se
>> préoccuper de cela, c'est à toi d'établir les conversions selon le
>> système.
>>
>>
>>  Cordialement
>>>
>>> Papy
>>>
>> Cordialement
>> François Gatto
>>
>>  //***********************************************************************
>>> Le 23/08/2010 15:36, François Gatto a écrit :
>>>
>>> Bonjour,
>>>
>>> Le 23/08/2010 11:51, Jean Sympa a écrit :
>>>
>>> Erreurs sous Ubuntu 10,04
>>>
>>> L'application se comporte normalement sous Windows 7. Je la transpose
>>> sur Ubuntu 0,04.
>>>
>>> J'ai l'erreur suivante :
>>>
>>> Cordialement
>>>
>>> Sous LINUX tu dois respecter deux choses : le séparateur et l'adressage.
>>>
>>> Un chemin Linux s'écrit de cette façon :
>>> /[.]dossier/[.]sous-dossier/[.]nomfichier.extension
>>>
>>> où
>>>
>>> - le premier slash / représente la racine, les autres sont représentatifs
>>> de l'arborescence,
>>> - [.] option pour masquer un dossier ou fichier
>>>
>>> NB : l'extension peut être absente pour certains fichiers
>>>
>>> Le séparateur sera donc "/"
>>> L'adressage sera du genre /home/francois/Documents/monfichier.ext
>>>
>>> ET avec OpenOffice cet adressage sera réalisé via la fonction
>>> ConvertToURL()
>>>
>>> Ainsi dans ton programme tu devras écrire quelque chose comme :
>>>
>>> ShExec.execute( convertToURL( Fichier ) , "", 0 )
>>>
>>>
>>>  ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>>
>>
>


-- 
web site : http://www.molenbaix.com

Répondre à