ASSIGN

Sommaire


Assignpermet d'affecter une variable dont on ne connaît pas le nom à l'avance.

 

Syntaxe

Assign exp_nomWith exp_valeur

 

Paramètres

Elément

Description

Restrictions

exp_nom

Expression de type Char dont le résultatest le nom d'une variable

La variable doit exister.

exp_valeur

Expression quelconque.

Son type doit être compatible avec celuide la variable.

 

Exemples

# 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

 

Description et commentaires

"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 "assign" ne permet pas d'affecter unensemble de variables (de type affectation de classe à classe par exemple).

 

Erreurs associées

Erreur

Description

ERMODE(10)

Incompatibilitétype alpha/numérique.

ERVARI( 6)

Variableinexistante.

ERCLAS( 7)

Classeinexistante.

ERINDI( 8)

Indiceincorrect.

ERHUGE(13)

Dépassementde capacité numérique.

 

Mots-clés associés

CHAR - SHORTINT - INTEGER - DATE - LIBELLE - DECIMAL - TYPE - DIM


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved