Bonjour,

Effectivement, ce message indique que le fichier à exécuter n'est pas trouvé.
A cause de cette ligne : 

ef = "command.com C:/"+filePath+script+".bat"

filePath est une URL donc il ne faut pas ma préfixer avec "C:/".

Une simple msgbox affichant la valeur de la variable "ef" permet de mettre le 
problème en évidence.

Cordialement,

T. Vataire



----- Mail Original -----
De: "Rémi Mathieu" <[email protected]>
À: [email protected]
Envoyé: Mardi 31 Mars 2009 00h12:18 GMT +02:00 Harare / Pretoria
Objet: Re: [prog] Bibliothèque contenant la fonction Shell

Bonsoir

J'ai mal interprété le message d'erreur à l'exécution de ma macro, 
message qui m'indique que le fichier n'existe pas. Il s'agit 
probablement du fichier dont le nom est passé en argument de la commande 
shell.

Le texte de la macro est ci-dessous en italique (noir pour les 
commentaires, rouge pour les autres commandes bacic)

/REM  *****  BASIC  *****

Sub Main()
  REM  Il faut d'abord créer sur votre disque un fichier avec le contenu 
suivant:
  REM  sous Windows (nom de fichier C:\tmp\test.bat)
  REM       echo %1
  REM       pause
  REM  ------------   Exemple de Sync  ------------------
  REM  appel de ma macro d'exécution de script avec bSync=TRUE
  REM  l'exécution du basic attendra que le terminal (ou la fenêtre msdos)
  REM  soit fermé par l'appui d'une touche (CTRL+C sous Windows) 
  REM Sous Windows
  shellRunner("file://C:/temp/", "test", "Hello World", TRUE)
  REM  Signaler la fin de l'exécution
  Print "The End"
  REM  ------------   Sans Sync  ------------------
  REM  Appel avec bSync=FALSE
  REM  L'exécution du code basic sera continuée
  REM  Sous Windows
 shellRunner("file://C:/temp/", "test", "Hello World", FALSE)
  REM  On indique la fin de l'exécution
  Print "The End"
End Sub
Sub shellRunner(dirPath$, script$, prms$, sync as Boolean)
  Dim filePath$, ef$, ed$, isWindows as Boolean
 REM  On regarde sous quel OS on se trouve
  isWindows = instr(mid(dirPath,8),":/")>0 or instr(mid(dirPath,8),"\")>0
  REM  Conversion de l'URL en chemin de fichier
  filePath = convertFromURL(dirPath)
  REM  Création de la ligne de commande
  If isWindows Then
      ef = "command.com C:/"+filePath+script+".bat"
  Else
      ef = "xvt -e sh "+filePath+script+".sh"
  End If
  REM  Exécution de la ligne de commande
  Shell(ef, 1, prms, sync)
End Sub/



Thibault Vataire a écrit :
> Bonjour,
>
> La fonction Shell est une fonction intégrée au Starbasic et ne nécessite pas 
> de charger une bibliothèque.
> La documentation de cette fonction est disponible dans l'aide 
> d'OpenOffice.org dans la section "OpenOffice.org Basic".
> Quel problème rencontrez-vous exactement?
>
> Cordialement,
>
> T. Vataire
>
>
> ----- Mail Original -----
> De: "Rémi Mathieu" <[email protected]>
> À: [email protected]
> Envoyé: Lundi 30 Mars 2009 16h03:42 GMT +02:00 Harare / Pretoria
> Objet: [prog] Bibliothèque contenant la fonction Shell
>
> Bonjour
>
> Le document d'Andrew Pitonyak "Eléments de programmation des macros" 
> donne un exemple d'utilisation de la fonction Shell, mais il y manque le 
> chargement de la bibliothèque dans laquelle se trouve cette fonction.
>
> Merci d'avance à qui voudra bien m'indiquer le nom de la bibliothèque à 
> charger
>
> Rémi Mathieu
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
>   


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


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

Répondre à