Standardwert immer wieder schreiben oder mit IF THEN abfangen?

09/09/2007 - 19:42 von Andy Dorwald | Report spam
Hallo NG,

kurze Frage. Ich habe ein TreeView, dessen Node-BackColor ich entsprechend
eines DB-Vorgabewertes setze.

Ich hole also die Daten wie folgt...

Do Until .EOF
MyNode.BackColor = !Farbe
...sonstiger Code...
Loop

...zu 95% ist die Farbe jedoch weiß - die StandardBackcolorfarbe der Nodes
ist jedoch aus weiß. Nun frage ich mich, ob dann nicht das folgende
schneller/effizienter ist...

Do Until .EOF
if !Farbe <> vbWhite Then MyNode.BackColor = !Farbe
...sonstiger Code...
Loop

...auch könnte ich, wenn ich eh schon mit einem IF-Konstrukt arbeite, beim
vorherigen schreiben der Farbwerte in die Datenbank im Falle der
Defaultfarbe das Datenbankfeld mit NULL befüllen und dann eine solche Weg
einschlagen:

Do Until .EOF
if Not IsNull(!Farbe) Then MyNode.BackColor = !Farbe
...sonstiger Code...
Loop


...Ich habe versucht, das ganze irgendwie zu stoppen (zeitmàßig), bekomme es
aber nicht hin bzw. Ergebnisse sind dauernd unterschiedlich (wohl auch wg.
DB-Cache). Daher die Frage an Euch, welche Variante würdet Ihr nehmen? 1, 2
oder 3 ???

P.S. Das gleiche habe ich noch einmal mit der Property für das Image.
Oftmals keines (Nothing) und manchmal ein Icon. Auch hier frage ich mich,
stàndig die Tree mit Propertywert zutexten (immerhin entsteht dann ja jedes
Mal ein Event in der Tree-Komponente) oder per IF...THEN beim Daten lesen
abfagen?

Danke
Andy
 

Lesen sie die antworten

#1 Andy Dorwald
10/09/2007 - 18:26 | Warnen spam
Niemand eine Idee, was davon performanter bzw. ein sauberer Codestil ist?

Hallo NG,

kurze Frage. Ich habe ein TreeView, dessen Node-BackColor ich entsprechend
eines DB-Vorgabewertes setze.

Ich hole also die Daten wie folgt...

Do Until .EOF
MyNode.BackColor = !Farbe
...sonstiger Code...
Loop

...zu 95% ist die Farbe jedoch weiß - die StandardBackcolorfarbe der Nodes
ist jedoch aus weiß. Nun frage ich mich, ob dann nicht das folgende
schneller/effizienter ist...

Do Until .EOF
if !Farbe <> vbWhite Then MyNode.BackColor = !Farbe
...sonstiger Code...
Loop

...auch könnte ich, wenn ich eh schon mit einem IF-Konstrukt arbeite, beim
vorherigen schreiben der Farbwerte in die Datenbank im Falle der
Defaultfarbe das Datenbankfeld mit NULL befüllen und dann eine solche Weg
einschlagen:

Do Until .EOF
if Not IsNull(!Farbe) Then MyNode.BackColor = !Farbe
...sonstiger Code...
Loop


...Ich habe versucht, das ganze irgendwie zu stoppen (zeitmàßig), bekomme
es aber nicht hin bzw. Ergebnisse sind dauernd unterschiedlich (wohl auch
wg. DB-Cache). Daher die Frage an Euch, welche Variante würdet Ihr nehmen?
1, 2 oder 3 ???

P.S. Das gleiche habe ich noch einmal mit der Property für das Image.
Oftmals keines (Nothing) und manchmal ein Icon. Auch hier frage ich mich,
stàndig die Tree mit Propertywert zutexten (immerhin entsteht dann ja
jedes Mal ein Event in der Tree-Komponente) oder per IF...THEN beim Daten
lesen abfagen?

Danke
Andy

Ähnliche fragen