cijfer controle in loop

Status
Niet open voor verdere reacties.

beest820

Gebruiker
Lid geworden
22 aug 2009
Berichten
52
Hoi helpmijers,

In een programma wil ik een aantal cijfers controleren,dit doe ik in een loop.
Waneer een cijfer niet in de loop voorkomt wil ik een label laten verschijnen waarin de waarde van het cijfer dat daar het dichtste bij ligt in komt.

Code:
 If RadioButton1.Checked = True Then
            Dim i As Single
            i = lblmem.Text
            Select Case i
                Case 0.1, 0.22, 0.47, 1, 2.2, 4.7, 10, 22, 47, 100, 220, 470, 1000, 2200, 4700, _
                10000, 22000, 47000, 100000, 220000, 470000, 1000000, 2200000, 4700000, 10000000
                    lblserie.Text = ("getal ok.")
                    RadioButton1.Checked = True
                Case Else
                    lblserie.Text = ("geen geldig getal")
            End Select
        End If

in deze loop worden alle cijfers gecontroleerd, maar ik heb geen idee hoe ik deze loop zo uit kan breiden
dat als bv. i een waarde 2 heeft in een nieuw label de waarde 2.2 komt.
en als i een waarde 5 heeft moet in dat label 4.7 komen.

Wie kan mij hiermee helpen
Groeten beest.
 
wat ik begrijp is dat je bij elke case een label wilt laten zien.
je moet dan voor elke getal een aparte case maken zoals
case 01 :
doe dit
case 02 :
doe dat
blablbal

is dit niet wat je bedoeld dan moet je het beter uitleggen want ik snap het neit hoe je het de eerste keer hebt uitgelegd ;)

Byee VRC
 
het stuk code wat ik heb geschreven controleerd de waarden van i die in case voorkomen.
daarnaast geeft het als die waarde in case voorkomt : lblserie.Text = ("getal ok.")
komt die waarde niet in case voor : lblserie.Text = ("geen geldig getal")


De bedoeling is dat de waarde die i heeft in case voorkomt.
waneer i een waarde heeft die niet in case voorkomt wil ik :

een label waarin de waarde wordt weergegeven welke hier het dichtst bij ligt.
bv i = 2 dan moet een stuk code in een label 2.2 aangeven
bv i = 5 dan moet een stuk code in dat label 4.7 aangeven.

in de case komt cijfer 2 namelijk niet voor, de twee cijfers die daarnaast liggen zijn 1 en 2.2
2.2 ligt het dichtst bij 2 dus wil ik in een label 2.2 laten verschijnen

Hoe kan ik dit doen ?
 
het stuk code wat ik heb geschreven controleerd de waarden van i die in case voorkomen.
daarnaast geeft het als die waarde in case voorkomt : lblserie.Text = ("getal ok.")
komt die waarde niet in case voor : lblserie.Text = ("geen geldig getal")


De bedoeling is dat de waarde die i heeft in case voorkomt.
waneer i een waarde heeft die niet in case voorkomt wil ik :

een label waarin de waarde wordt weergegeven welke hier het dichtst bij ligt.
bv i = 2 dan moet een stuk code in een label 2.2 aangeven
bv i = 5 dan moet een stuk code in dat label 4.7 aangeven.

in de case komt cijfer 2 namelijk niet voor, de twee cijfers die daarnaast liggen zijn 1 en 2.2
2.2 ligt het dichtst bij 2 dus wil ik in een label 2.2 laten verschijnen

Hoe kan ik dit doen ?

wat je kan doen is een array maken en dan loopen en kijken of waarde i erin zit. zit deze er niet in dan maak je een dubbele array(matrix) met 1 de waarde van de case en 1 de waarde van verschil en dan sla je in een variable de kleinste array op en die zoek je dan vervolgens weer in de array matrix en daar haal je de eerste waarde eruit = de dichtbijzijnde en hier maak je een waarde van ;)

Beetje omslachtig misschien maar dit is ff snel een oplossing die ik zelf bedacht heb.
misschien dat er op internet wat meer te vinden is.
ff snel voor je gezocht en had dit gevonden.
misschien heb je er wat aan : http://www.ruby-forum.com/topic/129755

Byee VRC
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan