FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Mandar cadena por puerto COM
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Mandar cadena por puerto COM
Posted: Mon Oct 05, 2009 01:42 PM
Hola amigos

como hago para mandar una cadena por el puerto COM.
En Clipper lo tengo asi:
Code (fw): Select all Collapse
  Set Print to COM2
  Set Device To Print
  L=L+1
  @l,01 Say Chr(5)
  @l,02 Say Chr(2)
  @l,03 Say Tran(Date(),' ')
  @l,12 Say Hor+':00'
  @l,21 Say Trans(VInt,'####')
  @l,26 Say Dura
  @l,40 Say Trans(MTar,'######.##')
  @l,50 Say CTel
  @l,71 Say VDes
  @l,76 Say Chr(3)
  Set Device to Screen

Como se hace con Fivewin?

Gracias por la ayuda

Saludos

Adhemar
Saludos,



Adhemar C.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Mandar cadena por puerto COM
Posted: Tue Oct 06, 2009 11:58 AM

Amigos

Alguna ayudita.

Gracias

Saludos

Adhemar

Saludos,



Adhemar C.
Posts: 234
Joined: Tue Sep 01, 2009 07:55 AM
Re: Mandar cadena por puerto COM
Posted: Tue Oct 06, 2009 12:25 PM
Te adjunto un fragmento de un programilla bastante antiguo, que usaba un modem para marcar el número de teléfono, a petición del usuario:
Code (fw): Select all Collapse
function lInitModem(variable)
   local cDcb, nError, nBytes
   variable = OpenComm( "COM4:", 1024, 128 )
   if ! BuildCommDcb( "COM4:2400,n,8,1", @cDcb )
      nError = GetCommError( variable )
      MsgStop( "Error inicialozando modem!" )
      return .f.
   endif
   if ! SetCommState( cDcb )
      nError = GetCommError( variable )
      MsgStop( "Error inicializando modem!" )
      return .f.
   endif
return .t.

function DialNumber( cNumber )
static initmodem:=.f.,ncomm:=0,enlinea:=.f.
local nBytes :=0
if !initmodem
    initmodem:=linitmodem(@ncomm)
else
    if !enlinea
        nbytes:=WriteComm( nComm, "ATDT "+AllTrim( cNumber ) + Chr( 13 ) )
        if nBytes < 0
              MsgStop( "Modem error: " + Str( GetCommError( nComm ) ) )
              return nil
        endif
        enlinea:=.t.
    else
       nBytes := WriteComm( nComm, "ATH"+chr(13) )
       if nBytes < 0
          MsgStop( "Modem error: " + Str( GetCommError( nComm ) ) )
          return nil
       endif
       enlinea:=.f.
    endif
endif
return nil

Espero que le puedas sacar provecho.
Un saludo
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Mandar cadena por puerto COM
Posted: Tue Oct 06, 2009 02:26 PM

Gracias Grois

Buscaré la forma de como aplicarlo.

Saludos

Adhemar

Saludos,



Adhemar C.

Continue the discussion