cs_pepone1er
Messages postés3Date d'inscriptionlundi 14 juillet 2003StatutMembreDernière intervention22 mars 2007
-
22 mars 2007 à 14:09
bigbigmoumou
Messages postés18Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention22 mars 2007
-
22 mars 2007 à 15:26
Bonjour à tous,
Je suis nouveau sur ce forum et je ne suis pas sûr de poster au bon endroit, mais je me lance :
bigbigmoumou
Messages postés18Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention22 mars 2007 22 mars 2007 à 15:26
Bonjour,
Tu peux procéder ainsi :
1) Tu ouvres ton fichier,
2) Tu lis une ligne
3) Dans cette ligne tu isole l'adresse IP
4) Tu mets le dernier octect de l'IP à 0 : Tu as le groupe pour l'IP de la ligne
5) Tu regardes, si tu as déjà trouvé ce groupe. Si non, tu rajoutes ce nouveau groupe à la liste des groupes.
6) Tu associes l'indice de ce groupe au données de la la ligne.
7) Tu recommences à l'étape 2, jusqu'à la lecture de toutes les lignes.
8) Tu peux femer ton fichier
9) Tu as maintenant dans des tableaux les groupes d'IP et les données des lignes, le tout associé via un indice.
10) Si tu veux, tu peux, trier les groupes d'IP par ordre croissant en faisant suivre les indices en conséquence.
11) Tu n'as plus qu'à écrire ton fichier de sortie : Tu crés et ouvre ce fichier
12) Tu prends le 1er groupe d'IP, tu l'écris dans le fichier entre []
13) Tu parcours les lignes de données et si elle possède l'indice du groupe d'IP en cours, tu écrit la ligne dans le fichier.
14) Tu refais 13) tant qu'il reste des lignes de ce groupe d'IP ou que tu n'ai pas atteint le fin du tableau
15) Tu passes au groupe d'IP suivante et recommence en 13.
16) Quand tu as passé tous les groupes d'IP, tu as fini, plus qu'à fermer le fichier.
Les tableaux à utiliser :
Rmq: Je suppose que tu ne dois pas avoir plus de 1000 lignes. Si très gros fichier, éventuellement faire autrement pour ne pas tout mettre en mémoire et ne plus avoir cette limitation.
Type TypeTableau
Text as string ' - Contiendra les lignes complètes -
Indice as integer ' - L'indice associé aux lignes -
End type
Dim Ligne (0 to 1000) As TypeTableau
et le tableau des groupes d'IP :
GroupeIP(0 to 1000) as String '- Contient la valeur du groupe d'IP
GroupeIP(0) contiendra : "[172.22.100.0]"
Ligne(NuméroLigne).Text : contiendra la copie de la ligne NuméroLigne
Ligne(NuméroLigne).Indice : contiendra le numéro de l'indice de GroupeIP associé à cette ligne
Ligne(0).Text : "add reservedip 172.22.100.252 0001E6B3506E ladail014 FR/Fribourg/Daillettes 6/a-Rez/U. Lehmann"
Ligne(0).Indice : 0 car GroupeIP(0) = "[172.22.100.0]", du même groupe d'IP