Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di Sonnyx74
    Registrato dal
    Oct 2014
    residenza
    Figline Valdarno
    Messaggi
    16

    [VB12] Visualizzare calcolo in textbox live

    Salve come al solito mi manca la rifinitura.......devo fare un calcolo tra due textbox e poter vedere il risultato in una terza textbox, ho fatto il codice, mi funziona il calcolo ma per visualizzarlo nella textbox del risultato devo andare a premere sempre un qualsiasi tasto, ho provato con molti tentativi tipo show e usare leave ma non mi va.....qualche suggerimento?

    Private Sub TextBox32_Textchanged(sender As Object, e As EventArgs) Handles TextBox32.TextChanged, TextBox32.Leave
    Dim differenza As String
    differenza = CDbl(TextBox2.Text) - CDbl(TextBox4.Text)
    TextBox32.Text = CDbl(differenza)
    End Sub

    Ciao !!!

    Dimenticavo ma se ci volessi aggiungere anche il simbolo dell'€?
    Ultima modifica di Sonnyx74; 25-10-2014 a 17:57

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    87
    Se devi tanto meno mettere il simbolo € il numero, se devi metterlo con cifre decimali, mi dici con quante cifre decimali devi metterlo?

  3. #3
    Utente di HTML.it L'avatar di Sonnyx74
    Registrato dal
    Oct 2014
    residenza
    Figline Valdarno
    Messaggi
    16
    Ciao Jekisi,
    le cifre decimali sono 2.... ma quello funziona tutto, quando faccio la somma mi rispetta anche i decimali e le virgole....... io vorrei che mentre inserisco i dati nei box2 e box4 mi faccia apparire il risultato in box32 senza che debba io cliccarci sopra o cambiare cella prima di vederlo, è fattibile?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da Sonnyx74 Visualizza il messaggio
    Ciao Jekisi,
    le cifre decimali sono 2.... ma quello funziona tutto, quando faccio la somma mi rispetta anche i decimali e le virgole....... io vorrei che mentre inserisco i dati nei box2 e box4 mi faccia apparire il risultato in box32 senza che debba io cliccarci sopra o cambiare cella prima di vederlo, è fattibile?
    CIao
    Ma l'idea di intercettare l'evento textchange è corretta. Devi intercettare l'evento di modifica in box2 e box4 controllando con un if se l'operazione che chiedi è fattibile. Cioè: devi verificare che vengano inseriti numeri e che in entrambi le textbox tu abbia qualcosa. In quel caso puoi fare l'operazione e mostrare il risultato in box32.. no?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    87
    A parte l' evento, che sia leave della text o il codice messo in un button fai:
    textbox1.text = CDbl(TextBox2.Text) - CDbl(TextBox4.Text)
    per formattare a 2 cifre decimali
    TextBox1.Text = String.Format(CDec(TextBox1.Text).ToString("c2"))

  6. #6
    Utente di HTML.it L'avatar di Sonnyx74
    Registrato dal
    Oct 2014
    residenza
    Figline Valdarno
    Messaggi
    16
    Ciao renygade,
    perdona la mia ignoranza, sono un pò agli inizi e non capisco bene cosa vuoi dire, il mio codice funziona esegue tutte le operazioni, se provo ad inserire altri valori tipo lettere o simboli non lo fa fare quindi non vedo il motivo di fare la verifica, già mi accetta solo numeri, magari quella dei valori può essere una buona idea Grazie.Comunque per le TexBox2 e 4 ho usato questa formula:

    Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
    Dim KeyAscii As Short = Asc(e.KeyChar)
    If KeyAscii < 48 And KeyAscii <> 24 And KeyAscii <> 8 And e.KeyChar <> "," And e.KeyChar <> "." Then
    KeyAscii = 0
    ElseIf KeyAscii > 57 Then
    KeyAscii = 0
    End If
    If e.KeyChar = "." Then
    KeyAscii = 44
    End If
    If TextBox2.TextLength = 0 And KeyAscii = 44 Then
    KeyAscii = 0
    End If
    If (KeyAscii = 44) And _
    TextBox2.Text.IndexOf(",") > 0 Then
    KeyAscii = 0
    End If
    e.KeyChar = Chr(KeyAscii)
    End Sub
    Ultima modifica di Sonnyx74; 27-10-2014 a 18:35

  7. #7
    Utente di HTML.it L'avatar di Sonnyx74
    Registrato dal
    Oct 2014
    residenza
    Figline Valdarno
    Messaggi
    16
    Ciao jekisi,
    ho provato il tuo codice, perfetto mi fa vedere il risultato con il simbolo €, grazie mille, ma vorrei vederlo mentre scrivo gli altri valori.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da Sonnyx74 Visualizza il messaggio
    Ciao renygade,
    perdona la mia ignoranza, sono un pò agli inizi e non capisco bene cosa vuoi dire, il mio codice funziona esegue tutte le operazioni, se provo ad inserire altri valori tipo lettere o simboli non lo fa fare quindi non vedo il motivo di fare la verifica, già mi accetta solo numeri, magari quella dei valori può essere una buona idea Grazie.Comunque per le TexBox ho usato questa formula:

    Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
    Dim KeyAscii As Short = Asc(e.KeyChar)
    If KeyAscii < 48 And KeyAscii <> 24 And KeyAscii <> 8 And e.KeyChar <> "," And e.KeyChar <> "." Then
    KeyAscii = 0
    ElseIf KeyAscii > 57 Then
    KeyAscii = 0
    End If
    If e.KeyChar = "." Then
    KeyAscii = 44
    End If
    If TextBox2.TextLength = 0 And KeyAscii = 44 Then
    KeyAscii = 0
    End If
    If (KeyAscii = 44) And _
    TextBox2.Text.IndexOf(",") > 0 Then
    KeyAscii = 0
    End If
    e.KeyChar = Chr(KeyAscii)
    End Sub
    Aspetta un attimo, fammi capire.. Lavori con vb6 o vb.net? Perché se usi vb.net c'è la funzione IsNumeric http://msdn.microsoft.com/it-it/libr...(v=vs.90).aspx per verificare che l'utente sta digirando numeri.. I
    Comunque il mio suggerimento è questo: se tu vuoi che l'operazione venga eseguita e mostrata nella textbox devi intercettare l'inserimento dei numeri (evento textchange) nelle altre 2 textbox (minuendo e sottraendo). Quando in entrambi hai 2 numeri, allora solo in quel caso, esegui la sottrazione e mostri il risultato nella textbox differenza.

  9. #9
    Utente di HTML.it L'avatar di Sonnyx74
    Registrato dal
    Oct 2014
    residenza
    Figline Valdarno
    Messaggi
    16
    Io sto usando visual studio 2012, le soluzioni che trovo sono un mix tra il mio sapere(sufficiente) e quello che trovo su internet, quindi di sicuro anche per questo alcune cose non mi funzionano bene, se me lo spieghi solo a parole ho un pò di difficoltà ancora, di solito ho il mio libro di visual basic dietro ma a questo giro non me lo sono portato, ora mi studio un pò IsNumeric e ci riprovo, poi ti faccio sapere........Grazie mille !!!

  10. #10
    Utente di HTML.it L'avatar di Sonnyx74
    Registrato dal
    Oct 2014
    residenza
    Figline Valdarno
    Messaggi
    16
    Niente da fare ragazzi........... perdonatemi ma non sono assolutamente riuscito a farlo funzionare correttamente, in base alla parte di programma che ho scritto riuscite a darmi qualche indicazione pratica?
    Ne ho veramente provate di tutte, ho cercato in largo e in lungo ma niente, funziona ma funziona a mezzo di sicuro manca quel poco per farlo funzionare, adesso vedo il risultato in euro ma solo se ci clicco sopra con un tasto, le operazioni funzionano correttamente, ma non riesco a vedere il calcolo in diretta e a formattare le celle con valore in euro, vi posto nuovamente i codici delle texbox, ho messo solo la somma e una delle due textbox l'altra è formattata uguale:

    Private Sub TextBox32_Textchanged(sender As Object, e As EventArgs) Handles TextBox32.TextChanged, TextBox32.Leave
    Dim differenza As String
    differenza = CDbl(TextBox2.Text) - CDbl(TextBox4.Text)
    TextBox32.Text = String.Format(CDec(differenza).ToString("c2"))
    End Sub

    Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
    Dim KeyAscii As Short = Asc(e.KeyChar)


    If KeyAscii < 48 And KeyAscii <> 24 And KeyAscii <> 8 And e.KeyChar <> "," And e.KeyChar <> "." Then
    KeyAscii = 0
    ElseIf KeyAscii > 57 Then
    KeyAscii = 0
    End If
    If e.KeyChar = "." Then
    KeyAscii = 44
    End If
    If TextBox2.TextLength = 0 And KeyAscii = 44 Then
    KeyAscii = 0
    End If
    If (KeyAscii = 44) And TextBox2.Text.IndexOf(",") > 0 Then
    KeyAscii = 0
    End If
    e.KeyChar = Chr(KeyAscii)


    TextBox2.Text = String.Format(CDec(reitanlo).ToString("C2"))


    End Sub


    Vi prego aiutatemi !!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.