Page 1 of 1

Consulta sobre ActiveX

Posted: Sat Feb 17, 2007 7:42 pm
by Jorge Jaurena
Hola, tengo la obligada desdicha de incorporar en mi sistema la impresion de facturas fiscales EPSON, esto se hace a traves de un control ActiveX, hago lo siguiente:

oActiveX:=TActiveX():New(oWnd, "EpsonFPHostControlX.EpsonFPHostControl")
oWnd:oClient:=oActiveX

Va todo bien, pero me aparece un dibujito de un cable arriba a la izquierda y no me muestra el fondo que utilizo.

Muchas gracias
Jorge Jaurena

Posted: Sun Feb 18, 2007 10:25 am
by Antonio Linares
Jorge,

Puedes capturar una imagen de como se ve y ponerla en www.imageshack.us y copiar el url aqui ?

Posted: Mon Feb 19, 2007 6:12 pm
by Jorge Jaurena
Ok, hago eso.
Antonio, no se si viste un mail que te envie sobre un exe en texto con FWH.

Gracias
Jorge Jaurena

Posted: Mon Feb 19, 2007 6:49 pm
by Antonio Linares
Jorge,

No lo he recibido, lo mandastes como ZIP ? Igual lo borró el filtro antispam

Posted: Tue Feb 20, 2007 11:00 am
by Jorge Jaurena
Bueno, te comento aqui.

La consulta era la siguiente:
Tengo que hacer un pequeño programa que levante una base de datos SQL y pretendo usar ODBC o conectar directo al motor, pero el problema es que este programa debe correr en modo texto, ya que correra sobre terminales Symbol utilizando Telnet, y por desgracia el Telnet no levanta nada en modo grafico a pesar de que la terminal usa Windows CE.
No tengo intencion de volver a Clipper, me gustaria armar esto con FWH, sera posible esto?, habra algun ejemplo?

Muchas gracias.
Jorge Jaurena

Posted: Tue Feb 20, 2007 11:52 am
by Jorge Jaurena
Ya subi la imagen, espero que sirva.
Este es el url, copio los dos que me dio

Image

Image

Gracias
Jorge Jaurena

Posted: Tue Feb 20, 2007 12:39 pm
by Adolfo
Jorge...
Con que trabajas. Harbour, xHarbour, xHarbour.com...

Yo intente en reiteradas oportunidades hacer funcionar la Activex de Epson con Harbour y no se puede, el error como podras ver en mis multiples posts aqui en este foro es como enviar un CHR(0) como comando al Activex
En Harbour no pude hacerlo, o mas bien no encontre la solucion con los consejos de Antonio Linares, (puedes buscar los Posts)

Mi solucion, ya que tambien trabajo con Xharbour.com fue utilizar la funcion WtArrayWrapper() si necesitas ej. te lo envio.. pero como te dije.. solo lo he logrado con Xhb.com

Desde Chile.

Posted: Tue Feb 20, 2007 5:02 pm
by Jorge Jaurena
Gracias Antonio por tu respuesta.
Si podes enviame algun ejemplo a jjaurena@yahoo.com y pruebo con xHarbour ya que estoy usando Harbour.

Saludos!
Jorge Jaurena.

Posted: Tue Feb 20, 2007 5:03 pm
by Jorge Jaurena
Disculpame me confundi de nombre, quise decir gracias Adolfo.

Posted: Tue Feb 20, 2007 6:45 pm
by Antonio Linares
Jorge,

Puedes simular una consola de texto usando una ventana. Se trata de que bPainted de la ventana tome la información de un array y lo vuelque a la ventana. Así escribes al array, y luego lo vuelcas a la ventana.

Es lo que por ejemplo hace Xbase++ para simular su modo consola. Muchas aplicaciones comerciales de gestión también lo usan para simular un terminal

Posted: Tue Feb 20, 2007 9:56 pm
by Jorge Jaurena
Antonio tendras un pequeño ejemplo?

Gracias!

Posted: Tue Feb 20, 2007 11:14 pm
by Antonio Linares
Jorge,

Como verás, facilmente puedes implementar desplazamiento del texo (scroll vertical), incluso colores, etc.

Code: Select all

#include "FiveWin.ch"

static oWnd, buffer[ 25, 80 ]

function Main()

   local oFont, nRow, nCol

   for nRow = 1 to 25
      for nCol = 1 to 80
          buffer[ nRow, nCol ] = " "
      next
   next       

   DEFINE FONT oFont NAME "Courier New" SIZE 0, -12

   DEFINE WINDOW oWnd TITLE "Terminal" COLOR "W+/B"
   
   oWnd:SetFont( oFont )

   Say( 5, 5, "Hello world!" )
   
   Say( 10, 12, "A terminal emulator" )

   ACTIVATE WINDOW oWnd ;
      ON PAINT DumpText( oWnd )   

return nil

function DumpText( oWnd )

   local nRow, nCol
   
   for nRow = 1 to 25
      for nCol = 1 to 80
         oWnd:Say( nRow, nCol, buffer[ nRow, nCol ] )
      next
   next
   
return nil   

function Say( nRow, nCol, cText )

   local n
   
   for n = 1 to Len( cText )
      buffer[ nRow, nCol + n - 1 ] = SubStr( cText, n, 1 )
   next
   
   oWnd:Refresh()
   
return nil

Posted: Wed Feb 21, 2007 7:47 pm
by Jorge Jaurena
Gracias Antonio, voy a probar algo asi en la terminal.

Saludos
Jorge Jaurena

Posted: Thu Feb 22, 2007 7:54 pm
by Jorge Jaurena
Antonio, el ejemplo funciona en una pc pero en la terminal no levanta porque el texto esta contenido dentro de una ventana windows y telnet solo muestra texto.

Se podra hacer esto?

Saludos y gracias!
Jorge Jaurena.