Gracias Señor Antonio, Claro que si, le agradesco su atencion, aqui anexo la funcion que realiza la consulta y envio de datos
#include "FiveWin.ch"
#include "TCBrowse.ch"
#define FULL_SIZE 405
#define HALF_SIZE 260
#define IN_BUFFER 128
//#define IN_BUFFER 128
#define TERM_SIZE 128
static mandaeste,pesox,ncomm,obrwti,nBytes
static osay01,oFont1m,oFont2m,cadenax,oget6
Function TICKET()
store space(15) to mandaeste
store "000000000" to pesox
store 0 to folix,nBytes
store fob to fec1
store space(30) to cadenax
select 26
errnet = netuse('ticket',.f.,3)
if errnet = .f.
return .f.
endif
set index to ticket
set order to 1
campoti = { field(1),field(2),field(3),field(5),field(4),field(6) }
//SET RESOURCES TO "bb.DLL"
DEFINE FONT oFont1m NAME "Ms sanserif" SIZE 0,-14
DEFINE FONT oFont2m NAME "Ms sanserif" SIZE 0,-62
nComm := linitComm2()
DEFINE DIALOG paciare resource 'TICKET' of oWnd
REDEFINE GET oget1 Var folix ID 505 OF paciare Picture '9999999'
REDEFINE GET oget2 Var fec1 ID 517 OF paciare
REDEFINE GET oget6 Var cadenax ID 511 OF paciare
REDEFINE GET oget3 Var mandaeste ID 503 OF paciare picture "@!"
//REDEFINE SAY osay01 Prompt pesox ID 600 OF paciare FONT oFont2m Picture '9,999,999'
REDEFINE GET osay01 Var pesox ID 600 OF paciare picture "@!" FONT oFont2m
oget1:disable()
oget2:disable()
osay01:disable()
oget1:ldiscolors = .f.
oget2:ldiscolors = .f.
osay01:ldiscolors = .f.
select 26
REDEFINE BROWSE obrwti ID 510 OF paciare GRID MESSAGE "Ticket" //ON CHANGE CAMBIOSf(oget1)
obrwti:bKeydown := {|nkeyp,nflagp| MITECLAti(nkeyp,nflagp,obrwti,campoti,paciare)}
obrwti:bLDblClick = {| | paciare:end() }
ADD COLUMN TO BROWSE obrwti DATA ticket->folio HEAD "Folio" OEM WIDTH 80 PICTURE "@!" EDITABLE ALign right //DOUBLE CURSOR
ADD COLUMN TO BROWSE obrwti DATA ticket->fecha HEAD "Fecha" OEM WIDTH 90 EDITABLE
ADD COLUMN TO BROWSE obrwti DATA ticket->producto HEAD "Producto" OEM WIDTH 250 EDITABLE
ADD COLUMN TO BROWSE obrwti DATA ticket->bruto HEAD "Bruto" OEM WIDTH 80 EDITABLE ALign right
ADD COLUMN TO BROWSE obrwti DATA ticket->tara HEAD "Tara" OEM WIDTH 80 EDITABLE ALign right
ADD COLUMN TO BROWSE obrwti DATA ticket->neto HEAD "Neto" OEM WIDTH 80 EDITABLE ALign right
REDEFINE BUTTON ID 502 Of paciare ACTION paciare:end() CANCEL // Eliminar
REDEFINE BUTTON ID 508 Of paciare ACTION COMTARA() // TARA
REDEFINE BUTTON ID 507 Of paciare ACTION COMIMPRE() // Impresion
REDEFINE BUTTON ID 509 Of paciare ACTION COMGROSS() // Gross
REDEFINE BUTTON ID 506 Of paciare ACTION comanda() // Cadena Directa
REDEFINE BUTTON ID 512 Of paciare ACTION comanda2() // Envio de Comandos Directo2
REDEFINE BUTTON ID 513 Of paciare ACTION comanda3() // Envio de Comandos Directo3
paciare:bCommNotify = { | nComm, nStatus | BytesAtPo5( nComm, nStatus ) }
ACTIVATE DIALOG paciare CENTERED ON INIT ( EnableCommNotification( nComm, paciare:hWnd, IN_BUFFER, IN_BUFFER ) )
CloseComm( nComm )
SET RESOURCES TO
return .t.
function COMANDA2( )
sendmodem(chr(75)+chr(50) ) // K2 Enviando numero 2
sendmodem(chr(13) )
sendmodem(chr(75)+chr(48) ) // K0 Enviando numero 0
sendmodem(chr(13) )
sendmodem(chr(75)+chr(48) ) // K0 Enviando numero 0
sendmodem(chr(13) )
sendmodem(chr(75)+chr(84)+chr(65)+chr(82)+chr(69) ) // comando KTARE
sendmodem(chr(13) ) // ENTER
sendmodem("KTARE" ) // De Nuevo Rectificando
? "Comandos Enviados"
return .t.
function COMANDA3( )
sendmodem("K2" ) //2
sendmodem("KENTER" )
sendmodem("k0" ) //0
sendmodem("KENTER" )
sendmodem("k0" ) //0
sendmodem("KENTER" )
sendmodem("KTARE" )
sendmodem("KENTER" )
? "Comandos Enviados 2"
return .t.
function COMANDA( )
quees = alltrim(mandaeste)
for ix = 1 to len(quees)
xcara = "K" + substr(quees,ix,1)
xcara = xcara
sendmodem( xcara )
sendmodem( "
" )
next
sendmodem( "KTARE" )
sendmodem( "
" )
? "Comandos Enviados Correctamente"
return .t.
function SendModem( cMsg )
nBytes = 0
nBytes := WriteComm( nComm, cMsg )
if nBytes < 0
MsgStop( "Modem error: " + Str( GetCommError( nComm ) ) )
endif
return nil
function COMTARA( )
sendmodem( "KTARE" )
sendmodem( "
" )
sendmodem( "KENTER" )
return .t.
function COMIMPRE( )
sendmodem( "KPRINT" )
sendmodem( "
" )
sendmodem( "KENTER" )
return .t.
function COMGROSS( )
sendmodem( "KGROSS" )
sendmodem( "KENTER" )
return .t.
function lInitcomm2()
local cDcb, nError, nBytes
select 20
errnet = netuse('factores',.f.,3)
if errnet = .f.
return .f.
endif
if !factores->bascula
return .t.
endif
xcom = alltrim(factores->puerto) // Puerto comm1,9600
nCommx = OpenComm( xcom, 128 , 128 )
cadena = factores->puerto+':'+alltrim(str(factores->velocidad)) + ','+factores->paridad+','+factores->bit_datos+','+factores->bit_parada
//if ! BuildCommDcb( "COM1:9600,n,8,1", @cDcb )
if ! BuildCommDcb( cadena, @cDcb )
nError = GetCommError( nCommx )
MsgStop( "Error initializing Puerto!" )
return .f.
endif
if ! SetCommState( nCommx, cDcb )
nError = GetCommError( nComm )
MsgStop( "Error En EL Estdo del Puerto!" )
return .f.
endif
//? 'puerto abierto'
//EnableCommNotification( nComm, oDlg:hWnd, IN_BUFFER, IN_BUFFER )
return nCommx
//----------------------------------------------------------------------------//
function BytesAtPo5( nComm, nStatus )
local cBuffer := Space( IN_BUFFER )
numeros = 0
cTerminal := Space( TERM_SIZE )
numeros = ReadComm( nComm, @cBuffer )
cTerminal = oemtoansi( left(cBuffer,12) ,TERM_SIZE )
pesox = alltrim(cTerminal)
oget6:refresh()
pesox = substr(pesox,2,8)
cadenax = pesox
//select 1
//xxx = ''
//xxx = cterminal
pesoxx = val(pesox)
osay01:refresh()
//if conpeso = .t.
// oget5p:refresh()
//endif
return nil
Les Agradeceria toda la Ayuda Posible, Gracias
Carlos I. De La Rosa
Los Mochis, Sin., Mexico
carloslmm@hotmail.com