49 lines
1.6 KiB
Text
49 lines
1.6 KiB
Text
$ include "seed7_05.s7i";
|
|
include "scanfile.s7i";
|
|
|
|
var string: fullname is "";
|
|
var string: favouritefruit is "";
|
|
var boolean: needspeeling is FALSE;
|
|
var boolean: seedsremoved is FALSE;
|
|
var array string: otherfamily is 0 times "";
|
|
|
|
const proc: main is func
|
|
local
|
|
var file: configFile is STD_NULL;
|
|
var string: symbol is "";
|
|
var integer: index is 0;
|
|
begin
|
|
configFile := open("readcfg.txt", "r");
|
|
configFile.bufferChar := getc(configFile);
|
|
symbol := lower(getWord(configFile));
|
|
while symbol <> "" do
|
|
skipSpace(configFile);
|
|
if symbol = "#" or symbol = ";" then
|
|
skipLine(configFile);
|
|
elsif symbol = "fullname" then
|
|
fullname := getLine(configFile);
|
|
elsif symbol = "favouritefruit" then
|
|
favouritefruit := getLine(configFile);
|
|
elsif symbol = "needspeeling" then
|
|
needspeeling := TRUE;
|
|
elsif symbol = "seedsremoved" then
|
|
seedsremoved := TRUE;
|
|
elsif symbol = "otherfamily" then
|
|
otherfamily := split(getLine(configFile), ",");
|
|
for key index range otherfamily do
|
|
otherfamily[index] := trim(otherfamily[index]);
|
|
end for;
|
|
else
|
|
writeln(" *** Illegal line " <& literal(getLine(configFile)));
|
|
end if;
|
|
symbol := lower(getWord(configFile));
|
|
end while;
|
|
close(configFile);
|
|
writeln("fullname: " <& fullname);
|
|
writeln("favouritefruit: " <& favouritefruit);
|
|
writeln("needspeeling: " <& needspeeling);
|
|
writeln("seedsremoved: " <& seedsremoved);
|
|
for key index range otherfamily do
|
|
writeln(("otherfamily[" <& index <& "]:") rpad 16 <& otherfamily[index]);
|
|
end for;
|
|
end func;
|