Avatar billede rexuz Nybegynder
10. marts 2004 - 15:34 Der er 7 kommentarer og
3 løsninger

Decimaltal i textbox(Hvorfor punktum), Samt ForeColor i combobox.

Goddag.. Har lige nogle spørgsmål til VB folket :)

Jeg har denne kode til at beregne r (altså el lære) ohms lov. i, r og u.

Private Sub txt_r_result_gotfocus()
txt_r_result = Val(txt_ri.Text) / Val(txt_ru.Text)
Refresh
End Sub

Den kan dividere osv. Men decimaltal skal skrives som 2.5 og ikke det normale 2,5. Har læst mig frem til, at det har noget med amerikansk version at gøre, eller sådan noget, men en løsning har jeg ikke fundet. Hvordan klare jeg det?

En anden ting er, at den ikke kan lide 0/1, 0/2 osv. men den kan godt klare 1/0, 2/0 osv. Hvordan klare jeg den?

Hvordan kan jeg evt. få txt_r_result til at opdatere, så snart der er indtastet tal i henholdsvis txt_ri og txt_ru? Har leget lidt med de forskellige change, click osv. gotfocus er pt. den jeg synes virker bedst. Tænkte lidt på løkker, men kunne ikke lige komme på noget fornuftigt. Men nok bare mig hjerne der står stille lige nu :)

En anden ting er.. Hvordan kan jeg lave individuel farve, til hver item i en combo box?

Har prøvet sådan her:
Private Sub cbo_ring4_Click()
Select Case cbo_ring4.ListIndex
  Case 0 'Sølv
  ForeColor = &HE0E0E0
  Shape5.FillColor = &HE0E0E0
  Case 1 'Guld
  ForeColor = &H80FFFF
  Shape5.FillColor = &H80FFFF
End Select
End Sub

Teksten i combo boksen, skulle være forskellig, men det virker ikke efter hensigten, men det kan man måske ikke? Selvom jeg ikke kunne forestille mig dette.
Avatar billede joern Nybegynder
10. marts 2004 - 18:53 #1
Hej.

Her midt i spisetiden ser det ud til at ingen er hurtige på tasterne, eller også spørger du om for meget i ét spørgsmål.

Med 0/1 mener du da nul divideret med 1 ?  Jeg har ikke prøvet det, men det kan VB da godt skulle jeg mene.  Værre er det at dividere med nul, men det skriver du at VB kan ?  Hvad bliver det?  Jeg lærte i skolen at det er et udtryk, der ikke er defineret.

Hvis du vil have noget til at ske når du har indtastet nogle værdier i 2 felter, skal VB jo vide hvornår du er færdig.  Når du har skrevet 123 hvordan kan VB vide at du ikke ville skrive 1234 ?

Du kan teste på LostFocus, altså at markøren forlader felt 2.  Du kan også bruge 'Enter, det gør du under KeyPress.  If keyascii=13 then....

Du kan ikke sætte forskellig farve på linierne i en liste- eller kombo-boks.  Så må du bruge komponenten MSFlexGrid.

Måske skulle du bruge søgefunktionen i Eksperten og nøjes i øvrigt med ét spørgsmål pr. spørgsmål.

M.v.h.  Jørn

M.v.h.  Jørn
Avatar billede martin_moth Mester
10. marts 2004 - 20:32 #2
Det er matematisk umuligt at dividerer med nul, da ethvert tal forskellig fra nul, der divideres med nul, vil give uendeligt! Jeg er sikker på at rexuz har skrevet forkert, og at fejlen naturligvis kommer, når der deles med nul, og ikke 1.

Løsningen er at kontrollere, at nævner er forskellig fra nul, inden der deles!

Mht. , og ., så bruger VB . som decimaladskiller. Det kan du ikke ændrer!

Mht. beregninger, så ville jeg bruge keypress, der aktiveres, så snart du taster et tal.

