Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2012-08

Problema con libreria c

22 messages · 7 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Pedraza Sergio

Muchachos les comento, necesito hacer funcionar una impresora fiscal y no quiero trabajar con su ocx. consegui un codigo escrito en c para que funcione tanto en windows como linux. El hecho concreto es que no programo en C ; prove con H2PAS y me entrega varios errores. Les envio el fuente en C si alguien me puede explicar como transformarlo a lazarus o llamarlo desde para que trabajo sobre lazarus estare desde ya muy agradecido. La impresora es una HASAR 715

Saludos y desde ya muchisimas gracias ( soy programador de VFP y estoy migrando a LAZARUS, la verdad que es totalmente superior a vfp ) ------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20120813/7f9dd813/attachment.html>

Reply by email

alfred en arsistemes.com
to Pedraza Sergio: Muchachos les comento, necesito hacer funcionar una impresora fiscal y no quiero trabajar…

La verdad es que no conozco estas impresoras.

La mayor�a suelen ser compatibles con ESC � modo EPSON. Hace algunos a�os escrib� c�digo en delphi para imprimir directamente tickets en este tipo de impresoras. Era duro y penosillo desde windows.

Lo que he encontrado por inet sobre estas impresoras es esto: http://xa.yimg.com/kq/groups/23341285/163898637/name/PUBLTICK.pdf

A partir de la p�gina 27 aparecen los strings de comando que debes enviar a la impresora.

Show quoted text 10 lines
Muchachos les comento, necesito hacer funcionar una impresora fiscal y no quiero trabajar con su ocx. consegui un codigo escrito en c para que funcione tanto en windows como linux. El hecho concreto es que no programo en C ; prove con H2PAS y me entrega varios errores. Les envio el fuente en C si alguien me puede explicar como transformarlo a lazarus o llamarlo desde para que trabajo sobre lazarus estare desde ya muy agradecido. La impresora es una HASAR 715 Saludos y desde ya muchisimas gracias ( soy programador de VFP y estoy migrando a LAZARUS, la verdad que es totalmente superior a vfp )

Buena Suerte,

Alfred Rivera

Reply by email

Pedraza Sergio
to Maxi: Y el codigo? El que pregunta aprende, y el que contesta aprende a responder. No a la…

Te paso los archivos make tanto de windows como Linux

make_win32
-------------------------------------------------- INCLUDE=-I.
CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC
FISCAL_LIB=clasefiscal.a
all: $(FISCAL_LIB) clasefiscal

#depend:
# makedepend $(INCLUDE) *.cpp

clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o \ PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ Select.o
$(FISCAL_LIB): $(clasefiscal_objs)
ar rvu $(FISCAL_LIB) $(clasefiscal_objs)
ranlib $(FISCAL_LIB)

