Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
como leer datos enviados por COM3 ( TurboPower Async Professional.)

Buenas tardes.

llevo ya un tiempo investigando pero se me esta complicando mas de lo que pensaba.

simplemente tengo un scaner de DNI que envia los datos leidos por el COM3 y simplemente los tendria que poder leer y hacer lo que quisiera con ellos.

he estado utilizando el TurboPower Async Professional pero no soy capaz de hacerlo funcionar, teoricamente en el ApdComPort1TriggerAvail poniendo el ApdComPort1.GetChar tendria que tener dichos datos pero se que me faltan muchas cosas antes, porque en ningun momento le estoy diciendo en que puerto tiene que buscar y cuando tiene que buscar si se mandan datos.

es la primera vez que hago algo asi y estoy un poco perdido.

muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo Hace 1 Semana
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 28.647
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ve mirando los enlaces de final de página, abajo del todo, a ver si te sirve alguno.
Responder Con Cita
  #3  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
antes de postear esto, busque por todo sin exito (incluido esos posts que me indicas)
Responder Con Cita
  #4  
Antiguo Hace 1 Semana
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.429
Poder: 19
egostar Va por buen camino
Cita:
Empezado por Racso2006 Ver Mensaje
antes de postear esto, busque por todo sin exito (incluido esos posts que me indicas)
Yo he utilizado por muchos años estos componentes sin problema, si no te urge para ahora mismo, llegando a casa por la noche (GMT-6) veo el código y subo un ejemplo de uso.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
no me urge mucho.

muchas gracias
Responder Con Cita
  #6  
Antiguo Hace 1 Semana
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.429
Poder: 19
egostar Va por buen camino
Lo prometido.

Código Delphi [-]

var
  CRTrig: Word;
  Linea: String;

