ASSIGN |
Assignpermet d'affecter une variable dont on ne connaît pas le nom à l'avance.
Assign exp_nom With exp_valeur
Elément | Description | Restrictions |
Expression de type Char dont le résultatest le nom d'une variable | La variable doit exister. | |
Expression quelconque. | Son type doit être compatible avec celuide la variable. |
# Alimentation des champs REP1 et REP2 de la lignecourante du tableau du masque SDH1 par la valeur des champs REP(0) et REP(1) dumasque SDH2.
For I=0 To 1
Assign("[M:SDH1]REP"+num$(I+1)+"(nolign-1)")
Withevalue("[M:SDH2]REP("+num$(I)+")")
Next# Programme affichant : I=3
Default Local
Char NOM(10) : Libelle I
[L]NOM = "[L]I"
Assign[L]NOM With 3
Infbox "I="-[L]I# on remplit 1000 enregistrements dans la tableFICHIER
# avec des valeurs calculées au hasard
Local Char NOM_FIC(10)
[L]NOM_FIC = "FICHIER"
Iffilinfo(filpath("FIL",[L]NOM_FIC,"srf"),1) >= 0
Call FILL([L]NOM_FIC)
Endif
End
Subprog FILL(NOMFIC)
Value Char NOMFIC()
Local File =NOMFIC [XX]
Local Shortint TYP
## Boucle sur le nombre d'enregistrements àécrire
For I=0 To 999
## Boucle sur le nombre de zones du fichier
For J=0 To [G:XX]nbzon-1
## Boucle sur la dimension de chaque zone
For K=0 Toevalue("dim([F:XX]"+[G:XX]adxfname(J)+")-1")
## Libelle(1) Shortint(2) Date(3) Integer(4)
#(suite de l'exemple précédent)
## Decimal(7,9) Char(>10)
[L]TYP =evalue("type([F:XX]"+[G:XX]adxfname(J)+")")
Case [L]TYP
When 1:Assign [G:XX]adxfname(J)+"(K)" With int(rnd(255))
When 2:Assign [G:XX]adxfname(J)+"(K)" With int(rnd(32768))
When 3:Assign [G:XX]adxfname(J)+"(K)" With date$+int(rnd(365))
When 4:Assign [G:XX]adxfname(J)+"(K)" With int(rnd(2^31-1))
When 7:Assign [G:XX]adxfname(J)+"(K)" With rnd(10^79)
When Default
Assign[G:XX]adxfname(J)+"(K)" With
& sigma(L=0, [L]TYP-10-1,chr$(int(rnd(25)+ascii('A'))))
Endcase
Next K
Next J
Write [XX]
Next I
End
"assign"permet d'affecter une variable (déclarée au préalable) dont o ne connaît pas lenom au moment de l'affectation. Pour cela, on doit disposer d'une variablealphanumérique ayant pour valeur le nom de la variable à affecter.
Le nom de la variable "connue" est à donner en premier argument del'instruction "assign".
Le type de la valeur d'affectation doit être cohérent avec celui de lavariable à affecter.
Notons que l'instruction "
ERMODE(10) | Incompatibilitétype alpha/numérique. |
ERVARI( 6) | Variableinexistante. |
ERCLAS( 7) | Classeinexistante. |
ERINDI( 8) | Indiceincorrect. |
ERHUGE(13) | Dépassementde capacité numérique. |
CHAR - SHORTINT - INTEGER - DATE - LIBELLE - DECIMAL - TYPE - DIM
Adonix X3(r) L4G |