Page 1 of 1

the function CreateFile is nativo harbour?

Posted: Fri Apr 23, 2010 4:51 am
by byrpa
Problem for printer, from pocket pc via bluetooth, i found the next solution, but i got one error of compilation, the code is:

*cText=file to print

static FUNCTION SendText( cText )

LOCAL i, hOut := CreateFile( "COM1:",GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL )
IF hOut==-1
Mensaje("can not open port of printer")
ELSE
FOR i = 1 TO Len( cText )
WriteByte( hOut, Asc( SubStr( cText, i, 1 ) ) )
NEXT
CloseHandle( hOut )
ENDIF
RETURN NIL

****here the error of compile

lecturas.o:lecturas.c:(.data+0x66c): undefined reference to `HB_FUN_CREATEFILE'
lecturas.o:lecturas.c:(.data+0x67c): undefined reference to `HB_FUN_WRITEBYTE'
lecturas.o:lecturas.c:(.data+0x6ac): undefined reference to `HB_FUN_CLOSEHANDLE'

*** Help me!
Thank you

Re: the function CreateFile is nativo harbour?

Posted: Fri Apr 23, 2010 8:35 am
by JALMAG
Hola Byrpa, las referencias a:

HB_FUN_CREATEFILE
HB_FUN_WRITEBYTE
HB_FUN_CLOSEHANDLE

Te indican que no están definidas las funciones o procedimientos, los cuales haces referencia en la función "sendtext". Aunque en HMG existe "createfolder()" pero no un "createfile"

Un cordial saludo

Re: the function CreateFile is nativo harbour?

Posted: Fri Apr 23, 2010 3:54 pm
by byrpa
Gracias por tu respuesta, aunque por ahora estoy trabajando solo a puro harbour en modo consola, y es por eso la pregunta, me puedes orientar como eliminar estos errores o alguna idea que tu me sugieras.

Gracias de antemano

Re: the function CreateFile is nativo harbour?

Posted: Fri Apr 23, 2010 6:56 pm
by JALMAG
byrpa wrote:Gracias por tu respuesta, aunque por ahora estoy trabajando solo a puro harbour en modo consola, y es por eso la pregunta, me puedes orientar como eliminar estos errores o alguna idea que tu me sugieras.

Gracias de antemano
Hola de nuevo, supongo que entonces tendrás que trabajar como si usara clipper, a saber:

#include "Fileio.ch" //ya esta incluido en harbour
//
nHandle := FOPEN("Temp.txt", FO_READWRITE + FO_SHARED)
IF FERROR() != 0
? "No puedo abrir archivo, erro DOS ", FERROR()
BREAK
ENDIF

O este otro ejemplo de Clipper

#include "Fileio.ch"
#define F_BLOCK 512
//
cBuffer := SPACE(F_BLOCK)
nInfile := FOPEN("Temp.txt", FO_READ)
nOutfile := FCREATE("Newfile.txt", FC_NORMAL)
lDone := .F.
//
DO WHILE !lDone
nBytesRead := FREAD(nInfile, @cBuffer, F_BLOCK)
IF FWRITE(nOutfile, cBuffer, nBytesRead) < ;
nBytesRead
? "Write fault: ", FERROR()
lDone := .T.
ELSE
lDone := (nBytesRead == 0)
ENDIF
ENDDO
//
FCLOSE(nInfile)
FCLOSE(nOutfile)

Puede sobtener mas información de clipper en esta web: http://www.itlnet.net/programming/progr ... /menu.html
puesto que todo lo de clipper funciona con harbour perfectamente.

ESpero haberte ayudado.
Un cordial saludo

Re: the function CreateFile is nativo harbour?

Posted: Sat Apr 24, 2010 2:50 am
by byrpa
Gracias por tus respuestas, si asi es, lo unico que debo hacer es un programita que imprima un archivo de texto y que lo mande via bluetooth, en las pocket pc, el bluetooth se maneja como un puerto serial (com1:, com5, etc.), la rutina debera mandarse como imprimir por un puerto serial, cosa que nunca hice en clipper, y en tu ejemplo veo que unicamente abre el archivo pero no lo manda. Me puedes ayudar con ese tema.

Gracias de antemano,