home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
FOXPRO
/
LP_11
/
LP.PRG
< prev
Wrap
Text File
|
1993-05-28
|
3KB
|
137 lines
*******************************************************************************
*
* LP - LinePrint
*
*******************************************************************************
* Release 1.01 / 20.05.93
#include screen.hdr && FCO 2.4
#include fileio.hdr
#include string.hdr
#include io.hdr
#include date.hdr
#include system.hdr
VARDEF
FILE PrintFile
CHAR(128) Datei
CHAR(255) Line
UINT Seite, Zeile, Pzeile
LOGICAL ZeigeKopf
CHAR(25) pinit, feein, feaus, cpi10, cpi12, cpi16, nlq, nlaus, ;
undl, unaus, dw, dwaus, ital, itaus
ENDDEF
PROCEDURE Kopf
PARAMETERS VALUE CHAR CL
IF ZeigeKopf
?? feein
? "Datei: "
?? ltrim( CL )
?? space( 10 )
?? "Datum: "
?? dtoc( today() )
?? space( 10 )
?? "Seite: "
?? ltrim( i_str( Seite ))
?? feaus
?
?
ENDIF
ENDPRO
PROCEDURE fco_main
PARAMETERS CONST CHAR CommandLine
SET DATE GERMAN
SET MARGIN TO 5
DO key_dos
DO scrn_dos
Seite = 1
Zeile = 1
*--- IBM Grafik
pinit = chr(27)+chr(54) && Esc 6 = Zeichensatz 2
feein = chr(27)+chr(69) && Esc E
feaus = chr(27)+chr(70) && Esc F
cpi10 = chr(18)
cpi12 = chr(0)
cpi16 = chr(15)
nlq = chr(0)
nlaus = chr(0)
undl = chr(27)+chr(15)
unaus = chr(0)
dw = chr(27)+"-1"
dwaus = chr(27)+"-0"
ital = chr(0)
itaus = chr(0)
Datei = AllTrim( lower( CommandLine ))
IF "/p" $ lower( CommandLine )
Pzeile = i_val( substr( Datei, 2 + at( "/p", Datei), 2 ))
Datei = stuff( Datei, at( "/p", Datei ), 4, "" )
ELSE
Pzeile = 57
ENDIF
IF "/n" $ lower( CommandLine )
ZeigeKopf = .F.
Datei = stuff( Datei, at( "/n", Datei ), 2, "" )
ELSE
ZeigeKopf = .T.
ENDIF
IF .not. f_open( PrintFile, Datei, &F_READ, &F_TEXT )
? "LinePrint v1.1 (c) 1993 by Alfred Klich"
? " Syntax: LP <name>.<ext> [/Pnn] [/N]"
QUIT
ENDIF
SET CONSOLE OFF
SET PRINT ON
?? pinit
?? cpi16
DO Kopf with ltrim( Datei )
DO WHILE .NOT. f_eof( PrintFile )
IF f_getln( PrintFile, Line )
Zeile = Zeile +1
IF Zeile >= Pzeile
?? chr( 12 ) && FormFeed
Zeile = 1
Seite = Seite +1
DO Kopf with Datei
ENDIF
*--- <tabs> durch <space> ersetzen
DO WHILE .T.
IF at( chr( 9 ), line ) > 0
line = stuff( line, at( chr( 9 ), line ), 1,;
space( 9 - at( chr( 9 ), line ) % 8 ))
ELSE
exit
ENDIF
ENDDO
? line
ENDIF
ENDDO
?? cpi10
?? chr( 12 ) && FormFeed
SET PRINT OFF
SET CONSOLE ON
SET MARGIN TO 0
f_close( PrintFile )
ENDPRO