[VBS] If ligne = xxx sauter

If ligne = xxx sauter [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 15-10-2012 à 14:30:39    

Bonjour,
J'ai fait un petit VBS qui lit un fichier texte pour en récupérer certains éléments. Il fonctionne, mais je me demande s'il n'y a pas une structure propre à ce que je veux faire.
 
Voilà comment je procède, le fichier n'ayant pas de structure adaptée à un traitement facile : Le fichier est parcouru par un While EOF. Si la ligne contient 'machin', j'assigne une variable à 1, et à la lecture de la prochaine ligne, si la variable est à 1, je la traite ligne et je passe la variable à 0.
 
Le Next n'est malheureusement pas accepté, mais peut-être y aurait-il une commande me permettant de passer automatiquement à la ligne suivante ?


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 15-10-2012 à 14:30:39   

Reply

Marsh Posté le 15-10-2012 à 15:26:07    

En vba, il y a le MoveNext.  
Je ne sais pas si ça fonctionne en vbs.


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 15-10-2012 à 18:49:23    

Ca existe, mais pour les RecordSet, donc BDD.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 16-10-2012 à 08:07:23    

avec un extrait de code c'est plus simple

Reply

Marsh Posté le 16-10-2012 à 12:32:26    

Je n'ai pas sous la main. De toute manière, c'est un bête While pour la lecture.
 
Voici mon exemple de test :  
 

Code :
  1. dim filesys, text, readfile, contents
  2. set filesys = CreateObject("Scripting.FileSystemObject" )
  3. set readfile = filesys.OpenTextFile("log_whois_incident.txt", 1, false)
  4. while readfile.AtEndOfStream=false
  5. ligne = readfile.ReadLine
  6. if instr(ligne, "machin" ) then
  7.  ''MoveNext 'incorrect
  8.  msgbox(ligne)
  9. end if
  10. wend
  11. readfile.close


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 16-10-2012 à 13:00:01    

Perso je ferai comme tu as fait avec le booléen qui teste s'il faut mettre le msgbox  
 
je pense que c'est le plus propre  
après je sais pas si c'est bon en vbs les go to mais c'est moche dans tous les cas  
 
 
 
 

Reply

Marsh Posté le 16-10-2012 à 15:07:51    

Merci. Dommage qu'un Next ne fonctionne pas, ça simplifierait le code.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 17-10-2012 à 14:17:42    

pareil, je trouve pas mieux, je penses que c'est parce que le langage VBS est vieux et limité et qu'il n'évoluera plus car on est passé à autre chose :)

Reply

Sujets relatifs:

Leave a Replay

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