PDA

View Full Version : Piccolo Problema!


Lorenzo87
04-12-2005, 13:02
Ciao ragazzi :D
Sono nuovo del forum e spero vivamente di trovarmi bene :D
Cominciamo:

Sono nuovo della programmazione, per nuovo intendo che ho aperto per la mia prima volta Visual Basic 6 40 minuti fà.
Mi sn munito di una guida che spiegava un po' le funzioni base di VB e devo dire che fino a d'ora da un punto di vista teorico mi sembra tutto abbastanza chiaro.
Così sempre seguendo la guida ho provato a fare un programmino semplice semplice.....nessuna difficoltà riscontrata a compilarlo, ma...
al momento dell'anteprima, inserisco i valori clikko sul comando e mi esce:
"ERRORE DI COMPILAZIONE - Prevista Sub, Function o Property" in concomitanza cn questo errore mi viene evidenziata una "scrittura" nel codice del form...voi direte: "dove sta il problema? sei nuovo della programmazione e non ne capisci un H" come darvi torto...il fatto è che io ho seguito pari pari la guida e non parla di nessun errore di compilazione.

Il programma in questione tratta di una semplicissima operazione di calcolo dell'area e del perimetro di un rettangolo avendo come dati altezza e lunghezza.

Private Sub cmdEvaluate_Click()
' dichiara due variabili a virgola mobile.
Dim reAltezza As Double, reLunghezza As Double
' estrai valori da controlli textbox di input.
reAltezza -CDbl(textAltezza.Text)
reLunghezza -CDbl(textLunghezza.Text)
' calcola i risultati e assegnali alle textbox di output.
txtPerimetro.Text -CStr((reAltezza + reLunghezza) * 2)
txtArea.Text -CStr(reAltezza * reLunghezza)
End Sub

questo è il codice di Comando e la scrittura evidenziata dall'errore è:
" reAltezza " presente nella 5° riga

Bene detto questo non posso fare altro che ringraziarvi e porgervi i miei più distinti saluti.

Ciao Ciao :D

franksisca
04-12-2005, 13:58
guarda, non ho ami usato e credo che mai userò visula basic, e ti consiglio di cambiare anche a te, anzi ti consiglio JAVA o C++, comunque detto ciò, dato che la programmazione è uguale per tutti, credo che il'errore sia perchè le variabili non sono nè inizializzate nè contengano valore, e quindi lui ti dice che non può fare la sottrazione.
Vedi sulla guida se prima ti fà qualche altro esempio, a volte si dimenticano di dire".....continuando l'esempio precedente....."
CIAO ;) ;) ;)

Mixmar
04-12-2005, 15:23
Private Sub cmdEvaluate_Click()
' dichiara due variabili a virgola mobile.
Dim reAltezza As Double, reLunghezza As Double
' estrai valori da controlli textbox di input.
reAltezza -CDbl(textAltezza.Text)
reLunghezza -CDbl(textLunghezza.Text)
' calcola i risultati e assegnali alle textbox di output.
txtPerimetro.Text -CStr((reAltezza + reLunghezza) * 2)
txtArea.Text -CStr(reAltezza * reLunghezza)
End Sub



Se non vado errato, l'errore è proprio dopo "reAltezza" nella linea 5: va inserito il simbolo di uguale ("=") al posto di quello di meno ("-") che hai messo tu. Questo perchè la riga significa proprio "assegna alla variabile reAltezza il valore della TextBox textAltezza (e prima convertilo in un numero a precisione doppia)".
Così allo stesso modo sostituisci "-" con "=" nelle righe sotto.

Altri errori evidenti non li vedo... :sofico:

Lorenzo87
04-12-2005, 16:14
Grazie ad entrambi per la pronta risposta :)

Mixmar ho provato a sostituire tutti i - con gli uguali come mi hai detto;
ora qnd lancio l'anteprima mi presenta
"Errore di run-time 424 - Necessario oggetto"
hai qualche idea a proposito?

Scusa se ne approfitto, ma hai qlche buona guida da consigliarmi?

grazie mille :)

leadergl
04-12-2005, 20:37
Private Sub cmdEvaluate_Click()
' dichiara due variabili a virgola mobile.
Dim reAltezza As Double, reLunghezza As Double

' estrai valori da controlli textbox di input.
reAltezza -CDbl(textAltezza.Text)
reLunghezza -CDbl(textLunghezza.Text)

' calcola i risultati e assegnali alle textbox di output.
txtPerimetro.Text -CStr((reAltezza + reLunghezza) * 2)
txtArea.Text -CStr(reAltezza * reLunghezza)
End Sub

Per rendere funzionante questo programma devi:
1) inserire 1 Command Button (di nome "cmdEvaluate") nella tua form
2) inserire 2 TextBox (di nome "textAltezza" e "textLunghezza") nella tua form
e sostituire tutti quei "-" con degli UGUALE "="
3) inserire altre 2 TextBox (di nome "txtPerimetro" e "txtArea") nella tua form.

Modificando il codice così, funziona:

Private Sub cmdEvaluate_Click()
' dichiara due variabili a virgola mobile.
Dim reAltezza As Double
Dim reLunghezza As Double

' estrai valori da controlli textbox di input.
reAltezza = CDbl(textAltezza)
reLunghezza = CDbl(textLunghezza)

' calcola i risultati e assegnali alle textbox di output.
txtPerimetro.Text = CStr((reAltezza + reLunghezza) * 2)
txtArea.Text = CStr(reAltezza * reLunghezza)
End Sub

ATTENZIONE: in questo codice ovviamente mancano tutti i controlli sulla correttezza dei dati inseriti nelle TextBox "textAltezza" e "textLunghezza"