|  | 		    
					
        
         
          
         
	
          | |  | 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
 >
 >
 > .
 > .
 > .
 > .
 > .
 >
 >
 >
 
 
 
 
 |  |  | 
 |  |