/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Endnu et problem fra begynderen
Fra : Dennis Olesen


Dato : 22-12-03 15:50

Vi har fået til opgave at lave en lommeregner. Der har jeg fået et problem.

Option Explicit
Dim num1, num2, reslut As Single
Dim operator As String * 1

Sub One() 'number 1
form1.label1.Caption = form1.label1.Caption & "1"
End Sub

Sub two() ' number 2
form1.label1.Caption = form1.label1.Caption & "2"
End Sub
Sub there() ' number 3
form1.label1.Caption = form1.label1.Caption & "3"
End Sub
Sub four() ' number 4
form1.label1.Caption = form1.label1.Caption & "4"
End Sub
Sub five() ' number 5
form1.label1.Caption = form1.label1.Caption & "5"
End Sub
Sub six() ' number 6
form1.label1.Caption = form1.label1.Caption & "6"
End Sub
Sub seven() ' number 7
form1.label1.Caption = form1.label1.Caption & "7"
End Sub
Sub eight() ' number 8
form1.label1.Caption = form1.label1.Caption & "8"
End Sub
Sub nine() ' number 9
form1.label1.Caption = form1.label1.Caption & "9"
End Sub
Sub zero() ' number 0
form1.label1.Caption = form1.label1.Caption & "0"
End Sub
Sub clear()
form1.label1.Caption = ""
End Sub
Sub add()
num1 = Val(form1.label1.Caption)
form1.label1.Caption = ""
operator = "+"
End Sub
Sub equals()
num2 = Val(form1.label1.Caption)
If operator = "+" Then
result = num1 + num2
End If

If operator = "-" Then
result = num1 - num2
End If

If operator = "x" Then
result = num1 * num2
End If

' Stopper division af 0 using a logical AND
If operator = "/" And num2 = 0 Then
MsgBox "You can`t divide by zero."
Exit Sub
End If

If operator = "/" Then
result = num1 / num2
End If

form1.label1.Caption = result

'num1=0 'Resets vaiabler
'num2=0 'for at se hvad der sker

Call list

End Sub

Sub multiply()
num1 = Val(form1.label1.Caption) 'konverterer integer to string.
form1.label1.Caption = "" ' Renser labelen.
operator = "x"
End Sub

Sub divide()
num1 = Val(form1.label1.Caption)
form1.label1.Caption = ""
operator = "/"
End Sub

Sub subtract()
num1 = Val(form1.label1.Caption)
form1.label1.Caption = ""
operator = "-"
End Sub

Sub list()
'If result = 0 Then
' exit sub
'end if

form1.list1.AddItem result, 0

If form1.list1.ListCount = 11 Then
form1.list1.RemoveItem 10
End If
End Sub

Sub endit()
End
End Sub

Når man tykker på 1 kommer fejlen "Method or data member not found" og ordet
caption bliver markeret i line
Sub One() 'number 1
form1.label1.Caption = form1.label1.Caption & "1"
End Sub

Jeg håber i kan hjælpe mig lidt vidre. Hvad skal man bruge ordet caption til
i den linie ?

MVH
Dennis Olesen



 
 
Tomas Christiansen (22-12-2003)
Kommentar
Fra : Tomas Christiansen


Dato : 22-12-03 23:46

Dennis Olesen skrev:
> Dim num1, num2, reslut As Single

Det ser ikke rigtigt ud. Mon ikke det er meningen at num1 og num2 skal
erklære af typen Single?
Sådan som linien ser ud nu, erklæres num1 og num2 af typen Variant.
Der bør nok i stedet stå:
Dim num1 As Single, num2 As Single, reslut As Single

> Sub One() 'number 1
> form1.label1.Caption = form1.label1.Caption & "1"
> End Sub

Hvis du har lagt en TextBox på din form og kaldt den "Label1", så vil du få
fejlen "Method or data member not found".
Label1 bør naturligvis være en Label.

> Sub there() ' number 3

Der skulle nok have stået "three".

> If operator = "+" Then
....
> If operator = "-" Then
....
> If operator = "x" Then
....
> If operator = "/" Then

Her ville jeg nok i stedet have brugt "Select Case operator".

> Sub endit()
> End
> End Sub

Du bør erstatte End med Unload Me. Hvis du har andre forme åbne, skal de
også eksplicit lukkes, f.eks. med Unload Form1.

> form1.label1.Caption = form1.label1.Caption & "1"
....
> Jeg håber i kan hjælpe mig lidt vidre. Hvad skal man bruge ordet caption
til
> i den linie ?

I forbindelse med Label, indeholder Caption den tekst som skal vises i
labelen.

-------
Tomas


Dennis Olesen (23-12-2003)
Kommentar
Fra : Dennis Olesen


Dato : 23-12-03 10:30

Jeg takker for svaret, så er der noget at arbejde med igen.

MVH
Dennis Olesen
"Tomas Christiansen" <toc-01-nospam@blikroer.dk> skrev i en meddelelse
news:bs7s2v$e85$1@news.cybercity.dk...
> Dennis Olesen skrev:
> > Dim num1, num2, reslut As Single
>
> Det ser ikke rigtigt ud. Mon ikke det er meningen at num1 og num2 skal
> erklære af typen Single?
> Sådan som linien ser ud nu, erklæres num1 og num2 af typen Variant.
> Der bør nok i stedet stå:
> Dim num1 As Single, num2 As Single, reslut As Single
>
> > Sub One() 'number 1
> > form1.label1.Caption = form1.label1.Caption & "1"
> > End Sub
>
> Hvis du har lagt en TextBox på din form og kaldt den "Label1", så vil du

> fejlen "Method or data member not found".
> Label1 bør naturligvis være en Label.
>
> > Sub there() ' number 3
>
> Der skulle nok have stået "three".
>
> > If operator = "+" Then
> ...
> > If operator = "-" Then
> ...
> > If operator = "x" Then
> ...
> > If operator = "/" Then
>
> Her ville jeg nok i stedet have brugt "Select Case operator".
>
> > Sub endit()
> > End
> > End Sub
>
> Du bør erstatte End med Unload Me. Hvis du har andre forme åbne, skal de
> også eksplicit lukkes, f.eks. med Unload Form1.
>
> > form1.label1.Caption = form1.label1.Caption & "1"
> ...
> > Jeg håber i kan hjælpe mig lidt vidre. Hvad skal man bruge ordet caption
> til
> > i den linie ?
>
> I forbindelse med Label, indeholder Caption den tekst som skal vises i
> labelen.
>
> -------
> Tomas
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste