Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con TAdTerminal de los Async 4 Prof. (https://www.clubdelphi.com/foros/showthread.php?t=44260)

AGAG4 08-06-2007 17:15:14

Gracias EgoStar eso era lo que me faltaba en el apdDataPacket, configurar el caracter de inicio, ya puedo cachar la llamada, el unico y pequeño inconveniente que no veo problema es que me pone 1 renglon en blanco después de la llamada, pero eso se puede arreglar.

Gracias Al por el Tip, es muy bueno ....

Que tengan buen día....

Al González 08-06-2007 17:45:37

¡Hola a todos!

Que bueno que lograste solucionarlo.

Cita:

Empezado por AGAG4
...Gracias Al por el Tip, es muy bueno...

De nada, pero para la otra contesta el teléfono y cacha mi llamada. :D No te olvides de los cuates. :p

Un abrazo con salto
de línea.

Al González. :)

egostar 08-06-2007 17:48:06

Me da mucho gusto que te haya servido, ahora viene lo bueno, tienes que tomar en cuenta muchas cosas, por ejemplo:

Listado de claves lada para identificar el destino de la llamada
Horarios de la llamada para saber si es con tarifa plena o reducida,
Si vas a considerar multi carriers (proveedores de LD o Local),
Tarifas de LD, celular 044, local, celular nacional 045,
Como vas a reportar la información, por extension, departamento, troncal,

en fin, no es poca cosa hacer un tarificador.

Te deseo suerte.

Salud OS.

AGAG4 09-06-2007 02:40:33

Gracias compañeros, lo bueno que tengo un poco de experiencia en el ramo hotelero por más de 4 años, he usado tarifadores en ms.dos y ya los tengo bien "checaditos" no será mucha batalla desarrollar uno muy bueno, gracias a ustedes.

Que tengan buen día....!!!!

AGAG4 14-06-2007 16:10:57

Ahora el problema que tengo es que me encontre con otro Conmutador, este no me arroja ningun caracter de inicio :eek: , al principio me arroja la fecha (06/14/07) de la llamada, ahora en la propiedad StartString del apdDataPacked se lo quito pero ya no entra al evento OnStringPacket.

Sinceramente que raro que me pida caracteres este componente, porque ya habia visto un programa ( Hecho en Delphi ) usandose, similar al que estoy desarrollando, pero este programa en cualquier lugar donde lo instalas te funcionaba, lo unico que le configurabas era la velocidad,bit datos,bit parada, puerto, paridad y es todo y rápido recibia la llamada y te lo guardaba en un archivo de texto, por eso se me hace raro que en estos componentes le tenga que decir, este es el caracter de inicio y este el final, siendo que me voy a trompezar en estos casos de que el conmutador no te arroje el caracter de inicio ó final.

:eek:

egostar 14-06-2007 17:22:11

Cita:

Empezado por AGAG4
Ahora el problema que tengo es que me encontre con otro Conmutador, este no me arroja ningun caracter de inicio :eek: , al principio me arroja la fecha (06/14/07) de la llamada, ahora en la propiedad StartString del apdDataPacked se lo quito pero ya no entra al evento OnStringPacket.

Sinceramente que raro que me pida caracteres este componente, porque ya habia visto un programa ( Hecho en Delphi ) usandose, similar al que estoy desarrollando, pero este programa en cualquier lugar donde lo instalas te funcionaba, lo unico que le configurabas era la velocidad,bit datos,bit parada, puerto, paridad y es todo y rápido recibia la llamada y te lo guardaba en un archivo de texto, por eso se me hace raro que en estos componentes le tenga que decir, este es el caracter de inicio y este el final, siendo que me voy a trompezar en estos casos de que el conmutador no te arroje el caracter de inicio ó final.

:eek:

Hola Alfredo

Para esos casos entonces debes utilizar lo que ya te habia comentado en otra de las respuestas

EndCondition = [ecString]

EndString = #13#10 (^M^J)

StartCond = scAnyData

StartString = vacio

Y ya que veo que estas desarrollando un sistema para que se conecte a cualquier conmutador, te encontrarás casos mucho más complejos.:D

Salud OS.

AGAG4 14-06-2007 17:34:18

Gracias EgoStar, voy a probarlo, la prueba que le hice anteriormente fue con los mismos parámetros excepto el StarCond que se lo deje en scString
Código:

EndCondition = [ecString]
EndString = #13#10 (^M^J)
StartCond = scString
StartString = vacio

Lo probare con StartCond = scAnyData

Que tenga buen día.

egostar 14-06-2007 19:01:27

Cita:

Empezado por AGAG4
Sinceramente que raro que me pida caracteres este componente, porque ya habia visto un programa ( Hecho en Delphi ) usandose, similar al que estoy desarrollando, pero este programa en cualquier lugar donde lo instalas te funcionaba, lo unico que le configurabas era la velocidad,bit datos,bit parada, puerto, paridad y es todo y rápido recibia la llamada y te lo guardaba en un archivo de texto, por eso se me hace raro que en estos componentes le tenga que decir, este es el caracter de inicio y este el final, siendo que me voy a trompezar en estos casos de que el conmutador no te arroje el caracter de inicio ó final.

:eek:

Pues yo si le veo ventajas y muchas, te explico, cuando estas leyendo un puerto serial sin este componente tienes que leer caracter por caracter y 'manualmente' debes hacer lo mismo ya que debes conocer donde comienza y donde termina un paquete de datos (que es precisamente lo que hace este componente), así que te evita por un lado estar pendiente de cachar los caracteres y por otro la definición de tu paquete de forma manual.

