Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Visualizar texto con Markdown (https://www.clubdelphi.com/foros/showthread.php?t=96738)

jars 12-06-2024 21:34:11

Visualizar texto con Markdown
 
Hola Grupo.
En una App con Delphi 7 recibo de una API texto con lenguaje MarkDown y debo mostrarlo en un RichEdit.
Hay alguna libreria o componente para interpretarlo?

Gracias.

marco3k 12-06-2024 23:23:28

Lo que se me ocurre ese texto que te genera la api guardalo con extension rtf y desde delphi con un control richedit debería reconocer el formato rtf y abrirlo directamente.

dec 13-06-2024 08:12:10

Hola a todos,

Cita:

Empezado por marco3k (Mensaje 556063)
Lo que se me ocurre ese texto que te genera la api guardalo con extension rtf y desde delphi con un control richedit debería reconocer el formato rtf y abrirlo directamente.

Haciendo esa prueba, realmente, se pierde el formato, es decir, el RTF muestra el "texto plano" del archivo "Markdown", pero, no formatea su contenido como se espera: sería como mostrar el "Markdown" en un "TMemo".

Tal vez exista otra solución, pero, una posibilidad es usar esta librería u otra similar, que, convierte el "markdown" a HTML, y, ya podríamos mostrar dicho HTML usando un "TEdgeControl", por ejemplo.

jars 13-06-2024 14:19:31

Pero esa librería no es para Delphi 7, o si?

dec 13-06-2024 17:42:28

Hola a todos,

Cita:

Empezado por jars (Mensaje 556079)
Pero esa librería no es para Delphi 7, o si?

Pues... no sé si habrá algún problema, pero, en principio, creo que puedes comprobarlo: mirando a bote pronto el código fuente, me da la sensación que sí, funcionaría con Delphi 7.

P.D. Acabo de intentar probar la librería en cuestión en Delphi 2007, y, hay algún problema... se hace uso de cierta unidad "Character", que, parece estar disponible en Free Pascal, pero, no en Delphi. De este modo... creo que habría que buscar alguna alternativa (¿acaso esta?)... o intentar adaptar esa librería a Delphi...

P.D.2. La posible alternativa que he enlazado en la posdata anterior, tiene el mismo problema: el uso de la unidad "Character". Por otro lado, hace uso de unidades que no están en Delphi 2007, y, me temo, tampoco en Delphi 7. ¿Empiezo a pensar que la unidad "Character" existe? ¿Tal vez existe en Delphi 7? Se me hace raro que dos librerías, supuestamente para Delphi, hagan uso de dicha unidad...

Casimiro Notevi 13-06-2024 19:03:44

Existen algunas utilidades del tipo markdwon2text, markdown2html, etc. que lo mismo puede servir, es cuestión de ejecutarlos desde delphi.

marco3k 13-06-2024 21:27:51

Tienes razon Dec, son formatos diferentes, pensé que eran lo mismo.

jars 13-06-2024 22:45:31

Cita:

Empezado por Casimiro Notevi (Mensaje 556092)
Existen algunas utilidades del tipo markdwon2text, markdown2html, etc. que lo mismo puede servir, es cuestión de ejecutarlos desde delphi.

No encuentro markdwon2text

Casimiro Notevi 14-06-2024 10:22:16

Para Linux hay varias utilidades de ese tipo, he buscado para windows y he encontrado pandoc.

duilioisola 17-06-2024 17:14:52

Teniendo en cuenta que MarkDown es bastante simple y que RichEdit no muestra imágenes o tablas, podrías tratar de leer MarkDown e ir creando RickEdit...
Algó así:

Si empieza por # TamañoLetra = 20
Luego imprimes el resto de la línea.
Si empieza por ``` Modo = MonoSpaced y pones el texto hasta que encuentres otro ``` en Font = Courier.
Si encuentras un * estilo = Bold hasta que encuentres el proximo.
etc.

jars 19-06-2024 23:00:37

Cita:

Empezado por duilioisola (Mensaje 556173)
Teniendo en cuenta que MarkDown es bastante simple y que RichEdit no muestra imágenes o tablas, podrías tratar de leer MarkDown e ir creando RickEdit...
Algó así:

Si empieza por # TamañoLetra = 20
Luego imprimes el resto de la línea.
Si empieza por ``` Modo = MonoSpaced y pones el texto hasta que encuentres otro ``` en Font = Courier.
Si encuentras un * estilo = Bold hasta que encuentres el proximo.
etc.

Es lo que termine haciendo.
Gracias a todos !!.


La franja horaria es GMT +2. Ahora son las 23:25:22.

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