Om du kan ændrer forecolor i en combobox kan du læse dig til i hjælpen - eller kikke i dit properties vindue. Jeg tvivler på at du kan.
Avatar billede stry Nybegynder
10. marts 2004 - 20:35 #3
Du kan gøre det at du erstatter komma med punktum i din beregning, så kan du godt bruge komma i indtastningen.

Fx. sådan her:

Dim Var As String
Var = Replace(Text1.Text, ",", ".")

//Christian
Avatar billede rexuz Nybegynder
11. marts 2004 - 15:03 #4
joern: hvis du også lige smider et svar, så deler jeg point ud til jer alle.
Selvom der ikke er kommet det store, men i er jo alle kommet med lidt.
Disse input vil, blive brugt i et par selvstændige spørgsmål.
Avatar billede rexuz Nybegynder
11. marts 2004 - 15:08 #5
"Måske skulle du bruge søgefunktionen i Eksperten og nøjes i øvrigt med ét spørgsmål pr. spørgsmål." Har skam søgt på eksperten. Men har måske ikke brugt de rigtige søgeord :( det beklager jer, men synes ellers jeg har prøvet med lidt af hvert. f.eks. lommeregner, decimaltal, textbos, punktum, komma, beregning, plus og minus. Fandt dog ikke noget jeg kunne forstå/eller bruge. At jeg ikke kan forstå det, har måske noget at gøre med jeg ikke er den vildeste haj til VB endnu :)
Avatar billede martin_moth Mester
11. marts 2004 - 15:28 #6
Der er masser af spørgsmål med det du spørger om. Men nogen gange er det meget nemmere at stille et nyt sp hvis man ikke lige fatter dem der allerede er stillet.

Men prøv at begræns antallet af spørgsmål, så du spørger om EN ting ad gangen. Det gør det mindre forvirrende :o)

Har du i øvrigt fået svar nok nu, skal du lukke, ellers spørg videre.
Avatar billede joern Nybegynder
11. marts 2004 - 15:48 #7
Hej rexuz.

Ok, det kan være svært at få 'træffere' ved en søgning.  Derfor har det jo også betydning at spøgere kan formulere sig dækkende.  Hvis du ønsker hjælp til anvendelsen af MsFlexGrid så kan jeg godt tilbyde et stykke kode fra et af mine programmer, hvor baggrunden i en celle skifter farve ved visse betingelser.

Jeg får desværre ikke tilbudt muligheden for at vælge mellem svar eller kommentar i min OperaBrowser.  Men pyt, jeg mangler ikke point.

M.v.h.  Jørn
Avatar billede joern Nybegynder
11. marts 2004 - 15:48 #8
Nå, -nu kom option-knapperne !

M.v.h. Jørn
Avatar billede rexuz Nybegynder
12. marts 2004 - 16:15 #9
Lige pt. har jeg fået svar nok. Leger ihf. videre med det. Så må jeg jo oprette nyt sp. Hvis der opstår problemer. :)

joern, Du må gerne sende den kode til MsFlesGrid, hvis du har lyst. Du kan sende den på rexuz@sivi.dk eller smide den her.
Avatar billede joern Nybegynder
12. marts 2004 - 16:52 #10
Hej.

'Indlæsning i grid
  '-------------------------------------
  grindhold.Rows = h + 1
  For Y = 1 To h               
    For z = 0 To 14                        'tæller for kolonner
      grindhold.Row = Y
      grindhold.Col = z
     
      If z = 2 Then If musik(8, Y - 1) = "mp3" Then grindhold.CellBackColor = RGB(91, 255, 91)
      If z = 2 Then If musik(8, Y - 1) = "mpg" Then grindhold.CellBackColor = RGB(255, 127, 255)
      grindhold.Text = musik(z, Y - 1)
     
    Next z
    txtnr.BackColor = RGB(255, 255, 255)              'hvid
  Next y
  '--------------------------------------

M.v.h.  Jørn
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester