webForumDet fria alternativet

Major problem

8 svar · 438 visningar · startad av gundeman

gundemanMedlem sedan jan. 200167 inlägg
#1

Jag håller på med ett program där användaren skriver in en bruttovikt och 7 delvikter. Programet kollar hur många procent varje delvikt motsvarar. Sen jämför programet procenttalen med 7 procentgränser som användaren matat in i form2.
Om procenttalet överstiger procentgränsen skall programet skriva Vrak i en label annars Godkänd

Problemet är att programet skriver godkänd där det skall vara vrak osv.

'if sats 1
If Label15.Caption < Form2.Text2.Text Then
Label30.Caption = "Godkänd"
Else
Label30.Caption = "Vrak"

End If

'If sats 2
If Label16.Caption < Form2.Text3.Text Then
Label36.Caption = "Godkänd"
Else
Label36.Caption = "Vrak"
End If
'If sats 3
If Label17.Caption < Form2.Text4.Text Then
Label38.Caption = "Godkänd"
Else
Label38.Caption = "Vrak"
End If
'If sats 4
If Label18.Caption < Form2.Text5.Text Then
Label37.Caption = "Godkänd"
Else
Label37.Caption = "Vrak"
End If
'If sats 5
If Label19.Caption < Form2.Text6.Text Then
Label35.Caption = "Godkänd"
Else
Label35.Caption = "Vrak"
End If
'If sats 6
If Label20.Caption < Form2.Text7.Text Then
Label33.Caption = "Godkänd"
Else
Label33.Caption = "Vrak"
End If
'If sats 7
If Label21.Caption < Form2.Text8.Text Then
Label34.Caption = "Godkänd"
Else
Label34.Caption = "Vrak"
End If
End Sub

Mycket tacksam för svar.

@ndersMedlem sedan juni 200026 914 inlägg
#2

< är mindre än, > är större än, det är inte bara du som tänkt fel?

------------------
mördar-anders, det är jag.

gundemanMedlem sedan jan. 200167 inlägg
#3

Nej inte i det här fallet faktiskt.
Jag testade att låta programet skriva ut svaret av divisionen i en textbox och det konstiga är att han räknar på olika sätt i dom olika delarna.
Den sista räknar han inte över huvudtaget...skriver bara 0. På några har programet svarat i procent (allså multiplicera med 100) tex 50/70 som är ca 0,0714 skriver han ut som 7,14 och vissa skriver programet rätt. Det är ju ett jättestort fel och jag tycker att jag nästan borde ha en bragdmedalj för att ha lyckats gjort så fel, men jag kan inte hitta felet.

RödalacketMedlem sedan feb. 20001 160 inlägg
#4

Nu är man ingen programmeringsguru men du har en enkel "fnutt" ('If sats 7) och det finns ingen avslutande "fnutt"
Kan det vara något?

------------------
http://www.liquid.se/pong.html

LarsGMedlem sedan dec. 200012 465 inlägg
#5

Är det något typproblem, dvs att jämförelsen sker med avseende på ascii-värde och inte det numeriska värdet?

Rödalacket
' betyder kommentar

------------------
essentitia preter non sans multiplicandum

gundemanMedlem sedan jan. 200167 inlägg
#6

Jag är inte riktigt säker på att jag förstår vad du menar, men jag kan försöka ge en bättre förklarin på vad det går ut på.

Användaren skall skriva in 7 delvikter.
del vikterna plussas ihop så att du får en nettovikt, nettovikten skrivs ut i en label.
När alla delvikter är inskrivna delas värdet i alla editrutor (delvikterna).
värdena multipliceras med 100 så att de blir till procent. Sen skall programet jämföra procenttalen med de procentgränser(talen för ej överstiga dessa) som användaren skrivit in för varje delvikt i form2. Om talet är mindre än procentgränsen skall godkänt skrivas i en label, om det överstiger procentgränsen skall vrak skrivas.

Om det är nån som har nått förslag till en bättre kod så är jag tacksam för det.

LarsGMedlem sedan dec. 200012 465 inlägg
#7

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
If Cdbl(Label15.Caption) < Cdbl(Form2.Text2.Text) Then
Label30.Caption = "Godkänd"
Else
Label30.Caption = "Vrak"
End If

Så tänkte jag

------------------
essentitia preter non sans multiplicandum

gundemanMedlem sedan jan. 200167 inlägg
#8

Tack så mycket, skall prova det.
Men vad gör Cdbl?

UlfTMedlem sedan maj 20016 050 inlägg
#9

Cdbl konverterar en textsträng till en Double (flyttal, decimaltal). Du måste göra så för att dina jämförelser ska funka. Annars skulle det vara som att fråga om texten "hej" är större än texten "kul".

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb