Programación General > Visual Basic 6.0 e inferiores

 Re: Reconstruir un texto a partir de una BD

(1/2) > >>

Jessuss:
Hola a todos, necesito por favor vuestra ayuda:

Yo tengo un texto desmenbrado en una BD de Access, es decir, de un texto tengo todas las palabras que hay en el dentro de la BD (Palabra considero toda aquella que va entre espacios) con su linea, y posicion final e inicial de la palabra dentro del texto.
Ahora necesito volver a reconstruir el texto con las palabras que tengo en la BD y lo he de hacer editando alguna de ellas en Rojo y Negrita por lo que tengo que usar creo solamente un  RichTextBox, ¿como puedo hacer esto?

Gracias de antemano y un Saludo. :question:

J.M.Movilla:
Si mal no comprendo, ¿quieres decir que tienes una DB con algo parecido a esto?

Fila -- Inicio -- Palabra -- Fin
---1 ------ 1 --- Hola ---------- 4
---1 ------ 5 --- amigo -------- 9
---1 ----- 10 --- Juan ---------13
---2 ----- 16 --- Adiós ------- 20

Y quieres componer esto:

Hola amigo Juan
Adiós

Si te he de ser sincero, eso es lo que yo interpreto de tu mensaje, pero con mayor sinceridad aun... pienso que se trata de una locura... Claro que de loco a genio hay un pasito muy corto.

A la espera de tus noticias, saludos afectuosos

Jessuss:
Hola J.M.Movilla, efectivamente, eso es justamente lo que intento hacer, ya se que es una locura pero....

He de hacerlo, pero no se como.

Gracias por tu ayuda y tu interés.



:question:

J.M.Movilla:
La verdad es que no sé qué podré decirte además de que me parece incomprensible... supongo que se trate de un ejercicio práctico de examente para matrícula de honor...

Vamos a ver, de todas formas, si no me enrollo y no te enredo a ti más...

Como es de suponer que el campo que yo he llamado "FIN" de la última palabra contenga la situación "detrás de esa última palabra"... podemos, tras leer la Tabla1 en un rsPrueba hace rsPrueba.MoveLast y tomar

LongituddelTexto = rsPrueba!Fin

Bueno, pues ahora te compones un texto en blanco con esa longitud:
Buf = String(LongituddelTexto, " ")

Vas al principio de la Tabla1 y sustituyes en ese texto en blanco cada trozo (desde Inicio hasta Fin) por el contenido del campo Palabra

rsPrueba.MoveFirst
Do While not rsPrueba.Eof
Buf = Left( Buf, rsPrueba!Inicio) & rsPrueba!Palabra & Mid( Buf, rsPrueba!Fin)
rsPrueba.MoveNext
Loop

Añadimos un retorno de carro: Buf = Buf & chr(10) & chr(13)

y Santas Pascuas...

Seguro que necesitarás hacer modificaciones, sobre todo en el tratamiento de los campos, dependiendo de cómo abras la BD; pero la idea creo que sería esa, y... OJALA TE FUNCIONE...

Jessuss:
Gracias en cuanto lo halla probado te comento que tal.

Saludos y gracias de nuevo.:gracias:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa