Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203

    [VB6] Textbox a capo ogni 10 caratteri

    Ciao a tutti,

    ho bisogno di un aiuto,

    ho una textboxt Text1

    in pratica ogni 10 caratteri immessi dall'utente il testo dovrebbe andare a capo
    in automatico

    come posso fare?

    Grazie mille a tutti!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Usa l'evento KeyPress (o anche KeyDown o KeyUp) che si verifica ad ogni carattere digitato. Controlla la lunghezza della proprietà Text e, se è il caso, aggiungi una coppia di caratteri vbCrLf.
    Tieni conto anche di questi due caratteri nel verificare la lunghezza: li dovrai aggiungere quando il testo è 10 caratteri, poi quando è 22, 34 ...

    Naturalmente la TextBox deve avere la proprietà MultiLine impostata a True.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    ti ringrazio per la risposta,

    si ho provato un pò ma senza successo, proverò ancora e ti farò sapere

    Grazie

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da S0nic
    ti ringrazio per la risposta,

    si ho provato un pò ma senza successo, proverò ancora e ti farò sapere

    Grazie
    Mostra il codice delle tue prove ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Public DinLenght As Integer


    Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)

    Dim MaxLenght As Integer


    MaxLenght = 10

    DinLenght = DinLenght + 1

    If DinLenght > MaxLenght Then

    Text2.Text = Text2.Text & vbCrLf
    DinLenght = 0

    End If

    End Sub

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    allora, ho un pò risolto così
    ma resta il problema che il contatore aumenta ance se premo un tasto tipo freccette, invio o concello una parte di testo...

    Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)

    Dim MaxLenght As Integer
    Dim TestoAttuale As String

    TestoAttuale = Text2.Text
    MaxLenght = 10

    DinLenght = DinLenght + 1

    If DinLenght > MaxLenght Then

    Text2.Text = TestoAttuale & vbCrLf
    DinLenght = 0
    Text2.SelStart = Len(Text2.Text)
    End If

    End Sub


    EDIT:

    dimenticavo, in realtà non va bene nemmeno con questo ecento keydown ne tanto meno keypress

    in quanto spesso non è realmente l'utente ad inserire il testo manualmente
    ma una procedura che popola quella TextBox, in quest'ultimo caso il testo non verrà riportato a capo ogni 10 caratteri.

    avete suggerimenti ?

    Grazie ancora

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    scusate i vari reply.

    ho pure provato con questa funzione e richiamandola dall'evento _Change della TextBox
    ma il tutto funziona solo se l'utente digita all'interno della casella di testo


    Public Function TestoACapo()


    Dim TestoAttuale As String

    TestoAttuale = Text2.Text


    If Len(Text2.Text) = MaxLenght Then

    MaxLenght = MaxLenght + 12

    Text2.Text = TestoAttuale & vbCrLf
    Text2.SelStart = Len(Text2.Text)


    End If


    End Function

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Beh, le indicazioni che ti avevo dato erano diverse. Naturalmente non sei obbligato a segurle, ma potresti almeno provarle.
    Non devi "contare" i caratteri digitati, ma "misurare" la lunghezza del testo.
    scusate i vari reply.
    Ecco appunto, non li fare. Inoltre rendi il codice più leggibile usando gli appositi tag delimitatori.

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi spiegare meglio le varie modalità di modifica: utente e procedura perchè non è pensabile indovinare come avviene la modifica del testo.

    A parte tutto, io taglierei la testa al e manterrei il testo formattato in un secondo controllo quindi l'utente o la procedura possono scrivere finchè vogliono, ma la formattazione la eseguo nel secondo controllo, altrimenti hai voglia a correre dietro a tutti gli eventi....

    Ti basta solo l'evento Change.


  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Originariamente inviato da Grumpy
    Beh, le indicazioni che ti avevo dato erano diverse. Naturalmente non sei obbligato a segurle, ma potresti almeno provarle.
    Non devi "contare" i caratteri digitati, ma "misurare" la lunghezza del testo.

    Ecco appunto, non li fare. Inoltre rendi il codice più leggibile usando gli appositi tag delimitatori.

    scusami, è che essendo un novellino non riesco a fare tutto!


    Originariamente inviato da gibra
    Devi spiegare meglio le varie modalità di modifica: utente e procedura perchè non è pensabile indovinare come avviene la modifica del testo.

    A parte tutto, io taglierei la testa al e manterrei il testo formattato in un secondo controllo quindi l'utente o la procedura possono scrivere finchè vogliono, ma la formattazione la eseguo nel secondo controllo, altrimenti hai voglia a correre dietro a tutti gli eventi....

    Ti basta solo l'evento Change.


    ok grazie
    vedo se riesco a trovare qualcosa per la formattazione.



    in pratica è un piccolo programma dove vi sono 2 textbox e 1 commandButton

    in text1 scrivo il testo
    premento il command button entra in gioco la funzione Base64Encode
    che va a scrivere l'output in text2.

    Text2 dovrebbe andare a capo ogni tot di caratteri.

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.