Stig Jøran Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 (endret) Private Sub Command1_Click() Select Case kcal.Text Case Is > "120" Label14.Caption = "over 120" Case Is > "100" Label14.Caption = "over 100" Case Is > "60" Label14.Caption = "over 60" Case Is > "30" Label14.Caption = "over 30" Case Is > "0" Label14.Caption = "over 0" End Select End Sub Når jeg kjøer dette, og hvis jeg skriver inn 59 i kcal så får jeg opp "over 120". Mulig jeg er meget overtrøtt og ikke ser hvorfor dette ikke funker, men noen som kan forklare meg hva jeg gjør galt? Endret 8. mars 2006 av Stig Jøran Lenke til kommentar
ze5400 Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 (endret) Er det 6.0 eller .NET du bruker? Endret 8. mars 2006 av ze5400 Lenke til kommentar
ze5400 Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 (endret) Fant en løsning, du må få koden til å behanle det som integer: Dim Tmp As Integer = Me.TextBox1.Text Select Case Tmp Case Is > "120" Me.Label1.Text = ">120" Case Is > "100" Me.Label1.Text = ">100" Case Is > "60" Me.Label1.Text = ">60" Case Is > "30" Me.Label1.Text = ">30" Case Is > "0" Me.Label1.Text = ">0" End Select Endret 8. mars 2006 av ze5400 Lenke til kommentar
Harald Staff Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Å tilordne en text til en integervariabel er å stole litt mye på de gode makter, det er også dårlig stil. Og tall med gåsetegn rundt er tekst, ikke tall. Tekst vurderes alfabetisk, og dermed er 5 større enn 1, hvilket var problemet fra starten av. Dim Tmp As Integer Tmp = Val(Me.TextBox1.Text) Select Case Tmp Case Is > 120 Me.Label1.Text = ">120" Case Is > 100 Me.Label1.Text = ">100" HTH. beste hilsen Harald Lenke til kommentar
ze5400 Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Oops , glømte det i farta, var litt trøtt da jeg skreiv svaret mitt... Husker ALDRI på sånt så tidlig på morraen Lenke til kommentar
Stig Jøran Skrevet 8. mars 2006 Forfatter Del Skrevet 8. mars 2006 (endret) Bruker Visual Basic 6.0 ja. EDIT: Takk for hjelpen! funket knall nå! Men litt rart det derre, den skal jo egentlig se om text er høyere enn så som så og da kan det jo egentlig ikke bli feil. Endret 8. mars 2006 av Stig Jøran Lenke til kommentar
Harald Staff Skrevet 8. mars 2006 Del Skrevet 8. mars 2006 Det er da ikke så rart. Alfabetisk er 5 større enn 1, dermed kommer 5 etter 10000 akkurat som F kommer etter ABAKUS. Numerisk er derimot 10000 større enn 5, så det har allverdens betydning om dataene dine er tall eller tekst. Uttrykket "kcal.Text" gir en slags indikasjon om nettopp det. HTH. beste hilsen Harald Lenke til kommentar
Stig Jøran Skrevet 10. april 2006 Forfatter Del Skrevet 10. april 2006 Vel, ser ut til at det å kjøre noe om til Integer ikke kan behandle mange tall, prøvde nettop med 1200000, fikk bare overflow Hva annet kan jeg gjøre da? Lenke til kommentar
ze5400 Skrevet 10. april 2006 Del Skrevet 10. april 2006 Vett ikke om VB6.0 støtter INT64... .NET gjør ihvertfall... Lenke til kommentar
Degeim Skrevet 11. april 2006 Del Skrevet 11. april 2006 Jeg har ikke testet denne koden, men jeg har brukt den med stor suksess før: Dim Tmp as string Tmp=Textbox1.Text Select Case Val(Tmp) Case Is > 120 Me.Label1.Text = ">120" Case Is > 100 Me.Label1.Text = ">100" osv... Degeim Lenke til kommentar
Harald Staff Skrevet 11. april 2006 Del Skrevet 11. april 2006 I VB6 skal du bruke datatype Long for heltall og Double til flyttall. HTH. beste hilsen Harald Lenke til kommentar
RuZleBIFf Skrevet 15. april 2006 Del Skrevet 15. april 2006 Vel, ser ut til at det å kjøre noe om til Integer ikke kan behandle mange tall, prøvde nettop med 1200000, fikk bare overflow Hva annet kan jeg gjøre da? 5900773[/snapback] Ikke så rart, ettersom integer kun går til 33.000 sånn ca! Lenke til kommentar
Gjakmarrja Skrevet 15. april 2006 Del Skrevet 15. april 2006 Long fungerer vel bedre til dette. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå