Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - isolare caratteri in textbox
Forum - Visual Basic 6 - isolare caratteri in textbox

Avatar
maurizio74 (Normal User)
Pro


Messaggi: 116
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 11:26
Lunedì, 30/03/2009
Questo topic è stato chiuso dal moderatore

Ciao a tutti...
qualcuno saprebbe dirmi che funsione utilizzare per avere un risultato del genere???
esempio io ho un textbox nel quale ci puo' essere una variabile qualsiasi..
io vorrei che mi togliesse un carattere alla volta ad ogni click da destra verso sinistra
pero' tutte le volte che trova una determinato carattere non lo deve togliere ma saltarlo..
mi spiego meglio se ad esempio vorrei vedere neltexbox il solo carattere I e la variabile e topolino il risultato od ogni click dovrebbe essere topolin topoi topi toi ti i spero di essere stato chiaro attendo aiuti io con questa funzione If Len(display.Text) Then
display.Text = Left(display.Text, Len(display.Text) - 1) riesco a togliere da destra verso sinistra un carattere all volta ma la I non riesco a salvarla attendo aiuti....

EDIT: titolo troppo generale

Ultima modifica effettuata da GrG il 30/03/2009 alle 17:25
PM
Avatar
tippolo (Normal User)
Pro


Messaggi: 157
Iscritto: 21/09/2008

Segnala al moderatore
Postato alle 13:38
Lunedì, 30/03/2009
Quello che mi viene in mente è simulare il backspace [Chr(8)] nell'evento click dandogli la tua condizione, ovvero quando incontra una I invece di cancellarla la ignora e sposta il cursore di una posizione a sinistra per poi cancellare l'altro carattere

PM
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 116
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 15:20
Lunedì, 30/03/2009
Grazie per la risposta ma come si fa a simulare il backspace?

EDIT: Non scrivere in maiuscolo perchè equivale ad urlare, leggi meglio il post di tippolo infatti già ti ha detto come si fa, ho levato quella frase insignificante "postato originariamente da tippolo" senza che sotto hai riportato poi nessun testo....comunque aspetta 2 min che ti sto formulando la risposta.

Ultima modifica effettuata da GrG il 30/03/2009 alle 16:59
PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 17:24
Lunedì, 30/03/2009
mi saresti d'aiuto se mi dici precisamente a cosa ti serve...

PM
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 19:57
Lunedì, 30/03/2009
io ho optato per l' uso delle proprietà sellenght, selstart, e seltext...

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Text1_Click()
  2. jolly = x 'questo è il carattere che non deve essere cancellato
  3. start = 1
  4.     If (Mid(Text1, Len(Text1) - start + 1, 1) = jolly) Then start = 2
  5. Text1.SelStart = Len(Text1) - start
  6. Text1.SelLength = 1
  7. Text1.SelText = ""
  8. End Sub



questo codice va bene solo se hai un solo carattere jolly, se la stringa ha + caratteri, devi impletantare il codice con un ciclo

PM
Avatar
jibe71 (Normal User)
Rookie


Messaggi: 26
Iscritto: 04/10/2008

Segnala al moderatore
Postato alle 7:44
Martedì, 31/03/2009
con le dovute attenzioni e modifiche...
Ma cosa devi fare esattamente?
Private Sub Command1_Click()
jolly = "i"

If Len(Text1.Text) > 0 Then
    inizio = Left(Text1.Text, Len(Text1.Text) - 1)
    ultima_lettera = Right(Text1.Text, 1)
    If ultima_lettera = jolly Then
        inizio = Left(inizio, Len(inizio) - 1)
        Text1.Text = inizio & ultima_lettera
    End If
    If ultima_lettera <> jolly Then
        Text1.Text = inizio
    End If
End If
End sub

PM
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 116
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 9:14
Martedì, 31/03/2009
Ti ringrazio con il tuo aiuto ho risolto tutto....
praticamente dovevo eliminare numeri prima e dopo la virgola
e volevo che mi rimanesse la virgola fissa nel text box...
grazie ancora

PM
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 116
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 9:16
Martedì, 31/03/2009
Ti ringrazio jibe71 con il tuo aiuto ho risolto tutto....
praticamente dovevo eliminare numeri prima e dopo la virgola
e volevo che mi rimanesse la virgola fissa nel text box...
grazie ancora

PM
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 116
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 15:35
Giovedì, 09/04/2009
Ciao jibe71 ti ricordi qualche settimana fa mi hai dato questa funzione

Private Sub Command1_Click()
jolly = "i"
If Len(Text1.Text) > 0 Then
    inizio = Left(Text1.Text, Len(Text1.Text) - 1)
    ultima_lettera = Right(Text1.Text, 1)
    If ultima_lettera = jolly Then
        inizio = Left(inizio, Len(inizio) - 1)
        Text1.Text = inizio & ultima_lettera
    End If
    If ultima_lettera <> jolly Then
        Text1.Text = inizio
    End If
End If
End sub
del quale ha funzionato perfettamente e tene ringrazio... ora sempre riguardo questa funzione
mi servirebbe una funzione che quando premo il tasto canc ce
di una calcolatrice che ho fatto, mi cancelli l'ultima cifra ma
anche mi sposti o mi tolga il punto di divisione migliaia tipo da 1.000.000 a 100.000
hai qualche dritta in merito?????   grazie anticipatamente...

Edit: Hai già fatto un topic con questo problema (infatti andava "affrontato" a parte) e lo hai risolto. Quindi qui chiudo.

Ultima modifica effettuata da GrG il 09/04/2009 alle 16:34
PM