Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Se puede hacer esto con delphi o lazarus????? (https://www.clubdelphi.com/foros/showthread.php?t=84678)

david_uh 21-11-2013 03:05:17

Se puede hacer esto con delphi o lazarus?????
 
Hola foro
estoy haciendo un programa en lazarus y necesito lo siguiente, cada vez que conecte via usb un dispositivo android
  • leer y almacenar un Id de cada dispositivo (id de fabrica)
  • almacenar nombre y modelo del dispositivo en la base de datos
  • acceder mediante este id al dispositivo y copiar un archivo a mi pc(todo mediante codigo pascal)

Quizas alguien me pueda orientar como hacerlo en delphi o lazarus, al final es casi lo mismo.

Agradecido de antemano por cualquier respuesta me despido de ustedes

Saludos..

ecfisa 21-11-2013 05:15:10

Hola David.

A la pregunta del título la respuesta es si.

Para Delphi revisa estos componentes de Neftali: Componentes GLibWMI. No soy experto en Lazarus, pero seguramente ya existan componentes o se pueda adaptar la idea.

Saludos :)

Neftali [Germán.Estévez] 21-11-2013 11:03:59

Utilizando clases de WMI, puedes preguntar por los dispositivos conectados y saber información de ellos.
Para ello posees la clase WIN32_USBControllerDevice, que te dará los controladores instalados. Esta clase sí está en la librería GLibWMI.

También puedes hacerlo "manualmente" utilizando una SQL similar a esta:
Código SQL [-]
SELECT * FROM win32_pnpentity where deviceid like 'USB%' and Status='OK'

que te dará dispositivos conectados por USB y que están funcionando correctamente.
En las demos de GLibWMI hay una que te permite ver cómo ejecutar consultas:



Y obtendrás algo como esto.

david_uh 22-11-2013 02:52:38

Y con lazarus????
 
Gracias por sus respuestas, con respecto a la libreria GLibWMI creo que solo esta disponible para delphi me conocen ustedes alguna para lazarus la verdad estoy haciendo un program en lazarus y necesito esto, la idea es que cuadno llegue un vendedor despues de la jornada conecte su android device a la pc y esta reconozca el celular e inmediatamente cargue todas sus ventas y/o preventas en pantalla, evidente mente antes de ello debere de asignar a un vendedor un terminal android asi mismo rutas mercaderia y cobranza, en fin, muchas gracias por sus respuestas

Saludos

David

Casimiro Notevi 22-11-2013 10:01:51

Cita:

Empezado por david_uh (Mensaje 469924)
evidente mente antes de ello debere de asignar a un vendedor un terminal android asi mismo rutas mercaderia y cobranza

Evidentemente, antes el vendedor habrá tecleado su código para hacer las ventas y con ese código haces todo el proceso posterior, para diferenciarlo, no hace falta controlar el dispositivo. Imagina que se lo cambia con otro vendedor, pues solamente con incluir su código al inicio del programa ya está solucionado el asunto.

Neftali [Germán.Estévez] 22-11-2013 10:16:08

Cita:

Empezado por david_uh (Mensaje 469924)
...con respecto a la libreria GLibWMI creo que solo esta disponible para delphi me conocen ustedes alguna para lazarus la verdad estoy haciendo un program en lazarus y necesito esto

La librería GLibWMI te facilita el trabajo, pero no es imprescindible. Puedes llamar a la WMI utilizando código. Por lo tanto deberías poder hacerlo desde Lazarus sin problemas.
Si revisas en el FTP del club debe haber algun ejemplo de llamadas a WMI (sin componentes). Las llamadas a WMI son siempre iguales, pero modificando la SQl que se utiliza, así que si revisas algun ejemplo, deberías poder adaptarlo sin problemas, utilizando la SQL que hemos puesto más arriba.

Neftali [Germán.Estévez] 22-11-2013 10:22:24

Por cierto, si no recuerdo mal, la herramienta WMI Delphi Code creator de Rodrigo Ruz, genera código para Free Pascal (además de para Delphi).
Échale un vistazo, porque es posible que te pueda generar código para lo que necesitas, o al menos para empezar y que te sirva de guía.

david_uh 22-11-2013 13:10:48

Cita:

Empezado por Casimiro Notevi (Mensaje 469934)
Evidentemente, antes el vendedor habrá tecleado su código para hacer las ventas y con ese código haces todo el proceso posterior, para diferenciarlo, no hace falta controlar el dispositivo. Imagina que se lo cambia con otro vendedor, pues solamente con incluir su código al inicio del programa ya está solucionado el asunto.

no quiero controlar el dispositivo tan solo que cuando se conecte al pc saber a que vendedor pertenece y haga el descargo de información automáticamente y cuadre sus cuentas, al salir a su jornada el vendedor recibe el terminal configurado con sus rutas stok de mercadería y cobranzas(pues también hay ventas al crédito) y ademas un código de acceso para que el solo pueda hacer sus ventas con ese termina, si un venededor intercambia su terminal con otro lo puede hacer d hecho no haya forma de evitarlo y un código de vendedor no lo soluciona ya que pueden intercambiar códigos también, gracias por tu observación todo aporte critica son bienvenidos y especialmente en esta etapa

david_uh 22-11-2013 13:13:49

Cita:

Empezado por Neftali (Mensaje 469938)
Por cierto, si no recuerdo mal, la herramienta WMI Delphi Code creator de Rodrigo Ruz, genera código para Free Pascal (además de para Delphi).
Échale un vistazo, porque es posible que te pueda generar código para lo que necesitas, o al menos para empezar y que te sirva de guía.

Que interesante lo acabo de leer tu mensaje, voy a probarlo , muchas gracias por tus aportes

saludos David

ecfisa 22-11-2013 16:18:38

Hola David.

Tal vez también te pueda interesar este artículo: Accesing the WMI from Object Pascal Code (Delphi, Oxygene, FreePascal)

Saludos :)

david_uh 22-11-2013 18:11:49

Cita:

Empezado por ecfisa (Mensaje 469950)
Hola David.

Tal vez también te pueda interesar este artículo: Accesing the WMI from Object Pascal Code (Delphi, Oxygene, FreePascal)

Saludos :)

si me ayudo implemente el ejemplo pero no corría y mandaba error al momento de llamar a la función vartype()
dentro de la función VarArrayToStr pero lo solucione usando VarTypeDeRef en vez de vartype, use la consulta
Código SQL [-]
SELECT * FROM win32_pnpentity where deviceid like 'USB%' and Status='OK'
tal como me siguirió Neftali y funciona, claro usando las propiedades que muestra en la imagen que publico Neftali, gracias a todos por sus respuestas y sugerencias


La franja horaria es GMT +2. Ahora son las 12:50:49.

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