![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Te soy sincero no se que sea el PBX, pero te paso los 2 archivos que recibí del conmutador....
Estos los recibí del componente ApdComPort en el evento OnTriggerAvail. Dentro de dicho evento tengo el siguiente código: Cita:
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King Última edición por AGAG4 fecha: 27-11-2008 a las 01:26:16. |
|
#2
|
|||
|
|||
|
Cita:
EndCondition = [ecString] EndString = #13#10 que se verá así: ^M^J StartCond = scString StartString = C En el evento OnStringPacket pon esto:
Con eso creo que debe funcionar correctamente. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#3
|
||||
|
||||
|
Gracias EgoStar, voy hacer pruebas, que tengas buen día.!!!!
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King |
|
#4
|
||||
|
||||
|
¡Hola a todos!
Alfredo: Le eché un vistazo al código fuente del componente. Veo que es en el método mensaje TAdCustomTerminal.ApwTermStuff donde se hace el guardado al archivo: FCaptureStream.Write(DataPtr^, DataLen); Al observar este código, lo primero que se me ocurrió fue que podría crearse un componente derivado TAGAGAdTerminal, agregando un evento OnCapture (que sinceramente extraño que no venga ya incluido). Esto con el objetivo de acceder al campo FByteQueue o al campo FCaptureStream, pero desgraciadamente tanto uno como el otro están declarados en la sección privada de la clase TAdCustomTerminal (hace tiempo que evito usar secciones Private; suele resultar algo desalentador a otros programadores bibliotecarios cuando desean crear clases derivadas). Aún así, la solución es viable. Podrías derivar una nueva clase de componente, redefiniendo el método mensaje ApwTermStuff, pero tendrías que agregarla en la misma unidad (ADTrmEmu.pas) para acceder "decentemente" al campo privado FByteQueue. Una solución más fácil es modificar directamente el código de ese método y leer la variable DataPtr para el propósito buscado. TAdCustomTerminal.ApwTermStuff ofrece una ventana a la solución, pero es muy probable que, examinando el código con mayor detalle, encontremos alternativas. ¿Cómo ven la situación? ¿Por dónde nos vamos? Un abrazo terminal. Al González. ![]() |
|
#5
|
|||
|
|||
|
Cita:
Gracias por el dato Alberto. Salud OS recordatorios.... ![]()
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#6
|
||||
|
||||
|
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....
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King |
|
#7
|
||||
|
||||
|
¡Hola a todos!
Que bueno que lograste solucionarlo. Cita:
No te olvides de los cuates. ![]() Un abrazo con salto de línea. Al González. ![]() Última edición por Al González fecha: 14-09-2007 a las 07:40:04. |
|
#8
|
|||
|
|||
|
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.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#9
|
||||
|
||||
|
Ahora el problema que tengo es que me encontre con otro Conmutador, este no me arroja ningun caracter de inicio
, 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. ![]()
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King Última edición por AGAG4 fecha: 14-06-2007 a las 16:31:10. |
|
#10
|
|||
|
|||
|
Cita:
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. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#11
|
|||
|
|||
|
Cita:
Pues nada, a mi me ha dado muy buenos resultados. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#12
|
|||
|
|||
|
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
__________________
IVAND |
|
#13
|
|||
|
|||
|
Hola IVAND, puedes colocar el código que estas usando para la captura de los datos?, así te podremos ayudar mejor.
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| utilizacion codigos de barras en Dephi 5 prof | xavier | Varios | 2 | 18-06-2006 14:12:47 |
| Sobre Delphi 2005 Prof | joanajj | Varios | 7 | 02-12-2004 00:27:55 |
| instalar ms sql server en windows 2000 prof. | Juan Carlo | MS SQL Server | 4 | 16-07-2004 14:58:00 |
| Driver de Impresión de Async Pro | guillotmarc | Varios | 0 | 16-01-2004 21:01:04 |
| QuickReport 3.6.2 Prof - PDF | Jose Manuel | Impresión | 1 | 29-10-2003 19:00:58 |
|