Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Lamarche
Bonjour David,
Je te conseil de regarder l'objet collection. Sauf qu'on neut pas pas ajouter un type utilisateur dans une collection si ma memoire est bonne. Tu devras te faire une classe (voici un exemple fait a main lever et pas testé
ex '*****************
clsUtilisateur.cls '***************** Public Enum TType c1 = 1 c2 = 2 c3 = 3 end Enum
Private m_TType as TType
Public Property Get UtilisateurType() as TType UtilisateurType = m_TType End property
Public Property Let UtilisateurType(ByVal NewVal) m_TType= NewVal End property
'************** Form1 '**************
Private sub form_load() Dim oCol as collection Dim unUtilisateur as clsUtilisateur Dim i as long
set oCol = new collection
set unUtilisateur = new clsUtilisateur unUtilisateur.UtilisateurType = TType.c1
oCol.add unUtilisateur
for each unUtilisateur in oCol .... next
end sub
Cordialement,
Patrice "David TRISTRAM" wrote in message news:096401c36b04$4b967a60$
Bonjour,
Comment puis je retrouver par programmation toutes les variables d'un type utilisateur sans les nommer ?
Ex : Public Type TTYPE c1 c2 c3 end type
J'aimerai faire qq chose du style : ----------------------------------- for each var in TTYPE if (instr(var, ";") > 0) then ... end if next
Bonjour David,
Je te conseil de regarder l'objet collection. Sauf qu'on neut pas pas
ajouter un type utilisateur dans une collection si ma memoire est bonne. Tu
devras te faire une classe (voici un exemple fait a main lever et pas testé
ex
'*****************
clsUtilisateur.cls
'*****************
Public Enum TType
c1 = 1
c2 = 2
c3 = 3
end Enum
Private m_TType as TType
Public Property Get UtilisateurType() as TType
UtilisateurType = m_TType
End property
Public Property Let UtilisateurType(ByVal NewVal)
m_TType= NewVal
End property
'**************
Form1
'**************
Private sub form_load()
Dim oCol as collection
Dim unUtilisateur as clsUtilisateur
Dim i as long
set oCol = new collection
set unUtilisateur = new clsUtilisateur
unUtilisateur.UtilisateurType = TType.c1
oCol.add unUtilisateur
for each unUtilisateur in oCol
....
next
end sub
Cordialement,
Patrice
"David TRISTRAM" <david.tristram@tixis.arcelor.com> wrote in message
news:096401c36b04$4b967a60$a301280a@phx.gbl...
Bonjour,
Comment puis je retrouver par programmation toutes les
variables d'un type utilisateur sans les nommer ?
Ex :
Public Type TTYPE
c1
c2
c3
end type
J'aimerai faire qq chose du style :
-----------------------------------
for each var in TTYPE
if (instr(var, ";") > 0) then
...
end if
next
Je te conseil de regarder l'objet collection. Sauf qu'on neut pas pas ajouter un type utilisateur dans une collection si ma memoire est bonne. Tu devras te faire une classe (voici un exemple fait a main lever et pas testé
ex '*****************
clsUtilisateur.cls '***************** Public Enum TType c1 = 1 c2 = 2 c3 = 3 end Enum
Private m_TType as TType
Public Property Get UtilisateurType() as TType UtilisateurType = m_TType End property
Public Property Let UtilisateurType(ByVal NewVal) m_TType= NewVal End property
'************** Form1 '**************
Private sub form_load() Dim oCol as collection Dim unUtilisateur as clsUtilisateur Dim i as long
set oCol = new collection
set unUtilisateur = new clsUtilisateur unUtilisateur.UtilisateurType = TType.c1
oCol.add unUtilisateur
for each unUtilisateur in oCol .... next
end sub
Cordialement,
Patrice "David TRISTRAM" wrote in message news:096401c36b04$4b967a60$
Bonjour,
Comment puis je retrouver par programmation toutes les variables d'un type utilisateur sans les nommer ?
Ex : Public Type TTYPE c1 c2 c3 end type
J'aimerai faire qq chose du style : ----------------------------------- for each var in TTYPE if (instr(var, ";") > 0) then ... end if next
David TRISTRAM
Aux vues de la réponse, je dois préciser que j'utilise un TYPE pour utiliser la fonction LSET. Voici plus précisement mon pb : 1° lecture d'un fichier texte (ligne = xxxx;ffff;gggg;jjj....)
2° LSET pour associer chaque champ de la ligne du fichier dans mon TYPE
3° tests de cohérence sur les variables du TYPE
4° MAJ d'une base SQL avec toutes les variables du TYPE (en fait, j'ai plusieurs TYPE, plus de 1000 variables, d'où mon interêt à trouver qq chose pour ne pas écrire tous les noms de variables) .. Je ne connais pas les classes en VB, je n'ai sans doute pas tout compris à ta réponse mais il me semble que je ne pourrai plus utiliser le LSET ...?
========================= ===============
-----Message d'origine----- David TRISTRAM wrote:
Bonjour,
Comment puis je retrouver par programmation toutes les variables d'un type utilisateur sans les nommer ?
Ex : Public Type TTYPE c1 c2 c3 end type
J'aimerai faire qq chose du style : ----------------------------------- for each var in TTYPE if (instr(var, ";") > 0) then ... end if next
Y'a peut être une solution plus directe, mais tu peu
faire comme ceci:
-Plutot que de crée un type, tu crée quelque classe: clsVarString qui contient une variable public
Value as string
clsVarInt qui contient une variable public Value
as integer
et ainsi de suite pour tous les type réquis dans
ton "type
utilisateur" et une classe clsCol qui est une collection de
value, qui serra le
type. -Tu ne laisse pas la possibilité d'ajouté de nouvelle
élément a la
collection(si tu passe par le générateur de classe, passe
la propriété Add a
private, si tu la fait toi même déclare la private mais
fait la quand même).
-Tu modifie Add, de sorte a ce que tu puisse précisez
le type, et qui
ajoute clsVarXxxx en conséquence -Et dans l'évènement initialize, tu crée toutes les
variales qu'elle
devra contenir dans les types réquis
Ensuite, dans ton code: dim var as clsVar var!maprop.value=xxx
Et la for each est utilisable comme pour une
collection.
Si tu désire évitée de devoir mettre .Value, tu rend
la variable Value
en Private et tu la nomme prtValue. Et tu peu crée une
propriété Value que
tu déclare en propriété par défaut.
a+
.
Aux vues de la réponse, je dois préciser que j'utilise un
TYPE pour utiliser la fonction LSET.
Voici plus précisement mon pb :
1° lecture d'un fichier texte
(ligne = xxxx;ffff;gggg;jjj....)
2° LSET pour associer chaque champ de la ligne du fichier
dans mon TYPE
3° tests de cohérence sur les variables du TYPE
4° MAJ d'une base SQL avec toutes les variables du TYPE
(en fait, j'ai plusieurs TYPE, plus de 1000 variables,
d'où mon interêt à trouver qq chose pour ne pas écrire
tous les noms de variables)
..
Je ne connais pas les classes en VB, je n'ai sans doute
pas tout compris à ta réponse mais il me semble que je ne
pourrai plus utiliser le LSET ...?
========================= ===============
-----Message d'origine-----
David TRISTRAM wrote:
Bonjour,
Comment puis je retrouver par programmation toutes les
variables d'un type utilisateur sans les nommer ?
Ex :
Public Type TTYPE
c1
c2
c3
end type
J'aimerai faire qq chose du style :
-----------------------------------
for each var in TTYPE
if (instr(var, ";") > 0) then
...
end if
next
Y'a peut être une solution plus directe, mais tu peu
faire comme ceci:
-Plutot que de crée un type, tu crée quelque classe:
clsVarString qui contient une variable public
Value as string
clsVarInt qui contient une variable public Value
as integer
et ainsi de suite pour tous les type réquis dans
ton "type
utilisateur"
et une classe clsCol qui est une collection de
value, qui serra le
type.
-Tu ne laisse pas la possibilité d'ajouté de nouvelle
élément a la
collection(si tu passe par le générateur de classe, passe
la propriété Add a
private, si tu la fait toi même déclare la private mais
fait la quand même).
-Tu modifie Add, de sorte a ce que tu puisse précisez
le type, et qui
ajoute clsVarXxxx en conséquence
-Et dans l'évènement initialize, tu crée toutes les
variales qu'elle
devra contenir dans les types réquis
Ensuite, dans ton code:
dim var as clsVar
var!maprop.value=xxx
Et la for each est utilisable comme pour une
collection.
Si tu désire évitée de devoir mettre .Value, tu rend
la variable Value
en Private et tu la nomme prtValue. Et tu peu crée une
Aux vues de la réponse, je dois préciser que j'utilise un TYPE pour utiliser la fonction LSET. Voici plus précisement mon pb : 1° lecture d'un fichier texte (ligne = xxxx;ffff;gggg;jjj....)
2° LSET pour associer chaque champ de la ligne du fichier dans mon TYPE
3° tests de cohérence sur les variables du TYPE
4° MAJ d'une base SQL avec toutes les variables du TYPE (en fait, j'ai plusieurs TYPE, plus de 1000 variables, d'où mon interêt à trouver qq chose pour ne pas écrire tous les noms de variables) .. Je ne connais pas les classes en VB, je n'ai sans doute pas tout compris à ta réponse mais il me semble que je ne pourrai plus utiliser le LSET ...?
========================= ===============
-----Message d'origine----- David TRISTRAM wrote:
Bonjour,
Comment puis je retrouver par programmation toutes les variables d'un type utilisateur sans les nommer ?
Ex : Public Type TTYPE c1 c2 c3 end type
J'aimerai faire qq chose du style : ----------------------------------- for each var in TTYPE if (instr(var, ";") > 0) then ... end if next
Y'a peut être une solution plus directe, mais tu peu
faire comme ceci:
-Plutot que de crée un type, tu crée quelque classe: clsVarString qui contient une variable public
Value as string
clsVarInt qui contient une variable public Value
as integer
et ainsi de suite pour tous les type réquis dans
ton "type
utilisateur" et une classe clsCol qui est une collection de
value, qui serra le
type. -Tu ne laisse pas la possibilité d'ajouté de nouvelle
élément a la
collection(si tu passe par le générateur de classe, passe
la propriété Add a
private, si tu la fait toi même déclare la private mais
fait la quand même).
-Tu modifie Add, de sorte a ce que tu puisse précisez
le type, et qui
ajoute clsVarXxxx en conséquence -Et dans l'évènement initialize, tu crée toutes les
variales qu'elle
devra contenir dans les types réquis
Ensuite, dans ton code: dim var as clsVar var!maprop.value=xxx
Et la for each est utilisable comme pour une
collection.
Si tu désire évitée de devoir mettre .Value, tu rend
la variable Value
en Private et tu la nomme prtValue. Et tu peu crée une
propriété Value que
tu déclare en propriété par défaut.
a+
.
David TRISTRAM
T'as solution me plait beaucoup... Grâce à elle, je pourrai faire mes requetes SQL sans déclarer la moindre variable (plus besoin de structure)...
Merci Beaucoup David TRISTRAM
========================= ==
-----Message d'origine----- David TRISTRAM wrote:
Aux vues de la réponse, je dois préciser que j'utilise
un
TYPE pour utiliser la fonction LSET. Voici plus précisement mon pb : 1° lecture d'un fichier texte (ligne = xxxx;ffff;gggg;jjj....)
2° LSET pour associer chaque champ de la ligne du
fichier
dans mon TYPE
3° tests de cohérence sur les variables du TYPE
4° MAJ d'une base SQL avec toutes les variables du TYPE (en fait, j'ai plusieurs TYPE, plus de 1000 variables, d'où mon interêt à trouver qq chose pour ne pas écrire tous les noms de variables) .. Je ne connais pas les classes en VB, je n'ai sans doute pas tout compris à ta réponse mais il me semble que je
ne
pourrai plus utiliser le LSET ...?
Ah nan, LSET ne marchera plus. LSET copie "en brut" la masse de donnée que représente la
variable(qui est
découpée pour les types), mais les classes fonctionnes
différement. Sur les
classes, il faudrai utilisée SET, mais dans ton cas sa ne
servierai a rien.
Mais pourquoi ne pas mettre en 1ére ligne de tes fichiers
les noms des
champs, qu'ils stoque dans un tableau, et ensuite met au
fur et a mesure
dans la table SQL les valeurs lue du fichier?
a+
.
T'as solution me plait beaucoup... Grâce à elle, je
pourrai faire mes requetes SQL sans déclarer la moindre
variable (plus besoin de structure)...
Merci Beaucoup
David TRISTRAM
========================= ==
-----Message d'origine-----
David TRISTRAM wrote:
Aux vues de la réponse, je dois préciser que j'utilise
un
TYPE pour utiliser la fonction LSET.
Voici plus précisement mon pb :
1° lecture d'un fichier texte
(ligne = xxxx;ffff;gggg;jjj....)
2° LSET pour associer chaque champ de la ligne du
fichier
dans mon TYPE
3° tests de cohérence sur les variables du TYPE
4° MAJ d'une base SQL avec toutes les variables du TYPE
(en fait, j'ai plusieurs TYPE, plus de 1000 variables,
d'où mon interêt à trouver qq chose pour ne pas écrire
tous les noms de variables)
..
Je ne connais pas les classes en VB, je n'ai sans doute
pas tout compris à ta réponse mais il me semble que je
ne
pourrai plus utiliser le LSET ...?
Ah nan, LSET ne marchera plus.
LSET copie "en brut" la masse de donnée que représente la
variable(qui est
découpée pour les types), mais les classes fonctionnes
différement. Sur les
classes, il faudrai utilisée SET, mais dans ton cas sa ne
servierai a rien.
Mais pourquoi ne pas mettre en 1ére ligne de tes fichiers
les noms des
champs, qu'ils stoque dans un tableau, et ensuite met au
T'as solution me plait beaucoup... Grâce à elle, je pourrai faire mes requetes SQL sans déclarer la moindre variable (plus besoin de structure)...
Merci Beaucoup David TRISTRAM
========================= ==
-----Message d'origine----- David TRISTRAM wrote:
Aux vues de la réponse, je dois préciser que j'utilise
un
TYPE pour utiliser la fonction LSET. Voici plus précisement mon pb : 1° lecture d'un fichier texte (ligne = xxxx;ffff;gggg;jjj....)
2° LSET pour associer chaque champ de la ligne du
fichier
dans mon TYPE
3° tests de cohérence sur les variables du TYPE
4° MAJ d'une base SQL avec toutes les variables du TYPE (en fait, j'ai plusieurs TYPE, plus de 1000 variables, d'où mon interêt à trouver qq chose pour ne pas écrire tous les noms de variables) .. Je ne connais pas les classes en VB, je n'ai sans doute pas tout compris à ta réponse mais il me semble que je
ne
pourrai plus utiliser le LSET ...?
Ah nan, LSET ne marchera plus. LSET copie "en brut" la masse de donnée que représente la
variable(qui est
découpée pour les types), mais les classes fonctionnes
différement. Sur les
classes, il faudrai utilisée SET, mais dans ton cas sa ne
servierai a rien.
Mais pourquoi ne pas mettre en 1ére ligne de tes fichiers
les noms des
champs, qu'ils stoque dans un tableau, et ensuite met au