Vejam esta aplicacao em C++  e me digam se consigo fazer isto em centura...
 
agradeço por qualquer ajuda.
 
 
Jose Maria.
 
 
 
#include <conio.h>
#include <stdio.h>
#include <process.h>
 
#define STX 0x02
#define ETX 0x03
#define ESC 0x1b
#define ENQ 0x05
 
unsigned int port,regint,regpen,infser,regstt,regdat,regmod;
 
void form_col(int c,int l){
 
 gotoxy(c,l);
 putch(0xb3);
 
}
 
void form_tell (void) {
 
 clrscr();
 gotoxy(15,2);
 puts("INDUSTRIAS FILIZOLA S.A.");
 gotoxy(15,3);
 puts("  FONE : (011)292-2055");
 gotoxy(15,4);
 puts("   BALANCA  MODELO BP");
 

}
 
main () {
unsigned char i,tent,bufrec[20],c;
 
 form_tell();
 gotoxy(13,6);
 puts("DIGITE O No. DA <COM> (1 ou 2)  ");
 do{
  switch (i=getch()) {
   case '1':
    port=0x03f0;
    putch (i);
    break;
   case '2':
    port=0x02f0;
    putch (i);
    break;
   default:
    i=0;
  }
 }while(i==0);
 
 regint=port | 0x09;
 regpen=port | 0x0a;
 infser=port | 0x0b;
 regstt=port | 0x0d;
 regdat=port | 0x08;
 regmod=port | 0x0c;
 
 outportb(regint,0x00); /* reseta interrupcoes */
 outportb(regpen,0x01); /* reseta interrupcoes pendentes */
 outportb(infser,0x83); /* 8bits dado,1stop bit,sem paridade DLAB=1 */
 outportb(regstt,0x00); /* status reset */
 outportb(regdat,0x30); /* boud rate lsb */
 outportb(regint,0x00); /* boud rate msb. (taxa de 2400) */
 outportb(infser,0x03); /* DLAB=0 */
 
 form_tell();
 gotoxy(12,6);
 puts("Peso liquido ...              ... kg");
 for(c=0;c<20;bufrec[c++]=' ');
 do{
  if((inportb(regstt) & 0x60) == 0x60){
   outportb(regdat,ENQ);
   i=1;
   c=0;
   do{
    if((inportb(regstt) & 0x01) == 0x01){
     tent=inportb(regdat);
     if((tent!=STX)&&(tent!=ETX)) bufrec[c++]=tent;
     if(tent==ETX) i=0;
    }
   }while(i);
   for(c=4,bufrec[6]=0;c>1;c--) bufrec[c+1]=bufrec[c];
   bufrec[2]=0;
   gotoxy(31,6);
   printf(" %.2s.%3.3s",bufrec,&bufrec[3]);
  }
  if(i!=ESC) if(kbhit()) i=getch();
 }while(1)
;
 exit(0);
 
}

Responder a