Ima tu malo "šminke"...
====================
//Pokusaj da stavis samo jedan od ova dva pa prekompajliraj program
//#DEFINE CRLF chr(10)
///ili
//#DEFINE CRLF chr(13)
#DEFINE CRLF chr(13)+chr(10)
* Prevod TXT souboru (sestavy) do RTFformatu
* kompatibilni Fox2x, VFPx
FUNCTION Txt2Rtf (pcInputFile, pcOutputFile, pcFontName,pnFontSize)
Parameters pcInputFile, pcOutputFile, pcFontName, pnFontSize
//* pcInputFile vstupni textovy soubor
//* pcOutputFile vystupni RTF soubor
//* pcFontName jmeno fontu (nepovinne), default Courier New
//* pnFontSize velikost fontu (nepovinne), default 16 bodu, tj. velikost 8
//private all like x*
//Ako se radi sa promenljivima iz Command Prompt-a,
//trebalo bi dodati deo koda... Zlu ne trebalo.
IF EMPTY(pcInputFile) .OR. EMPTY(pcOutputFile)
RETU 'Name the input and/or output file.'
ENDIF
//Pa tek onda
IF .NOT. FILE(pcInputFile)
RETU '01 file not found: '+pcInputFile
ENDIF
xnHI=FOPen(pcInputFile, 0)
//Zar ne treba da stoji
//IF xnHI == -1
//jer FOpen vraca error code -1 u slucaju neke greske.
IF xnHI < 1
RETU '02 file open failed: '+pcInputFile
ENDIF
FSeek(xnHI, 0, 0) && go top
//Ovo je verovatno korisnicki definisana funkcija,
//u Clipper-u ne postoji kao takva, bar koliko je meni poznato
//IF FEof(xnHI)
//Postoji EOF(), ali za tabelu podataka (.DBF i slicne)
IF FEof(xnHI)
//Dalje nisam mogao da nastavim, jer debugger ovde prekida program
RETU '03 file is empty: '+pcInputFile
ENDIF
xnHO=FCreate(pcOutputFile, 0)
// IF xnHO == -1
IF xnHO < 1
RETU '11 file create failed: '+pcOutputFile
ENDIF
xcReturn=''
//xcRTFh0="{\rtf1\ansi\ansicpg1250\deff0\deflang1029 {\fonttbl{\f0\fmodern\fprq1\fcharset0"
xcRTFh0="{\rtf1\ansi\HTH\deff0\deflang1029 {\fonttbl{\f0\fmodern\fprq1\fcharset0"
xcRTFfn=iif(empty(pcFontName), 'Courier New', pcFontName)
xcRTFh1=";}}\viewkind4\uc1\pard\lang1033\f0\fs"
xcRTFfs=iif(empty(pnFontSize), '14', Alltrim(str(pnFontSize)) )
xcRTFh2=' '
xcRTFnL='\par'
xcRTFfoot='\lang1029\f1\par}'
xnWrote=FWrite(xnHO, xcRTFh0+xcRTFfn+xcRTFh1+xcRTFfs+xcRTFh2)
//IF xnWrote == -1
IF xnWrote < 1
RETU '12 file write failed: '+pcOutputFile
ENDIF
//prepis jednotlivych radku, CRLF nahrazeno xcRTFnL
DO WHIL .NOT. FEof(xnHI)
xcLine=StrTran(FGets(xnHI, 32767), '\', '\\')+xcRTFnL
xnWrote=FWrite(xnHO, xcLine)
//IF xnWrote == -1
IF xnWrote < 1
xcReturn='13 file write failed: '+pcOutputFile
exit
ENDIF
END
// zapis ukonceni RTF souboru
xnWrote=FWrite(xnHO, xcRTFfoot)
//IF xnWrote == -1
IF xnWrote < 1
xcReturn='14 file write failed: '+pcOutputFile
ENDIF
FClose(xnHO)
FClose(xnHI)
RETU xcReturn
====================
[Ovu poruku je menjao damiru_2 dana 16.02.2006. u 08:36 GMT+1]
- Je s' ti normalan? Ko bre da se skida go?
- Ja ću da se skinem do pojasa...