Pues nada, a mi me ha dado muy buenos resultados.:)

Salud OS.

AGAG4 15-06-2007 16:01:45

Muchas Gracias EgoStar, eso era, me faltaba ponerle
Código Delphi [-]
  StartCond := scAnyData;
Ya funciono el programa....

Que tenga buen día.

IVAND 14-09-2007 02:11:23

Yo capturo los datos tal como dice egoestar , pero el componente de monitoreo del componente async pro , me mueestra los datos que entra al sistema pero estos solo me trasmite a mi sistema (memo) solo 6 o maximo nueve veces luego deja de enviar el dato al memo , pero repito el componente de monitoreo sigue capturando el dato , ademas si me pueden guiar el dato de envia en espacio de 2 lineas

Gracias por su interes

egostar 14-09-2007 17:26:37

Hola IVAND, puedes colocar el código que estas usando para la captura de los datos?, así te podremos ayudar mejor.

Salud OS

IVAND 14-09-2007 19:23:12

solo coloco 2 componentes de los asynpro el Appcomport y appdatapacket en el evento de onstringpacket le asigno al memo la cadena que recibe \
memo1.lines.add(data) , de ahi la configuracion es

StartCond=scAnydata
StartString =scAnyString
Endstring =^J
ecstring = True
ecPacketsize=False


Eso es todo , me le un renglon en blanco y el dato se para de recibir despues de 6 o 9 envios


Gracias a todos por su tiempo

egostar 14-09-2007 21:27:54

Cita:

Empezado por IVAND (Mensaje 231187)
solo coloco 2 componentes de los asynpro el Appcomport y appdatapacket en el evento de onstringpacket le asigno al memo la cadena que recibe \
memo1.lines.add(data) , de ahi la configuracion es

StartCond=scAnydata
StartString =scAnyString
Endstring =^J
ecstring = True
ecPacketsize=False


Eso es todo , me le un renglon en blanco y el dato se para de recibir despues de 6 o 9 envios


Gracias a todos por su tiempo

Por lo que veo, sugiero que pongas esto

Cita:

Endstring =^M^J
si sigue el problema ponlo así

Cita:

Endstring = ^J^M
Prueba y nos cuentas

Salud OS

IVAND 15-09-2007 00:34:14

Hola a todos

Egostar gracias por tu interes y aporte , cambie los parametros como indicas pero si cambio el dato como comentas deja de recibir informacion , la captura esta bien creo yo con los parametros que me diste , el unico problema es que solo captura seis o maximo 9 datos y luego deja de recibir (el objeto que trae este componente sigue mostrandome en pantalla mas datos )

Si es posible me puedes seguir ayudanto gracias
Código PHP:

StartCond=scAnydata
StartString 
=[b]scAnyString[/b]  ** Este segun tus datos debe estar vacio ?
Endstring =^M^J
ecstring 
True
ecPacketsize
=False 


egostar 15-09-2007 02:25:21

Cita:

Empezado por IVAND (Mensaje 231282)
Hola a todos

Egostar gracias por tu interes y aporte , cambie los parametros como indicas pero si cambio el dato como comentas deja de recibir informacion , la captura esta bien creo yo con los parametros que me diste , el unico problema es que solo captura seis o maximo 9 datos y luego deja de recibir (el objeto que trae este componente sigue mostrandome en pantalla mas datos )

Si es posible me puedes seguir ayudanto gracias
Código PHP:

StartCond=scAnydata
StartString 
=[b]scAnyString[/b]  ** Este segun tus datos debe estar vacio ?
Endstring =^M^J
ecstring 
True
ecPacketsize
=False 


Hola IVAND, yo creo que la única manera de que te puedo ayudar es que me mandes una archivo de texto con algunos registros que recibes, te sugiero utilices hiperterminal para que tenga todos los caracteres que se reciben.

Si puedes adjuntarlo aqui mismo sería excelente si no envíamelo a mi correo del club egostar [a r r o b a] clubdelphi . com

Salud OS.

IVAND 17-09-2007 18:24:55

Estimado amigo

Le estoy enviando el archivo que captura el hyperteminal , lo mismo captura el componente de los asyncpro , pero como le comente al querer capturar los datos que envia lo hace solo unas 4 o 6 veces maximo y de ahi deja de recibir la informacion pero el componente de monitor sigue recibiendo , ah otra cosa cuando la central vasea su buffers (imagino ) esta envia hasta 57 datos que ahi si los lee , despues empieza a leer y volvemos a lo mismo solo 4 o 6 veces y deja de enviar

Espero puedas orientarme un poco mas gracias por tu tiempo

egostar 17-09-2007 19:21:40

Pues he procesado tu archivo y recibo todo bien, 63 registros

Me pregunto si no estas haciendo algo una vez que tienes la linea del conmutador.

Yo tengo esto en mi pequeño programa

Código Delphi [-]
procedure TForm1.ApdDataPacket1StringPacket(Sender: TObject; Data: String);
begin
  Memo1.Lines.Add(Data);
  Inc(registros);
  Label1.Caption := 'Registros Procesados : '+InttoStr(registros); 
end;

Y el componente ApdDataPacket lo tengo así

Cita:

EndCond=ecString
EndString =^M^J
StartCond=scAnydata
StartString =[vacio]
Checa que lo tengas así, debería de funcionar bien.

Salud OS

BetoAlonso 12-11-2007 07:33:09

Saludos

y disculpen por reactivar este hilo, pero a los expertos en este tema, como hago para leer el estado de un tarifador para cabinas de telefono.

gracias


La franja horaria es GMT +2. Ahora son las 01:08:34.

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