Accueil > Forum > > > > CallByName en VB.NET ?
CallByName en VB.NET ?
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ée dans : net, vb, instruction, callbyname
Répondre à ce message
Sujets en rapport avec ce message
VB.net sql server [ par taikibaybay ]
j ai créé une procedure stocker avec parameter sur sql server; et le dataset pour cette procedure mais je ne sais pas comment lier le formulaire a ce
[Microsoft VB.NET] Utilisation port série [ par darkj57 ]
Voila mon problème est tel que j'ai créé un petit programme ( chronomètre) ainsi qu'un boîtier de commande connecté à mon ordinateur par le port de sé
Tester le type d'une objet [ par adrienbayer ]
Bonjour,Je réalise une application sur la base de la programmation orientée objet en vb.net.Etant plus spécialisé dans le Delphi mais ayant la contrai
vb.net filtre sur dataset [ par taikibaybay ]
bonsoir,je charge un dataset avec une table sqlserver, je veux filtrer les informations afficher dans mon datagridview, sur un champ ex: idclient,n af
vb.net [ par GADSN ]
slt voila je travaille avec vb 2005 expresse (debutant :) )je travaille sur un programme qui tente faire une communication avec une pointeuse : tous
window form vb.net [ par nouriiset ]
dans une window form, avec vb.net les icones des boutons ne s'afficheront pas a la compilation
vb.net Dépassement de capacité [ par jmtoulon ]
Bonjour, alors j'ai un probleme de dépassement de capacité quand j'initialise la variable :Dim c As<font color="#000
Création de chat en VB .NET Compact Framework [ par bny ]
Le titre le dit....y-a-t'il quelqu'un qui pourrait me donner une direction (lien ou code écrit) pour m'aider à faire un chat client/serveur entre Pock
Problèmes Appel de formulaire entre vb6 et vb.net [ par billy21121 ]
Bonjour a tous,voila je suis entrain de migrer une application de vb6 vers vb.net 2005. j'ai travaillé ce dernier mois sur un formulaire qui contient
VB.Net NewFolderButton [ par pseudoOM ]
Bonjour à tous.Dans une "Folder Browser Dialog", comment faire pour que le bouton "Nouveau dossier" disparaisse ?J'ai déjà coché false dans la proprié
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|