+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

Sostituire . con ,

  1. #1
    panatronic non è in linea Scolaretto
    Buonasera a Tutti.

    Chiedo scusa per la mancanza da tanto tempo....cercherò di rimediare..

    In un TxtBox devo poter sostituire il carattere . (punto) con il carattere , (virgola). A dire il vero, il carattere . e , con un carattere che ho in una variabile.
    In una variabile ho il carattere esatto per separare i decimali:
    Dim culture As System.Globalization.CultureInfo
    Public separatoreDecimale As String
    Dim ci As New CultureInfo("it-IT", True)
    culture = System.Threading.Thread.CurrentThread.CurrentCultu re
    separatoreDecimale = culture.NumberFormat.NumberDecimalSeparator

    quindi devo sostituire i due caratteri che un utente può utilizzare indipendentemente con quello esatto.
    Ho messo nell'evento KeyPress del TxtBox questo codice:
    If e.KeyChar = Char.ConvertFromUtf32(46) Or e.KeyChar = Char.ConvertFromUtf32(44) Then

    End If

    In questo modo intercetto il carattere ma non riesco a capire come sostituire quello messo.

    Grazie.
    ℹ️ Leggi di più su panatronic ...

  2. #2
    panatronic non è in linea Scolaretto
    Con l'aiuto di un amico ho risolto così:

    If e.KeyChar = "," Or e.KeyChar = "." Then
    If TxtPrezzoPubblico.Text.IndexOf(separatoreDecimale) > 0 Then
    e.Handled = True
    Exit Sub
    Else
    If e.KeyChar = "." Or e.KeyChar = "." Then
    TxtPrezzoPubblico.AppendText(separatoreDecimale)
    e.Handled = True
    Exit Sub
    End If
    End If
    End If
    e.Handled = Not Char.IsNumber(e.KeyChar)


    Altro problema superabile per ora con i tasti freccia e il tasto Canc, è che non va il tasto BackSpace. Sicuramente perchè con l'ultima riga,vengono accettati solo caratteri numeri...
    Grazie mille a tutti.
    ℹ️ Leggi di più su panatronic ...

  3. #3
    L'avatar di elisab
    elisab non è in linea Topo di biblioteca
    Ciao
    prova a dare un'occhiata a questo sistema http://forum.masterdrive.it/visual-b...63/#post152465
    Oltre a togliere il . io inserirei fra i caratteri non validi anche: {}€

    If TxtPrezzoPubblico.Text.IndexOf(separatoreDecimale) > 0
    
    Se il separatore manca l'indice restituito è -1, con il sistema che usi la text accetta un testo di questo tipo ,0,,,,,,,,,,, (trova come indice della prima virgola 0 e consente d'inserirne più di una).

    Ciao
    ℹ️ Leggi di più su elisab ...

  4. #4
    panatronic non è in linea Scolaretto
    Grazie Elisab...
    Ottimo anche il problema del testo ,0,,,,,,,,,
    Ora provo a risolverlo. Come? Mo vediamo.

    Grazie mille.
    ℹ️ Leggi di più su panatronic ...

  5. #5
    Alfaone78 non è in linea Scolaretto
    Ciao,

    Quote Originariamente inviato da panatronic Visualizza il messaggio
    Grazie Elisab...
    Ottimo anche il problema del testo ,0,,,,,,,,,
    Ora provo a risolverlo. Come? Mo vediamo.

    Grazie mille.
    attento a non tralasciare un aspetto importante:il taglia ed incolla.
    Se l'utente ci incolla dentro un testo con caratteri non "buoni" quello lo accetta eprche' non fai la convalida.
    Ti consiglio di mettere del codice di controllo nel validate del controllo...
    ℹ️ Leggi di più su Alfaone78 ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Sostituire carattere
    Da NetSkin nel forum PHP
    Risposte: 2
    Ultimo Post: 08-06-2007, 09:43
  2. sostituire <p> con <br><br>
    Da andreathedove nel forum ASP 3, ASP .Net
    Risposte: 5
    Ultimo Post: 04-06-2005, 16:40
  3. Sostituire Windows95
    Da giefpi nel forum Microsoft Windows
    Risposte: 5
    Ultimo Post: 10-04-2005, 18:07
  4. Sostituire record con VBA
    Da Kovacevic83 nel forum Microsoft Word
    Risposte: 10
    Ultimo Post: 20-12-2004, 12:58
  5. sostituire il punto con virgola
    Da NOSIRF nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 22-12-2003, 22:00