|
| Det må da kunne gøres mere smart Fra : Lars Kirkeby |
Dato : 26-10-01 00:41 |
|
Jeg skal styre farven på 60 text-objekter ud fra 4 forskellige status. Det
bliver jo til afsindig mange liniers kode.
Hvordan ialverden kan det laves smartere. Ligesom man i DOS bruger (%1), må
man da i VB kunne et eller andet lignende.
Her nedenfor ses den 'smarte' kode. Den virker - men for pokker da - den
bliver jo aaaaaalt for lang.
Hjælp ønskes
Red = "&H0000FF"
Yel = "&H00FFFF"
grn = "&H00FF00"
Blu = "&HFF0000"
Private Sub a1_Change()
Select Case a1.Text
Case "U"
a1.BackColor = Red
Case "B"
a1.BackColor = Yel
Case "O"
a1.BackColor = grn
Case Else
a1.BackColor = Blu
End Select
End Sub
Private Sub a2_Change()
Select Case Text
Case "U"
a2.BackColor = Red
Case "B"
a2.BackColor = Yel
Case "O"
a2.BackColor = grn
Case Else
a2.BackColor = Blu
End Select
End Sub
Private Sub a3_Change()
Select Case a3.Text
Case "U"
a3.BackColor = Red
Case "B"
a3.BackColor = Yel
Case "O"
a3.BackColor = grn
Case Else
a3.BackColor = Blu
End Select
End Sub
..
..
..
..
..
| |
@sbjørn (26-10-2001)
| Kommentar Fra : @sbjørn |
Dato : 26-10-01 06:49 |
|
const Red = "&H0000FF"
const Yel = "&H00FFFF"
const grn = "&H00FF00"
const Blu = "&HFF0000"
Private Sub a_Change(Index as Integer)
Select Case a(index).Text
Case "U"
a(index).BackColor = Red
Case "B"
a(index).BackColor = Yel
Case "O"
a(index).BackColor = grn
Case Else
a(index).BackColor = Blu
End Select
End Sub
"a1" skal du ændre til "a"
Tryk "Yes" til controlarray
"a2" skal du ændre til "a"
"a3" skal du ændre til "a"
"Lars Kirkeby" <lkirkeby@worldonline.dk> skrev i en meddelelse
news:3bd8a30a$0$9447$4d4eb98e@news.dk.uu.net...
> Jeg skal styre farven på 60 text-objekter ud fra 4 forskellige status. Det
> bliver jo til afsindig mange liniers kode.
> Hvordan ialverden kan det laves smartere. Ligesom man i DOS bruger (%1),
må
> man da i VB kunne et eller andet lignende.
>
> Her nedenfor ses den 'smarte' kode. Den virker - men for pokker da - den
> bliver jo aaaaaalt for lang.
>
> Hjælp ønskes
>
>
> Red = "&H0000FF"
> Yel = "&H00FFFF"
> grn = "&H00FF00"
> Blu = "&HFF0000"
>
> Private Sub a1_Change()
> Select Case a1.Text
> Case "U"
> a1.BackColor = Red
> Case "B"
> a1.BackColor = Yel
> Case "O"
> a1.BackColor = grn
> Case Else
> a1.BackColor = Blu
> End Select
> End Sub
>
> Private Sub a2_Change()
> Select Case Text
> Case "U"
> a2.BackColor = Red
> Case "B"
> a2.BackColor = Yel
> Case "O"
> a2.BackColor = grn
> Case Else
> a2.BackColor = Blu
> End Select
> End Sub
>
> Private Sub a3_Change()
> Select Case a3.Text
> Case "U"
> a3.BackColor = Red
> Case "B"
> a3.BackColor = Yel
> Case "O"
> a3.BackColor = grn
> Case Else
> a3.BackColor = Blu
> End Select
> End Sub
>
>
> .
> .
> .
> .
> .
>
>
>
| |
Lars Kirkeby (26-10-2001)
| Kommentar Fra : Lars Kirkeby |
Dato : 26-10-01 08:39 |
|
Hej @sbjørn
Tak for dit hurtige svar. Jeg har endnu ikke afprøvet det om det virker 'for
mig', men umiddelbar har jeg følgende tillægsspørgsmål.
Hvis min matrix af text-bokse ser således ud....
a1 a2 a3 a4 a5 a6 a7 a8
b1 b2 b3 b4 b5 b6 b7 b8
c1 c2 c3 c4 c5 c6 c7 c8
..
..
..
..
Din løsning klarer det horisontale problem ( X ), men har du også en god ide
til at styre det vertikale ( Y ).
Kan man rename sit handle (a) og så have en anden 'sub' til at 'klare
opgaven. Herefter rename tilbage til det oprindelige navn.
***
Private Sub a_Change(Index as Integer)
Rename a(index) to slave(index)
Call motor(index)
Rename slave(index) to a(index)
End Sub
***
Private Sub b_Change(Index as Integer)
Rename b(index) to slave(index)
Call motor(motor)
Rename slave(index) to b(index)
End Sub
***
Private Sub motor(Index as Integer)
Select Case motor(index).Text
Case "U"
motor(index).BackColor = Red
Case "B"
motor(index).BackColor = Yel
Case "O"
motor(index).BackColor = grn
Case Else
motor(index).BackColor = Blu
End Select
End Sub
Hej fra lars
"@sbjørn" <asbjorn@caduceus.dk> skrev i en meddelelse
news:GO6C7.131$Hb2.52714@news010.worldonline.dk...
> const Red = "&H0000FF"
> const Yel = "&H00FFFF"
> const grn = "&H00FF00"
> const Blu = "&HFF0000"
>
> Private Sub a_Change(Index as Integer)
> Select Case a(index).Text
> Case "U"
> a(index).BackColor = Red
> Case "B"
> a(index).BackColor = Yel
> Case "O"
> a(index).BackColor = grn
> Case Else
> a(index).BackColor = Blu
> End Select
> End Sub
>
> "a1" skal du ændre til "a"
> Tryk "Yes" til controlarray
> "a2" skal du ændre til "a"
> "a3" skal du ændre til "a"
>
> "Lars Kirkeby" <lkirkeby@worldonline.dk> skrev i en meddelelse
> news:3bd8a30a$0$9447$4d4eb98e@news.dk.uu.net...
> > Jeg skal styre farven på 60 text-objekter ud fra 4 forskellige status.
Det
> > bliver jo til afsindig mange liniers kode.
> > Hvordan ialverden kan det laves smartere. Ligesom man i DOS bruger (%1),
> må
> > man da i VB kunne et eller andet lignende.
> >
> > Her nedenfor ses den 'smarte' kode. Den virker - men for pokker da - den
> > bliver jo aaaaaalt for lang.
> >
> > Hjælp ønskes
> >
> >
> > Red = "&H0000FF"
> > Yel = "&H00FFFF"
> > grn = "&H00FF00"
> > Blu = "&HFF0000"
> >
> > Private Sub a1_Change()
> > Select Case a1.Text
> > Case "U"
> > a1.BackColor = Red
> > Case "B"
> > a1.BackColor = Yel
> > Case "O"
> > a1.BackColor = grn
> > Case Else
> > a1.BackColor = Blu
> > End Select
> > End Sub
> >
> > Private Sub a2_Change()
> > Select Case Text
> > Case "U"
> > a2.BackColor = Red
> > Case "B"
> > a2.BackColor = Yel
> > Case "O"
> > a2.BackColor = grn
> > Case Else
> > a2.BackColor = Blu
> > End Select
> > End Sub
> >
> > Private Sub a3_Change()
> > Select Case a3.Text
> > Case "U"
> > a3.BackColor = Red
> > Case "B"
> > a3.BackColor = Yel
> > Case "O"
> > a3.BackColor = grn
> > Case Else
> > a3.BackColor = Blu
> > End Select
> > End Sub
> >
> >
> > .
> > .
> > .
> > .
> > .
> >
> >
> >
>
>
| |
Harald Staff (26-10-2001)
| Kommentar Fra : Harald Staff |
Dato : 26-10-01 09:09 |
|
Jeg ville overveiet en Grid istedetfor 100 textboxer.
Beste hilsen Harald
Lars Kirkeby <lkirkeby@worldonline.dk> skrev i
news:3bd91335$0$9444$4d4eb98e@news.dk.uu.net...
> Hej @sbjørn
>
> Tak for dit hurtige svar. Jeg har endnu ikke afprøvet det om det virker
'for
> mig', men umiddelbar har jeg følgende tillægsspørgsmål.
>
> Hvis min matrix af text-bokse ser således ud....
>
> a1 a2 a3 a4 a5 a6 a7 a8
> b1 b2 b3 b4 b5 b6 b7 b8
> c1 c2 c3 c4 c5 c6 c7 c8
> .
> .
> .
> .
>
>
> Din løsning klarer det horisontale problem ( X ), men har du også en god
ide
> til at styre det vertikale ( Y ).
>
> Kan man rename sit handle (a) og så have en anden 'sub' til at 'klare
> opgaven. Herefter rename tilbage til det oprindelige navn.
>
> ***
> Private Sub a_Change(Index as Integer)
> Rename a(index) to slave(index)
> Call motor(index)
> Rename slave(index) to a(index)
> End Sub
>
> ***
> Private Sub b_Change(Index as Integer)
> Rename b(index) to slave(index)
> Call motor(motor)
> Rename slave(index) to b(index)
> End Sub
> ***
> Private Sub motor(Index as Integer)
> Select Case motor(index).Text
> Case "U"
> motor(index).BackColor = Red
> Case "B"
> motor(index).BackColor = Yel
> Case "O"
> motor(index).BackColor = grn
> Case Else
> motor(index).BackColor = Blu
> End Select
> End Sub
>
>
> Hej fra lars
>
>
>
>
> "@sbjørn" <asbjorn@caduceus.dk> skrev i en meddelelse
> news:GO6C7.131$Hb2.52714@news010.worldonline.dk...
> > const Red = "&H0000FF"
> > const Yel = "&H00FFFF"
> > const grn = "&H00FF00"
> > const Blu = "&HFF0000"
> >
> > Private Sub a_Change(Index as Integer)
> > Select Case a(index).Text
> > Case "U"
> > a(index).BackColor = Red
> > Case "B"
> > a(index).BackColor = Yel
> > Case "O"
> > a(index).BackColor = grn
> > Case Else
> > a(index).BackColor = Blu
> > End Select
> > End Sub
> >
> > "a1" skal du ændre til "a"
> > Tryk "Yes" til controlarray
> > "a2" skal du ændre til "a"
> > "a3" skal du ændre til "a"
> >
> > "Lars Kirkeby" <lkirkeby@worldonline.dk> skrev i en meddelelse
> > news:3bd8a30a$0$9447$4d4eb98e@news.dk.uu.net...
> > > Jeg skal styre farven på 60 text-objekter ud fra 4 forskellige status.
> Det
> > > bliver jo til afsindig mange liniers kode.
> > > Hvordan ialverden kan det laves smartere. Ligesom man i DOS bruger
(%1),
> > må
> > > man da i VB kunne et eller andet lignende.
> > >
> > > Her nedenfor ses den 'smarte' kode. Den virker - men for pokker da -
den
> > > bliver jo aaaaaalt for lang.
> > >
> > > Hjælp ønskes
> > >
> > >
> > > Red = "&H0000FF"
> > > Yel = "&H00FFFF"
> > > grn = "&H00FF00"
> > > Blu = "&HFF0000"
> > >
> > > Private Sub a1_Change()
> > > Select Case a1.Text
> > > Case "U"
> > > a1.BackColor = Red
> > > Case "B"
> > > a1.BackColor = Yel
> > > Case "O"
> > > a1.BackColor = grn
> > > Case Else
> > > a1.BackColor = Blu
> > > End Select
> > > End Sub
> > >
> > > Private Sub a2_Change()
> > > Select Case Text
> > > Case "U"
> > > a2.BackColor = Red
> > > Case "B"
> > > a2.BackColor = Yel
> > > Case "O"
> > > a2.BackColor = grn
> > > Case Else
> > > a2.BackColor = Blu
> > > End Select
> > > End Sub
> > >
> > > Private Sub a3_Change()
> > > Select Case a3.Text
> > > Case "U"
> > > a3.BackColor = Red
> > > Case "B"
> > > a3.BackColor = Yel
> > > Case "O"
> > > a3.BackColor = grn
> > > Case Else
> > > a3.BackColor = Blu
> > > End Select
> > > End Sub
> > >
> > >
> > > .
> > > .
> > > .
> > > .
> > > .
> > >
> > >
> > >
> >
> >
>
>
| |
Lars Jensen (21-11-2001)
| Kommentar Fra : Lars Jensen |
Dato : 21-11-01 19:34 |
|
hvad med at prøve flg.
du skal selv lave en form med en CommandButton, to TextBox og en CheckBox -
gæt selv navnene...
---
Private Sub Command1_Click()
setbackcolor Text1
setbackcolor Text2
setbackcolor Check1
End Sub
Private Sub setbackcolor(test As Object)
test.BackColor = IIf(Check1.Value, vbGreen, vbRed)
End Sub
---
"Lars Kirkeby" <lkirkeby@worldonline.dk> skrev i en meddelelse
news:3bd8a30a$0$9447$4d4eb98e@news.dk.uu.net...
> Jeg skal styre farven på 60 text-objekter ud fra 4 forskellige status. Det
> bliver jo til afsindig mange liniers kode.
> Hvordan ialverden kan det laves smartere. Ligesom man i DOS bruger (%1),
må
> man da i VB kunne et eller andet lignende.
>
> Her nedenfor ses den 'smarte' kode. Den virker - men for pokker da - den
> bliver jo aaaaaalt for lang.
>
> Hjælp ønskes
>
>
> Red = "&H0000FF"
> Yel = "&H00FFFF"
> grn = "&H00FF00"
> Blu = "&HFF0000"
>
> Private Sub a1_Change()
> Select Case a1.Text
> Case "U"
> a1.BackColor = Red
> Case "B"
> a1.BackColor = Yel
> Case "O"
> a1.BackColor = grn
> Case Else
> a1.BackColor = Blu
> End Select
> End Sub
>
> Private Sub a2_Change()
> Select Case Text
> Case "U"
> a2.BackColor = Red
> Case "B"
> a2.BackColor = Yel
> Case "O"
> a2.BackColor = grn
> Case Else
> a2.BackColor = Blu
> End Select
> End Sub
>
> Private Sub a3_Change()
> Select Case a3.Text
> Case "U"
> a3.BackColor = Red
> Case "B"
> a3.BackColor = Yel
> Case "O"
> a3.BackColor = grn
> Case Else
> a3.BackColor = Blu
> End Select
> End Sub
>
>
> .
> .
> .
> .
> .
>
>
>
| |
|
|