clasefiscal: ClaseFiscal.o $(FISCAL_LIB)
$(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 --------------------------------------------------

makefile_linux
--------------------------------------------------- INCLUDE=-I.
CXXFLAGS=$(INCLUDE) -DP_LINUX
FISCAL_LIB=clasefiscal.a
all: $(FISCAL_LIB) clasefiscal

#depend:
# makedepend $(INCLUDE) *.cpp

clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o \ PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ Select.o
$(FISCAL_LIB): $(clasefiscal_objs)
ar rvu $(FISCAL_LIB) $(clasefiscal_objs)
ranlib $(FISCAL_LIB)

clasefiscal: ClaseFiscal.o $(FISCAL_LIB)
$(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread --------------------------------------------------------------------------

La pregunta es como hago para compilar y transformar el codigo en c en una libreria para windows o Linux ?

Muchas Gracias
Sergio Pedraza

--------------------------------------------------

Earlier message 22 lines
From: "Maxi" <maximiliano.duarte en gmail.com> Sent: Monday, August 13, 2012 11:54 AM To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Subject: Re: [Lazarus-es] Problema con libreria c > Y el codigo? > > -- > El que pregunta aprende, y el que contesta aprende a responder. > > No a la obsolecencia programada: > http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > > Linux User #495070 > http://domonetic.com/blog > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >

Reply by email

Maxi
to Pedraza Sergio

2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>:

Show quoted text 94 lines
Te paso los archivos make tanto de windows como Linux make_win32 -------------------------------------------------- INCLUDE=-I. CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC FISCAL_LIB=clasefiscal.a all: $(FISCAL_LIB) clasefiscal #depend: # makedepend $(INCLUDE) *.cpp clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o \ PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ Select.o $(FISCAL_LIB): $(clasefiscal_objs) ar rvu $(FISCAL_LIB) $(clasefiscal_objs) ranlib $(FISCAL_LIB) clasefiscal: ClaseFiscal.o $(FISCAL_LIB) $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 -------------------------------------------------- makefile_linux --------------------------------------------------- INCLUDE=-I. CXXFLAGS=$(INCLUDE) -DP_LINUX FISCAL_LIB=clasefiscal.a all: $(FISCAL_LIB) clasefiscal #depend: # makedepend $(INCLUDE) *.cpp clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o \ PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ Select.o $(FISCAL_LIB): $(clasefiscal_objs) ar rvu $(FISCAL_LIB) $(clasefiscal_objs) ranlib $(FISCAL_LIB) clasefiscal: ClaseFiscal.o $(FISCAL_LIB) $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread -------------------------------------------------------------------------- La pregunta es como hago para compilar y transformar el codigo en c en una libreria para windows o Linux ? Muchas Gracias Sergio Pedraza -------------------------------------------------- From: "Maxi" <maximiliano.duarte en gmail.com> Sent: Monday, August 13, 2012 11:54 AM To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Subject: Re: [Lazarus-es] Problema con libreria c > Y el codigo? > > -- > El que pregunta aprende, y el que contesta aprende a responder. > > No a la obsolecencia programada: > > http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > > Linux User #495070 > http://domonetic.com/blog > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

con make desde linux te crea el archivo.o que el la libreria, si tenes todos los fuentes no necesitas transformarlo a pascal sino generar la dll y usarla con las declaraciones en tu fuente y listo. Creoque podes usar make en windows.

El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog

Reply by email

Maikel Enrique Pernía Matos

Con esto tengo mis dudas, he utilizado poco librer�as de terceros o propias y en app que he desarrollado en object pascal (estas han sido desde delphi); pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que declaraba las funciones que dicha librer�a exportaba y entonces era que pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente desde GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero de cabeceras *.h donde se declaran las mismas funciones que se exportan desde la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app as�: #include <nombre_libreria.h> o #include "nombre_libreria.h". Pregunto:
�Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o utilizar la librer�a y los *.h?

El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>:

Show quoted text 115 lines
> Te paso los archivos make tanto de windows como Linux > > make_win32 > -------------------------------------------------- > INCLUDE=-I. > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC > FISCAL_LIB=clasefiscal.a > all: $(FISCAL_LIB) clasefiscal > > #depend: > # makedepend $(INCLUDE) *.cpp > > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o \ > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ > Select.o > $(FISCAL_LIB): $(clasefiscal_objs) > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) > ranlib $(FISCAL_LIB) > > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 > -------------------------------------------------- > > makefile_linux > --------------------------------------------------- > INCLUDE=-I. > CXXFLAGS=$(INCLUDE) -DP_LINUX > FISCAL_LIB=clasefiscal.a > all: $(FISCAL_LIB) clasefiscal > > #depend: > # makedepend $(INCLUDE) *.cpp > > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o \ > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ > Select.o > $(FISCAL_LIB): $(clasefiscal_objs) > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) > ranlib $(FISCAL_LIB) > > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread > -------------------------------------------------------------------------- > > La pregunta es como hago para compilar y transformar el codigo en c en una > libreria para windows o Linux ? > > Muchas Gracias > Sergio Pedraza > > > -------------------------------------------------- > From: "Maxi" <maximiliano.duarte en gmail.com> > Sent: Monday, August 13, 2012 11:54 AM > To: "Spanish version of Lazarus List" > <lazarus-es en lists.lazarus.freepascal.org> > Subject: Re: [Lazarus-es] Problema con libreria c > >> Y el codigo? >> >> -- >> El que pregunta aprende, y el que contesta aprende a responder. >> >> No a la obsolecencia programada: >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html >> >> Linux User #495070 >> http://domonetic.com/blog >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es con make desde linux te crea el archivo.o que el la libreria, si tenes todos los fuentes no necesitas transformarlo a pascal sino generar la dll y usarla con las declaraciones en tu fuente y listo. Creoque podes usar make en windows. -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Maxi
to Maikel Enrique Pernía Matos

El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos <reprepoli2mz en infomed.sld.cu> escribi�:

Show quoted text 157 lines
Con esto tengo mis dudas, he utilizado poco librer�as de terceros o propias y en app que he desarrollado en object pascal (estas han sido desde delphi); pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que declaraba las funciones que dicha librer�a exportaba y entonces era que pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente desde GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero de cabeceras *.h donde se declaran las mismas funciones que se exportan desde la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app as�: #include <nombre_libreria.h> o #include "nombre_libreria.h". Pregunto: �Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o utilizar la librer�a y los *.h? El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>: > > > Te paso los archivos make tanto de windows como Linux > > > > make_win32 > > -------------------------------------------------- > > INCLUDE=-I. > > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC > > FISCAL_LIB=clasefiscal.a > > all: $(FISCAL_LIB) clasefiscal > > > > #depend: > > # makedepend $(INCLUDE) *.cpp > > > > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ > > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ > > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ > > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ > > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ > > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ > > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ > > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o > > \ > > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ > > Select.o > > $(FISCAL_LIB): $(clasefiscal_objs) > > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) > > ranlib $(FISCAL_LIB) > > > > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) > > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 > > -------------------------------------------------- > > > > makefile_linux > > --------------------------------------------------- > > INCLUDE=-I. > > CXXFLAGS=$(INCLUDE) -DP_LINUX > > FISCAL_LIB=clasefiscal.a > > all: $(FISCAL_LIB) clasefiscal > > > > #depend: > > # makedepend $(INCLUDE) *.cpp > > > > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ > > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ > > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ > > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ > > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ > > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ > > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ > > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o > > \ > > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ > > Select.o > > $(FISCAL_LIB): $(clasefiscal_objs) > > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) > > ranlib $(FISCAL_LIB) > > > > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) > > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread > > > > -------------------------------------------------------------------------- > > > > La pregunta es como hago para compilar y transformar el codigo en c en > > una > > libreria para windows o Linux ? > > > > Muchas Gracias > > Sergio Pedraza > > > > > > -------------------------------------------------- > > From: "Maxi" <maximiliano.duarte en gmail.com> > > Sent: Monday, August 13, 2012 11:54 AM > > To: "Spanish version of Lazarus List" > > <lazarus-es en lists.lazarus.freepascal.org> > > Subject: Re: [Lazarus-es] Problema con libreria c > > > >> Y el codigo? > >> > >> -- > >> El que pregunta aprende, y el que contesta aprende a responder. > >> > >> No a la obsolecencia programada: > >> > >> > >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > >> > >> Linux User #495070 > >> http://domonetic.com/blog > >> > >> _______________________________________________ > >> Lazarus-es mailing list > >> Lazarus-es en lists.lazarus.freepascal.org > >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > >> > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus.freepascal.org > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > con make desde linux te crea el archivo.o que el la libreria, si tenes > todos los fuentes no necesitas transformarlo a pascal sino generar la > dll y usarla con las declaraciones en tu fuente y listo. Creoque podes > usar make en windows. > > -- > El que pregunta aprende, y el que contesta aprende a responder. > > No a la obsolecencia programada: > > http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > > Linux User #495070 > http://domonetic.com/blog > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

tenes que pasar los .h a .pas manteniendolos tipos de datos iguales, si usa un int en C, integer en pascal, los struct a record, esto es lo que hizo Delphi para usar las apis de windows.

El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog

Reply by email

Maikel Enrique Pernía Matos

Maxi, creo que no es tan simple como lo haces ver, pues algo que caracteriza los c�digos escritos en C y C++ es el empleo de punteros que es m�s que conversi�n entre tipos de datos y esto si puede ser una gran barrera para reescribir estos ficheros cabeceras a object pascal pues aqu� es m�s moderado el uso de estos.

El jue, 16-08-2012 a las 17:02 -0300, Maxi escribi�: El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos

Show quoted text 170 lines
<reprepoli2mz en infomed.sld.cu> escribi�: > Con esto tengo mis dudas, he utilizado poco librer�as de terceros o propias > y en app que he desarrollado en object pascal (estas han sido desde delphi); > pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que > declaraba las funciones que dicha librer�a exportaba y entonces era que > pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero > *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente desde > GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero de > cabeceras *.h donde se declaran las mismas funciones que se exportan desde > la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app as�: > #include <nombre_libreria.h> o #include "nombre_libreria.h". > Pregunto: > �Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o utilizar > la librer�a y los *.h? > > El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: > > 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>: >> >> > Te paso los archivos make tanto de windows como Linux >> > >> > make_win32 >> > -------------------------------------------------- >> > INCLUDE=-I. >> > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC >> > FISCAL_LIB=clasefiscal.a >> > all: $(FISCAL_LIB) clasefiscal >> > >> > #depend: >> > # makedepend $(INCLUDE) *.cpp >> > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o >> > \ >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> > Select.o >> > $(FISCAL_LIB): $(clasefiscal_objs) >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> > ranlib $(FISCAL_LIB) >> > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 >> > -------------------------------------------------- >> > >> > makefile_linux >> > --------------------------------------------------- >> > INCLUDE=-I. >> > CXXFLAGS=$(INCLUDE) -DP_LINUX >> > FISCAL_LIB=clasefiscal.a >> > all: $(FISCAL_LIB) clasefiscal >> > >> > #depend: >> > # makedepend $(INCLUDE) *.cpp >> > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o >> > \ >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> > Select.o >> > $(FISCAL_LIB): $(clasefiscal_objs) >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> > ranlib $(FISCAL_LIB) >> > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread >> > >> > -------------------------------------------------------------------------- >> > >> > La pregunta es como hago para compilar y transformar el codigo en c en >> > una >> > libreria para windows o Linux ? >> > >> > Muchas Gracias >> > Sergio Pedraza >> > >> > >> > -------------------------------------------------- >> > From: "Maxi" <maximiliano.duarte en gmail.com> >> > Sent: Monday, August 13, 2012 11:54 AM >> > To: "Spanish version of Lazarus List" >> > <lazarus-es en lists.lazarus.freepascal.org> >> > Subject: Re: [Lazarus-es] Problema con libreria c >> > >> >> Y el codigo? >> >> >> >> -- >> >> El que pregunta aprende, y el que contesta aprende a responder. >> >> >> >> No a la obsolecencia programada: >> >> >> >> >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html >> >> >> >> Linux User #495070 >> >> http://domonetic.com/blog >> >> >> >> _______________________________________________ >> >> Lazarus-es mailing list >> >> Lazarus-es en lists.lazarus.freepascal.org >> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lists.lazarus.freepascal.org >> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> con make desde linux te crea el archivo.o que el la libreria, si tenes >> todos los fuentes no necesitas transformarlo a pascal sino generar la >> dll y usarla con las declaraciones en tu fuente y listo. Creoque podes >> usar make en windows. >> >> -- >> El que pregunta aprende, y el que contesta aprende a responder. >> >> No a la obsolecencia programada: >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html >> >> Linux User #495070 >> http://domonetic.com/blog >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es tenes que pasar los .h a .pas manteniendolos tipos de datos iguales, si usa un int en C, integer en pascal, los struct a record, esto es lo que hizo Delphi para usar las apis de windows.

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Maxi
to Maikel Enrique Pernía Matos

El d�a 16 de agosto de 2012 17:47, Maikel Enrique Pern�a Matos <reprepoli2mz en infomed.sld.cu> escribi�:

Show quoted text 218 lines
Maxi, creo que no es tan simple como lo haces ver, pues algo que caracteriza los c�digos escritos en C y C++ es el empleo de punteros que es m�s que conversi�n entre tipos de datos y esto si puede ser una gran barrera para reescribir estos ficheros cabeceras a object pascal pues aqu� es m�s moderado el uso de estos. El jue, 16-08-2012 a las 17:02 -0300, Maxi escribi�: El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos > > <reprepoli2mz en infomed.sld.cu> escribi�: > > Con esto tengo mis dudas, he utilizado poco librer�as de terceros o > > propias > > y en app que he desarrollado en object pascal (estas han sido desde > > delphi); > > pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que > > declaraba las funciones que dicha librer�a exportaba y entonces era que > > pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero > > *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente > > desde > > GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero > > de > > cabeceras *.h donde se declaran las mismas funciones que se exportan > > desde > > la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app > > as�: > > #include <nombre_libreria.h> o #include "nombre_libreria.h". > > Pregunto: > > �Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o > > utilizar > > la librer�a y los *.h? > > > > El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: > > > > 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>: > >> > >> > Te paso los archivos make tanto de windows como Linux > >> > > >> > make_win32 > >> > -------------------------------------------------- > >> > INCLUDE=-I. > >> > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC > >> > FISCAL_LIB=clasefiscal.a > >> > all: $(FISCAL_LIB) clasefiscal > >> > > >> > #depend: > >> > # makedepend $(INCLUDE) *.cpp > >> > > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ > >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ > >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o > >> > \ > >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o > >> > \ > >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ > >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o > >> > \ > >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o > >> > \ > >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o > >> > PPL23_101.o > >> > \ > >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ > >> > Select.o > >> > $(FISCAL_LIB): $(clasefiscal_objs) > >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) > >> > ranlib $(FISCAL_LIB) > >> > > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) > >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 > >> > -------------------------------------------------- > >> > > >> > makefile_linux > >> > --------------------------------------------------- > >> > INCLUDE=-I. > >> > CXXFLAGS=$(INCLUDE) -DP_LINUX > >> > FISCAL_LIB=clasefiscal.a > >> > all: $(FISCAL_LIB) clasefiscal > >> > > >> > #depend: > >> > # makedepend $(INCLUDE) *.cpp > >> > > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ > >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ > >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o > >> > \ > >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o > >> > \ > >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ > >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o > >> > \ > >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o > >> > \ > >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o > >> > PPL23_101.o > >> > \ > >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ > >> > Select.o > >> > $(FISCAL_LIB): $(clasefiscal_objs) > >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) > >> > ranlib $(FISCAL_LIB) > >> > > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) > >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread > >> > > >> > > >> > -------------------------------------------------------------------------- > >> > > >> > La pregunta es como hago para compilar y transformar el codigo en c > >> > en > >> > una > >> > libreria para windows o Linux ? > >> > > >> > Muchas Gracias > >> > Sergio Pedraza > >> > > >> > > >> > -------------------------------------------------- > >> > From: "Maxi" <maximiliano.duarte en gmail.com> > >> > Sent: Monday, August 13, 2012 11:54 AM > >> > To: "Spanish version of Lazarus List" > >> > <lazarus-es en lists.lazarus.freepascal.org> > >> > Subject: Re: [Lazarus-es] Problema con libreria c > >> > > >> >> Y el codigo? > >> >> > >> >> -- > >> >> El que pregunta aprende, y el que contesta aprende a responder. > >> >> > >> >> No a la obsolecencia programada: > >> >> > >> >> > >> >> > >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > >> >> > >> >> Linux User #495070 > >> >> http://domonetic.com/blog > >> >> > >> >> _______________________________________________ > >> >> Lazarus-es mailing list > >> >> Lazarus-es en lists.lazarus.freepascal.org > >> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > >> >> > >> > > >> > _______________________________________________ > >> > Lazarus-es mailing list > >> > Lazarus-es en lists.lazarus.freepascal.org > >> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > >> > >> con make desde linux te crea el archivo.o que el la libreria, si tenes > >> todos los fuentes no necesitas transformarlo a pascal sino generar la > >> dll y usarla con las declaraciones en tu fuente y listo. Creoque podes > >> usar make en windows. > >> > >> -- > >> El que pregunta aprende, y el que contesta aprende a responder. > >> > >> No a la obsolecencia programada: > >> > >> > >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html > >> > >> Linux User #495070 > >> http://domonetic.com/blog > >> > >> _______________________________________________ > >> Lazarus-es mailing list > >> Lazarus-es en lists.lazarus.freepascal.org > >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > >> > > > > ---------------------------------------------------------------- > > This message was sent using IMP, the Internet Messaging Program. > > > > > > -- > > > > Este mensaje le ha llegado mediante el servicio de correo electronico > > que > > ofrece Infomed para respaldar el cumplimiento de las misiones del > > Sistema > > Nacional de Salud. La persona que envia este correo asume el compromiso > > de > > usar el servicio a tales fines y cumplir con las regulaciones > > establecidas > > > > Infomed: http://www.sld.cu/ > > > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lists.lazarus.freepascal.org > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > tenes que pasar los .h a .pas manteniendolos tipos de datos iguales, > si usa un int en C, integer en pascal, los struct a record, esto es lo > que hizo Delphi para usar las apis de windows. > > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

todo lo que hagas en c o c++ lo podes hacer en pascal y Object pascal. Y mas facil, que no sepas todo de los 2 lenguajes es otra cosa. Delphi y CBuilder usan la misma vcl y estan escritas una en C y la otra en pascal. En Lazarus pasa lo mismo si abris las unidades que hacen referencia a las apis vas a ver punteros a estructuras, punteros a tipos de datos y otras cosas.
No veo porque no se pueda, no es facil porque hay que tener cuidado con los tipos de datos, sobre todo con los enteros si es de 16 o 32 bits, pero las funciones exportadas no deben ser muchas.

El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog

Reply by email

José Mejuto
to Maxi

El 17/08/2012 11:13, Maxi escribi�:

Show quoted text 9 lines
todo lo que hagas en c o c++ lo podes hacer en pascal y Object pascal. Y mas facil, que no sepas todo de los 2 lenguajes es otra cosa. Delphi y CBuilder usan la misma vcl y estan escritas una en C y la otra en pascal. En Lazarus pasa lo mismo si abris las unidades que hacen referencia a las apis vas a ver punteros a estructuras, punteros a tipos de datos y otras cosas. No veo porque no se pueda, no es facil porque hay que tener cuidado con los tipos de datos, sobre todo con los enteros si es de 16 o 32 bits, pero las funciones exportadas no deben ser muchas.

Si la librer�a es C++ y las funciones exportadas son de una clase no se pueden usar ya que las clases en C++ son diferentes en cada versi�n del compilador (o pueden serlo) y entre compiladores, vamos que no hay un standard.

Reply by email

Sergio Pedraza
to Maxi: El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos <reprepoli2mz en…

Por lo que vos me decis tendria que pasar todo los .h a pas Y no tengo que usar la librer�a, ya que pasaria a ser codigo nativo De lazarus ?

Earlier message 191 lines
-----Mensaje original----- De: Maxi [mailto:maximiliano.duarte en gmail.com] Enviado el: Jueves, 16 de Agosto de 2012 05:03 p.m. Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Problema con libreria c El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos <reprepoli2mz en infomed.sld.cu> escribi�: > Con esto tengo mis dudas, he utilizado poco librer�as de terceros o propias > y en app que he desarrollado en object pascal (estas han sido desde delphi); > pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que > declaraba las funciones que dicha librer�a exportaba y entonces era que > pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero > *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente desde > GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero de > cabeceras *.h donde se declaran las mismas funciones que se exportan desde > la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app as�: > #include <nombre_libreria.h> o #include "nombre_libreria.h". > Pregunto: > �Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o utilizar > la librer�a y los *.h? > > El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: > > 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>: >> >> > Te paso los archivos make tanto de windows como Linux >> > >> > make_win32 >> > -------------------------------------------------- >> > INCLUDE=-I. >> > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC >> > FISCAL_LIB=clasefiscal.a >> > all: $(FISCAL_LIB) clasefiscal >> > >> > #depend: >> > # makedepend $(INCLUDE) *.cpp >> > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o >> > \ >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> > Select.o >> > $(FISCAL_LIB): $(clasefiscal_objs) >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> > ranlib $(FISCAL_LIB) >> > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 >> > -------------------------------------------------- >> > >> > makefile_linux >> > --------------------------------------------------- >> > INCLUDE=-I. >> > CXXFLAGS=$(INCLUDE) -DP_LINUX >> > FISCAL_LIB=clasefiscal.a >> > all: $(FISCAL_LIB) clasefiscal >> > >> > #depend: >> > # makedepend $(INCLUDE) *.cpp >> > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o >> > \ >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> > Select.o >> > $(FISCAL_LIB): $(clasefiscal_objs) >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> > ranlib $(FISCAL_LIB) >> > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread >> > >> > -------------------------------------------------------------------------- >> > >> > La pregunta es como hago para compilar y transformar el codigo en c en >> > una >> > libreria para windows o Linux ? >> > >> > Muchas Gracias >> > Sergio Pedraza >> > >> > >> > -------------------------------------------------- >> > From: "Maxi" <maximiliano.duarte en gmail.com> >> > Sent: Monday, August 13, 2012 11:54 AM >> > To: "Spanish version of Lazarus List" >> > <lazarus-es en lists.lazarus.freepascal.org> >> > Subject: Re: [Lazarus-es] Problema con libreria c >> > >> >> Y el codigo? >> >> >> >> -- >> >> El que pregunta aprende, y el que contesta aprende a responder. >> >> >> >> No a la obsolecencia programada: >> >> >> >> >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe rse.html >> >> >> >> Linux User #495070 >> >> http://domonetic.com/blog >> >> >> >> _______________________________________________ >> >> Lazarus-es mailing list >> >> Lazarus-es en lists.lazarus.freepascal.org >> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lists.lazarus.freepascal.org >> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> con make desde linux te crea el archivo.o que el la libreria, si tenes >> todos los fuentes no necesitas transformarlo a pascal sino generar la >> dll y usarla con las declaraciones en tu fuente y listo. Creoque podes >> usar make en windows. >> >> -- >> El que pregunta aprende, y el que contesta aprende a responder. >> >> No a la obsolecencia programada: >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe rse.html >> >> Linux User #495070 >> http://domonetic.com/blog >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es tenes que pasar los .h a .pas manteniendolos tipos de datos iguales, si usa un int en C, integer en pascal, los struct a record, esto es lo que hizo Delphi para usar las apis de windows. -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe rse.html Linux User #495070 http://domonetic.com/blog

Reply by email

Maikel Enrique Pernía Matos
to Maxi: El d�a 16 de agosto de 2012 17:47, Maikel Enrique Pern�a Matos <reprepoli2mz en…

Maxi:
No recuerdo haber mencionado que sea imposible el empleo de punteros, tampoco es mi intenci�n establecer un debate sobre lo que se puede o no en estos lenguajes, que para mi son fabulosos, el objetivo de este hilo es ayudar a quien poste� el primer e-mail, y esta ayuda a mi modo de ver; debe reflejar las opciones m�s sencillas posibles y explicar todos los posibles inconvenientes, tal vez tu sean un gur� en ambos lenguajes pero �y los dem�s...? creo que es bueno llegar entre todos a las soluciones m�s favorables para quienes en esta lista pedimos ayuda.

Maxi <maximiliano.duarte en gmail.com> escribi�:

Show quoted text 248 lines
El d�a 16 de agosto de 2012 17:47, Maikel Enrique Pern�a Matos <reprepoli2mz en infomed.sld.cu> escribi�: > Maxi, creo que no es tan simple como lo haces ver, pues algo que caracteriza > los c�digos escritos en C y C++ es el empleo de punteros que es m�s que > conversi�n entre tipos de datos y esto si puede ser una gran barrera para > reescribir estos ficheros cabeceras a object pascal pues aqu� es m�s > moderado el uso de estos. > > El jue, 16-08-2012 a las 17:02 -0300, Maxi escribi�: > > El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos >> >> <reprepoli2mz en infomed.sld.cu> escribi�: >> > Con esto tengo mis dudas, he utilizado poco librer�as de terceros o >> > propias >> > y en app que he desarrollado en object pascal (estas han sido desde >> > delphi); >> > pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que >> > declaraba las funciones que dicha librer�a exportaba y entonces era que >> > pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero >> > *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente >> > desde >> > GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero >> > de >> > cabeceras *.h donde se declaran las mismas funciones que se exportan >> > desde >> > la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app >> > as�: >> > #include <nombre_libreria.h> o #include "nombre_libreria.h". >> > Pregunto: >> > �Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o >> > utilizar >> > la librer�a y los *.h? >> > >> > El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: >> > >> > 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>: >> >> >> >> > Te paso los archivos make tanto de windows como Linux >> >> > >> >> > make_win32 >> >> > -------------------------------------------------- >> >> > INCLUDE=-I. >> >> > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC >> >> > FISCAL_LIB=clasefiscal.a >> >> > all: $(FISCAL_LIB) clasefiscal >> >> > >> >> > #depend: >> >> > # makedepend $(INCLUDE) *.cpp >> >> > >> >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o >> >> > \ >> >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o >> >> > \ >> >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o >> >> > \ >> >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o >> >> > \ >> >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o >> >> > PPL23_101.o >> >> > \ >> >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> >> > Select.o >> >> > $(FISCAL_LIB): $(clasefiscal_objs) >> >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> >> > ranlib $(FISCAL_LIB) >> >> > >> >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 >> >> > -------------------------------------------------- >> >> > >> >> > makefile_linux >> >> > --------------------------------------------------- >> >> > INCLUDE=-I. >> >> > CXXFLAGS=$(INCLUDE) -DP_LINUX >> >> > FISCAL_LIB=clasefiscal.a >> >> > all: $(FISCAL_LIB) clasefiscal >> >> > >> >> > #depend: >> >> > # makedepend $(INCLUDE) *.cpp >> >> > >> >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o >> >> > \ >> >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o >> >> > \ >> >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o >> >> > \ >> >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o >> >> > \ >> >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o >> >> > PPL23_101.o >> >> > \ >> >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> >> > Select.o >> >> > $(FISCAL_LIB): $(clasefiscal_objs) >> >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> >> > ranlib $(FISCAL_LIB) >> >> > >> >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread >> >> > >> >> > >> >> > >> -------------------------------------------------------------------------- >> >> > >> >> > La pregunta es como hago para compilar y transformar el codigo en c >> >> > en >> >> > una >> >> > libreria para windows o Linux ? >> >> > >> >> > Muchas Gracias >> >> > Sergio Pedraza >> >> > >> >> > >> >> > -------------------------------------------------- >> >> > From: "Maxi" <maximiliano.duarte en gmail.com> >> >> > Sent: Monday, August 13, 2012 11:54 AM >> >> > To: "Spanish version of Lazarus List" >> >> > <lazarus-es en lists.lazarus.freepascal.org> >> >> > Subject: Re: [Lazarus-es] Problema con libreria c >> >> > >> >> >> Y el codigo? >> >> >> >> >> >> -- >> >> >> El que pregunta aprende, y el que contesta aprende a responder. >> >> >> >> >> >> No a la obsolecencia programada: >> >> >> >> >> >> >> >> >> >> >> >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html >> >> >> >> >> >> Linux User #495070 >> >> >> http://domonetic.com/blog >> >> >> >> >> >> _______________________________________________ >> >> >> Lazarus-es mailing list >> >> >> Lazarus-es en lists.lazarus.freepascal.org >> >> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> >> > >> >> > _______________________________________________ >> >> > Lazarus-es mailing list >> >> > Lazarus-es en lists.lazarus.freepascal.org >> >> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> >> con make desde linux te crea el archivo.o que el la libreria, si tenes >> >> todos los fuentes no necesitas transformarlo a pascal sino generar la >> >> dll y usarla con las declaraciones en tu fuente y listo. Creoque podes >> >> usar make en windows. >> >> >> >> -- >> >> El que pregunta aprende, y el que contesta aprende a responder. >> >> >> >> No a la obsolecencia programada: >> >> >> >> >> >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html >> >> >> >> Linux User #495070 >> >> http://domonetic.com/blog >> >> >> >> _______________________________________________ >> >> Lazarus-es mailing list >> >> Lazarus-es en lists.lazarus.freepascal.org >> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> > >> > ---------------------------------------------------------------- >> > This message was sent using IMP, the Internet Messaging Program. >> > >> > >> > -- >> > >> > Este mensaje le ha llegado mediante el servicio de correo electronico >> > que >> > ofrece Infomed para respaldar el cumplimiento de las misiones del >> > Sistema >> > Nacional de Salud. La persona que envia este correo asume el compromiso >> > de >> > usar el servicio a tales fines y cumplir con las regulaciones >> > establecidas >> > >> > Infomed: http://www.sld.cu/ >> > >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lists.lazarus.freepascal.org >> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> tenes que pasar los .h a .pas manteniendolos tipos de datos iguales, >> si usa un int en C, integer en pascal, los struct a record, esto es lo >> que hizo Delphi para usar las apis de windows. >> >> >> > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es todo lo que hagas en c o c++ lo podes hacer en pascal y Object pascal. Y mas facil, que no sepas todo de los 2 lenguajes es otra cosa. Delphi y CBuilder usan la misma vcl y estan escritas una en C y la otra en pascal. En Lazarus pasa lo mismo si abris las unidades que hacen referencia a las apis vas a ver punteros a estructuras, punteros a tipos de datos y otras cosas. No veo porque no se pueda, no es facil porque hay que tener cuidado con los tipos de datos, sobre todo con los enteros si es de 16 o 32 bits, pero las funciones exportadas no deben ser muchas. -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Maxi
to Sergio Pedraza: Por lo que vos me decis tendria que pasar todo los .h a pas Y no tengo que usar la…

El d�a 17 de agosto de 2012 09:46, Sergio Pedraza <spedraza69 en hotmail.com> escribi�:

Show quoted text 206 lines
Por lo que vos me decis tendria que pasar todo los .h a pas Y no tengo que usar la librer�a, ya que pasaria a ser codigo nativo De lazarus ? -----Mensaje original----- De: Maxi [mailto:maximiliano.duarte en gmail.com] Enviado el: Jueves, 16 de Agosto de 2012 05:03 p.m. Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Problema con libreria c El d�a 16 de agosto de 2012 16:57, Maikel Enrique Pern�a Matos <reprepoli2mz en infomed.sld.cu> escribi�: > Con esto tengo mis dudas, he utilizado poco librer�as de terceros o propias > y en app que he desarrollado en object pascal (estas han sido desde delphi); > pero recuerdo que cada librer�a se aconmpa�aba con un fichero *.pas que > declaraba las funciones que dicha librer�a exportaba y entonces era que > pod�a vincularlas con mi app esto desde la clausula "use" de mi fichero > *.pas. En C y C++ lo ha realizado con m�s frecuencia fundamentalmente desde > GNU/Linux y de manera similar cada librer�a se acompa�a con un fichero de > cabeceras *.h donde se declaran las mismas funciones que se exportan desde > la librer�a ya sea din�mica *.so o est�tica *.a y se vinculan a mi app as�: > #include <nombre_libreria.h> o #include "nombre_libreria.h". > Pregunto: > �Qu� habr�a que hacer, crear la librer�a y llevar los *.h a *.pas o utilizar > la librer�a y los *.h? > > El jue, 16-08-2012 a las 16:37 -0300, Maxi escribi�: > > 2012/8/16 Pedraza Sergio <spedraza69 en hotmail.com>: >> >> > Te paso los archivos make tanto de windows como Linux >> > >> > make_win32 >> > -------------------------------------------------- >> > INCLUDE=-I. >> > CXXFLAGS=$(INCLUDE) -DP_WIN32 -DP_WIN32_GCC >> > FISCAL_LIB=clasefiscal.a >> > all: $(FISCAL_LIB) clasefiscal >> > >> > #depend: >> > # makedepend $(INCLUDE) *.cpp >> > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o >> > \ >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> > Select.o >> > $(FISCAL_LIB): $(clasefiscal_objs) >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> > ranlib $(FISCAL_LIB) >> > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lwsock32 >> > -------------------------------------------------- >> > >> > makefile_linux >> > --------------------------------------------------- >> > INCLUDE=-I. >> > CXXFLAGS=$(INCLUDE) -DP_LINUX >> > FISCAL_LIB=clasefiscal.a >> > all: $(FISCAL_LIB) clasefiscal >> > >> > #depend: >> > # makedepend $(INCLUDE) *.cpp >> > >> > clasefiscal_objs = debug.o Excepcion.o ImpresorFiscal16Bits.o \ >> > ImpresorFiscal8Bits.o ImpresorFiscal.o Mutex.o P262_100.o \ >> > P272_100.o P320_100.o P321_100.o P322_100.o P322_201.o P322.o \ >> > P330_100.o P330_201.o P330_202.o P330.o P425_100.o P425_201.o \ >> > P425.o P435_100.o P435_101.o P435.o P614_100.o P615_100.o \ >> > P715_100.o P715_201.o P715_302.o P715_403.o P715.o P950_100.o \ >> > P951_100.o PJ20_100.o PPL8_100.o PPL8_201.o PPL8.o PPL9_100.o \ >> > PPR4_100.o PPR5_100.o PPR5_201.o PPR5.o PPL23_100.o PPL23_101.o >> > \ >> > PPL23.o Protocolo.o PuertoSerie.o Socket.o ssplit.o Chars.o \ >> > Select.o >> > $(FISCAL_LIB): $(clasefiscal_objs) >> > ar rvu $(FISCAL_LIB) $(clasefiscal_objs) >> > ranlib $(FISCAL_LIB) >> > >> > clasefiscal: ClaseFiscal.o $(FISCAL_LIB) >> > $(CXX) ClaseFiscal.o $(FISCAL_LIB) -o clasefiscal -lpthread >> > >> > -------------------------------------------------------------------------- >> > >> > La pregunta es como hago para compilar y transformar el codigo en c en >> > una >> > libreria para windows o Linux ? >> > >> > Muchas Gracias >> > Sergio Pedraza >> > >> > >> > -------------------------------------------------- >> > From: "Maxi" <maximiliano.duarte en gmail.com> >> > Sent: Monday, August 13, 2012 11:54 AM >> > To: "Spanish version of Lazarus List" >> > <lazarus-es en lists.lazarus.freepascal.org> >> > Subject: Re: [Lazarus-es] Problema con libreria c >> > >> >> Y el codigo? >> >> >> >> -- >> >> El que pregunta aprende, y el que contesta aprende a responder. >> >> >> >> No a la obsolecencia programada: >> >> >> >> >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe rse.html >> >> >> >> Linux User #495070 >> >> http://domonetic.com/blog >> >> >> >> _______________________________________________ >> >> Lazarus-es mailing list >> >> Lazarus-es en lists.lazarus.freepascal.org >> >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lists.lazarus.freepascal.org >> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> con make desde linux te crea el archivo.o que el la libreria, si tenes >> todos los fuentes no necesitas transformarlo a pascal sino generar la >> dll y usarla con las declaraciones en tu fuente y listo. Creoque podes >> usar make en windows. >> >> -- >> El que pregunta aprende, y el que contesta aprende a responder. >> >> No a la obsolecencia programada: >> >> http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe rse.html >> >> Linux User #495070 >> http://domonetic.com/blog >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus.freepascal.org >> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es tenes que pasar los .h a .pas manteniendolos tipos de datos iguales, si usa un int en C, integer en pascal, los struct a record, esto es lo que hizo Delphi para usar las apis de windows. -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-rompe rse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

No vamos por partes, si tenes la .dll o .so ya compilado listo para usar, en tu fuente solo tenes que declarar el nombre de la funcion Ejemplo:

procedure HolaMundo; external  cdecl  'archivoDLL.dll'
function Suma(A,B:integer):Integer; external  stdcall  'archivoDLL.dll'

Donde cdecl o stdcall es la forma en que se pasan los parametros; Si los parametros tienen estructuras tenes que crear los registro para tal fin

Ahora si esto lo tenes en un .h tenes que transformarlo para que se entienda en pascal. lo incluis en tu formulario o unidad y listo.

struct Persona {
   char Nombre[65];
   char Direccion[65];
   int AnyoNacimiento;
}

en Pascal

Record Persona {
   Nombre: Array[65] of char;
   Direccion: Array [65] of char ;
   AnyoNacimiento:Integer;
}

No soy guru ni nada por el estilo, estudie ambos lenguajes y me quede con pascal. Entre todos podemos ayudarle a pasar las estructuras y quedaria algo util para la comunidad como son las impresoras de este tipo.

El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog

Reply by email

Maikel Enrique Pernía Matos

creo que es una excelente idea la de Maxi, Sergio por qu� no posteas los *.h para que todos los veamos y podamos entre todos llevarlos a pascal.

El vie, 17-08-2012 a las 11:51 -0300, Maxi escribi�:

Show quoted text 34 lines
No vamos por partes, si tenes la .dll o .so ya compilado listo para usar, en tu fuente solo tenes que declarar el nombre de la funcion Ejemplo: procedure HolaMundo; external cdecl 'archivoDLL.dll' function Suma(A,B:integer):Integer; external stdcall 'archivoDLL.dll' Donde cdecl o stdcall es la forma en que se pasan los parametros; Si los parametros tienen estructuras tenes que crear los registro para tal fin Ahora si esto lo tenes en un .h tenes que transformarlo para que se entienda en pascal. lo incluis en tu formulario o unidad y listo. struct Persona { char Nombre[65]; char Direccion[65]; int AnyoNacimiento; } en Pascal Record Persona { Nombre: Array[65] of char; Direccion: Array [65] of char ; AnyoNacimiento:Integer; } No soy guru ni nada por el estilo, estudie ambos lenguajes y me quede con pascal. Entre todos podemos ayudarle a pasar las estructuras y quedaria algo util para la comunidad como son las impresoras de este tipo.

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Sergio Pedraza
to Maikel Enrique Pernía Matos

Lo que tendr�a que hacer es adjuntarlos como archivos, o los Copio dentro del mensaje a cada uno de ellos?
Te pregunto porque cuando comenc� a preguntar envi� todo como un zip Adjunto y reboto el mensaje

Saludos Sergio

Earlier message 59 lines
-----Mensaje original----- De: Maikel Enrique Pern�a Matos [mailto:reprepoli2mz en infomed.sld.cu] Enviado el: Viernes, 17 de Agosto de 2012 12:32 p.m. Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Problema con libreria c creo que es una excelente idea la de Maxi, Sergio por qu� no posteas los *.h para que todos los veamos y podamos entre todos llevarlos a pascal. El vie, 17-08-2012 a las 11:51 -0300, Maxi escribi�: > No vamos por partes, si tenes la .dll o .so ya compilado listo para > usar, en tu fuente solo tenes que declarar el nombre de la funcion > Ejemplo: > > procedure HolaMundo; external cdecl 'archivoDLL.dll' > function Suma(A,B:integer):Integer; external stdcall 'archivoDLL.dll' > > Donde cdecl o stdcall es la forma en que se pasan los parametros; Si > los parametros tienen estructuras tenes que crear los registro para > tal fin > > Ahora si esto lo tenes en un .h tenes que transformarlo para que se > entienda en pascal. lo incluis en tu formulario o unidad y listo. > > struct Persona { > char Nombre[65]; > char Direccion[65]; > int AnyoNacimiento; > } > > en Pascal > > Record Persona { > Nombre: Array[65] of char; > Direccion: Array [65] of char ; > AnyoNacimiento:Integer; > } > > No soy guru ni nada por el estilo, estudie ambos lenguajes y me quede > con pascal. Entre todos podemos ayudarle a pasar las estructuras y > quedaria algo util para la comunidad como son las impresoras de este > tipo. > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Maikel Enrique Pernía Matos
to Sergio Pedraza

bueno eso no s�, quiz�s alguien con m�s tiempo aqu� en la lista nos pueda aclarar
"Sergio Pedraza" <spedraza69 en hotmail.com> escribi�:

Show quoted text 78 lines
Lo que tendr�a que hacer es adjuntarlos como archivos, o los Copio dentro del mensaje a cada uno de ellos? Te pregunto porque cuando comenc� a preguntar envi� todo como un zip Adjunto y reboto el mensaje Saludos Sergio -----Mensaje original----- De: Maikel Enrique Pern�a Matos [mailto:reprepoli2mz en infomed.sld.cu] Enviado el: Viernes, 17 de Agosto de 2012 12:32 p.m. Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Problema con libreria c creo que es una excelente idea la de Maxi, Sergio por qu� no posteas los *.h para que todos los veamos y podamos entre todos llevarlos a pascal. El vie, 17-08-2012 a las 11:51 -0300, Maxi escribi�: > No vamos por partes, si tenes la .dll o .so ya compilado listo para > usar, en tu fuente solo tenes que declarar el nombre de la funcion > Ejemplo: > > procedure HolaMundo; external cdecl 'archivoDLL.dll' > function Suma(A,B:integer):Integer; external stdcall 'archivoDLL.dll' > > Donde cdecl o stdcall es la forma en que se pasan los parametros; Si > los parametros tienen estructuras tenes que crear los registro para > tal fin > > Ahora si esto lo tenes en un .h tenes que transformarlo para que se > entienda en pascal. lo incluis en tu formulario o unidad y listo. > > struct Persona { > char Nombre[65]; > char Direccion[65]; > int AnyoNacimiento; > } > > en Pascal > > Record Persona { > Nombre: Array[65] of char; > Direccion: Array [65] of char ; > AnyoNacimiento:Integer; > } > > No soy guru ni nada por el estilo, estudie ambos lenguajes y me quede > con pascal. Entre todos podemos ayudarle a pasar las estructuras y > quedaria algo util para la comunidad como son las impresoras de este > tipo. > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Sergio Pedraza
to Maikel Enrique Pernía Matos

Maikel entonces lo envio uno por uno dentro del cuerpo del mensaje

Earlier message 104 lines
-----Mensaje original----- De: Maikel Enrique Pern�a Matos [mailto:reprepoli2mz en infomed.sld.cu] Enviado el: Viernes, 17 de Agosto de 2012 01:10 p.m. Para: Spanish version of Lazarus List Asunto: Re: [Lazarus-es] Problema con libreria c bueno eso no s�, quiz�s alguien con m�s tiempo aqu� en la lista nos pueda aclarar "Sergio Pedraza" <spedraza69 en hotmail.com> escribi�: > Lo que tendr�a que hacer es adjuntarlos como archivos, o los > Copio dentro del mensaje a cada uno de ellos? > Te pregunto porque cuando comenc� a preguntar envi� todo como un zip > Adjunto y reboto el mensaje > > Saludos Sergio > > > -----Mensaje original----- > De: Maikel Enrique Pern�a Matos [mailto:reprepoli2mz en infomed.sld.cu] > Enviado el: Viernes, 17 de Agosto de 2012 12:32 p.m. > Para: Spanish version of Lazarus List > Asunto: Re: [Lazarus-es] Problema con libreria c > > creo que es una excelente idea la de Maxi, Sergio por qu� no posteas > los *.h para que todos los veamos y podamos entre todos llevarlos a > pascal. > > El vie, 17-08-2012 a las 11:51 -0300, Maxi escribi�: >> No vamos por partes, si tenes la .dll o .so ya compilado listo para >> usar, en tu fuente solo tenes que declarar el nombre de la funcion >> Ejemplo: >> >> procedure HolaMundo; external cdecl 'archivoDLL.dll' >> function Suma(A,B:integer):Integer; external stdcall 'archivoDLL.dll' >> >> Donde cdecl o stdcall es la forma en que se pasan los parametros; Si >> los parametros tienen estructuras tenes que crear los registro para >> tal fin >> >> Ahora si esto lo tenes en un .h tenes que transformarlo para que se >> entienda en pascal. lo incluis en tu formulario o unidad y listo. >> >> struct Persona { >> char Nombre[65]; >> char Direccion[65]; >> int AnyoNacimiento; >> } >> >> en Pascal >> >> Record Persona { >> Nombre: Array[65] of char; >> Direccion: Array [65] of char ; >> AnyoNacimiento:Integer; >> } >> >> No soy guru ni nada por el estilo, estudie ambos lenguajes y me quede >> con pascal. Entre todos podemos ayudarle a pasar las estructuras y >> quedaria algo util para la comunidad como son las impresoras de este >> tipo. >> >> > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email

Maxi
to Pedraza Sergio

El d�a 17 de agosto de 2012 14:55, Pedraza Sergio <spedraza69 en hotmail.com> escribi�:

Show quoted text 18 lines
Desde este enlace pueden descargar el c�digo en c y toda la librer�a para compilar tanto en Linux como Windows les agradezco la colaboraci�n, una vez que termine el proyecto lo subir� para compartirlo con todos desde ya muy agradecido. http://www.4shared.com/rar/9Rwlb-4g/ClaseFiscal.html Sergio Pedraza _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

No encuentro las exportaciones de las funciones

El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog

Reply by email

Walter
to Maxi

Amigos :

Hace mucho tiempo tuve un problema parecido y buscando y buscando, di con un colega que habia creado una librer�a/componente que encapsulaba todas las funciones para trabajar con la mayor�a de las impresoras fiscales vigentes hasta ese momento.Incluso, mi idea era crear una impresora fiscal virtual que permitiera capturar los datos que se enviaba a la impresora y sacarlos por una impresora de matriz de puntos com�n para poder ir trabajando el c�digo.Por supuesto, este emulador ten�a que impedir que se usara en forma comercial, solo debia servir para programar sin necesidad de tener una impresora fiscal f�sica.
El proyecto qued� solo en eso, proyecto, pero la librer�a funcionaba correctamente.Habr�a que probar si se puede armar una dll que se use desde Lazarus hacia la impresi�n de este tipo de aparatos. S� que el proyecto estaba en un foro de yahoo llamado (creo que se llamaba as�) delphi-fiscal y los fuentes eran free.
Googlear y listo.

Saludos.

Walter Mes�n

*
*

El 17 de agosto de 2012 17:35, Maxi <maximiliano.duarte en gmail.com> escribi�:

Show quoted text 38 lines
El d�a 17 de agosto de 2012 14:55, Pedraza Sergio <spedraza69 en hotmail.com> escribi�: > Desde este enlace pueden descargar el c�digo en c y toda la librer�a para > compilar tanto en Linux como Windows > les agradezco la colaboraci�n, una vez que termine el proyecto lo subir� > para compartirlo con todos > desde ya muy agradecido. > > http://www.4shared.com/rar/9Rwlb-4g/ClaseFiscal.html > > Sergio Pedraza > > > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es No encuentro las exportaciones de las funciones -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20120817/163fa73d/attachment-0001.html>

Reply by email

José Mejuto
to Maikel Enrique Pernía Matos: bueno eso no s�, quiz�s alguien con m�s tiempo aqu� en la lista nos pueda aclarar…

El 17/08/2012 18:09, Maikel Enrique Pern�a Matos escribi�:

Show quoted text 9 lines
bueno eso no s�, quiz�s alguien con m�s tiempo aqu� en la lista nos pueda aclarar "Sergio Pedraza" <spedraza69 en hotmail.com> escribi�: > Lo que tendr�a que hacer es adjuntarlos como archivos, o los > Copio dentro del mensaje a cada uno de ellos? > Te pregunto porque cuando comenc� a preguntar envi� todo como un zip > Adjunto y reboto el mensaje >

Si envias m�s de 20K (creo recordar) la lista los rechaza...

Reply by email

Maikel Enrique Pernía Matos

hola ayer trat� de compilar el fuente desde GNU/Linux; pero como est� devuelve varios errores, luego de hacer unos cambios llegu� casi a compilarlo todo pero me salt� un error que es el siguiente: <terminal>
maikel en trastos:~/claseFiscal$ make
g++ -I. -DP_LINUX -c -o Socket.o Socket.cpp
Socket.cpp: In constructor ?SocketTCP::SocketTCP(const std::string&, short unsigned int, short unsigned int)?:
Socket.cpp:73: error: ?memset? was not declared in this scope Socket.cpp: In constructor ?SocketUDP::SocketUDP(const std::string&, short unsigned int, short unsigned int)?:
Socket.cpp:242: error: ?memset? was not declared in this scope Socket.cpp: In member function ?virtual void
SocketUDP::EnviarString(const unsigned char*, unsigned int)?: Socket.cpp:366: error: ?memset? was not declared in this scope make: *** [Socket.o] Error 1
</terminal>
como pueden ver el error est� claro, pero si esta funci�n es del est�ndar no la recuerdo por tanto no s� que cabecera incluir si alguno de ustedes lo sabe lo puede compartir con todos.

Por otro lado creo que la cabecera que se deber�a llevar a .pas es "ImpresorFiscal.h".

Ac� dejo la descripci�n de los cambios que hice: <cambios>
FICHERO LINEA CAMBIOS
Transporte.h 138 eliminar SocketUDP::
ImpresorFiscal.h 5 insertar #include <iostream> ImpresorFiscal.h 6 insertar #include <stdlib.h> ImpresorFiscal.h 7 insertar #include <stdio.h> ImpresorFiscal.h 1474 eliminar ImpresorFiscal:: Protocolo.h 14 insertar #include <stdio.h> PuertoSerie.cpp 13 insertar #include <stdio.h> </cambios>

El vie, 17-08-2012 a las 17:35 -0300, Maxi escribi�: El d�a 17 de agosto de 2012 14:55, Pedraza Sergio

Show quoted text 23 lines
<spedraza69 en hotmail.com> escribi�: > Desde este enlace pueden descargar el c�digo en c y toda la librer�a para > compilar tanto en Linux como Windows > les agradezco la colaboraci�n, una vez que termine el proyecto lo subir� > para compartirlo con todos > desde ya muy agradecido. > > http://www.4shared.com/rar/9Rwlb-4g/ClaseFiscal.html > > Sergio Pedraza > > > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es No encuentro las exportaciones de las funciones

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/

Reply by email