-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathfileStreamer.e
More file actions
43 lines (34 loc) · 831 Bytes
/
fileStreamer.e
File metadata and controls
43 lines (34 loc) · 831 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
OPT MODULE,OSVERSION=37
MODULE 'dos/dos'
MODULE '*baseStreamer'
EXPORT OBJECT fileStreamer OF baseStreamer
PRIVATE
fname:PTR TO CHAR
fh:LONG
ENDOBJECT
PROC create(fn:PTR TO CHAR,mode) OF fileStreamer
self.fh:=Open(fn,mode)
ENDPROC
PROC isOpen() OF fileStreamer IS self.fh<>0
PROC end() OF fileStreamer
IF self.fh<>0 THEN Close(self.fh)
ENDPROC
PROC writeLine(str:PTR TO CHAR) OF fileStreamer
IF self.fh<>0
Fwrite(self.fh,str,StrLen(str),1)
Fwrite(self.fh,'\n',1,1)
ENDIF
ENDPROC
PROC write(str:PTR TO CHAR) OF fileStreamer
IF self.fh<>0
Fwrite(self.fh,str,StrLen(str),1)
ENDIF
ENDPROC
PROC readLine(outStr:PTR TO CHAR) OF fileStreamer
DEF r,l
IF self.fh<>0
r:=Fgets(self.fh,outStr,200)
l:=StrLen(outStr)
IF (l>0) AND (outStr[l-1]="\n") THEN outStr[l-1]:=0
ENDIF
ENDPROC r