/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
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),

> 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),

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



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408928
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste