|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : CallByName en VB.NET ? [ Divers / Aide & Documentation ] (us_30)
Informations & options pour cette discussion
vendredi 12 septembre 2008 à 00:02:23 |
CallByName en VB.NET ?

us_30
|
Bonsoir,
Dans un projet sous VB6/VBA, j'utilisais l'instruction "CallByName"... Je tente de transporter cette instruction sous VB2008, mais je ne connais pas son équivalent... Avez-vous une idée ?
Merci, pour toute l'aide que vous pourriez m'apporter...
Amicalement,
Us.
|
|
|
vendredi 12 septembre 2008 à 10:46:59 |
Re : CallByName en VB.NET ?

gillardg
|
Réponse acceptée !
Public Function CallByName( _ ByVal ObjectRef As System.Object, _ ByVal ProcName As String, _ ByVal UseCallType As CallType, _ ByVal Args() As Object _ ) As Object Requirements Namespace: Microsoft.VisualBasic Module: Interaction Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
|
|
|
vendredi 12 septembre 2008 à 12:32:21 |
Re : CallByName en VB.NET ?

us_30
|
Bonjour,
Merci de nouveau.
J'ai trouvé 2 façons de faire :
Microsoft.VisualBasic.CallByName()
Microsoft.VisualBasic.Interaction.CallByName()
qui fonctionne donc, même sans la référence Microsoft.visualBasic cochée.
Bien sur, le fait d'écrire : "Microsoft.VisualBasic." fait, en réalité une référence implicite à VB6... (en qlq sorte)
Par conséquent, ce n'est pas du VB.NET natif !
Hors, c'est ce que je recherche... Ici, c'est plus une astuce, qu'autre chose...
Je me sert de CallByName, car visiblement VB2008 ne possède pas de collection d'objet pour les Label, TextBox, etc... Comme sous VB6, où cela est très simple d'utilisation... avec : Label(0), Label(1), etc...
IL y a-t-il une solution pour indexer les Label, ou autres cntrôles ?
(Cette question pourrait faire l'objet d'un nouveau post, j'en suis conscient...)
Amicalement,
US.
|
|
|
vendredi 12 septembre 2008 à 13:06:47 |
Re : CallByName en VB.NET ?
|
vendredi 12 septembre 2008 à 16:46:21 |
Re : CallByName en VB.NET ?

us_30
|
Salut,
OKay, vu l'astuce que tu utilises :
Dim tb() As TextBox = {TextBox0, TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12}
For x = 0 To 12
tb(x).text = String.Empty
Next
=
JE viens de me pencher dessus, et comme c'est déjà un problème que j'avais rencontré dans VBA (il n'y a pas de collection, non plus) j'avais fait une petite propriété bien pratique, d'ailleurs en Snippets : http://www.codyx.org/snippet_donner-valeur-dans-ensemble-meme-type-controle_528.aspx
que j'ai adapté pour VB2008... Voici ce que cela donne :
Dans un module :
=
Public Property TypeControl(ByVal oObjet As Object, ByVal NameControl As String, ByVal NamePropriete As String)
' DONNE UNE VALEUR A UNE PROPRIETE A L'ENSEMBLE D'UN TYPE DE CONTROLE
Set(ByVal value)
Dim cTypeControl As Control
For Each cTypeControl In oObjet.Controls
If cTypeControl.GetType.Name = NameControl Then
Microsoft.VisualBasic.CallByName(cTypeControl, NamePropriete, Microsoft.VisualBasic.CallType.Let, value)
End If
Next
End Set
Get
Return Nothing
End Get
End Property
=
Puis, on appelle ainsi : (exemple)
TypeControl(GroupBox1, "Textbox", "text") = "dede"
=> ainsi tous les Textbox se trouvant dans Groupbox1 auront le texte "dede".
C'est toute même lourd, que de citer tous les noms des contrôles...
(J'y metterai peut-être une petite source exemple, le temps d'avoir des critiques, puis en snippets... Enfin, si tu vois mieux ? n'hésite pas...)
Amicalement,
Us.
|
|
|
vendredi 12 septembre 2008 à 16:48:07 |
Re : CallByName en VB.NET ?

us_30
|
Oupsss... Lire : "... C'est toute même moins lourd..."
Amicalement,
Us.
|
|
|
vendredi 12 septembre 2008 à 16:50:25 |
Re : CallByName en VB.NET ?

us_30
|
Pour continuer, la fonction CTYPE est presque un équivalent à CALLBYNAME... mais en moins pratique... CallByName reste vraiment plus puissante... Il me semble, que rien remplace vraiment CallByName en VB.NET...
Amicalement,
Us.
|
|
|
vendredi 12 septembre 2008 à 17:26:49 |
Re : CallByName en VB.NET ?

gillardg
|
ben attends vb10 ils ne pouvaient pas tout changer d'un coup sinon c'était impossible de faire un convertisseur vb6=>vb.net 
|
|
|
vendredi 12 septembre 2008 à 17:31:54 |
Re : CallByName en VB.NET ?

us_30
|
lol...
Amicalement,
Us.
|
|
|
samedi 13 septembre 2008 à 07:54:03 |
Re : CallByName en VB.NET ?

Kristof_Koder
|
Quitte à faire du .NET, faisons-en jusqu'au bout !
Il existe l'espace de nom System.Reflection dans le framework .NET
Avec les clases qu'il contient, il remplace plus qu'avantageusement ce bon vieux CallByName()
|
|
|
Cette discussion est classé dans : net, vb, instruction, callbyname
Répondre à ce message
Sujets en rapport avec ce message
Pour telecharger VB.NET c'est par ici... [ par Visual Basic.Net ]
http://msvaus.www.conxion.com/download/visualstudionet/trial/2.0/w982kmexp/en-us/setup.exec la beta 2 en us version evaluation ):
Rafraichir le webbrowser avec VB [ par Cecile ]
bonjour, je suis en train de creer une appli sous VB.net mais comme pas bp de monde programme sur VB.net j'aimerai au moins savoir comment on peut raf
VB.net gratuitement! (C pas une question, C une annonce!) [ par blackwizzard ]
comme je sais que ma news ne passera pas, la voila...Votre News a bien été ajoutée et apparaîtra après validation (on essaye de faire au plus vite :)
Compilation - VB.NET [ par Shadow ]
salut, comment faut compiler avec vb.net ???????
creer un datagrid avec VB.NET [ par Cecile ]
voila, j'y arrive sur VB6 mais impossible sur .net!!!j'essai de mettre toutes mes donnees d'une table ACCESS sur un datagrid VB.netj'ai cree une conne
ACCESS et DATAGRID sur VB.NET [ par Cecile ]
voila, j'y arrive sur VB6 mais impossible sur .net!!!j'essai de mettre toutes mes donnees d'une table ACCESS sur un datagrid VB.netj'ai cree une conne
VB sur le NET [ par nono78 ]
Comment faire pour mettre un programme VB sur internet ?
NOUVEAU SITE VB, .NET, Etc ... [ par hervé ]
Forum, codes sources, tutorial, etc ...www.he-product.fr.st
nouvelle plateforme .net [ par jfd ]
bonsoirvous êtes tous certainement au courant du virage que va prendre microsoft et donc vb ...j'aimerai donc savoir ce que pense les développeurs VBd
Kestion sur VB .net [ par Raptor ]
J'ai cru comprendre que les variables de type String dans VB .net ne pourraient pas être modifiés apres l'initialisation. Ca me parait louche. Est-ce
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|