Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Encontrar diferencias entre versiones de un rtf (https://www.clubdelphi.com/foros/showthread.php?t=89662)

santiago14 10-01-2016 14:37:00

Encontrar diferencias entre versiones de un rtf
 
Buenas, me explico.
Estoy buscando la manera de tener una ventanita donde se puedan ver las diferencias entre dos versiones de un "rtf"
He encontrado una página muy buena donde están los ejemplos y fuentes de TextDiff para Delphi, sirve y mucho pero solamente compara texto plano. A propósito, la página es: http://www.angusj.com/delphi/textdiff.html

¿No habrá algo parecido por ahí pero para rtf?

Yendo un poco al problema en sí. Tengo una ventana en la que trabajan (un pseudo Word) y luego almacenan lo que hicieron en la BBDD (Firebird 2.5). En otro momento, otro usuario ingresa y hace modificaciones (podrían ser del tipo "centré el título" y le puse "negrita") Me gustaría que en las auditorías pudiera ver el registro original y el cambio en dos ventanas paralelas, tipo TextDiff pero para un rtf.

Bueno, espero haber sido claro.

Gracias.

Casimiro Notevi 10-01-2016 20:04:37

Cita:

Empezado por santiago14 (Mensaje 501133)
A propósito, la página es: http://www.angusj.com/delphi/textdiff.html

^\||/^\||/^\||/
Por cierto, mira esto, es perl, pero lo mismo te sirve para algo.

mamcx 11-01-2016 02:08:06

Dependiendo de que tan sofisticado y preciso sea eso, puedes usar lo mismo que con texto plano (ose4a: La fuente RTF). Lo pones todo como texto plano, haces diff y luego recuerdas que numero de linea salio diferente, y luego le marcas las lineas (y dejas que el usuario haga el resto de la diferenciacion ;) )

Esa seria la forma mas simple posible.

De ahi, el paso que sigue es hacer un parser. Lo que complica la cosa pero lo haria muy preciso.

Sin embargo, podrias reusar un programa de diff como:

http://winmerge.org/

http://gnuwin32.sourceforge.net/packages/diffutils.htm


La franja horaria es GMT +2. Ahora son las 15:37:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi