1 {//-------------------------------------------------------------------------}
\r
3 {Copyright (C) 1990, 2009 - Apogee Software, Ltd. }
\r
5 {This file is part of Supernova. Supernova is free software; you can }
\r
6 {redistribute it and/or modify it under the terms of the GNU General Public }
\r
7 {License as published by the Free Software Foundation; either version 2 }
\r
8 {of the License, or (at your option) any later version. }
\r
10 {This program is distributed in the hope that it will be useful, }
\r
11 {but WITHOUT ANY WARRANTY; without even the implied warranty of }
\r
12 {MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }
\r
14 {See the GNU General Public License for more details. }
\r
16 {You should have received a copy of the GNU General Public License }
\r
17 {along with this program; if not, write to the Free Software }
\r
18 {Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.}
\r
20 {Original Source: 1990 Scott Miller }
\r
21 {Prepared for public release: 03/19/09 - Joe Siegler, Apogee Software, Ltd. }
\r
23 {//-------------------------------------------------------------------------}
\r
25 line_Responce_Writer;
\r
27 {This program WRITES and READS from the text file:
\r
28 'Line', 80 letters (Max),
\r
29 {This program has the line edit feature!}
\r
34 DescriptionLength = string[Max];
\r
35 OneChar = string[1];
\r
38 Line : file of descriptionlength;
\r
39 Position,Counter,Start,Stop : integer;
\r
40 Text : descriptionlength;
\r
45 procedure Diskwrite(text: Descriptionlength; pointer: integer);
\r
49 writeln('line responce ',pointer,
\r
50 ' is written! Size = ',filesize(Line));
\r
52 end; {End of Diskwrite.}
\r
54 procedure Diskread(start,stop: integer);
\r
57 text : descriptionlength;
\r
59 assign(Line,'Line');
\r
62 for counter:= start to stop do
\r
67 writeln(lst,counter,text)
\r
70 writeln('Here is line responce # ',counter);
\r
77 write('The file contains ',filesize(Line),' line responces.');
\r
78 end; {End of Diskread.}
\r
82 if (length(text)=70) then write(^g);
\r
90 writeln('Do you want to R)ead or W)rite?');
\r
92 if upcase(answer) <> 'R' then {Write to 'line' files.}
\r
95 assign(Line,'Line');
\r
96 writeln('Now RESETing line files.');
\r
99 writeln('Input a string not more than ',Max,' characters.',
\r
100 ' ''\''-Ends string.');
\r
104 if letter = ^h then
\r
107 delete(text,length(text),2);
\r
110 if (letter <> '\') and (letter <> ^h) then text:=text+letter
\r
111 until (length(text)=Max) or (letter='\');
\r
113 if letter = '\' then
\r
116 writeln('Total of ',length(text),' characters.');
\r
122 writeln('Now WRITING string to disk.');
\r
123 writeln(' At what position? (Next open is # ',filesize(Line),')');
\r
125 Diskwrite(text,position);
\r
127 else {Read from 'Rooms'.}
\r
130 writeln('To the S)creen or P)rinter?');
\r
132 if(upcase(answer)='P')then List:=True else List:=False;
\r
133 assign(Line,'Line');
\r
135 writeln('Filesize = ',filesize(Line),
\r
136 ' (From 0 to ',filesize(Line)-1,')');
\r
138 writeln('Enter starting position:');
\r
140 if(start > filesize(line)-7)then stop:=(filesize(line)-1) else
\r
142 writeln('Enter final position:');
\r
145 Diskread(start,stop);
\r
146 end; {End of else clause.}
\r
147 writeln;writeln('Another line responce? Y)es or N)o');
\r
149 until upcase(answer) = 'N'; {End of Main loop.}
\r
150 writeln; writeln(^g,'You are now out of the program.')
\r