vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
CallByName Beispiel, mundgerecht. 
Autor: Guido Eisenbeis
Datum: 02.03.06 18:28


Hallo Rotzer.

Zitat:
____________________________________________________________

> Poste mal ein konkretes Beispiel ! (Bitte nur ein Beispiel und bitte konkret !)
____________________________________________________________

Übersetzung:

"Ein Beispiel" bedeutet: nur ein ! Objekt mit einer ! Eigenschaft und einem ! Wert.
"konkret" bedeutet: Objekt-Name, Objekt-Type, Name der Eigenschaft, Wert für diese Eigenschaft usw. ! Z. B. Label1.ForeColor = vbRed

Ich weiß, es ist nicht einfach, das auszudrücken was man denkt. *verständnisvoll-kuck*
Auch sind solche Aufforderungen von mir dazu da, zu prüfen ob derjenige, der Hilfe braucht, auch Hilfe will !
Auf gut deutsch: ob er ernsthaft Hilfe sucht, um weiter programmieren zu können, oder ob er andere seine Arbeit machen lassen will !

Bei dir hab ich den Eindruck, dass es dir ernst ist !
Deshalb hier ein allgemeiner Tipp: Es hilft anderen (und dir offensichtlich auch), wenn du dein Posting und insbesondere den Code formatierst. Das kannst du zum einen mit dem dafür vorgesehenen Button; aber viel wichtiger ist, dass du deinen Code einrückst und Zeilenabstände benutzt.

Wie das geht guckst du hier:
Option Explicit
 
 
' ===================================================================
'
'  -----------------------------------------------
'  Control + Eigenschaft per Text ansprechen (GES)
'  -----------------------------------------------
'
' Die Zuweisung geschieht hier ausschließlich per Text !
' Das Control wird über die Controls-Collection angesprochen,
' die Eigenschaften werden mit Hilfe von CallByName gesetzt.
'
' Autor:
' Guido Eisenbeis Software (GES), guidoeisenbeis@web.de, 2006-02-28
' ===================================================================
 
 
' ----------------------------------------------------------------- v
'
' Werte für Eigenschaften von Controls zuweisen
Private Sub Command2_Click()
   On Error Resume Next
   Call CallByName(Form1.Controls(txtCtrlName.Text), _
                   txtProperty.Text, VbLet, txtValue.Text)
   On Error GoTo 0
End Sub
'
' ----------------------------------------------------------------- ^
 
 
 
' Nur für Forum-Posting (Demo), der eigentliche Code steht oben.
Private Sub Form_Load()
 
   ' Controls für Demo:
   '
   ' Label1 ... 5, Check1, Command1, Command2, Shape1
   ' 3x TextBoxes: "txtCtrlName", "txtProperty" und "txtValue"
 
   ' Contols positionieren  für Posting in Forum
   Form1.Move Me.Left, Me.Top, 6375, 5280
   Label1.Move 1080, 3120, 975, 255
   Label2.Move 720, 1680, 1455, 255
   Label3.Move 2400, 1680, 1455, 255
   Label4.Move 4080, 1680, 1455, 255
   Label5.Move 720, 240, 4815, 1255
   txtCtrlName.Move 720, 2040, 1455, 285
   txtProperty.Move 2400, 2040, 1455, 285
   txtValue.Move 4080, 2040, 1455, 285
   Check1.Move 2520, 3120, 1095, 255
   Command1.Move 4080, 3000, 1215, 495
   Command2.Move 2400, 4080, 1455, 495
   Shape1.Move 720, 2760, 4815, 975
 
   ' Beschreibungstext zuweisen
   Label5.Caption = "Für die 3 Controls im unteren Teil der Form können " & _
                    "per Text verschiedene Eigenschaften gesetzt werden." & _
                    vbNewLine & vbNewLine & "Zum Beispiel:" & vbNewLine & _
                    "ForeColor, BackColor, Left, Top, Width, Height, " & _
                    "Enabled, Value usw."
 
   Form1.Caption = "Control + Eigenschaft per Text ansprechen (GES)"
   txtCtrlName.Text = "Label1"
   txtProperty.Text = "ForeColor"
   txtValue.Text = "255"
   Label2.Caption = "ControlName"
   Label3.Caption = "Eigenschaft"
   Label4.Caption = "Wert"
   Command2.Caption = "Eigenschaft setzen"
End Sub
Den obigen Code kopierst du in einem neuen Projekt in Form1, setzt die beschriebenen Controls drauf (egal wohin) und gibst lediglich den 3 Textboxes die richtigen Namen. Wo du die Controls hinsetzt, ist egal. Du brauchst sie nicht anzuordnen, das macht der Code.

Guido.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
objekt aus textdatei laden1.058rotzer28.02.06 18:29
Re: objekt aus textdatei laden774Guido Eisenbeis01.03.06 01:50
Re: objekt aus textdatei laden798rotzer01.03.06 10:46
Re: objekt aus textdatei laden721Radeonmaster02.03.06 15:13
Re: objekt aus textdatei laden735rotzer02.03.06 16:49
Re: objekt aus textdatei laden749RapID23o501.03.06 11:33
Re: objekt aus textdatei laden764rotzer01.03.06 11:49
Re: objekt aus textdatei laden723Guido Eisenbeis01.03.06 22:51
Re: objekt aus textdatei laden769rotzer02.03.06 09:16
Re: objekt aus textdatei laden741rotzer02.03.06 17:22
CallByName Beispiel, mundgerecht.838Guido Eisenbeis02.03.06 18:28
Re: CallByName Beispiel, mundgerecht.802rotzer02.03.06 23:28
Re: CallByName Beispiel, mundgerecht.735Guido Eisenbeis03.03.06 21:49
Re: CallByName Beispiel, mundgerecht.758rotzer03.03.06 22:17
Re: CallByName Beispiel, mundgerecht.789Guido Eisenbeis04.03.06 01:10
Re: CallByName Beispiel, mundgerecht.724rotzer05.03.06 14:14
Re: CallByName Beispiel, mundgerecht.811Guido Eisenbeis05.03.06 16:51
Re: CallByName Beispiel, mundgerecht.831rotzer06.03.06 08:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel