PDA

View Full Version : [vb6]chat con MSCOMM


motogpdesmo16
06-03-2005, 19:11
Ho realizzato un programma che permette di scambiare stringhe di testo sfruttando la porta RS-232. Una chat insomma.

Il problema è che per la visualizzazione dei messaggi inviati/ricevuti ho utilizzato una listbox, non riuscendo a fare andare a capo rigo gli stessi messaggi usando una normale textbox.
Qualcuno sa come poter fare per ovviare alla listbox (troppo "rigida") e inserire una textbox con la possibilità di fare andare a capo le stringhe di testo?

Esempio:
*utente1 scrive...-->compare nella textbox
*utente2 scirve-->compare nella textbox a capo rigo rispetto a quanto scritto da utente 1
* e così via...


spero di essere stato chiaro.
Inoltre vorrei sapere se è difficile gestire il trasferimento dei file (simulando un po' quello che avviene con MSN Messenger) utilizzando l'oggetto MSCOMM.
grazie

71104
06-03-2005, 22:46
per andare a capo basta che a ogni messaggio ci aggiungi la sequenza CRLF, che vuol dire "Carriage Return - Line Feed"; non ricordo esattamente quali siano i codici ASCII di quei due caratteri perché io scrivo in C e uso sempre la forma "\r\n", ma mi pare che il newline (il carattere '\n') fosse il numero 13 (in base 10), non vorrei sbagliarmi... l'altro non mi ricordo :(
per l'oggetto MSCOMM non so dirti, non lo conosco.

matpez
06-03-2005, 23:15
E' giusto come dice 71104, in VB basta che metti & VbCrLf alla fine della tua assegnazione alla textbox ed il gioco è fatto.

Miraccomando prima devi impostare la tua textbox come multilinea e se vuoi anche attivare la scrolbar verticale, altrimenti dopo un po' il testo nn lo vedi più.



Es:

text1=""
text1 = text1 & "ciao" & VBCrLf
text1 = text1 & "dany" & VBCrLf

motogpdesmo16
07-03-2005, 14:22
sbagliavo quindi a inserire manualmente &Chr(13) & chr (10) alla fine di ogni invio??

grazie per la dritta comunque (sapevo già del multilinea).
Nessuna idea riguardo anche il trasferimento dei file?

71104
07-03-2005, 14:31
non sbagliavi, vanno semplicemente inseriti al contrario: prima il 10 e poi il13 ;)

motogpdesmo16
07-03-2005, 20:57
Originariamente inviato da 71104
non sbagliavi, vanno semplicemente inseriti al contrario: prima il 10 e poi il13 ;)

grazie per l'ulteriore delucidazione allora!!

riguardo il trasferimento di un file invece??
sai darmi ulteriori informazioni?
grazie