webForumDet fria alternativet

Major problem

.NET

8 svar · 440 visningar · startad av gundeman

Medlem sedan jan. 200167 inlägg
Frågan#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.

Medlem sedan juni 200032 967 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.

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

Medlem sedan feb. 20002 612 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

Medlem sedan dec. 200012 464 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

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

Medlem sedan dec. 200012 464 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

Medlem sedan jan. 200167 inlägg
#8

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

Medlem sedan maj 20018 027 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".

267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)