vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Visual-Basic Einsteiger
Objektenamen als Variablen nutzen 
Autor: AlexS1985
Datum: 18.02.09 18:29

Hallo erstmal,

Ich programmiere schon ne Zeit lang mit VB6 und ich hätte diese Funktion schon etliche Male gebraucht (einige meiner Programme haben derzeit 10000+ Zeilen, wobei ich mit dieser Funktion die Zeilen um die hälfte reduzieren könnte). Beigebracht hab ich mir VB autodidakt, deshalb fehlen mir auch grundlegend ein paar Feinheiten, ich hoffe dies gehört auch dazu. Ich schildere mal mein Problem:

Ich habe auf einer Form z.B. 10 Textboxen in welche Werte eingegeben werden. Jene werden mit dann mit einer Ober/- Untergrenze verglichen und je nach Entscheidung (Gut/Schlecht) die Textbox rot oder grün gefärbt. Die Textboxen haben die Namen: Wert1, Wert2, Wert3, Wert4 etc. (die Obergrenzen-Textbox hat den Namen Obergrenze und die andere Untergrenze)

Nun meine derzeitige Programmierweise:

Public DblWert As Double
Public DblObergrenze As Double
Public DblUntergrenze As Double

DblObergrenze= Cdbl(Obergrenze.Text)
DblUntergrenze= Cdbl(Untergrenze.Text)
If Wert1.Text <> "" Then
On Error Goto Fehler
DblWert = Cdbl(Wert1.Text)
If DblWert <= DblObergrenze And DblWert >= DblUntergrenze Then
Wert1.BackColor = Grün
Else
Wert1.BackColor = Rot
End If
End If
If Wert2.Text <> "" Then
On Error Goto Fehler
DblWert = Cdbl(Wert2.Text)
If DblWert <= DblObergrenze And DblWert >= DblUntergrenze Then
Wert2.BackColor = Grün
Else
Wert2.BackColor = Rot
End If
End If
If Wert3.Text <> "" Then
On Error Goto Fehler
DblWert = Cdbl(Wert3.Text)
If DblWert <= DblObergrenze And DblWert >= DblUntergrenze Then
Wert3.BackColor = Grün
Else
Wert3.BackColor = Rot
End If
End If

und so geht das weiter bis 10 .... glaubt mir, die Replace-Funktion kann ich mittlerweile blind bedienen. Natürlich ist das nur ein kleines Beispiel um es nicht allzu kompliziert zu machen, normalerweise hat eine einzelne Wertabfrage um die 50 zeilen und bei 5x20 Feldern sind das alleine schon 5000 Zeilen.

Nun meine Frage:

Ist es möglich anstatt der fortlaufenden Zahl (die Textboxen heißen ja alle im Prinzip "Wert" nur die Zahl ändert sich) als Variable zu deklarieren, man nehme z.b. "a", denn dann würde mein Code so aussehen:

Public DblWert As Double
Public DblObergrenze As Double
Public DblUntergrenze As Double

DblObergrenze= Cdbl(Obergrenze.Text)
DblUntergrenze= Cdbl(Untergrenze.Text)

For a = 1 to 10
If Werta.Text <> "" Then
On Error Goto Fehler
DblWert = Cdbl(Werta.Text)
If DblWert <= DblObergrenze And DblWert >= DblUntergrenze Then
Werta.BackColor = Grün
Else
Werta.BackColor = Rot
End If
End If
Next a

Wäre extrem fein, wenn mir das jemand erklären könnte ... aus 5000 Zeilen könnte ich so 260 machen

Danke, Alex
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Objektenamen als Variablen nutzen819AlexS198518.02.09 18:29
Re: Objektenamen als Variablen nutzen495wb-soft18.02.09 19:58
Re: Objektenamen als Variablen nutzen490AlexS198518.02.09 20:12
Re: Objektenamen als Variablen nutzen544wb-soft18.02.09 20:48
Re: Objektenamen als Variablen nutzen499AlexS198518.02.09 20:52
Re: Objektenamen als Variablen nutzen468Zardoz18.02.09 21:08
Re: Objektenamen als Variablen nutzen474AlexS198518.02.09 22:27

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