//Parametros de Comunición [COM1,1200,None,8,1]
procedure TLector.InicializaCOM;
begin
  ApdComPort1.ComNumber := 1;
  ApdComPort1.Baud      := 1200;
  ApdComPort1.DataBits  := 8;
  Case Parity of
     1 : ApdComPort1.Parity := pNone;
     2 : ApdComPort1.Parity := pOdd;
     3 : ApdComPort1.Parity := pEven;
     4 : ApdComPort1.Parity := pMark;
     5 : ApdComPort1.Parity := pSpace;
  end;
  ApdComPort1.StopBits := 1;
  ApdComPort1.Open := True;
  CRTrig := ApdComPort1.AddDataTrigger(#13, False);
end;

procedure TLector.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  I : Word;
begin
  for I := 1 to Count do
    Linea := Linea + ApdComPort1.GetChar;
end;

procedure TLector.ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);
begin
  if TriggerHandle = CRTrig then 
  begin
    Linea := StringReplace(Linea,#13,'',[rfReplaceAll]);
    Linea := StringReplace(Linea,#10,'',[rfReplaceAll]);
  try
      Memo1.Lines.Add(Linea);
  except
      Memo1.Clear;  
      Memo1.Lines.Add(Linea);
  end;
    Linea := '';
  end;
end;

Espero te ayude.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
muchas gracias, mas tarde lo probare y informo del resultado, muchisimas gracias por su ayuda
Responder Con Cita
  #8  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
buenas, demomento me surge una duda y es sobre el procedure TLector.InicializaCOM
que es el InicializaCOM? un componente del turbo power astyc? seguramente es lo que me faltaba cuando lo intentaba hacer, pero no encuentro nada sobre el InicializaCOMm de donde lo saco?

muchas gracias de nuevo
Responder Con Cita
  #9  
Antiguo Hace 1 Semana
Bolox Bolox is offline
Miembro
 
Registrado: Jul 2018
Posts: 11
Poder: 0
Bolox Va por buen camino
No tengo ni idea de como va ese componente, pero TLector.InicializaCOM es el procedimiento que crea egostar. No creo que te lo de el componente sino que lo inicia él.
Responder Con Cita
  #10  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
eso lo he pensado tambien, que sea un procedure que crea el aposta, pero no veo donde llama ese mismo procedure para que se active, por lo que no me cuadra

Última edición por Racso2006 fecha: Hace 1 Semana a las 16:02:04.
Responder Con Cita
  #11  
Antiguo Hace 1 Semana
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.429
Poder: 19
egostar Va por buen camino
Cita:
Empezado por Racso2006 Ver Mensaje
buenas, demomento me surge una duda y es sobre el procedure TLector.InicializaCOM
que es el InicializaCOM? un componente del turbo power astyc? seguramente es lo que me faltaba cuando lo intentaba hacer, pero no encuentro nada sobre el InicializaCOMm de donde lo saco?

muchas gracias de nuevo
Cita:
Empezado por Bolox Ver Mensaje
No tengo ni idea de como va ese componente, pero TLector.InicializaCOM es el procedimiento que crea egostar. No creo que te lo de el componente sino que lo inicia él.
Hola

Bueno, no pensé que provocaría confusión el procedimiento InicializaCOM, es un procedimiento que mando llamar (entre otras cosas más) cuando la forma es creada.



Código Delphi [-]
  TLector = class(TForm) 
  //...
  private
    { Private declarations }
    procedure InicializaCOM;
  public
    { Public declarations }
  end;

implementation

procedure TLector.FormCreate(Sender: TObject);
begin
  //..
  Parity := 1;
  InicializaCOM;
  //..
end;

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: Hace 1 Semana a las 16:16:04.
Responder Con Cita
  #12  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
perfecto, muchisimas gracias por su ayuda, hasta el lunes no lo podnre en practica debido a que me he ido de viaje y hoy no tenia dicho scaner de DNIs, pero el lunes lo comprobare sin falta
Responder Con Cita
  #13  
Antiguo Hace 1 Semana
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
buenas tardes egostar, vuelvo a agradecer su ayuda, no obstante ahora que lo he probado me surje un problemilla, y es que con mi programa de lectura abierto ocupo el com3 por lo que el programa del scaner no se puede comunicar con el para mandarle escanear, ya que cuando lo tengo abierta el programa del scaner no me deja conectar al com3.

por lo que necesitaria saber como mandar ordenes a traves del COM3, he buscado mucha info pero hay algo que me lia mucho y es que casi todo lo que encuentro utilizan el comport y no el apdcomport, yo no tengo ningun componente comport por lo que creo que no interpreto bien toda la infomacion que encuentro.

no obstante me podria indicar como poder mandar una orden a traves del com3 y asi despues de dicha orden (que buscare en el manual del scaner) el mismo scaner me enviara los datos y el codigo anterior lo podra recibir (espero :P)

muchas gracias por su ayuda
Responder Con Cita
  #14  
Antiguo Hace 1 Semana
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.429
Poder: 19
egostar Va por buen camino
Cita:
Empezado por Racso2006 Ver Mensaje
buenas tardes egostar, vuelvo a agradecer su ayuda, no obstante ahora que lo he probado me surje un problemilla, y es que con mi programa de lectura abierto ocupo el com3 por lo que el programa del scaner no se puede comunicar con el para mandarle escanear, ya que cuando lo tengo abierta el programa del scaner no me deja conectar al com3.

por lo que necesitaria saber como mandar ordenes a traves del COM3, he buscado mucha info pero hay algo que me lia mucho y es que casi todo lo que encuentro utilizan el comport y no el apdcomport, yo no tengo ningun componente comport por lo que creo que no interpreto bien toda la infomacion que encuentro.

no obstante me podria indicar como poder mandar una orden a traves del com3 y asi despues de dicha orden (que buscare en el manual del scaner) el mismo scaner me enviara los datos y el codigo anterior lo podra recibir (espero :P)

muchas gracias por su ayuda
Hola

No puedes ejecutar dos aplicaciones leyendo el mismo puerto COM, no se que es lo que intentas hacer, pero si quieres leer con dos aplicaciones un puerto serial lo único que se puede hacer es que una interactua con el dispositivo y la otra esté monitoreando la comunicación entre ambos dispositivos conectados.

Si puedes decirnos que pretendes hacer buscaríamos alguna alternativa.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #15  
Antiguo Hace 6 Días
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
nono, no pretendo leer con dos aplicaciones el mismo pueto com, era solo un dato, lo unico que neceshito saber es como enviar datos a traves del puerto com, anteriormente de dijiste como recibirlos, y no puedo comprobar si los recibo sin antes enviar la orden de que dicho scaner lea el DNI. por lo que necesito es muy simple yo lo se, pero no tengo narices de encontrar informacion correcta sobre este componente , perdon por molestar tanto.
Responder Con Cita
  #16  
Antiguo Hace 6 Días
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.429
Poder: 19
egostar Va por buen camino
Cita:
Empezado por Racso2006 Ver Mensaje
nono, no pretendo leer con dos aplicaciones el mismo pueto com, era solo un dato, lo unico que neceshito saber es como enviar datos a traves del puerto com, anteriormente de dijiste como recibirlos, y no puedo comprobar si los recibo sin antes enviar la orden de que dicho scaner lea el DNI. por lo que necesito es muy simple yo lo se, pero no tengo narices de encontrar informacion correcta sobre este componente , perdon por molestar tanto.
Hola

No tengo a la mano mi maquina para ver el proceso de escritura, pero si no me equivoco puedes utilizar las funciones writeString(), writeChar() e incluso hay otra llamada Output().

Si no logras encontrar la forma de escribir al puerto mas tarde subo un ejemplo que he utilizado para esos menesteres.

Ya sabes (GMT-6)

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: Hace 6 Días a las 16:52:38.
Responder Con Cita
  #17  
Antiguo Hace 6 Días
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
ok, muchas gracias por tu ayuda de nuevo, dentro de 14 horas volvere a probar, que aqui ya es muy tarde y despues de cenar no me pongo a programar, sino no duermo bien xDDD
Responder Con Cita
  #18  
Antiguo Hace 5 Días
[egostar] egostar is offline
Registrado
 
Registrado: Feb 2006
Posts: 6.429
Poder: 19
egostar Va por buen camino
Hola

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  ApdComPort1.PutString('Se puede enviar una cadena.'#13);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  //SE puede enviar un caracter
  ApdComPort1.PutChar('X');
  ApdComPort1.PutChar(#13);
end;

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #19  
Antiguo Hace 5 Días
Racso2006 Racso2006 is offline
Miembro
 
Registrado: Nov 2017
Posts: 18
Poder: 0
Racso2006 Va por buen camino
muchisimas gracias, todo perfecto
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Configuración TurboPower Async Professional para Delphi 7 jvb2008 Varios 0 24-10-2014 20:42:44
Zarko Gajic nominado como Most Valuable Professional por Embarcadero AzidRain La Taberna 8 21-09-2012 22:46:53
Como leer los datos de un UPS kurono Varios 5 20-02-2012 10:23:51
Cómo puedo leer los datos de este xml!! bone Varios 16 23-02-2011 18:29:49
Componentes orpheus de turbopower jourdan Varios 1 16-10-2003 19:59:52


La franja horaria es GMT +2. Ahora son las 04:39:21.


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