FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour campo richedit paso a paso "for dumb" por favor
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
campo richedit paso a paso "for dumb" por favor
Posted: Wed Sep 10, 2025 12:05 PM
Hola a Todos, estimados amigos del foro.

Pensando en entrar en la onda de la IA, intenté dar un primer paso a modo de prueba.

Interactuando con la IA deepseek por ser la única que no esta bloqueada en mi país, logré conectar vía API, con funciones que ella misma me creó y entregó (mi versión FW es vieja y no posee las clases de IA) Todo Bien Hasta aquí. Pero para los campos de pregunta/respuesta estoy usando un simple get, memo y multiline, al estilo antiguo.

He logrado la interacción desde mi aplicación y funciona bien a excepción de algo: La IA cuando responde, incluye en su respuesta iconos y emojis, y allí se presenta el problema. se muestran caracteres extraños en lugar de los emojis e iconos.

También se presentan problemas con los ENTER y saltos de líneas en algunos casos, en fin, llegué a la conclusión de que el get memo no me sirve para ello. Como no tengo conocimiento en el uso de campos RICHEDIT le pedí a la IA que obviara los acentos, los iconos, los caracteres extraños, y lo he logrado en gran parte, pero he tenido que implementar demasiadas funciones creadas por la misma IA para ir solventando.

Esa idea no me gusta. Es demasiado código para hacer, lo que estoy seguro que se resuelve con un simple campo richedit que pueda reconocer la respuesta de la IA tal como llega (creo que es así, y espero que sea así)

mi consulta: alguien puede guiarme paso a paso como crear y usar un campo RICHEDIT?

Disculpen el texto tan largo, pero quise ubicarlos bien en el contexto que estoy trabajando.

Gracias por la ayuda que puedan prestarme.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Wed Sep 10, 2025 12:36 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Wed Sep 10, 2025 12:41 PM
karinha wrote: Simples,

https://forums.fivetechsupport.com/viewtopic.php?t=45684

