Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pré remplir un tableau fraicheemnt declaré

12 réponses
Avatar
Arnaud
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud

10 réponses

1 2
Avatar
Patrice Henrio
AMHA ce n'est pas possible en VB.

"Arnaud" a écrit dans le message de news:
436f0bf4$0$25978$
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud




Avatar
Aski
Salutatoi Patrice Henrio,

Tu as donc déclaré :

AMHA ce n'est pas possible en VB.



Oui et c'est bien dommage.
Par contre la fonction Array() pourrait t'aider.

--
Cordialement

Aski

AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/



"Arnaud" a écrit dans le message de news:
436f0bf4$0$25978$
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud




Avatar
Aski
Salutatoi Patrice,

Pardon, j'ai mal quoté .. ;-(
Tu as bien compris que ce discours s'adresse à Arnaud.

Cordialement

Aski

Tu as donc déclaré :

AMHA ce n'est pas possible en VB.



Oui et c'est bien dommage.
Par contre la fonction Array() pourrait t'aider.



"Arnaud" a écrit dans le message de
news: 436f0bf4$0$25978$
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud






Avatar
Guy DETIENNE
Salut ;O)

Comme le dit Aski, la fonction Array permet cela mais ne pas du tout
similaire au C.

Extrait de MSDN :
Dim A As Variant
A = Array(10,20,30)
B = A(2)La limite inférieure d'un tableau créé à l'aide de la fonction Array
est déterminée par la limite inférieure spécifiée avec l'instruction Option
Base, à moins que le nom de Array soit accompagné de l'intitulé de la
bibliothèque de type (par exemple VBA.Array). Si c'est le cas, Array n'est
pas affecté par Option Base.Guy"Arnaud" a écrit
dans le message de news:436f0bf4$0$25978$
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud




Avatar
Patrice Henrio
yapademal

salut

Je complète ton info par une copie de la MSDN

Array, fonction

Renvoie une variable de typeVariant contenant untableau.
Syntaxe
Array(arglist)
L'argument arglist est une liste de valeurs délimitée par des
virgules attribuées aux éléments du tableau contenu dans la variable
de type Variant. Si aucun argument n'est spécifié, un tableau de
longueur nulle est créé.
Remarques
La notation utilisée pour faire référence à un élément du tableau
est composée du nom de lavariable suivi d'un indice entre indiquant
l'élément concerné. Dans l'exemple suivant, la premièreinstruction
crée une variable appelée A déclarée de type Variant.
La deuxième instruction affecte un tableau à la variable A. La
dernière instruction affecte à une autre variable la valeur
contenue dans le deuxième élément du tableau.
Dim A As Variant
A = Array(10,20,30)
B = A(2)

La limite inférieure d'un tableau créé à l'aide de la fonction Array
est déterminée par la limite inférieure spécifiée avec l'instruction
Option Base, à moins que le nom de Array soit accompagné de
l'intitulé de la bibliothèque de type (par exemple VBA.Array).
Si c'est le cas, Array n'est pas affecté par Option Base.
Note
Une variable de type Variant non déclarée comme tableau peut
cependant en contenir un. Une variable de type Variant peut contenir
tout type de tableau, à l'exception des chaînes de longueur
fixe et detypes définis par l'utilisateur. Bien que le concept de variable
de type Variant contenant un tableau diffère d'un tableau contenant
des éléments de type Variant, la manière d'accéder aux
éléments du tableau est identique.

L'inconvénient de cette méthode c'est évidemment que le tableau est
typé variant et que je ne sais même pas comment vont être typés les éléments
du tableau.

