Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TComPort, convertir python a delphi (https://www.clubdelphi.com/foros/showthread.php?t=93385)

Diego E. 01-09-2018 21:21:57

TComPort, convertir python a delphi
 
Hola, desde hace unos días he estado intentando replicar un código hecho en Python a Delphi con el fin de conectar un monedero y billetero(Para máquinas de venta como las de refrescos) a mi sistema por medio de una Interfaz EasyMDB Universal:

https://mayavending.com/descargas/#1...-05582acf-45e0

soy nuevo con el Componente ComPort y la verdad no encuentro la forma de replicar en específico éstas líneas del código de Pyhton
Código:

checksum = 0x02+0x0c+0xff
checksum = checksum & 0x00ff
string_send = [0x02,0x05,0xff,checksum]
ser.write(string_send)
data = ser.read(27)

Intenté hacerlo de la siguiente forma:
Código:

checksum := StrToInt('$' + '02') + StrToInt('$' + '0c') + StrToInt('$' + 'ff');
checksum := checksum and StrToInt('$' + 'ff');

//Aqui empiezan mis problemas, pues el código original manda un arreglo de hexadecimales y yo una cadena de ellos
string_send := '$02' + '$0c' + '$ff' + IntToStr(checksum);

//La razón por la que en el código anterior concateno los hexadecimales como String es por que hasta donde he podido investigar el WriteStr de Comport sólo acepta un String y no un arreglo y para el caso de Write me pide un Buffer(Void Type) y un Count(Integer)
FrmMain.ComPort1.WriteStr(string_send);

//Y peor aún, el ReadStr y Read me piden dos parámetros(Un String e Integer y un Buffer e Integer respectivamente) y además de que no se que enviar como parámetro más que el Integer, me dice que lo que regresa es un entero y yo necesito que regrese una cadena de datos específicos de longitud igual al parámetro Integer enviado
data := IntToStr(FrmMain.ComPort1.ReadStr(27));

Quizá sea demasiada ambigua mi explicación pero si alguien pudiera ayudarme se los agradecería mucho. :)


La franja horaria es GMT +2. Ahora son las 02:46:20.

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