Variabler

Tags:    visual-basic

Jeg har en label der hedder lblGood...

Jeg har en knap der sætter variablen hello til lblGood...

Jeg har en knap der skulle sætte label lblGood til It worked... men den virker ikke!

Fold kodeboks ind/udKode 


Hvordan kan jeg få dette til at virke???

PS. Dette er ikke til det formål jeg skal bruge koden til, så lad være med at skrive at jeg bare skal skrive lblGood.caption = "It worked"... Dette er bare et eksempel der skal gøre det let for jer at forstå hvori mit problem ligger.



42 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Måske det skal være frmLandkort.Controls ?:)

---
Hilsen Anders


Jeg kan egentlig godt lide du tænker så kreativt!
Men det virkede ikke...

Den præcise fejlmeddelse er:
Fold kodeboks ind/udKode 




Jeg har via en masse eksempler fundet ud af at:

Fold kodeboks ind/udKode 


Det var defor der kom fejl da vi skrev:

Fold kodeboks ind/udKode 


fordi at label skal have en string!

Så for at der ikke skal komme fejl i det skal der stå:

Fold kodeboks ind/udKode 


Men så kommer der fejl i linien:

Fold kodeboks ind/udKode 


Fordi at lbl jo enten var true eller false og man kan ikke sætte dets forecolor!!!

---------

Så der har du problemmet sort på hvidt... Har du nogen kreative ideer med de nye informationer?


[Redigeret d. 28/03-03 21:12:57 af HAP]



Never mind - jeg kogede :D

Mvh,

Thomas Nielsen[Redigeret d. 28/03-03 21:20:32 af Thomas (Darkstar)]



Ja nu bliver det svært, men hvis du har den object, må der være en måde du kan få fat i den på.

Måske noget som:

<pre>Controls(lbl).ForeColor</pre>

Rent gæt :)

Men hvis du har det som object burde du vel bare kunne lave lbl.ForeColor ?

---
Hilsen Anders




Fold kodeboks ind/udKode 

Er lidt nysgerrig. Hvad skal det bruges til???


Det er et flot svar du har givet mig, men den kan ikke rigtig bruges...
Hvis lbl kan have 29 forskellige values alt efter hvilken label den skal redigeres så er det ikke så smart at skrive
Fold kodeboks ind/udKode 


29 gange!!!

Og da jeg 29 gange skal bruge denne kommando skal jeg så sætte den lange kode ind 29 * 29 gange??? For jeg kan ikke lave en function og så henvise til den 29 gange (desværre ikke) fordi man skal bruge den knaps navn man har trykket på og jeg gider ikke at lave en lang liste mere så hvis der var en der kunne finde en måde hvor mange ikke skal spørge med If sætninger hele tiden...


Hvis man skal skrive mange if´er kan man som regel med fordel bruge en anden type nemlig case
den behøver kun utrykket en gang:

<pre>
Select Case lbl.Name

Case "lblgood"
lbl.Caption = "It worked"
Exit For
Case Else
lbl.Name = "lblBad"
lbl.Caption = "It didn't worked"
Exit For
End Select
</pre>


mvh.
Thomas Christensen




Dette virker helt sikkert, er testet med MS Words Visual Basic del. Så at declarer den som et object betyder ikke at det bliver true/false.

Fold kodeboks ind/udKode 


Håber du kan bruge det:)

---
Hilsen Anders



Dette virker helt sikkert, er testet med MS Words Visual Basic del. Så at declarer den som et object betyder ikke at det bliver true/false.

Fold kodeboks ind/udKode 




Jeg indsætte en knap og kalder den CommandButton1 (name)
Så indsætter jeg en label
Så indsætter jeg din kode
---
Resultat:
Fold kodeboks ind/udKode 


PS. Jeg bruger VB 6.0



Dette virker helt sikkert, er testet med MS Words Visual Basic del. Så at declarer den som et object betyder ikke at det bliver true/false.

Fold kodeboks ind/udKode 




Jeg indsætte en knap og kalder den CommandButton1 (name)
Så indsætter jeg en label
Så indsætter jeg din kode
---
Resultat:
Fold kodeboks ind/udKode 


PS. Jeg bruger VB 6.0


Har du andet end den label og knap på?

Evt. hvad linje skriver den fejlen er på?

---
Hilsen Anders



Der er fejl i denne linie hvis jeg 'Dim lbl As Object':
If lbl.ForeColor = &HC00000 Then

der er fejl i denne linie hvis jeg 'Dim lbl As Label':
For Each lbl In Controls

Og nej jeg har ikke andet end knappen og labelen for jeg ville jo teste om det virkede

[Redigeret d. 02/04-03 07:57:48 af HAP]



Der er fejl i denne linie hvis jeg 'Dim lbl As Object':
If lbl.ForeColor = &HC00000 Then

der er fejl i denne linie hvis jeg 'Dim lbl As Label':
For Each lbl In Controls

Og nej jeg har ikke andet end knappen og labelen for jeg ville jo teste om det virkede

[Redigeret d. 02/04-03 07:57:48 af HAP]


Prøv at erstatte ForColor med Name, også skriv navnet på en af labels. Altså:

Fold kodeboks ind/udKode 


---
Hilsen Anders



t