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
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
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" <clerget_a@club-internet.fr> a écrit
dans le message de news:436f0bf4$0$25978$7a628cd7@news.club-internet.fr...>
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
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
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
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" <aski@asci.asc> a écrit dans le message de news:
%23aUngS44FHA.4064@TK2MSFTNGP10.phx.gbl...
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" <clerget_a@club-internet.fr> a écrit dans le message de
news: 436f0bf4$0$25978$7a628cd7@news.club-internet.fr...
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
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
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
Merci à tous , la fontion array est exactement ce que je recherche et en
plus , ... ca fontionne ...
Merci à tous :o)
Arnaud
"Arnaud" <clerget_a@club-internet.fr> a écrit dans le message news:
436f0bf4$0$25978$7a628cd7@news.club-internet.fr...
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
Merci à tous , la fontion array est exactement ce que je recherche et en plus , ... ca fontionne ...
Merci à tous :o)
Arnaud
Ravis de t'aider ...
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/
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/
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/
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
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.
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
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).
"Aski" <aski@asci.asc> a écrit dans le message de news:
%23FNXAI64FHA.2616@TK2MSFTNGP12.phx.gbl...
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).
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).