|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2004
Messaggi: 82
|
Ancora a proposito di if.....else
Scusate, ma continuo ad avere problemi con le procedure if else, anche se sembrano cosi' semplici, eppure mi sembra di fare tutto correttamente:
Private Sub cmdeuroconv_Click() Dim e As Single e = 1936.27 If txtop1.Text <> "" And txtop2.Text <> "" Then _ lblresult.Caption = "Se devi convertire €/£ scrivi la cifra in operatore1" & _ "invece per £/€ scrivila in operatore2" ElseIf txtop1.Text <> "" And txtop2.Text = "" Then _ a = Val(txtop1.Text) c = a * e lblresult.Caption = Format(c, "##.####") ElseIf txtop1.Text = "" And txtop2.Text <> "" Then a = Val(txtop2.Text) c = a / e lblresult.Caption = Format(c, "##.####") End If End If End If End Sub Il debug di ferma al primo "elseif" dicendomi sempre" errore di compilazione: else senza if, stavolta mi sembra di averlo scritto giusto, sono andato a capo dopo il then, ma niente Scusate se vi rompo le scatole con queste inezie, ma sono alle prime armi:
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Ferrara
Messaggi: 2001
|
Premetto che sono un ignorante non solo in vb ma con quasi tutti i linguaggi di programmazione (ma sto imparando)...
Se non ricordo male: 1) Perchè metti 3 endif? Mi pare ne basti uno solo... 2) Da come hai scritto il codice dopo lo then dell'if e del primo endif non mi pare che tu vada a capo, se non ricordo male _ serve per ingnorare il fatto che nel codice sia andat a capo... Spero di non aver detto delle cavolate, comunque prova, non si sa mai
__________________
Ryzen 5 5600X, 32GB DDR4-3000MHz, Asrock B550M-Pro4, Case Fractal Design Dfine Mini, SSD Samsung 980Pro 500GB http://www.flickr.com/photos/paoloberno/ |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Hai fatto un po' di pasticcio... la sintassi giusta dell'IF è questa:
Codice:
If <condizione> Then [istruzioni] Else [istruzionielse] End If Detto questo ti passo la modifica al codice che hai messo tu... cmq se "indenti" come ho fatto io ti viene più facile la lettura! Indendare vuol dire all'ineare giusto il codice, cioè gli IF che contengono parte di codice stanno più all'esterno, il codice contenuto all'interno! Codice:
If txtop1.Text <> "" And txtop2.Text <> "" Then
lblresult.Caption = "Se devi convertire €/£ scrivi la cifra in operatore1 invece per £/€ scrivila in operatore2"
Else
If txtop1.Text <> "" And txtop2.Text = "" Then
a = Val(txtop1.Text)
c = a * e
lblresult.Caption = Format(c, "##.####")
Else
If txtop1.Text = "" And txtop2.Text <> "" Then
a = Val(txtop2.Text)
c = a / e
lblresult.Caption = Format(c, "##.####")
End If
End If
End If
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2004
Messaggi: 82
|
Proprio cosi', facevo confusione, non andavo a capo quando dovevo e quando lo facevo non lo facevo in modo corretto
mi ha tratto in confusione piu' d'un libro in quanto mostra l'istruzione elseif attaccata e non else if, quindi io l'applicavo senza pensare potesse essere quello Vi ringrazio infinitamente per avermi illuminato
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:02.



















