[ [email protected] @ 15.02.2006. 22:10 ] @
Zbog USB stampaca htio bih da ASCII tekst prebacim u RTF pa onda sa naredbom WORDPAD mojfajl.rtf /p odstampam. Nasao sam jedan program ali mi on ne prebacue u novi red. Ovako ide: #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* IF .not.file(pcInputFile) RETURN '01 file not found: '+pcInputFile ENDIF xnHI=FOPen(pcInputFile, 0) IF xnHI < 1 RETURN '02 file open failed: '+pcInputFile ENDIF FSeek(xnHI, 0, 0) && go top IF FEof(xnHI) RETURN '03 file is empty: '+pcInputFile ENDIF xnHO=FCreate(pcOutputFile, 0) IF xnHO < 1 RETURN '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 RETURN '12 file write failed: '+pcOutputFile ENDIF //prepis jednotlivych radku, CRLF nahrazeno xcRTFnL DO WHILE .not.FEof(xnHI) xcLine=StrTran(FGets(xnHI, 32767), '\', '\\')+xcRTFnL xnWrote=FWrite(xnHO, xcLine) IF xnWrote < 1 xcReturn='13 file write failed: '+pcOutputFile exit ENDIF ENDDO // zapis ukonceni RTF souboru xnWrote=FWrite(xnHO, xcRTFfoot) IF xnWrote < 1 xcReturn='14 file write failed: '+pcOutputFile ENDIF FClose(xnHO) FClose(xnHI) RETURN xcReturn Gdje je greska? |