2013-10-12 3 views
1

J'ai une chaîne, "c:\windows\unins000.exe", que je dois transformer, c:\windows\unins000.exe. Ce serait assez facile à faire dans une autre langue, mais je dois le faire dans Inno Setup/Pascal.Suppression des guillemets dans Pascal/Inno Setup

Le problème que je vais avoir est que je reçois une erreur « répertoire non valide » quand je lance

Exec(UninstallString, '/SILENT', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) 

avec la chaîne ci-dessus, et il semble que c'est the quotation marks that are causing the problem.

Je ne trouve même pas un exemple de toutes les fonctions de chaînes dans Pascal ou Inno Setup! : -/

+0

Utilisez la fonction ['RemoveQuotes'] (http://jrsoftware.org/ishelp/topic_isxfunc_removequotes.htm). – TLama

+3

Notez que vous n'avez pas réellement besoin de supprimer les guillemets de cette chaîne. Utilisez 'Exec ('', UninstallString + '/ SILENT', ...)' à la place. (Ou récupérez simplement 'QuietUninstallString', qui contient déjà'/SILENT'.) – Miral

+0

Merci pour le conseil, Miral. –

Répondre

1

Aha! Je l'ai trouvé caché dans le manuel. Google n'était pas trop utile aujourd'hui.

Vous pouvez utiliser RemoveQuotes!

Simple.

+1

Ce n'est pas caché du tout. Chaque fois que vous aurez besoin de trouver une certaine fonction, allez dans ['Support Functions Reference'] (http://jrsoftware.org/ishelp/topic_scriptfunctions.htm), recherchez la catégorie dont vous avez besoin (dans ce cas * Fonctions de chaîne *) et vous pouvez trouver rapidement une fonction avec le mot-clé * "Quotes" * directement dans son nom. N'utilisez pas Google pour cela. Ce site d'aide n'est pas bien indexé là, mais il n'a même pas besoin d'être, si vous le savez. Une aide similaire avec le même contenu que vous avez livré avec Inno Setup lui-même, de sorte que vous n'allez même pas en ligne pour ces informations. – TLama

+1

@TLama Oui, je sais que * maintenant *! :-P –

Questions connexes