FUNCTION RET_PESO() CLEAR GETS TDLL:=LoadLibrary("P05.dll") IF TDLL=0 ALERT("Problemas na abertura da DLL P05.dll") RETURN 0 ENDIF VTELAPESO:=SAVESCREEN(00,00,24,80) @ 05,05 CLEAR TO 16,35 @ 05,05 TI 16,35 @ 07,06 SAY PADC(" ",30," ") @ 15,06 SAY PADC(" ",30," ") @ 09,06 SAY "Peso:" VPORTA:=1 // COM1=1 COM2=2.... COM5=5 VVELOCIDADE:=0 // 0=2400 1=4800 2=9600 VDATABITS:=1 // 0=7 1=8 VPARIDADE:=0 // 0=NENHUMA 1=IMPAR 2=PAR 3=ESPACO RETPORTA:=DLLCALL(TDLL,32,"AbrePorta",VPORTA,VVELOCIDADE,VDATABITS,VPARIDADE) IF RETPORTA<>1 ALERT("Erro ao iniciar a porta de comunica‡Æo Com"+ALLTRIM(STR(VPORTA))) VRETPESO:=0 @ 09,11 GET VRETPESO PICT "@E 999.999" READ RESTSCREEN(00,00,24,80,VTELAPESO) RETURN VRETPESO ENDIF @ 07,06 SAY PADC("Aguardando retorno da balan‡a",30," ") @ 15,06 SAY PADC("ESC=Aborta",30," ") VPESO:=SPACE(6) DO WHILE EMPTY(VPESO) .OR. SUBSTR(VPESO,1,5)="00000" DLLCALL(TDLL,32,"PegaPeso",1,VPESO,"C:\") VTEC:=INKEY(0.1) IF VTEC=27 EXIT ENDIF ENDDO @ 07,06 SAY PADC(" ",30," ") @ 15,06 SAY PADC(" ",30," ") VRETPESO:=VAL(VPESO)/1000 @ 09,11 GET VRETPESO PICT "@E 999.999" READ RESTSCREEN(00,00,24,80,VTELAPESO) SETLASTKEY(0) RETURN VRETPESO