Regards, saludos.
Estimado master joao, gracias por tu buena disposicion siempre para audarnos. Pero con mucha pena te digo, no entendi nada en ese post :(
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Wed Sep 10, 2025 01:10 PM

Estimado José,

Puedes compartir el código y el recurso (en caso de que lo uses) para adaptarlo a RichEdit ?

gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Wed Sep 10, 2025 06:10 PM
JoseAlvarez wrote:
Simples,

https://forums.fivetechsupport.com/viewtopic.php?t=45684

Regards, saludos.
Estimado master joao, gracias por tu buena disposicion siempre para audarnos. Pero con mucha pena te digo, no entendi nada en ese post :(
Lo siento, amigo, creo que me equivoqué en mi respuesta. Creía que la última versión de FWH ya preveía lo que quieres hacer. Aunque sería mucho más seguro que actualizaras tu versión de FWH, ¿no crees?

Haz lo que pide el Maestro Liñares y publica el código para analizarlo, ¿sí?

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Thu Sep 11, 2025 03:44 PM
muchas gracias master antonio y master joao. Aca les dejo el link de descarga para el .PRG

https://goo.su/EzTS9

recurso:
ODLG_ASISTENTEIA DIALOG DISCARDABLE 11, 15, 517, 213
STYLE WS_POPUP|DS_MODALFRAME|WS_CAPTION|WS_VISIBLE
FONT 10, "Courier New"
{
  CONTROL "", 4001, "Edit", ES_MULTILINE|WS_VSCROLL|WS_TABSTOP, 8, 28, 208, 172, WS_EX_STATICEDGE
  CONTROL "", 4002, "TBtnBmp", WS_TABSTOP, 224, 116, 28, 25
  CONTROL "", 270, "TBtnBmp", WS_TABSTOP, 224, 176, 25, 25
  CONTROL "", 4003, "TBtnBmp", WS_TABSTOP, 224, 72, 25, 25
  CONTROL "", 4011, "Static", WS_GROUP, 12, 4, 220, 10
  CONTROL "Tu Pregunta", 4005, "Static", WS_GROUP, 8, 20, 64, 8
  CONTROL "Respuesta", 4006, "Static", WS_GROUP, 260, 20, 64, 8
  CONTROL "", 4007, "TBtnBmp", WS_TABSTOP, 224, 28, 25, 25
  CONTROL "", 4004, "Edit", ES_MULTILINE|WS_VSCROLL|WS_TABSTOP, 260, 28, 248, 172, WS_EX_STATICEDGE
}

En la siguiente imagen muestro la interfaz. a través del control 4003 (botón con signo "?" ) hago la interacción con la IA donde puedo consultar sobre cualquier tema. Con el control 4002, donde se ve la imagen de un operador de callcenter, estoy implementado el manual de usuario del sistema. No uso la IA en esa parte.



Aunque el problema de los emojis y símbolos extraños lo solucioné con solo hacer una concatenación al final de la pregunta: " contesta sin colocar letras en negrilla ni iconos ni emojis. solo texto plano." seria interesante hacer el richedit para en primer lugar, reducir código y en segundo lugar mostrar una respuesta mas elegante.

Agradecido por la ayuda que puedan prestar.
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Thu Sep 11, 2025 05:02 PM
Estimado, falta:
#include "Cuentas32.ch"
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: campo richedit paso a paso "for dumb" por favor
Posted: Fri Sep 12, 2025 12:05 AM
A ver si nos animamos a hacer esto con twebview2 y summentnote, nos quedaria un excelente editor.
http://carlosvargas.duckdns.org/owncloud/index.php/s/VLl0M29EIo92MIO
#include "FiveWin.ch"

STATIC cEditor := ""

PROCEDURE Main()
  LOCAL oWnd
  LOCAL oWebView2

  SetDPIAware(2)

  DEFINE WINDOW oWnd TITLE "Integración de Summernote con TWebView2" SIZE 800, 600

    oWebView2 := TWebView2():New( oWnd )
    //oWebView2:SetTitle( "Microsoft Edge WebView working from FWH" )
    oWebView2:Navigate( GetFilePath( "recursos/editor.html" ) )
            
    oWebView2:SetUserAgent( "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Mobile Safari/537.36" )
    
  ACTIVATE WINDOW oWnd CENTER ;
    ON RESIZE oWebView2:SetSize( nWidth, nHeight )

  oWebView2:End()
    
RETURN 

STATIC FUNCTION GetFilePath( cFile )
RETURN CurDrive() + ":\" + CurDir() + "\" + cFile

#pragma BEGINDUMP

#include <windows.h>
#include <shellscalingapi.h>
#include <hbapi.h>

HB_FUNC( SETDPIAWARE )
{
    hb_retnl( (long) SetProcessDpiAwareness( (PROCESS_DPI_AWARENESS) hb_parni(1) ) );
}

#pragma ENDDUMP
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 98
Joined: Sat Dec 03, 2016 02:49 PM
Re: campo richedit paso a paso &quot;for dumb&quot; por favor
Posted: Fri Sep 12, 2025 02:44 PM

Hola Carlos, buen dia.

Super bueno tu ejemplo, se ve super moderno, ejecute tu el demo, pero puedes decirme como se graba e imprime.

Como lo haces para que para guardar con texto con imagenes, que forma recomiendas.

Gracias, saludos

Carito

Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: campo richedit paso a paso &quot;for dumb&quot; por favor
Posted: Fri Sep 12, 2025 07:34 PM
karinha wrote: Estimado, falta:
#include "Cuentas32.ch"
Regards, saludos.
Joao: este es el .ch
#include "common.ch"
#include "directry.ch"
#include "dbstruct.ch"
#include "dbinfo.ch"
#include "fileio.ch"
#include "ord.ch"
#include "struct.ch"

#include "fivewin.ch"
#include "dtpicker.ch"
#include "gif.ch"
#include "trsay.ch"
#include "image.ch"
#include "mail.ch"
#include "print.ch"
#include "report.ch"
#include "splitter.ch"
#include "colors.ch"

#include "tdolphin.ch"
#include "tsbutton.ch"
#include "urllink.ch"
#include "values.ch"
#include "wcolors.ch"
#include "xbrowse.ch"
#include "hbcompat.ch"
#include 'hbcurl.ch'
#include 'richedit.h
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: campo richedit paso a paso &quot;for dumb&quot; por favor
Posted: Sat Sep 13, 2025 06:40 PM

la verdad es una prueba, para ver si entre todo lo podemos implementar.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: campo richedit paso a paso &quot;for dumb&quot; por favor
Posted: Wed Sep 17, 2025 02:53 PM

Hola buenos días, interesante tema, seria bueno también incluir, que al tener una plantilla de un texto largo podamos reemplazar algunas variables, y generar ese reporte por impresora, asumo que todo mediante html, de paso lo haríamos compatible con otro tipo de aplicaciones.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion