33 lines
1,005 B
Text
33 lines
1,005 B
Text
$ include "seed7_05.s7i";
|
|
|
|
const proc: main is func
|
|
local
|
|
var file: inFile is STD_NULL;
|
|
var string: line is "";
|
|
var integer: currLicenses is 0;
|
|
var integer: maxLicenses is 0;
|
|
var array string: maxLicenseTimes is 0 times "";
|
|
var string: eventTime is "";
|
|
begin
|
|
inFile := open("mlijobs.txt", "r");
|
|
while hasNext(inFile) do
|
|
line := getln(inFile);
|
|
if line[9 len 3] = "OUT" then
|
|
incr(currLicenses);
|
|
if currLicenses >= maxLicenses then
|
|
if currLicenses > maxLicenses then
|
|
maxLicenses := currLicenses;
|
|
maxLicenseTimes := 0 times "";
|
|
end if;
|
|
maxLicenseTimes &:= line[15 len 19];
|
|
end if;
|
|
elsif currLicenses > 0 then
|
|
decr(currLicenses);
|
|
end if;
|
|
end while;
|
|
close(inFile);
|
|
writeln("Maximum simultaneous license use is " <& maxLicenses <& " at the following times:");
|
|
for eventTime range maxLicenseTimes do
|
|
writeln(eventTime);
|
|
end for;
|
|
end func;
|