Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Définition :
Cette nouvelle instruction permet de parcourir chaque ligne contenue dans un texte multi-ligne sous la forme d’une boucle qui exécutera les instructions inscrites pour chacune d’entre elles.

Syntaxe :

...

[POURCHAQUE]

...


[EXTRAIRE]

...


Variable

...

pour

...

contenir

...

la

...

ligne :

...

variable

...

qui

...

contient

...

le

...

texte

...


[FINEXTRAIRE]

...


Instructions

...

à

...

exécuter

...

pour

...

chaque

...

ligne

...

lue

...

du

...

texte

...

...


[FINPOURCHAQUE]

Exemples 1 :
Cas d'une zone de texte dans un masque :
Soit les deux variables déclarées par paramétrage :

...

Résultat : Un SAM affiche le contenu de chaque ligne lue.

...

Exemple 2 : Cas d'un fichier texte :

...

Code Block
//Soit les deux variables déclarées par paramétrage :
SDVA("ComptesClients$", "variable qui contiendra le contenu du fichier")
SDVA("Line","variable qui contiendra une ligne du fichier texte")

//Lecture du fichier texte dans une variable:
vu(1) = FileReadAllText("c:\compte.txt","ComptesClients$")
[SI]
  vu(1)=0
[FINSI]
[ALORS]
// début de la boucle pour chaque ligne de texte
   [POURCHAQUE]
     [EXTRAIRE]
        Line : ComptesClients$
     [FINEXTRAIRE]
   SAM("line", Line)    // Chaque ligne du texte sera affichée à l’écran sous forme d’un message
   [FINPOURCHAQUE]
[FINALORS]
[SINON]
   SAM("", SilGetLastError(vu(1)),0)     // Affichage de l'erreur si le fichier est n'est pas lu   
[FINSINON]

Résultat : Un SAM affiche le contenu de chaque ligne lue.

...

Exemple 3 : Duplication d'une ligne d'AOC depuis l'application "Proposition commerciale"

Code Block
//Soit deux variables dans lesquelles on mémorise le "codeclient" et le "numéro d'appel d'offre" sur lequel on se trouve.:
vu$(0)="C.C.M"
vu$(1)="3091502"

//Insertion des données des lignes de la table  "MACRO_AOCC" après l'avoir vidée.
SER(""," DELETE FROM MACRO_AOCC","")
SER(""," INSERT INTO MACRO_AOCC (CodeClient,NoAppelOffres,NumeroLigneDemande) SELECT CodeClient,NoAppelOffres,NumeroLigneDemande FROM AOCC WHERE CodeClient=@vu$(0) AND NoAppelOffres=@vu$(1)","")

//Pour chaque ligne insérée on utilise la fonction "aoc_duplication_ligne()"
[POURCHAQUE]
[EXTRAIRE]
vu$(2);vu$(3);vu(1) : SQL=SELECT CodeClient,NoAppelOffres,NumeroLigneDemande FROM MACRO_AOCC
[FINEXTRAIRE]
aoc_duplication_ligne(vu$(2), vu$(3), vu(1))
[FINPOURCHAQUE]