Inno Setup syntaxe de FilePath
Résolu
Rataxes64
Messages postés
20
Statut
Membre
-
baladur13 Messages postés 50038 Statut Modérateur -
baladur13 Messages postés 50038 Statut Modérateur -
Bonjour à tous,
J'ai un problème de syntaxe de FilePath dans une recherche de fichiers existants qui concernent les chemins particuliers suivants
=> "Mes documents"
L'intitulé complet de ce chemin dépend du nom de l'utilisateur
=> "Program File"
L'intitulé dépend de la version de windows : avec ou sans "(x86)"
Pour cela j'a voulu passer par les balises
=> {pf32} pour Program File / Program Files (x86)
=> {userdocs} pour le chemin complet vers Mes documents
Voici mon code (en texte, car je n'ai pas su trouver quel modèle choisir) :
Cela ne fonctionne pas, alors qu'évidemment les fichiers existent bien.
Si j'entre les chemins dans FilePath1 et FilePath2 comme ci-dessous:
EDIT : Ajout des balises de code
Après maintes recherches je suis sans solution...
Merci à toute âme charitable de me dire où est mon erreur.
Cordialement.
J'ai un problème de syntaxe de FilePath dans une recherche de fichiers existants qui concernent les chemins particuliers suivants
=> "Mes documents"
L'intitulé complet de ce chemin dépend du nom de l'utilisateur
=> "Program File"
L'intitulé dépend de la version de windows : avec ou sans "(x86)"
Pour cela j'a voulu passer par les balises
=> {pf32} pour Program File / Program Files (x86)
=> {userdocs} pour le chemin complet vers Mes documents
Voici mon code (en texte, car je n'ai pas su trouver quel modèle choisir) :
function InitializeSetup(): Boolean; var FilePath1: String FilePath2: String Result1: Boolean Result2: Boolean Result3: Booean begin FilePath1: = '{pf32} \Chemin1\Fichier1.txt' FilePath2: = '{userdocs} \Chemin2\Fichier2.txt' Result1:= [/contents/1174-objet-filesystemobject-fso FileExists](FilePath1) Result2: = FileExists(FilePath2) Result3: = Result1 or Result2 end;
Cela ne fonctionne pas, alors qu'évidemment les fichiers existent bien.
Si j'entre les chemins dans FilePath1 et FilePath2 comme ci-dessous:
=> sous XP : c'est OK
FilePath1: = 'C:\Program Files\Chemin1\Fichier1.txt'
FilePath2: = 'C:\Documents and Settings\MonNom\Chemin2\Fichier2.txt'
=> sous W10 : le codage "(x86)" est refusé
FilePath1: = 'C:\Program Files (x86)\Chemin1\Fichier1.txt'
FilePath2: = 'C:\Documentsans Settings\MonNom\Chemin2\Fichier2.txt'
EDIT : Ajout des balises de code
Après maintes recherches je suis sans solution...
Merci à toute âme charitable de me dire où est mon erreur.
Cordialement.
A voir également:
- Inno Setup syntaxe de FilePath
- Inno setup - Télécharger - Édition & Programmation
- Format factory setup - Télécharger - Conversion & Codecs
- Opera setup - Télécharger - Navigateurs
- Chromecast.com/setup francais gratuit - Guide
- Win setup from usb - Télécharger - Utilitaires
5 réponses
Bonjour,
Pour les balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour ton souci, ne serait-ce pas l'espace en trop qui pose problème ?
A tester :
edit : et les doubles quotes au lieu des simples....
Pour les balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour ton souci, ne serait-ce pas l'espace en trop qui pose problème ?
FilePath1: = '{pf32} \Chemin1\Fichier1.txt'
A tester :
FilePath1: = "{pf32}\Chemin1\Fichier1.txt"
edit : et les doubles quotes au lieu des simples....
Bonjour,
Bizarrement mon code en texte est apparu automatiquement"balisé", mais incorrectement...
Le voici corrigé et balisé en Delphi
Pour répondre à Jordane45 (que je remercie de sa réaction rapide), effectivement, il n'y a pas d'espace en trop, et la syntaxe de FilePath dans l'aide indique bien le simple quote.
Bizarrement mon code en texte est apparu automatiquement"balisé", mais incorrectement...
Le voici corrigé et balisé en Delphi
[Code] function InitializeSetup(): Boolean; var FilePath1: String FilePath2: String Result1: Boolean Result2: Boolean Result3: Boolean begin FilePath1: = '{pf32}\Chemin1\Fichier1.txt' FilePath2: = '{userdocs}\Chemin2\Fichier2.txt' Result1: = FileExists(FilePath1) Result2: = FileExists(FilePath2) Result3: = Result1 or Result2 end;
Pour répondre à Jordane45 (que je remercie de sa réaction rapide), effectivement, il n'y a pas d'espace en trop, et la syntaxe de FilePath dans l'aide indique bien le simple quote.
Oh! pardon Jordane45... et merci quand même.
En fouillant encore, j'ai cru comprendre qu'utiliser ExpandConstant dans [Code] en tête de begin pourrait être une solution...
Hélas, que néni, ça ne marche toujours pas... sauf à entrer l'intitulé exact des chemins à la mimine, et encore, seulement sous XP!
Là, je sèche complet, et prends mon mal en patience, en attendant les secours!
Cordialement
En fouillant encore, j'ai cru comprendre qu'utiliser ExpandConstant dans [Code] en tête de begin pourrait être une solution...
[Code] function InitializeSetup(): Boolean; var PfDir: String; UsDir: String; FilePathA: Sring; FilePathB: String; FilePath1: String FilePath2: String Result1: Boolean Result2: Boolean Result3: Boolean begin PfDir: = ExpandConstant('{pf32}') UsDir: = ExpandConstant('{userdocs}') FilePathA: = '\Chemin1\Fichier1.txt' FilePathB: = '\Chemin2\Fichier2.txt' FilePath1: = 'PfDir + FilePathA' FilePath2: = 'UsDir + FilePathB' Result1: = FileExists(FilePath1) Result2: = FileExists(FilePath2) Result3: = Result1 or Result2 end;
Hélas, que néni, ça ne marche toujours pas... sauf à entrer l'intitulé exact des chemins à la mimine, et encore, seulement sous XP!
Là, je sèche complet, et prends mon mal en patience, en attendant les secours!
Cordialement
Bonjour à tous,
J'ai (enfin) trouvé!
Voici le bon code ci-dessous :
J'espère que cela évitera ma galère à d'autres ...
Cordialement
J'ai (enfin) trouvé!
Voici le bon code ci-dessous :
[Code] function InitializeSetup(): Boolean; var PfDir: String; UsDir: String; FilePath1: String FilePath2: String Result1: Boolean Result2: Boolean Result3: Boolean begin PfDir: = ExpandConstant('{pf32}') UsDir: = ExpandConstant('{userdocs}') FilePath1: = '\Chemin1\Fichier1.txt' FilePath2: = '\Chemin2\Fichier2.txt' Result1: = FileExists(PfDir + FilePath1) Result2: = FileExists(UsDir + FilePath2) Result3: = Result1 or Result2 end;
J'espère que cela évitera ma galère à d'autres ...
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
A toutes fins utiles ==> https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/
A toutes fins utiles ==> https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/