Delphi no tiene por defecto ningún componente para acceso a puertos serie, aunque hay componentes gratis buenos, como las TComPort que puedes descargar de
http://www.torry.net lo puede busca como TComPort en el Quick Search "Búsqueda Rápida", de la página ante mencionada.
Para abrir el gambetero de la caja registradora debe manejarlo con API Windows. La mayoría se pueden encontrar en la unit Windows. Pas y System. Pas.
La gente del JEDI Project, proporciona traducciones de archivos de cabecera de delphi de los antes mencionados (win32api) y como accesar a funciones del API de Windows que no vienen traducidas en Delphi. para encontrarla dirigete
http://www.delphi-jedi.orgOtra opción sería hacer una pequeña librería en código ensamblador, para ellos debes conocer las interrupciones del puerto serial o paralelo y conocer cuales de ellas son las que utiliza o comunica con tu caja registradora. Tendría que buscar un manual técnico acerca de la caja registradora y buscar un libro sobre código de programación de asembler. Pero para que volvernos locos si el componente ya esta hecho y gratis...
Espero que te funcione. TComPort
Las siguientes son opción que tome de otro club al cual pertenezco de afiliado del www.clubdelphi.com Dieron a otro de nuestro compañero:
Este otra es un recorte de código de la web del grupoalbor.
Dice que sirve para abrir el cajón registradora
Código:
procedure AbreCaja;
var
nPrn:TextFile;
abrir:string;
begin
AssignFile(nPrn, 'LPT1');
Rewrite(nPrn);
WriteLn(nPrn,cadena); //cadena:='chr(27)+... dependiendo de la impresora'
CloseFile(nPrn);
end;
Otro Procedimiento.
procedure AbreCaja;
var CajaRegistradora: TextFile;
begin
AssignFile(CajaRegistradora, tTipoCajon);
Rewrite(CajaRegistradora);
WriteLn(CajaRegistradora,#27+#112+#0);
// . WriteLn(CajaRegistradora,#27+#112+#0+#10+#100);
// . repite la secuencia SI observas que no va correctamente
CloseFile(CajaRegistradora);
end;
Nota:
TTipoCajon es una variable String que puede tomar los siguientes valores dependiendo de donde tengas conectado el cajón
'LPT1' --> si esta conectado a una impresora de tickets en Paralelo
'COM1', 'COM2' --> si esta conectada a un serial
Espero haberte ayudado
Tu Amigo Mac
Puerto la Cruz -Venezuela
Si eres pescador y alguien te pide un pez no se lo des enséñalo a pescar así comerá todos los días.