Programación General > Visual Basic 6.0 e inferiores
Sobre Grabar En Un Richbox
(1/1)
Jamaicol:
A ver, se que soy un cansino y un pesao, pero abro este nuevo foro a ver si algun iluminado me ilumina el camino y tal, bueno, al tema, el post de abajo sobre los margenes es mio, y lo de los margenes esta resueltisimo (gracias a CPmario, un verdadero makina) pero el problema que tengo ahora es que yo quiero guardar el texto como texto plano, pero claro quiero que me respeste el texto con las frases que se van haciendo en la hoja que yo veo, esto es, el texto cuando llega al margen, salta a la linea de abajo, creando una nueva linea, pero cuando lo guardo en un texto plano, me sale solo una linea larguisimaaaaa, quiero que me respete esos saltos en el archivo de texto, o sea, que en vez de un fin de linea inexistente me inserte un retorno de carro al llegar al margen derecho.
No se si me he explicado, si queda alguna duda, pues no dudeis en preguntar. :lightsabre:
cpmario:
Una manera de abordar tu problema es que antes de guardar el documento lo modifiques con la función WordWrap, la obtuve en la red y la adapté a mis programas.
Llama a la función WordWrap como el siguiente ejemplo, toma en cuenta que el número 40 es el tamaño de la línea (en caracteres).
txtRtf.Text = WordWrap(txtRtf.Text, 40)
--- Código: Text ---Function WordWrap(Expression As String, Length As Integer) As String Dim BufferCrLf() As String Dim BufferSpace() As String Dim Buffer As String Dim k As Long Dim j As Long Dim Count As Long On Error GoTo ErrorWordWrap BufferCrLf() = Split(Expression, vbCrLf) For k = 0 To UBound(BufferCrLf()) If Len(BufferCrLf(k)) <= Length Then Buffer = Buffer & BufferCrLf(k) & vbCrLf Else BufferSpace() = Split(BufferCrLf(k), " ") Count = 0 For j = 0 To UBound(BufferSpace()) Count = Count + Len(BufferSpace(j)) + 1 If (Count <= Length) Then Buffer = Buffer & BufferSpace(j) & " " Else Count = 0 Buffer = Buffer & vbCrLf & BufferSpace(j) & " " Count = Len(BufferSpace(j)) + 1 End If Next j Buffer = Buffer & vbCrLf End If Next k WordWrap = Buffer Exit FunctionErrorWordWrap: 'coloca aquí el manejo de erroresEnd Function
---------------------
"Corrector Ortográfico de Notas", freeware, utilidad para programadores.
Programado en VB6, con diccionario propio.
http://consultapractica.aztecaonline.net/index2.html
Jamaicol:
La funcion esta genial, pero ¿que pasa cuando las mayusculas ocupan mas que las minusculas?(que es lo que pasa) tendria que ser algo asi pero no para caracteres si no
para cm. De todas formas he pensado que de alguna forma ha de indicar el programa a la text box que salte de linea (con un caracter especial) si ese al guardar lo sustituyo por el chr(13) estaria solucionado, pero vamos no se por donde empezar a buscar ni na de na.
Navegación
Ir a la versión completa