Problem mit Programmzeile in VB 2010

#2273995
Lesenswert?

Christoph schrieb:
> Hallo,
>
> ich hab ein Problem mit einer Programmzeile in VB 2010, ich will mit
> einer Schleife mehrere Variablen beschreiben, was ist an dieser
> Programmzeile falsch?
>
> For i = 0 To 15
> DirectCast(Controls("DI" & CStr(i)),Label) = True
> Next
>
> Was mache ich da Falsch?

Controls = Form.Controls? Dann liefert DirectCast zwar ein als Label 
gecastetes Control, das ist aber kein bool... Was soll denn an dem Label 
geändert werden? Text, Enabled, Visible, etc?
#2274101
Lesenswert?

>von der Boolean
>Variable

von welcher?
wo soll die sein?
was soll die machen?

du hast einfach keine...


du hast ein CONTROL (welches du anhand seines Namen ermittelst) (dann 
cast auf ein Label)

so schauts zumindest aus (ich hab keine ahnung von VB)

ich glaub dass dein Problem wo anders ist
du brauchst in Wirklichkeit vermutlich nur ein "array of Boolean"
#2274112
Lesenswert?

Christoph schrieb:
> mit .Visible = True geht nicht, ich will ja den Wert von der Boolean
> Variable ändern...

Dann Reflection
1
dim fi as FieldInfo
2
fi = GetType().GetField("VariableName", BindingFlags.NonPublic or BindingFlags.Instance);
3
fi.SetValue(Me, True);

http://msdn.microsoft.com/de-de/library/53seyfee.aspx
http://msdn.microsoft.com/de-de/library/system.reflection.fieldinfo.aspx
Gast #2274155
Lesenswert?

Mit einer Array kann ich das nicht machen.

Ich habe eine Prozess der läuft 16 mal durch (i von 1 bis 16...)

bei jedem Durchlauf soll die dazugehörige Boolean Variable True oder 
False werden

deshalb hab ich die Variable auch von DI1 bis DI16 benannt.

Im Programmablauf hab ich die Variable i die auch von 1 bis 16 zählt 
diese muss nur als Variable in den Variablenname eingesetzt werden.


wie mach ich das?
Gast #2274193
Lesenswert?

Sagen wir so es würde mit einem Array auch gehn nur würde ich es lieber 
mit einzelnen Variablen machen.

Würde mein Problem mit einem Array einfacher zu lösen sein?

Wenn ja sag mir bitte wie ich das mache, dann verwende ich ein Array, 
ist zwar etwas Arbeit den rest umzustellen aber wenn es anders nicht 
geht...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren