1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
ROCEDURE SEGMENT_LIGNE_PRINCIPALE(SAI_numposte)
montableau est un tableau de chaînes
HLitRecherche(Elément,Elément.Codif_Poste_Support,SAI_numposte) // on cherche si le poste a des supports sur le réseau
SI HTrouve(Elément) ALORS
//on va chercher tous les départs éventuels qui commencent par 1,2,3,4,5,6,7,8,9 et qui n'ont pas de dérivation
HExécuteRequête(REQ_UnionCodif,hRequêteDéfaut,SAI_numposte,SAI_numposte)
POUR TOUT REQ_UnionCodif
//on part du départ
SI Gauche(NumériqueVersChaîne(REQ_UnionCodif.EL_codif),1)="1" ALORS
SI REQ_UnionCodif.EL_noeud=1 ALORS
//on est sur les noeuds de la ligne principale (pas de lettre de dérivation)
SI Asc(REQ_UnionCodif.EL_codif[[4]])<65 ET Asc(REQ_UnionCodif.EL_codif[[4]])>90 ALORS
Ajoute(montableau,REQ_UnionCodif)
Trie(montableau,ttCroissant)
FIN
POUR TOUT j DE montableau
SI Asc(REQ_UnionCodif.EL_codif[[4]])=65 OU Asc(REQ_UnionCodif.EL_codif[[4]])=78
SI Gauche(montableau[j],3)=Gauche(REQ_UnionCodif.EL_codif,3) ALORS
//on teste ici si le premier élément de la dérivation est noeud
SI REQ_UnionCodif.EL_codif=1 ALORS
nomfichier_segment_Ligne.élémentDébut=montableau[j]
nomfichier_segment_Ligne.élémentFin=REQ_UnionCodif.EL_codif
HAjoute(nomfichier_segment_Ligne)
//c'est ici que je bloque ..................
FIN
FIN
FIN
FIN
FIN
FIN
FIN |
Partager