#include "MiniGUI.ch"
#include "FileIO.ch"
FUNCTION MAIN()
LOCAL inHandOu
LOCAL inHandIn
LOCAL ccFecha
LOCAL ccArchSalida
LOCAL ccArchEntrada := "TCPOUT4.CAJEROS.out"
LOCAL aMensajes as ARRAY
LOCAL aFila as ARRAY
LOCAL ccFilaTexto, i, nVacias
LOCAL ccHora, ccHeader, ccClave, ccFila
Set Date French
SET( _SET_DATEFORMAT, "yyyymmdd" )
ccFecha := Dtoc( Date() )
ccArchSalida := "MensajesTCP_"+ ccFecha + ".txt"
IF (inHandOu := FCREATE( ccArchSalida , FC_NORMAL)) == -1
QOut("No se pede abrir el Archivo [ " + ccArchSalida + " ]" + FERROR() )
QUIT
ENDIF
inHandIn := FOPEN(ccArchEntrada, FO_READ + FO_SHARED)
IF FERROR() != 0
QOut("No se pede abrir el Archivo [ " + ccArchEntrada + " ]" + FERROR() )
QUIT
ENDIF
FCLOSE(inHandIn)
FWRITE(inHandOu, Replicate("=",78)+ hb_OsNewLine())
FWRITE(inHandOu, "FECHA | HORA | HEADER (DEF)" + ;
" | CLAVE " + ;
" |" + hb_OsNewLine())
FWRITE(inHandOu, Replicate("=",78)+ hb_OsNewLine())
QOut("Start.. ")
aMensajes := HB_ATOKENS( MEMOREAD( ccArchEntrada ), Hb_OsNewLine() )
FOR i:= 1 TO LEN( aMensajes ) STEP 1
ccFilaTexto := aMensajes[ i ]
IF Empty(ccFilaTexto) .or. len(ccFilaTexto)=0
nVacias := nVacias + 1
ELSE
aFila := {}
aFila := hb_ATokens( ccFilaTexto, ';' )
ccFecha := ALLTRIM( aFila[1] ) + replicate(" ",10)
ccHora := ALLTRIM( aFila[2] ) + replicate(" ",10)
ccHeader := ALLTRIM( aFila[5] ) + replicate(" ",20)
ccClave := ALLTRIM( aFila[6] ) + replicate(" ",30)
ccFila := SubStr(ccFecha , 1, 10) + "|" + ;
SubStr(ccHora , 1, 10) + "|" + ;
SubStr(ccHeader , 1, 20) + "|" + ;
SubStr(ccClave , 1, 30) + "|"
FWRITE(inHandOu, ccFila + hb_OsNewLine())
ENDIF
NEXT i
aMensajes := Nil
aFila := Nil
QOut("Finished.. ")
RETURN