• Martes 12 de Noviembre de 2024, 20:48

Autor Tema:  Re: Reconstruir un texto a partir de una BD  (Leído 1819 veces)

Jessuss

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« en: Lunes 26 de Mayo de 2003, 18:22 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« Respuesta #1 en: Martes 27 de Mayo de 2003, 01:21 »
0
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

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« Respuesta #2 en: Martes 27 de Mayo de 2003, 08:33 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« Respuesta #3 en: Martes 27 de Mayo de 2003, 18:19 »
0
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

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« Respuesta #4 en: Miércoles 28 de Mayo de 2003, 08:44 »
0
Gracias en cuanto lo halla probado te comento que tal.

Saludos y gracias de nuevo.:gracias:

Jessuss

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« Respuesta #5 en: Miércoles 28 de Mayo de 2003, 11:31 »
0
Gracias J.M.Movilla por tu ayuda, la verdad que ha sido una muy buena base la que me has dado, solo he tenido que cambiar un poco lo que me has proporcionado, está casi hecho, para que veas como lo he logrado te pongo mi codigo, a ver que te parece:

Open "C:prueba" For Output As #1
                rdoPalabras.MoveLast
                Longitud = rdoPalabras!Fin
                rdoPalabras.MoveFirst
                While rdoPalabras.EOF = False
        'en "x" guardamos la 1ª línea del fichero seleccionado
                    x = rdoPalabras!linea
                    Texto = ""
                    Do While rdoPalabras!linea = x
                   'METER EN UNA VARIABLE EL TEXTO DEL FICHERO
                        Longitud = rdoPalabras!Fin
                        rdoPalabras.MoveNext
                       If rdoPalabras.EOF <> True Then Longitud = rdoPalabras!Inicio - Longitud
                        rdoPalabras.MovePrevious
                        Texto = Left(Texto, rdoPalabras!Inicio) & rdoPalabras!Palabra & String(Longitud, " ")
                        Inicio = rdoPalabras!Inicio
                        rdoPalabras.MoveNext
                       If rdoPalabras.EOF = True Then Exit Do
                    Loop
                    Texto = Texto & Chr(13)
                    Print #1, Texto
                Wend
                Close #1  'Cierra el fichero

Falta poco para lograrlo perfecto.
Un cordial saludo. :jumpie:

Jessuss

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Reconstruir un texto a partir de una BD
« Respuesta #6 en: Miércoles 28 de Mayo de 2003, 12:43 »
0
Logradooooooooo!!!!, asi queda el codigo:

Open "C:coneurofueph8prueba" For Output As #1
            rdoPalabras.MoveLast
            Longitud = rdoPalabras!Fin
              '  Texto = String(Longitud, " ")
            rdoPalabras.MoveFirst
            Inicio = 0
            Do While Not rdoPalabras.EOF
        'en "x" guardamos la 1ª línea del fichero seleccionado
                x = rdoPalabras!linea
                Texto = " "
                Do While rdoPalabras!linea = x
                   'METER EN UNA VARIABLE EL TEXTO DEL FICHERO
                    Longitud = rdoPalabras!Fin
                    rdoPalabras.MoveNext
                    If rdoPalabras.EOF <> True Then Longitud = rdoPalabras!Inicio - Longitud
                    rdoPalabras.MovePrevious
                    Texto = Texto & String(rdoPalabras!Inicio - Inicio, " ") & rdoPalabras!Palabra '& String(Longitud, " ")
                    Inicio = rdoPalabras!Fin
                    rdoPalabras.MoveNext
                    If rdoPalabras.EOF = True Then Exit Do
                Loop
                Texto = Texto & Chr(13)
                Print #1, Texto
            Loop
            Close #1  'Cierra el fichero


Hasta la proxima, y gracias por enseñarme  el camino. :jumpie: :good:

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Reconstruir un texto a partir de una BD
« Respuesta #7 en: Miércoles 28 de Mayo de 2003, 17:56 »
0
Da gusto comprobar que lo que mejor funciona no es el programa informático sino la comunicación interpersonal!!!
Estoy contigo.