[R] Problème avec compilateur automatique ...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
azerty2699
Niveau 3
Niveau 3
Messages : 47
Enregistré le : mer. 07 janv. 2015 18:58
Status : Hors ligne

[R] Problème avec compilateur automatique ...

#1

Message par azerty2699 »

Bonjour,
(encore une fois) j'utilise l'UDF suivante (_compile.au3) pour compiler un programme automatiquement :

Code : Tout sélectionner

Func _compile($source, $dest)
    Run(@ProgramFilesDir & "\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $source & """ /out """ & $dest & ".exe""" & " /icon " & "icone.ico")
EndFunc   
 
je l'utilise ensuite dans un autre programme :

Code : Tout sélectionner

$path = FileSelectFolder("Choose a folder", "")
_compile(@UserProfileDir & "\AppData\Local\AutoIt v3\Temp\program.au3", $path)
 
Je m'attends donc à ce que le programme program.au3 soit compilé dans le répertoire $path, mais ça ne marche pas.
Le problème vient de $path, car si je remplace $path par un répertoire ça fonctionne.

Une idée ?
Modifié en dernier par azerty2699 le jeu. 05 mars 2015 22:47, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#2

Message par Tlem »

Bonsoir.
Il serait bienvenu d'avoir un minimum de réflexion.

Votre erreur est flagrante. Vous ne devriez pas avoir besoin d'aide pour ce genre de chose.
Si je vous demande de me passer la bouteille est que vous me donnez un verre, ça ne va pas aller .... ^^

Envoyé de mon appareil mobile avec Tapatalk.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
azerty2699
Niveau 3
Niveau 3
Messages : 47
Enregistré le : mer. 07 janv. 2015 18:58
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#3

Message par azerty2699 »

$path n'est-il pas une chaîne de caractère ?

Lorsque je lis $path (avec MsgBox) j'obtiens bien un truc du genre "C:\users\test\desktop" !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#4

Message par Tlem »

Et le deuxième paramètre de votre fonction _compile(), il attend quoi ? ^^
Pas un verre en tout cas !!!

Envoyé de mon appareil mobile avec Tapatalk.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
azerty2699
Niveau 3
Niveau 3
Messages : 47
Enregistré le : mer. 07 janv. 2015 18:58
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#5

Message par azerty2699 »

Il attend la destination, qui est une chaîne de caractères n'est-ce-pas ?
Or $path n'est-il pas une chaîne de caractères ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#6

Message par Tlem »

$Path est bien une chaîne de caractères, mais pas formatée comme il le faut pour le deuxième paramètre de _compile(). A vous de relire le code et de comprendre votre erreur.

Envoyé de mon appareil mobile avec Tapatalk.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
azerty2699
Niveau 3
Niveau 3
Messages : 47
Enregistré le : mer. 07 janv. 2015 18:58
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#7

Message par azerty2699 »

Que veut dire "formatée" pour une chaîne de caractères ? Il y a des formats de chaînes de caractères ??
Dans ce cas je n'y connais rien.
Le code je l'ai relu 100 fois sans comprendre.
Modifié en dernier par azerty2699 le jeu. 05 mars 2015 00:08, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#8

Message par Tlem »

Hé bien remplacez la variable $Path par votre chaîne et lisez ce que ça donne avec la suite ...
Je ne repondrais pas plus.
Votre problème est franchement des plus simple, il suffit d'un tout petit peux de réflexion.

Dormez et relisez demain matin.

Bonne nuit (en tout cas moi je vais dormir).

Envoyé de mon appareil mobile avec Tapatalk.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#9

Message par orax »

Utilise ConsoleWrite par exemple pour voir rapidement la valeur d'une variable. Ce qui s'affiche dans la console de SciTE est ce qui est envoyé à Run(). J'ai juste recopier la ligne, je n'ai rien changé.

Code : Tout sélectionner

$path = FileSelectFolder("Choose a folder", "")
_compile(@UserProfileDir & "\AppData\Local\AutoIt v3\Temp\program.au3", $path)

Func _compile($source, $dest)
;~  Run(@ProgramFilesDir & "\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $source & """ /out """ & $dest & ".exe""" & " /icon " & "icone.ico")
    ConsoleWrite(@ProgramFilesDir & "\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $source & """ /out """ & $dest & ".exe""" & " /icon " & "icone.ico" & @CRLF)
EndFunc   ;==>_compile
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
azerty2699
Niveau 3
Niveau 3
Messages : 47
Enregistré le : mer. 07 janv. 2015 18:58
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#10

Message par azerty2699 »

@Orax, voilà, c'est ce que j'ai fait, j'ai exécuté le code suivant :

Code : Tout sélectionner

$path = FileSelectFolder("Choose a folder", "")
_compile(@UserProfileDir & "\AppData\Local\AutoIt v3\Temp\program.au3", $path)

Func _compile($source, $dest)
;~  Run(@ProgramFilesDir & "\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $source & """ /out """ & $dest & ".exe""" & " /icon " & "icone.ico")
    ConsoleWrite(@ProgramFilesDir & "\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $source & """ /out """ & $dest & ".exe""" & "" & @CRLF)
EndFunc   ;==>_compile
 
Dans la console, voilà ce que je vois : http://gyazo.com/9b324678e0e4a6361239ed644e5334d3

Ainsi, je ne vois pas l'erreur : la source et la destination sont bien entre guillemets tous les deux !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] Problème avec compilateur automatique ...

#11

Message par jguinch »

@azerty2699 : je ne sais pas si tu l'as remarqué, mais je préfère lever le doute :
Dans sa forme actuelle, le paramètre $dest correspond au chemin + nom du fichier de sortie sans l'extension .exe.
Si tu as choisis le bureau comme destination (ce qui est le cas sur ta capture d'écran), tu auras en sortie un fichier qui s'appellera desktop.exe dans c:\Users\azerty2699
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
azerty2699
Niveau 3
Niveau 3
Messages : 47
Enregistré le : mer. 07 janv. 2015 18:58
Status : Hors ligne

Re: [R] Problème avec compilateur automatique ...

#12

Message par azerty2699 »

Merci, résolu.
Répondre