Bonjour,
Je n'arrive pas à comprendre pourquoi mon code me retourne une erreur.
Voici le fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set fichPref=fso.OpenTextFile(PathFichParam&"\preferes.ini",ForReading) 'Ouvre preferes.ini Do Until fichPref.AtEndOfStream strTemp = fichPref.readline If Ucase("IP") = Ucase(Split(StrTemp,"=",2,1)(0)) Then AdrIp = Ucase(Split(StrTemp,"=",2,1)(1)) End if
Intitule=Bonjour comment ça va
IP=192.168.5.41
Masque=255.255.255.0
Passerelle=192.168.5.1
DNS1=...
DNS2=...
Normalement, d'après ce que j'ai compris du tutoriel de Bill, Split "éclate" une chaîne de caractère, ce qui donne :
SPLIT(IP=192.168.5.41,"=",2, 1)(0))
Cette ligne renvoie : IP
n'est ce pas ?
Donc ci dessous, elle devrait renvoyer : 192.168.5.41
SPLIT(IP=192.168.5.41,"=",2, 1)(1))
En rouge c'est le nombre de sous chaînes renvoyé par la commande de Split, donc ici deux sous chaînes.
et 1 c'est la valeur de comparaison, ici on compare de chaînes textuelles.
Je n'arrive pas à trouver mon erreur selon laquelle j'utilise des indices en dehors de la plage.
Ce que je ne comprend pas de plus, c'est que ce script là :
Fonctionne parfaitement et me renvoie bien l'ip
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim AdrIP If Ucase("IP") = Ucase(Split("IP=192.168.5.41","=",2,1)(0)) Then AdrIp = Ucase(Split("IP=192.168.5.41","=",2,1)(1)) End if msgbox AdrIp
Merci pour votre aide
Partager