![]() |
leer desde los puerto seriales.
Buenas.
Necesito poder leer una informacion desde una balanza conectada a mi PC por el puerto Comm1 existe un codigo ejecutado en VB 5 que lo realiza pero tiene algunos errores y quisiera integrarlo en Delphi de una vez. Ya Ubique varios Link en esta pagina y en torry.net http://www.swissdelphicenter.ch/torr...ode.php?id=841 pero este especificamente que es bastante completo no me compila, me da el siguiente error al compilarlo: "Types of actual and formal var parameters must be identical", especificamente en la function de readtxt que es la que me interesa. Les agradeceria mucho su ayuda. Gilberto Ramos. |
...prueba este...
Si tienes el protocolo de comunicacion con la balanza, puedes hacerlo con cualquier componente, personalmente uso este:
http://www.torry.net/authorsmore.php?id=2760 Lo uso en D6 y D2005 Win32 y funciona muy bien. Espero que te sirva la info. ;) ;) ;) Jure. |
Gracias, ya lo baje solo que....
Buenas.
Disculpa el abuso solo que no soy muy experto en la materia, ya baje el componente e instale solo que no se como se utiliza y es un SOS, no me podrias indicar como usarlo, el sistema simplemente debe abrir el puerto, capturar lo que este en ese momento en el puerto comm1 y luego escribirlo en un .txt o directamente en un campo edit. Gilberto Ramos |
...asi puedes empezar...
El componente tiene una buena ayuda, pero en terminos generales debes usarlo asi:
El componente que debes usar es TXComm, lo colocas en la forma donde lo vayas a utilizar, con el inspector de objetos le cambias las propiedades de que necesites con respecto a velocidad, puerto, bit de datos, de parada y paridad de acuerdo a las especificaciones de la balanza. Para abrir el puerto utilizas el metodo OpenDevice. Cuando envias una cadena utilizas SendString, aunque tambien puedes enviar byte con SendByte. para recibir utilizas ReadString o ReadByte de acuerdo a lo que necesites. Y al terminar recuerda utlizar CloseDevice para liberar el puerto. De todas maneras como te dije la ayuda es muy buena y puede ayudarte de mucho. ;) ;) ;) Jure. |
Como Instalar Este Componente En Delphi 2005 ?
Hello Colegas, Una Pregunta , Como Puedo Instalar
Este Componente ( Txcomm ) En Delphi 2005 ? Ya Baje El Componente Completo Pero No Se Como Instalarlo. Te Agradezco Tu Ayuda.:d |
Como Instalar Este Componente En Delphi 2005 ?
Hello Colegas, Una Pregunta , Como Puedo Instalar
Este Componente ( Txcomm ) En Delphi 2005 ? Ya Baje El Componente Completo Pero No Se Como Instalarlo. Te Agradezco Tu Ayuda.:d |
...si se puede...
Cita:
Jure. |
ok, pero di como colega coopera, no seas malo !!!
colega dime como instalar el componente no me dejes en suspenso
el problema es que estoy acostumbrado a delphi 7, y en delphi 2005 no se como hacer la instalacion, cuales son los pasos a seguir. anda dime.!!!! saludos El que se pregunta como hacerlo empieza su camino a ser maestro en la materia y el que asume que todo lo sabe sin saberlo empieza su camino a la mitomania , el que asume que todo lo sabe y en realidad lo sabe , empieza su camino a ya no aprender mas y quedarse en el mismo lugar. |
...asi...
Epale Pascual, el componentes no tiene un paquete de instalacion entonces hay que hacerlo manualmente, yo cree un nuevo paquete para Delphi Win32 y le agregué el archivo Reg.pas que esta la carpeta Source, y luego simplemente compilas e instalas. Luego de esto ya lo puedes utilizar en tus aplicaciones Win32 hechas en D2005. Lo he hecho con varios componentes que no traen paquete para instalar en D2005 Win32 y me han funcionado bien.
Espero haberte ayudado. ;) ;) ;) Jure. |
Ayuda.
Disculpen el fastidio solo que de verdad no entiendo muy bien el componente, sera posible que me pases un fracmento de tu codigo, seguramente para ustedes mi requerimiento es sencillo.
Private Sub Form_Load() com1.InBufferCount = 0 com1.CommPort = 1 On Error Resume Next If Err = 8005 Then MsgBox "Puerto ya esta en uso", vbCritical, "Balanza" End If com1.Settings = "9600,N,8,1" On Error Resume Next Select Case Err Case 8007 MsgBox "Error, Rata de transmisión no válida!", vbCritical, "Balanza" Case 8008 MsgBox "Error, Tamaño de la información no válido!", vbCritical, "Balanza" Case 8009 MsgBox "Error, valores por defecto no válidos!", vbCritical, "Balanza" End Select '********************************** If com1.PortOpen = False Then com1.PortOpen = True End If On Error Resume Next If Err = 8018 Then MsgBox "Error, El Puerto esta Cerrado", vbCritical, "Balanza" End If com1.Output = "AT" + Chr$(13) Do DoEvents Loop Until com1.InBufferCount >= 2 Instring = com1.Input Label1.Caption = Instring com1.PortOpen = False com1.InputLen = 8 com1.InBufferCount = 0 End Sub Para el amigo que esta consultando como se instala es sencillo, descomprimes el archivo en un carpeta lo copias en en la carpeta de tus librerias seleccionas por component > install component, lo ubicas y compilas. G.A.R.S. |
...a ver esto...
Hola G.A.R.S, veo el codigo VB que nos muestras, primero me parece un poco confuso, voy a darte un fracmento de codigo que utilizo recuperar datos de un caja registradora por el puerto serial:
Despues valido la cadena que recibo. Porque lo efectué de esta manera, porque no nunca se el tamaño exacto, solo se que la cadena que recibo despues del valor ETX tiene 4 caracteres que representan un valor hex del tamaño en caracteres de la cadena, con el cual verifico si esta bien. El codigo original es mucho mas largo porque recibo varias respuestas de acuerdo a los comandos que le mando, y tengo que hacer una serie de validaciones que no vienen al caso. Otra cosa a mi el equico me envia un byte valor 18 que significa que debo esperar por 400 msegs por el resto de la info. Creo que deberias leer bien el manual del protocolo de comunicacion de la balanza y adaptarlo a lo que necesitas. Espero que te sirva. ;) ;) ;) Jure. |
La franja horaria es GMT +2. Ahora son las 09:28:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi