Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto URGENTISSIMO...HELP

 Qualcuno ha qualche suggerimento da darmi?
Devi fare una routine che ti spezzi la linea ogni tot caratteri, 
controllando prima la presenza dello spazio 'più vicino'' al punto di
rottura.
---
News2000 1.0b Beta tester version 
http://socket2000.8m.com

Salve,
qualcuno potrebbe aiutarmi con urgenza?
Lunedì devo cominciare ad usare un mio personale programmino.
Il quesito: ho una casella di testo, che prende circa metà form, e su
cui scrivo max 4 righe di testo. Orbene se alla fine di ogni riga
batto il tasto "enter" allora riesco, con una funzione, ad estrarre le
quattro righe, metterele in quattro variabili e stamparle con la
stessa lunghezza. Se però scrivo tutte le righe (la proprietà
multiline è true) di continuo senza mai battere "enter" quando stampo
mi viene una unica lunga riga che ovviamente non entra neppure sul
foglio.
Qualcuno ha qualche suggerimento da darmi?
Ringrazio chi gentilmente mi volesse aiutare.
Gradite risposte anche via e-mail:
vac...@krol.it
  oppure 
gio.v...@libero.it
Ciao
Giovanni

 wrote in message
Eql=OP353kQ5pykvtQkS0Q9kI1s=@4ax.com...


 wrote in message
85ocf3$49l$1...@bw107zhb.bluewin.ch...


 e io non ne conosco uno... quindi non so come si fa, in pratica.
Riciclo un messaggio che ho spedito giusto una settimana fa.
Per qualche altro uso della SendMessage, comunque, vedi:
http://members.xoom.it/CesareRizzi/
_________________________________
Puoi usare l'API SendMessage. Ti permette di leggere il numero
di righe della (Rich)TextBox, e il testo delle singole righe.
Inserisci in un modulo questo:
____________________________
Option Explicit
Public Const EM_GETLINE = &HC4
Public Const EM_GETLINECOUNT = &HBA
Public Const EM_LINEINDEX = &HBB
Public Const EM_LINEFROMCHAR = &HC9
Public Const EM_SETSEL = &HB1
Public Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByRef lParam As Byte) As Long
Public Const MaxCaratteri = 1500   ' Scale this to size of text box
Public buff(MaxCaratteri) As Byte
____________________________
...poi aggiungi nel form questa funzione:
____________________________
Function fGetLine(Box As Control, LineNumber As Long) As String
    'Dim MAX_CHAR_PER_LINE As Integer
    Dim byteLo%
    Dim byteHi%
    Dim Buffer$
    Dim K As Integer
    Dim x%
    ' This function fills the buffer with a line of text
    ' specified by LineNumber from the text box control.
    ' The first line starts at zero.
    byteLo% = MaxCaratteri And (255)  '[changed 5/15/92]
    byteHi% = Int(MaxCaratteri / 256) '[changed 5/15/92]
    Buffer$ = Chr$(byteLo%) + Chr$(byteHi%) + Space$(MaxCaratteri - 2)
    ' [Above line changed 5/15/92 to correct problem.]
    For K = 0 To MaxCaratteri
        buff(K) = 255
    Next K
    x% = SendMessage(Box.hwnd, EM_GETLINE, LineNumber, buff(0))
    fGetLine$ = ""
    For K = 0 To MaxCaratteri
        If buff(K) = 255 Then Exit For
        fGetLine = fGetLine & Chr$(buff(K))
    Next K
End Function
_____________________________
Ottieni le singole righe con questo codice:
_____________________________
    Dim NumeroLinee As Long
    Dim Linee As Long
    Dim RigaDiTesto As String
    NumeroLinee = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)
    ' legge il numero di linee
    For Linee = 0 To NumeroLinee
        RigaDiTesto =  fGetLine(Text1, Linee)
        Debug.Print RigaDiTesto
    Next
_____________________________
Se hai ancora problemi scrivimi.
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi
    sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
       ... e nell'help in linea !
---------------------------------------------
Real E-address: 
gaet...@hotmail.com