Avatar billede mc.lucifer Praktikant
15. marts 2003 - 13:01 Der er 8 kommentarer og
2 løsninger

Hvis - Hvis ikke

Dårlig overskrift men det er  lige hvad min hjerne formår nu her

Jeg sidder og hygge programere
Jeg har bare et problem med en en regne funktion, Den skla først se om feltet er udfyldt og er det skal den regne det ud, Er det ikke jamen så skal den ikke, Men den melder fejl da den gerne vil regne de felter du der intet står i.
Og hvorfor gør den så det


Private Sub Command1_Click()
Dim Volt As String
Dim Amp As String
Dim Modstand As String
Dim Watt As String

'Variabler
If Text1.Text > "" Then
U = Text1.Text
End If

If Text2.Text > "" Then
R = Text2.Text
End If

If Text3.Text > "" Then
I = Text3.Text
End If

If Text4.Text > "" Then
W = Text4.Text
End If


'Regneregler
If I > "" & R > "" Then
Volt = I * R
End If
If U > "" & R > "" Then
Amp = U / R
End If
If U > "" & I > "" Then
Modstand = U / I
End If
If U > "" & I > "" Then
Watt = U * I
End If

'Resultat felter
Text5.Text = Volt
Text6.Text = Modstand
Text7.Text = Amp
Text8.Text = Watt

End Sub

MC
Avatar billede Spotgun Seniormester
15. marts 2003 - 13:03 #1
Prøv med <> i stedet for >

<> betyder forskellig fra "" - ved ikke helt om man kan sige > ""

Blot et forslag! :-)
Avatar billede Spotgun Seniormester
15. marts 2003 - 13:04 #2
Og forresten, så under regneregler skal du ha':

If I <> "" And R <> "" Then
' udregning
End If
Avatar billede mc.lucifer Praktikant
15. marts 2003 - 13:05 #3
Hvis jeg sætter variablerne U og R for jeg fejlen

Division By Zerro

Og en debug fejl i Modstand = U / I

MC
Avatar billede mc.lucifer Praktikant
15. marts 2003 - 13:07 #4
kanon det hjalp

Private Sub Command1_Click()
Dim Volt As String
Dim Amp As String
Dim Modstand As String
Dim Watt As String

'Variabler
If Text1.Text > "" Then
U = Text1.Text
End If

If Text2.Text > "" Then
R = Text2.Text
End If

If Text3.Text > "" Then
I = Text3.Text
End If

If Text4.Text > "" Then
W = Text4.Text
End If


'Regneregler
If I <> "" And R <> "" Then
Volt = I * R
End If
If U <> "" And R <> "" Then
Amp = U / R
End If
If U <> "" And I <> "" Then
Modstand = U / I
End If
If U <> "" And I <> "" Then
Watt = U * I
End If

'Resultat felter
Text5.Text = Volt
Text6.Text = Modstand
Text7.Text = Amp
Text8.Text = Watt

End Sub


MEn hvad er forskelln egentlig på & Også And

Svare du lige spotgun

MC
Avatar billede joern Nybegynder
15. marts 2003 - 13:09 #5
Hej.

Jeg benytter VB5 og dér kan man ikke udføre algebra på string-variable.
Men du skriver ikke hvad din fejlkode er (nummer).

Hvis du dimensionerer dine variable som 'variant' går det muligvis, men sikrest er at konvertere indholdet at tekstfelterne til værdier med kommandoen 'val'

U = val(text1.text)

De variabler hvor du vil gemme resultaterne skal også være tal-variable

integer, long, single eller double

If U > "" & R > "" Then
  Amp = U / R
End If

Den går heller ikke i VB5, der skal stå

If U > ""
Then if R > "" Then  Amp = U / R
End If

M.v.h.  Jørn
Avatar billede Spotgun Seniormester
15. marts 2003 - 13:16 #6
Fint du fik det til at virke.

Desuden siger det jo sig selv, hvorfor du får en "Divide by Zero" fejl, hvis et af tallene er nul. Ellers, som Joern påpeger, så er det nok det syntaks-mæssige rigtige at konvertere dine værdier til enten Integers eller Double/Floats (kan ikke huske hva' VB understøtter).
Avatar billede mc.lucifer Praktikant
15. marts 2003 - 13:18 #7
ok, I for lige lidt begge 2 håber det er ok

MC
Avatar billede mc.lucifer Praktikant
15. marts 2003 - 13:19 #8
men er der en der kan svare mig på forskellen mellem & og And

MC
Avatar billede Spotgun Seniormester
15. marts 2003 - 13:46 #9
& bruges til at kombinere strings. F.eks.:

s1 = "dette er "
s2 = "din string"
s3 = s1 & s2 & "!!"

s3 indeholder nu: "dette er din string!!!"

And bruges til at betinge om noget er opfyldt. F.eks.:

s1 = "string"
s2 = true

If s1 = "string" And s2 = true Then
' gør noget.
End If

Hvis ikke begge betingelser i if-sætningen er opfyldt, så sker der intet.
Det var nok værd at kigge på både And, Or og Xor. Se mere her: http://msdn.microsoft.com/library/en-us/script56/html/vsoprAnd.asp
Avatar billede mc.lucifer Praktikant
15. marts 2003 - 14:02 #10
ok, Takker

MC
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