Witam, proszę się nie załamywać ale to moje kolejne pytanie o VB6 :lol:
Zrobiłem przelicznik walut ale występuje błąd kompilacji po zastosowaniu instrukcji warunkowej, bez niej było OK. Podaje kod źródłowy:
Dim przed, po, waluta, gotowe, przed2, po2, waluta2, gotowe2, obliczone Private Sub btn_anuluj_Click() Unload Me End Sub Private Sub btn_obl_Click() If gotowe > “0” Then obliczone = Val(gotowe) / Val(gotowe2) frm_wynik.Show Else MsgBox “Musisz podać waluty!”, vbCritical, “Przelicznik walut” End If End Sub Private Sub chk_gotowe_Click() gotowe = przed + “.” + po End Sub Private Sub chk_gotowe2_Click() gotowe2 = przed2 + “.” + po2 End Sub Private Sub txt_poprzecinku_Change() po = txt_poprzecinku.Text End Sub Private Sub txt_przedprzecinkiem_Change() przed = txt_przedprzecinkiem.Text End Sub Private Sub txt_waluta_Change() waluta = txt_waluta.Text End Sub Private Sub txt2_poprzecinku_Change() po2 = txt2_poprzecinku.Text End Sub Private Sub txt2_przedprzecinkiem_Change() przed2 = txt2_przedprzecinkiem.Text End Sub Private Sub txt2_waluta_Change() waluta2 = txt2_waluta.Text End Sub
Wyróżniony kod jest “uszkodzony” tak jak mówiłem bez:
było OK
nr47
(Sawyer47)
11 Lipiec 2008 08:16
#2
Sprawdzasz nierówność tekstu, a ta jest zupełnie inna od nierówności liczbowej. Musiałbyś te dane zmienić na typ liczbowy. Porównując tekst VB porównuje go pewnie ASCIIbetycznie (choć nie wiem).
To dlaczego bez “IF” było OK?
W dniu 11.07.2008 , o godzinie 10:20 został dopisany post przez marcinch7
Pokazuje się błąd “Division by zero” wskazujący na tą : obliczone = Val(gotowe) / Val(gotowe2)
nr47
(Sawyer47)
11 Lipiec 2008 08:20
#4
Podaj ten błąd kompilacji.
nr47
(Sawyer47)
11 Lipiec 2008 08:25
#6
Sorry, w tym samym momencie to napisaliśmy.
Sprawdzaj czy dzielnik jest różny od zera.
Jest to błąd kompilacji czy po uruchomieniu?
Przy kompilacji
W dniu 11.07.2008 , o godzinie 10:29 został dopisany post przez marcinch7
Hm… próbuje na wszystkie możliwe sposoby i d***
W dniu 11.07.2008 , o godzinie 10:32 został dopisany post przez marcinch7
Już wiem, program będzie sprawdzał cz obydwa checkboxy są zaznaczone, jeśli tak kontynuuje a jak nie wywala błąd
W dniu 11.07.2008 , o godzinie 10:34 został dopisany post przez marcinch7
Dzięki za pomoc ale problem sam rozwiązałem
Private Sub btn_obl_Click() If chk_gotowe.Value = 1 And chk_gotowe2.Value = 1 Then obliczone = Val(gotowe) / Val(gotowe2) frm_wynik.Show Else MsgBox “Musisz podać waluty!”, vbCritical, “Przelicznik walut” End If End Sub