Nella stringa contenuta in Textbox.text dovresti trovare la coppia di
caratteri chr(13) e chr(10) in corrispondenza di dove è stato premuto invio.
Salutoni
Sergio
c = 0
For j = 1 To Len(Me.txtNota.Text)
If Mid(Me.txtNota.Text, j, 1) = Chr(13) + Chr(10) Then c = c + 1
Next j
MsgBox "Caratteri Invio n°" & c
mettendo anche Chr(13) & Chr(10) o untilizzando la costante vbCrLf ma non mi
funziona!!!!
"CSSoft" <cssof...@hotmail.com> ha scritto nel messaggio
news:b8tfqq$d8ukp$1...@ID-173193.news.dfncis.de...
Carissimo roberto, ti invito a riflettere sul fatto che un carattere non
sarà mai uguale a due caratteri.
Prova a studiare la funzione split
dim a as variant
a = split(me.txtnota.text, vbcrlf)
e guarda da quanti elementi è costituito il vettore restituito:
msgbox ubound(a)
Salutoni
Sergio
Se rileggi il codice che hai scritto vedrai che suona come:
"Se UN carattere in posizione x e' uguale a DUE caratteri allora..."
che naturalmente non puo' mai verificarsi.
Per fare un conteggio di caratteri invio puoi semplicemente sostituire con
If Mid(Me.txtNota.Text, j, 1) = vbCr 'cioe' 13, il primo della coppia
in generale, per il tuo problema di stampa, puoi provare con la funzione
Split, che usato con il parametro opportuno scompone il testo in un array
con i vari paragrafi, che puoi quindi stampare singolarmente.
Ciao
--
Luca Dormio - luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown
Spiacente, sono arrivato prima io ;-)
Salutoni
Sergio
> [Luca Dormio] scrisse:
> (snip)
>
> Spiacente, sono arrivato prima io ;-)
LOL :-)
Comunque in entrambi i casi, se l'andata a capo è stata fatta per
word-wrapping anziche inserendo (manualmente o da codice)
un Invio, la riga non viene spezzata... io preferisco leggere il testo
contenuto nella TextBox direttamente come è visualizzato, riga
per riga con la SendMessage.
Bye, G.
Signor pescatore dei miei stivali (;-) ), le ricordo che il nostro op ha
esplicitamente parlato del tasto invio, ed in tal ottica gli è stato
risposto.
Sul modo barbaro da lei utilizzato per andare a leggere i contenuti delle
text box multirighe, avrei poi molto da ridire...
Scherzi a parte....
Io preferisco leggere le righe separate dai ritorni a capo espliciti, poi,
se per esigenze di stampa sono troppo lunghe, spezzo ulteriormente. Di quali
e quanti sono i word wrap della text box non mi interesso assolutamente.
Salutoni
Sergio
> [Paperino] scrisse:
>> un Invio, la riga non viene spezzata... io preferisco leggere il testo
>> contenuto nella TextBox direttamente come è visualizzato, riga
>> per riga con la SendMessage.
>
> Signor pescatore dei miei stivali (;-) ),
LOL
Appropo', il tonno ha abbocato di brutto, senza nemmeno un'esca.
Amo luccicante, nudo e crudo, e... AAAAAMMMM !
> le ricordo che il nostro op ha esplicitamente parlato del tasto invio,
> ed in tal ottica gli è stato risposto.
In effetti *è* così. Se rileggi il post originale, però, ti accorgi che il
problema che lui vuole risolvere è proprio quello di avere delle linee
troppo lunghe, e le deve poi spezzare a mano. Questo perché
stampando di brutto il contenuto della textbox, le righe vanno a
capo solo dove ci sono i vbCrLf embedded, giusto ? Perchè allora
non leggere le righe già spezzate come sono nella textbox ?
> Sul modo barbaro da lei utilizzato per andare a leggere i contenuti delle
> text box multirighe, avrei poi molto da ridire...
Ne conosci uno migliore ? 8-) Sinceramente, mi interesserebbe...
> Scherzi a parte....
> Io preferisco leggere le righe separate dai ritorni a capo espliciti, poi,
> se per esigenze di stampa sono troppo lunghe, spezzo ulteriormente. Di
quali
> e quanti sono i word wrap della text box non mi interesso assolutamente.
Certo, esigenze diverse, soluzioni diverse :-). Io preferisco sfruttare
il word wrap fatto dalla textbox, e così evito di dovermi rifare gli stessi
calcoli già fatti dal sistema.
Bye, G.
Perchè parti dal presupposto (probabilmente da te imposto) che le dimensioni
dell'input coincidano con quelle dell'output. Di solito, se mi accorgo di
queste cose, e non sono in un momento di pigrizia totale, tendo ad evitare
questi legami.
Salutoni
Sergio
> [Paperino] scrisse:
Pensa che in un caso ho fatto il contrario, tempo fa... a seconda
dello spazio di stampa disponibile in pagina, ridimensionavo la
TextBox, poi stampavo quello che la TB visualizzava ;-).
Che poi è il consiglio che arriva dalla MS a proposito del bug
della RichTextBox...
Un Paperino che tira fuori gli scheletri dall'armadio.
Appunto: imponi le medesime dimensioni a input e output. Quale sia delle due
la "variabile indipendente" non modifica il concetto.
> Che poi è il consiglio che arriva dalla MS a proposito del bug
> della RichTextBox...
> Un Paperino che tira fuori gli scheletri dall'armadio.
Uhm... quale scheletro?
Me lo dici tu o devo andare di google?
Salutoni
Sergio
> [Paperino] scrisse:
>> Pensa che in un caso ho fatto il contrario, tempo fa... a seconda
>> dello spazio di stampa disponibile in pagina, ridimensionavo la
>> TextBox, poi stampavo quello che la TB visualizzava ;-).
>> Un Paperino che tira fuori gli scheletri dall'armadio.
>
> Uhm... quale scheletro?
Ehhh, quel programma. Una vera ciofeca immonda, e se lo dico
io che l'ho fatto ti puoi fidare :-).
> Appunto: imponi le medesime dimensioni a input e output. Quale sia delle
due
> la "variabile indipendente" non modifica il concetto.
Beh, _quel_ caso specifico doveva essere proprio fatto così,
era uno dei requisiti. In generale sono d'accordo con te.
Bye, G.
Quote:
>> Appunto: imponi le medesime dimensioni a input e output. Quale sia
>> delle due la "variabile indipendente" non modifica il concetto.
> Beh, _quel_ caso specifico doveva essere proprio fatto cosě,
> era uno dei requisiti. In generale sono d'accordo con te.
scusate se cerco di sterzare il 3ad un po OT ^_^;
sapete che farebbe il gigetto vostro ? (dai prendetemi come mascotte visto
che il wodkino e' sparito)
io leggerei la stringa, gli tolgo i vbcrlf (non tutti , solo le singole
occorrenze in modo da tenere e gestire gli spazi tra righe) e poi all'atto
dela stampa passo la stringa e spezzo in base all'uotput , si sa che nelle
Tbox multiline a volte si usa l'ivio a volte ci si accontenta del wordwrap !
Che me dite ?
--
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> http://www.ithn.it/
VB -> I.C.L.VB -> http://www.it-lang-vb.net/
> *Paperino* ci ha deliziati con queste righe
> scusate se cerco di sterzare il 3ad un po OT ^_^;
Perché OT ?
> sapete che farebbe il gigetto vostro ? (dai prendetemi come mascotte visto
> che il wodkino e' sparito)
> io leggerei la stringa, gli tolgo i vbcrlf (non tutti , solo le singole
> occorrenze in modo da tenere e gestire gli spazi tra righe) e poi all'atto
> dela stampa passo la stringa e spezzo in base all'uotput , si sa che nelle
> Tbox multiline a volte si usa l'ivio a volte ci si accontenta del wordwrap
!
> Che me dite ?
Che se uno ci vuole mettere apposta degli invii per andare a capo,
così glielo impedisci. :-P
Bye, G.
Quote:
>> Che se uno ci vuole mettere apposta degli invii per andare a capo,
> cosě glielo impedisci. :-P
bhe bisogna andare in contro a compromessi , io toglierei solo 1 [cr][lf]
per volta quindi se uno mi inserisce 2 invii di fila io tolgo solo il primo
lasciando il secondo per andare a capo cmq ...
Poi bisogna vedere chi ha la priorita' , se l'output , la maschera di input
, l'utilizzatore ecc...
Se nella app c'e' poco spazio per rappresentare l'uotput su stampa col tuo
metodo come faresti ? Ti tocca dimensionare il textbox di inserimento +
grande del form con le scroll bar oppure allargare la form per far spazio
alla textbox ... bho ! Ci saranno minimo un centinaio di strade diverse per
altrettanti bisogni diversi !