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
Ved du godt at det du siger nu er fuldstændig det samme som svar nummer 2?
Prøv at læse svaret nede under...



Vigtigt fund i sagen!

Jeg kan godt skrive:
Fold kodeboks ind/udKode 


Men det virker kun hvis der ikke er andre objecter end labels!

Bare jeg tilføjer en knap eller en textbox kommer der en fejl!

PS. koden virker kun hvis man dimmer lbl som object eller label, men igen af dem virker når man bruger andre objecter end labels!



Ved du godt at det du siger nu er fuldstændig det samme som svar nummer 2?
Prøv at læse svaret nede under...


Jamen, kan den kører det ?

---
Hilsen Anders



Yepper!
men man kan også bare skrive:
Fold kodeboks ind/udKode 


Problemmet er at det er som om den ignorere at der står 'For Each Label' fordi den gør handlingen fuldstændig som den skal, men den gør det med alle objecter der findes!



Yepper!
men man kan også bare skrive:
Fold kodeboks ind/udKode 


Problemmet er at det er som om den ignorere at der står 'For Each Label' fordi den gør handlingen fuldstændig som den skal, men den gør det med alle objecter der findes!


Derfor skal Label være as label
<pre>
Dim lbl As Label

Private Sub Form_Load()
For Each lbl In Controls
lbl.Caption = "HAP"
Next
End Sub
</pre>

I Am The Cyborg, and i'm here to serve :)



Prøv lige at læse hvad jeg skrev før du svare for hurtigt!

Problemmet er at det er som om den ignorere at der står 'For Each Label' fordi den gør handlingen fuldstændig som den skal, men den gør det med alle objecter der findes!


Den gør det med alle objecter også selvom man skriver dim lbl as label




Prøv lige at læse hvad jeg skrev før du svare for hurtigt!

Problemmet er at det er som om den ignorere at der står 'For Each Label' fordi den gør handlingen fuldstændig som den skal, men den gør det med alle objecter der findes!

Den gør det med alle objecter også selvom man skriver dim lbl as label


Hmm. det virker ellers fint med Win 2K og XP

I Am The Cyborg, and i'm here to serve :)



Normalt kan man lave et control-array i VB. det er lang tid siden jeg har gjort det, men det burde kunne hjaelpe:
Istedet for bare at indsaette 29 labels, indsaetter du et enkelt og copy/paster det. Normalt naar mna copy/paster en ctrl i VB spoerger programmet om du vil oprette et control-array. Ellers maa der ogsaa vaere en anden maade at saette det op paa.

derefter kan du kalde til control-array de 29 gange istedet..

for i = 1 to 29
Me.lbl(i).Caption = "HAP"
Next i






Det er rigtig man kan bruge control-array og det er ikke så lang tid siden jeg brugte det. Men de enkelte labels har meget forskellige opgaver. Man kunne sikkert godt gøre det og så de ting der ikke var tilfælles kunne man så lave hvad? 29 if-sætninger hver gang der er noget de ikke har tilfælles? nej, det hjælper ikke...

Ellers tak...



JEG HAR FUNDET SVARET!!!

Fold kodeboks ind/udKode 

Ved at bruge TypeOf tester man om objectet er en label!!!



t