Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB 6.0] Text Box multiline: individuare riga

    Buongiorno a tutti...

    mi serve assolutamente un modo per:

    - Sapere il contenuto della singola riga di un Textbox
    multiline.
    - Cambiare il contenuto della singola riga dello stesso.

    Grazie ad eventuali risposte.

  2. #2
    beh,

    dal numero di risposte sembrerebbe impossibile...
    sarebbe la prima cosa in visual basic che è impossibile, difatti non credo lo sia: ci dovrà pur essere un modo!!!

    HELP ME!!!

  3. #3
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    un sistema un po' "casereccio" l'ho trovato.

    per provarlo metti su un form un textbox Multiline con scrollbar Verticale e un CommandButton, poi usa questo codice:

    codice:
    Function Dividi(Stringa As String, LargMax As Integer)
    
    Dim Parole() As String
    Dim Righe() As String
    Dim FraseIntera As String
    Dim P As Long, R As Long
    
    Set Me.Font = Text1.Font
    
    R = 0
    Parole = Split(Stringa, " ")
    ReDim Preserve Righe(R)
    For P = 0 To UBound(Parole)
        If Me.TextWidth(Righe(R) & Parole(P) & " ") > LargMax Then
            R = R + 1
            ReDim Preserve Righe(R)
        End If
        Righe(R) = Righe(R) & Parole(P) & " "
    Next
    
    FraseIntera = Join(Righe, vbCrLf)
    Righe = Split(FraseIntera, vbCrLf)
    
    Dividi = Righe
    
    End Function
    includi anche questa routine nell'evento click del pulsante:
    se vuoi così com'è impostato ti restituisce il contenuto della 5ª riga... ma puoi variarlo cambiando il valore della variabile.

    codice:
    Private Sub Command1_Click()
    Dim Frasi() As String
    NumFrase = 5
    Frasi = Dividi(Text1.Text, Text1.Width - 345) '345 è approssimativamente la larghezza della scrollbar
    MsgBox Frasi(NumFrase - 1)
    End Sub
    Boolean

  4. #4
    hei,

    grazie per il consiglio!
    ma non ho capito niente.
    poi ho ricontrollato il codice e mi è venuta una improvvisa illuminazione...

    private sub ......
    Righe = Split(FraseIntera, vbCrLf)
    msgbox righe(n)
    end sub.

    poi resta ancora un problemino: come immettere un valore nella tal riga della textbox?

    forse si potrebbe fare:


    riga(10) = "ciao"
    text1.text = ""
    for i=1 to n then
    text1.text=text1.text & vbcrlf & riga(i)
    next i

    se hai un'idea migliore fatti avanti...
    (se le righe della textbox fossero molte, il ciclo for next, potrebbe essere troppo lento)...

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.