Je cr=E9e une petite application qui manipule plusieurs=20
fichiers ouverts en mode =E0 acc=E8s direct (Random).
Pour ce faire j'ai d=E9fini des variables-utilisateur avec=20
l'instruction Type...End Type
Jusqu'=E0 pr=E9sent pour connaitre le nb d'enregistrements=20
d'un fichier j'utilisais des instructions du genre :=20
NbPersonne=3D Lof(1)/Len(Personne)=20
NbObjet=3Dlof(2)/len(Objet)
...
Je souhaiterai cr=E9er une fonction g=E9n=E9rique =E0 laquelle je=20
passerai en argument le n=B0 de buffer et la variable-
utilisateur.
=20
Public Function RetourneNb(Numero as Integer, TypeVariable=20
as ???)
RetourneNb=3DLof(Numero)/Len(TypeVariable)
end Function
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
Jérôme VERITE
Bonjour
si tu ne déclares pas le type de ta variable TypeVariable, elle devrait être considérée en Variant et le tout devrait fonctionner correctement
' entête de fonction Public Function RetourneNb(Numero as Integer, TypeVariable) ' ou Public Function RetourneNb(Numero as Integer, TypeVariable as Variant)
Jerôme
"Eric" a écrit dans le message de news:45b601c3ff6c$0b862f40$ Bonjour et bon début de semaine,
Je crée une petite application qui manipule plusieurs fichiers ouverts en mode à accès direct (Random). Pour ce faire j'ai défini des variables-utilisateur avec l'instruction Type...End Type Jusqu'à présent pour connaitre le nb d'enregistrements d'un fichier j'utilisais des instructions du genre : NbPersonne= Lof(1)/Len(Personne) NbObjet=lof(2)/len(Objet) ...
Je souhaiterai créer une fonction générique à laquelle je passerai en argument le n° de buffer et la variable- utilisateur.
Public Function RetourneNb(Numero as Integer, TypeVariable as ???) RetourneNb=Lof(Numero)/Len(TypeVariable) end Function
Est ce possible ?
Merci d'avance pour vos suggestions
Eric
Bonjour
si tu ne déclares pas le type de ta variable TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner correctement
' entête de fonction
Public Function RetourneNb(Numero as Integer, TypeVariable)
' ou
Public Function RetourneNb(Numero as Integer, TypeVariable as Variant)
Jerôme
"Eric" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:45b601c3ff6c$0b862f40$a501280a@phx.gbl...
Bonjour et bon début de semaine,
Je crée une petite application qui manipule plusieurs
fichiers ouverts en mode à accès direct (Random).
Pour ce faire j'ai défini des variables-utilisateur avec
l'instruction Type...End Type
Jusqu'à présent pour connaitre le nb d'enregistrements
d'un fichier j'utilisais des instructions du genre :
NbPersonne= Lof(1)/Len(Personne)
NbObjet=lof(2)/len(Objet)
...
Je souhaiterai créer une fonction générique à laquelle je
passerai en argument le n° de buffer et la variable-
utilisateur.
Public Function RetourneNb(Numero as Integer, TypeVariable
as ???)
RetourneNb=Lof(Numero)/Len(TypeVariable)
end Function
si tu ne déclares pas le type de ta variable TypeVariable, elle devrait être considérée en Variant et le tout devrait fonctionner correctement
' entête de fonction Public Function RetourneNb(Numero as Integer, TypeVariable) ' ou Public Function RetourneNb(Numero as Integer, TypeVariable as Variant)
Jerôme
"Eric" a écrit dans le message de news:45b601c3ff6c$0b862f40$ Bonjour et bon début de semaine,
Je crée une petite application qui manipule plusieurs fichiers ouverts en mode à accès direct (Random). Pour ce faire j'ai défini des variables-utilisateur avec l'instruction Type...End Type Jusqu'à présent pour connaitre le nb d'enregistrements d'un fichier j'utilisais des instructions du genre : NbPersonne= Lof(1)/Len(Personne) NbObjet=lof(2)/len(Objet) ...
Je souhaiterai créer une fonction générique à laquelle je passerai en argument le n° de buffer et la variable- utilisateur.
Public Function RetourneNb(Numero as Integer, TypeVariable as ???) RetourneNb=Lof(Numero)/Len(TypeVariable) end Function
Est ce possible ?
Merci d'avance pour vos suggestions
Eric
Eric
Bonjour Jérôme
Merci pour ton aide.
Hélas, ça ne marche pas, j'ai une erreur de compilation qui me donne le msg suivant :
Seuls les types définis par l'utilisateur et qui sont définis dans les modèles d'objets publics peuvent être convertis depuis ou vers un variant, ou passés à des fonctions à liaisons tardives. (Un click sur le bouton Aide n'apporte pas plus d'infos.)
Merci encore Eric
-----Message d'origine----- Bonjour
si tu ne déclares pas le type de ta variable
TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner
correctement
' entête de fonction Public Function RetourneNb(Numero as Integer,
TypeVariable)
' ou Public Function RetourneNb(Numero as Integer,
TypeVariable as Variant)
Jerôme
Bonjour Jérôme
Merci pour ton aide.
Hélas, ça ne marche pas, j'ai une erreur de compilation
qui me donne le msg suivant :
Seuls les types définis par l'utilisateur et qui sont
définis dans les modèles d'objets publics peuvent être
convertis depuis ou vers un variant, ou passés à des
fonctions à liaisons tardives. (Un click sur le bouton
Aide n'apporte pas plus d'infos.)
Merci encore
Eric
-----Message d'origine-----
Bonjour
si tu ne déclares pas le type de ta variable
TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner
correctement
' entête de fonction
Public Function RetourneNb(Numero as Integer,
TypeVariable)
' ou
Public Function RetourneNb(Numero as Integer,
Hélas, ça ne marche pas, j'ai une erreur de compilation qui me donne le msg suivant :
Seuls les types définis par l'utilisateur et qui sont définis dans les modèles d'objets publics peuvent être convertis depuis ou vers un variant, ou passés à des fonctions à liaisons tardives. (Un click sur le bouton Aide n'apporte pas plus d'infos.)
Merci encore Eric
-----Message d'origine----- Bonjour
si tu ne déclares pas le type de ta variable
TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner
correctement
' entête de fonction Public Function RetourneNb(Numero as Integer,
TypeVariable)
' ou Public Function RetourneNb(Numero as Integer,
TypeVariable as Variant)
Jerôme
ng
Salut, Pour connaitre la place utilisée par une variable, regarde du coté de LenB().
-- 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/ "Eric" a écrit dans le message de news: 1d0101c3ff79$25d1fbb0$ Bonjour Jérôme
Merci pour ton aide.
Hélas, ça ne marche pas, j'ai une erreur de compilation qui me donne le msg suivant :
Seuls les types définis par l'utilisateur et qui sont définis dans les modèles d'objets publics peuvent être convertis depuis ou vers un variant, ou passés à des fonctions à liaisons tardives. (Un click sur le bouton Aide n'apporte pas plus d'infos.)
Merci encore Eric
-----Message d'origine----- Bonjour
si tu ne déclares pas le type de ta variable
TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner
correctement
' entête de fonction Public Function RetourneNb(Numero as Integer,
TypeVariable)
' ou Public Function RetourneNb(Numero as Integer,
TypeVariable as Variant)
Jerôme
Salut,
Pour connaitre la place utilisée par une variable, regarde du coté de
LenB().
--
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/
"Eric" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 1d0101c3ff79$25d1fbb0$a601280a@phx.gbl...
Bonjour Jérôme
Merci pour ton aide.
Hélas, ça ne marche pas, j'ai une erreur de compilation
qui me donne le msg suivant :
Seuls les types définis par l'utilisateur et qui sont
définis dans les modèles d'objets publics peuvent être
convertis depuis ou vers un variant, ou passés à des
fonctions à liaisons tardives. (Un click sur le bouton
Aide n'apporte pas plus d'infos.)
Merci encore
Eric
-----Message d'origine-----
Bonjour
si tu ne déclares pas le type de ta variable
TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner
correctement
' entête de fonction
Public Function RetourneNb(Numero as Integer,
TypeVariable)
' ou
Public Function RetourneNb(Numero as Integer,
Salut, Pour connaitre la place utilisée par une variable, regarde du coté de LenB().
-- 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/ "Eric" a écrit dans le message de news: 1d0101c3ff79$25d1fbb0$ Bonjour Jérôme
Merci pour ton aide.
Hélas, ça ne marche pas, j'ai une erreur de compilation qui me donne le msg suivant :
Seuls les types définis par l'utilisateur et qui sont définis dans les modèles d'objets publics peuvent être convertis depuis ou vers un variant, ou passés à des fonctions à liaisons tardives. (Un click sur le bouton Aide n'apporte pas plus d'infos.)
Merci encore Eric
-----Message d'origine----- Bonjour
si tu ne déclares pas le type de ta variable
TypeVariable, elle devrait être
considérée en Variant et le tout devrait fonctionner
correctement
' entête de fonction Public Function RetourneNb(Numero as Integer,
TypeVariable)
' ou Public Function RetourneNb(Numero as Integer,
TypeVariable as Variant)
Jerôme
Eric Blin
Bonjour,
et pourquoi pas tout simplement
Public Function RetourneNb(Byval Numero as Integer, Byval LongueurUnit as long) as long RetourneNb=Lof(Numero)/LongueurUnit end Function
Et en Appel cela donne
NbPersonne = RetourneNb(1, Len(Personne))
Voili voilou
@+
Eric
Bonjour,
et pourquoi pas tout simplement
Public Function RetourneNb(Byval Numero as Integer, Byval LongueurUnit as
long) as long
RetourneNb=Lof(Numero)/LongueurUnit
end Function
Public Function RetourneNb(Byval Numero as Integer, Byval LongueurUnit as long) as long RetourneNb=Lof(Numero)/LongueurUnit end Function
Et en Appel cela donne
NbPersonne = RetourneNb(1, Len(Personne))
Voili voilou
@+
Eric
Eric
Bonjour,
Effectivement pourquoi faire compliqué quand il y a plus simple !!!
Je n'ai pas pensé une seconde à passer en argument la longueur de ma variable-utilisateur au lieu de la variable elle-même. Suis parti sur l'idée de faire qq chose de général et donc je comptais faire calculer la longueur de la variable dans la fonction.
Ta solution marche parfaitement. Merci beaucoup
Eric
-----Message d'origine----- Bonjour,
et pourquoi pas tout simplement
Public Function RetourneNb(Byval Numero as Integer, Byval
LongueurUnit as
long) as long RetourneNb=Lof(Numero)/LongueurUnit end Function
Et en Appel cela donne
NbPersonne = RetourneNb(1, Len(Personne))
Voili voilou
@+
Eric
.
Bonjour,
Effectivement pourquoi faire compliqué quand il y a plus
simple !!!
Je n'ai pas pensé une seconde à passer en argument la
longueur de ma variable-utilisateur au lieu de la variable
elle-même. Suis parti sur l'idée de faire qq chose de
général et donc je comptais faire calculer la longueur de
la variable dans la fonction.
Ta solution marche parfaitement.
Merci beaucoup
Eric
-----Message d'origine-----
Bonjour,
et pourquoi pas tout simplement
Public Function RetourneNb(Byval Numero as Integer, Byval
LongueurUnit as
long) as long
RetourneNb=Lof(Numero)/LongueurUnit
end Function
Effectivement pourquoi faire compliqué quand il y a plus simple !!!
Je n'ai pas pensé une seconde à passer en argument la longueur de ma variable-utilisateur au lieu de la variable elle-même. Suis parti sur l'idée de faire qq chose de général et donc je comptais faire calculer la longueur de la variable dans la fonction.
Ta solution marche parfaitement. Merci beaucoup
Eric
-----Message d'origine----- Bonjour,
et pourquoi pas tout simplement
Public Function RetourneNb(Byval Numero as Integer, Byval
LongueurUnit as
long) as long RetourneNb=Lof(Numero)/LongueurUnit end Function
Et en Appel cela donne
NbPersonne = RetourneNb(1, Len(Personne))
Voili voilou
@+
Eric
.
Eric
Merci à tous pour votre aide et à très prochainement.
Eric
Merci à tous pour votre aide et à très prochainement.
Merci à tous pour votre aide et à très prochainement.
Eric
Eric Blin
Bonjour,
Le problème dans ce que tu voulais faire était d'introduire une notion de variant ... déja je ne trouve pas cela élégant et de plus pour les traiter ce n'est pas toujours simple même si au premier abord les "variant" semble être des fourre tout...
Bon sympa de répondre que cela ta permis d'avancer ... c'est tellement rare de nos jours
@+
Eric
Bonjour,
Le problème dans ce que tu voulais faire était d'introduire une notion de
variant ... déja je ne trouve pas cela élégant et de plus pour les traiter
ce n'est pas toujours simple même si au premier abord les "variant" semble
être des fourre tout...
Bon sympa de répondre que cela ta permis d'avancer ... c'est tellement rare
de nos jours
Le problème dans ce que tu voulais faire était d'introduire une notion de variant ... déja je ne trouve pas cela élégant et de plus pour les traiter ce n'est pas toujours simple même si au premier abord les "variant" semble être des fourre tout...
Bon sympa de répondre que cela ta permis d'avancer ... c'est tellement rare de nos jours