Par contre une autre solution pour ce faire (si les valeurs sont
connues à l'avance) et que le nombre le justifie c'est de les rentrer dasn
un fichier à accès
direct puis de lire directement le tableau en une fois.


Soit un type quelconque, on veut initialiser un tableau T() de ce
type. les valeurs sont stockées dans un fichier binaire

Dim NbEléments as long, Elément as TypeQuelconque
Open <nom du fichier> For Binary As #1
NbEléments = LOF(1) / Len(Elément)
ReDim T(1 To NbEléments)
Get #1, , T
Close

Il ne faut pas oublier Erase T quand on n'a plus besoin de celui-ci.


"Aski" a écrit dans le message de news:
%
Salutatoi Patrice,

Pardon, j'ai mal quoté .. ;-(
Tu as bien compris que ce discours s'adresse à Arnaud.

Cordialement

Aski

Tu as donc déclaré :

AMHA ce n'est pas possible en VB.



Oui et c'est bien dommage.
Par contre la fonction Array() pourrait t'aider.



"Arnaud" a écrit dans le message de
news: 436f0bf4$0$25978$
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud










Avatar
Arnaud
Merci à tous , la fontion array est exactement ce que je recherche et en
plus , ... ca fontionne ...

Merci à tous :o)

Arnaud

"Arnaud" a écrit dans le message news:
436f0bf4$0$25978$
Salut à tous


Comment en VB6 , pré remplir un tableau fraîchement déclaré ?

DIM tableau ( 1 To 10 ) as integer = ???

En langage C , il suffit de taper :

int tableau[10] = { 1,2,3,4,5,6,7,8,9 };
Automatiquement , tableau [0] = première valeur de la liste ect


Arnaud
Avatar
Aski
Salutatoi Arnaud,

Tu as donc déclaré :

Merci à tous , la fontion array est exactement ce que je recherche et
en plus , ... ca fontionne ...

Merci à tous :o)

Arnaud



Ravis de t'aider ...
Avatar
ng
Aski wrote:

Salutatoi Patrice Henrio,

Tu as donc déclaré :

AMHA ce n'est pas possible en VB.



Oui et c'est bien dommage.
Par contre la fonction Array() pourrait t'aider.




Oui mais ca renvoie du variant, donc on perd le typage et on gagne de la
lenteur, je déconseille donc vivement cette fonction.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Aski
Salutatoi ng,

Tu as donc déclaré :

Aski wrote:

Salutatoi Patrice Henrio,

Tu as donc déclaré :

AMHA ce n'est pas possible en VB.



Oui et c'est bien dommage.
Par contre la fonction Array() pourrait t'aider.




Oui mais ca renvoie du variant, donc on perd le typage et on gagne de
la lenteur, je déconseille donc vivement cette fonction.



Oui. Tu as raison et je n'utilise des variants que lorsque c'est
indispensable.
Il faut reconnaitre que l'initialisation t(1)=1, t(2)=5, .... n'est pas
géniale.
Il me semble (à confirmer) que VB 2005 permet les initialisations de type
Pascal ou C.

Il va falloir que je fasse le saut définitivement.

Cordialement

Aski
Avatar
Patrice Henrio
"Aski" a écrit dans le message de news:
%
Salutatoi Arnaud,

Tu as donc déclaré :

Merci à tous , la fontion array est exactement ce que je recherche et
en plus , ... ca fontionne ...

Merci à tous :o)

Arnaud



Ravis de t'aider ...





Je me permets de redonner la fin de mon intervention précédente qui semble
avoir échapper aux lecteurs de cette discussion.

Par contre une autre solution pour ce faire (si les valeurs sont
connues à l'avance) et que le nombre le justifie c'est de les rentrer dans
un fichier à accès direct puis de lire directement le tableau en une fois.


Soit un type quelconque, on veut initialiser un tableau T() de ce
type. les valeurs sont stockées dans un fichier binaire

Dim NbEléments as long, Elément as TypeQuelconque
Open <nom du fichier> For Binary As #1
NbEléments = LOF(1) / Len(Elément)
ReDim T(1 To NbEléments)
Get #1, , T
Close

Il ne faut pas oublier Erase T quand on n'a plus besoin de celui-ci.

Cela renvoie bien un tableau du type choisi par l'utilisateur et non un
variant, de plus c'est très rapide même avec des tableaux très grands.
Inconvénient : il faut impérativement que chaque données soit de même type
car je ne crois pas qu'il existe en VB des types conditionnels (comme en C
je crois).
1 2