[kix] Remplacement d'une chaine de caractère

Remplacement d'une chaine de caractère [kix] - VB/VBA/VBS - Programmation

Marsh Posté le 01-04-2008 à 11:34:27    

Bonjour,
 
Je vous soumets mon problème. J'ai créé un script KIX pour modifier une adresse IP dans un fichier .ini. A priori rien de difficile me direz-vous. Seulement je ne suis pas un pro du langage KIX, et là je bute. Voici le script :  
 

Code :
  1. ; script Remplacement adresse IP
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. Dim $fichier, $IPold, $IPnew, $line, $linenew
  4. $fichier='C:\Program Files\Citrix\Client ICA\pntest.ini'
  5. $IPold="192.168.0"
  6. $IPnew="10.35.35"
  7. Open(3, $fichier)
  8. $line=ReadLine(3)
  9. While @error=0
  10. If InStr($line, $IPold) ; on repère la chaine "192.168.0" dans la ligne
  11. $linenew=join(split($line, $IPold), $IPnew) ; on remplace cette chaine par la nouvelle "10.35.35"
  12. EndIf
  13. $line=ReadLine (3)
  14. Loop ; fin de la boucle
  15. $=WriteFile($line, $file)
  16. Close(3)


J'obtiens une erreur "expected ')'!"
Il s'agit sans doute d'une erreur bête, mais je sèche un peu. Pourriez-vous me dire ce qui bloque ( erreur de syntaxe, ... ).
 
D'avance merci,
 
tuxbigoud


Message édité par tuxbigoud le 01-04-2008 à 11:35:05
Reply

Marsh Posté le 01-04-2008 à 11:34:27   

Reply

Marsh Posté le 01-04-2008 à 13:06:36    

Citation :

$=WriteFile($line, $file)

Est-ce normal d'avoir dollar tout seul sans nom de variable ?
Et $file qui n'est pas initialisé ?

Reply

Marsh Posté le 01-04-2008 à 14:57:11    

Petite erreur de syntaxe. J'ai corrigé $file en $fichier.
 
En fait le script réalise bien la recherche et trouve les occurences, mais je ne parvient pas à écrire la ligne ensuite.


Message édité par tuxbigoud le 01-04-2008 à 14:57:27
Reply

Marsh Posté le 01-04-2008 à 15:15:24    

ça existe encore kix !? :heink:  
c'est quoi l'intêret d'utiliser Kix par rapport au VBS/WMI etc...

Reply

Marsh Posté le 01-04-2008 à 15:37:10    

KIX permet d'appeler d'autres  KIX dans le même script, en utilisant les mêmes variables. Je me suis pas trop posé la question quand j'ai vu que beaucoup de scripts de la boîte étaient en KIX.
 
Mais maintenan,t je me demande si un VBS ne serait pas plus simple :/

Reply

Marsh Posté le 01-04-2008 à 16:39:56    

$fichier est le nom du fichier. De plus c'est le nom du fichier en entrée. Si le fichier en sortie à le même nom, il va être écrasé.
Je crois que la fonction writefile attend un handle de fichier, qui serait un numéro (comme le 3 pour le fichier en lecture). Je crois aussi qu'avant d'utiliser writefile, il faudrait ouvrir un fichier de sortie (comme cela a été fait pour le fichier en entrée), en lui donnant un numéro, par exemple 4. Et il faudrait le fermer à la fin.
 
(Je ne connais pas KIX, mais cela a l'air de beaucoup ressembler au Basic de ma jeunesse).

Reply

Marsh Posté le 01-04-2008 à 17:35:21    

Oki, je vais regarder cela à tête reposée.
 
Merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed