PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - API para controlar um leitor de RFID
WX - API para controlar um leitor de RFID
Iniciado por BOLLER ADRIANO, ago., 04 2016 9:22 AM - Sem resposta
Membro registado
3.655 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 04 2016 - 9:22 AM
Prezados,

Segue exemplo de como trabalhar com RFID (Identificação por radiofrequência ou RFID (do inglês "Radio-Frequency IDentification" ) é um método de identificação automática através de sinais de rádio).

Uma etiqueta ou tag RFID é um transponder, pequeno objeto que pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Contém chips de silício e antenas que lhe permite responder aos sinais de rádio enviados por uma base transmissora. Além das etiquetas passivas, que respondem ao sinal enviado pela base transmissora, existem ainda as etiquetas semipassivas e as ativas, dotadas de bateria, que lhes permite enviar o próprio sinal. São bem mais caras que do que as etiquetas passivas.

RFID: utiliza transponders ( os quais podem ser apenas lidos ou lidos e escritos) nos produtos, como uma alternativa aos códigos de barras, de modo a permitir a identificação do produto de alguma distância do scanner ou independente, fora de posicionamento. Tecnologia que viabiliza a comunicação de dados através de etiquetas com chips ou transponders que transmitem a informação a partir da passagem por um campo de indução. (ex: muito usado em pedágio "sem parar").

https://pt.wikipedia.org/wiki/Identifica%C3%A7%C3%A3o_por_radiofrequ%C3%AAncia

Definição da API para controlar um leitor de RFID, com os seus parametros e seu retorno:

int CV_GetSerialNum ( int DeviceAddress , int & CurrentAddress , Char * SerialNum )



Em WL:
tabCurrentAdd est un tableau de 1 entier sur 1 octet
tabSzSerialnum est un tableau de 9 entier sur 1 octet
nSserialnumber est une entier
nSserialnumber = API(sDllname,"CV_GetSerialNum",0,&tabCurrentAdd,&tabSzSerialnum)
SAI_Texte1 = "serialnum status"+nSserialnumber+RC+SAI_Texte1
SAI_Texte1 ="serialnumber:"+ChaîneRécupère(&tabSzSerialnum,crAdresseASCIIZ)+RC+SAI_Texte1




Em C#:
PRIVATE void btnGetSerialNumber_Click(object sender, EventArgs e)
{
int[] CurrentAdd = new int[1];
byte[] SerialNUM = new byte[9];
for (int i = 0; i < 9; i++)
SerialNUM[i] = 0x00;
string aSN = "";
IF (0 == CV_GetSerialNum(0, CurrentAdd, SerialNUM))
{
SerialNUM[8] = 0x00;
IF (SerialNUM[0] == 0xFF)
aSN = "FFFFFFFF";
ELSE
{
for (int i = 0; i < 64; i++)
{
IF (0 == SerialNUM[i])
BREAK;
ELSE aSN += Convert.ToString(Convert.ToChar(SerialNUM[i]));
}
}
tbSerial.Text = aSN;
}
}


Perceberam a quantidade de linhas entre o C# e o WL?

Por isso que mudei para a PCSOFT e seus produtos.

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Mensagem modificada, agosto, 04 2016 - 9:27 AM