Ripeto ... *qual è* il problema?
Ripeto ... *qual è* il problema?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Che molte cose non le conosci è evidente ma non è il problema del thread.
Spiega meglio cosa non riesci a fare.
No MP tecnici (non rispondo nemmeno!), usa il forum.
Io adesso ho copiato la stringa di codice in "Try" eseguo il programma in modalità Debug ma nella "finestra di controllo immediato". Non trovo nessuna "scritta". Ho dimenticato qualche operazione?
Ma con questo codice
tu cosa vuoi fare? A cosa ti servono tutti i Debug.Print?codice:Else Try Dato2 = Val(InputBox("Inserire la base del rettangolo","Messaggio per l'utente")) Dato23 = Val(InputBox("Inserire l'altezza del rettangolo","Messaggio per l'utente")) Debug.Print("Dato2: " & Dato2.ToString & " -Dato23: " & Dato23.ToString) Risultato 2= Dato2*Dato23 Debug.Print("Risultato2: " & Risultato2.ToString) TextBox2.Text = Risultato2.ToString Catch ex as Exception Debug.Print(ex.ToString) End Try End If
No MP tecnici (non rispondo nemmeno!), usa il forum.
Lol, i Debug.Print ed il Try gli ho detto di metterli io....
Visto che in TextBox2 non compare Risultato2 è ovvio che a monte c 'è un errore.
Riguardo ad ESEGUIRE il programma in modalità Debug... ma che VS hai? Io non so se è solo il mio VS2010... ma se nella finestrella "Configurazioni soluzione" è selezionato Release... eseguo in Release anche se premo il triangolino "Avvia Debug (F5)".
Se non compare il risultato e non ci sono errori in esecuzione (e non vede nulla) molto probabilmente quel ramo (quella Else) non viene eseguita mai. E' possibile? Magari ne sta eseguendo un'altra ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Credo anche io che ne stia eseguendo un altra, ma non ne capisco il motivo. Originariamente il programma infatti svolge solo una "via" dell'IF
Tutto il codice si trova nei post precedenti. Riassumo il tutto, sto cercando di creare un programma che permette di scegliere se ottenere il perimetro e l'area di un quadrato o rettangolo e calcolarle.
La scelta di queste due figure avviene attraverso un TextBox in cui se si digita lo "0" "imbocca la via" per calcolare il quadrato, mentre se si digita l'1 "imbocca" quella per risolvere il rettangolo. Il problema è che sia se metto lo 0 che l'1 segue un unica via che è quella per il quadrato.
Copio il codice:
Chiaro?codice:Public Class Form1 'INPUT Dim Forma As Double Dim Dato1 As Double Dim Dato2 As Double Dim Dato23 As Double 'Output Dim Risultato As Double Dim Risultato2 As Double Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Forma = 0 Then Dato1 = Val(InputBox("Inserire il numero", "Messaggio per l'utente")) Risultato = Dato1 * 4 TextBox2.Text = Risultato.ToString Else Try Dato2 = Val(InputBox("Inserire la base del rettangolo", "Messaggio per l'utente")) Dato23 = Val(InputBox("Inserire l'altezza del rettangolo", "Messaggio per l'utente")) Debug.Print("Dato2: " & Dato2.ToString & " -Dato23: " & Dato23.ToString) Risultato2 = Dato2 * Dato23 Debug.Print("Risultato2: " & Risultato2.ToString) TextBox2.Text = Risultato2.ToString Catch ex As Exception Debug.Print(ex.ToString) End Try End If End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub End Class
Ultima modifica di federik95; 24-05-2014 a 16:55
Forma è uno Short: se non è = 0 è <> 0... che non esegua l' Else è surreale.
A questo punto per tagliare la testa al toro non fai altro che mettere una interruzione di codice all' altezza di
If Forma = 0 Then....
e poi eseguire riga per riga premendo ripetutamente F8... così vedi dove va a parare il codice.
EDIT:
Ma lol... mea culpa, non me ne ero accorto. In TextBox1_TextChanged devi ben mettere
Forma = CType(TextBox1.Text, Short)
altrimenti il programma come fa a sapere quanto vale Forma ??? Se non la definisci gli dà il valore di default = 0.
Ovviamente il codice di cui sopra puoi metterlo anche direttamente in Button1_Click, prima dell' If... Then: eviti una Sub inutile (Text_Changed la userei solo per controllo dell' inserimento, tipo un messaggio se il valore immesso è alfabetico o diverso da 0 e 1)
Ultima modifica di eziogsv; 24-05-2014 a 17:53