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
| PROCEDURE ExtraireListeMedicaments(sLigne est une chaîne)
nPos1, nPos2, nNbrAccolOuvert, nNbrAccolFerme, longueur sont des entiers
sValeur, sMedicament, sPoso, sOrdo est une chaîne
sValeur = ""
sMedicament = ""
sPoso = ""
sOrdo = ""
nNbrAccolOuvert = ChaîneOccurrence(sLigne, "{")
nNbrAccolFerme = ChaîneOccurrence(sLigne, "}")
SI nNbrAccolOuvert = 1 ET nNbrAccolFerme = 1 ALORS
RENVOYER sValeur
SINON
nPos1 = PositionOccurrence(sLigne,"{",1)
nPos2 = PositionOccurrence(sLigne,"}",nNbrAccolFerme)
longueur = (nPos2 - 1) - nPos1
sValeur = Milieu(sLigne, nPos1+1,longueur)
// Construire la chaine suivant le modele: sMedicament + TAB + sPoso + RC
TANTQUE Taille((sValeur) <> 0)
nPos1 = PositionOccurrence(sValeur,"{",1)
sMedicament = SansEspace(Gauche(sValeur,nPos1-1))
sValeur = Milieu(sValeur, nPos1+1)
nPos2 = PositionOccurrence(sValeur,"}",1)
longueur = (nPos2 - 1) - 1
sMedicament = sMedicament + " " + Milieu(sValeur, 1, longueur)
sValeur = Milieu(sValeur, nPos2+1)
FIN
RENVOYER sOrdo
FIN |
Partager