Word wheel: Difference between revisions

Content added Content deleted
Line 1,798: Line 1,798:
WheelSize = 9;
WheelSize = 9;
MinLength = 3;
MinLength = 3;
WordFile = 'unixdict.txt';
WordListFN = 'unixdict.txt';


procedure search(pattern : string);
procedure search(Wheel : string);
var
var
Allowed, Required, Available, w : string;
Allowed, Required, Available, w : string;
Len, i, p : integer;
Len, i, p : integer;
WordList : TextFile;
WordFile : TextFile;
Match : boolean;
Match : boolean;
begin
begin
AssignFile(WordList, WordFile);
AssignFile(WordFile, WordListFN);
try
try
Reset(WordList);
Reset(WordFile);
except
except
writeln('Could not open dictionary file ' + WordFile);
writeln('Could not open dictionary file ' + WordListFN);
exit;
exit;
end;
end;
Allowed := LowerCase(pattern);
Allowed := LowerCase(Wheel);
Required := copy(Allowed, 5, 1); { central letter is required }
Required := copy(Allowed, 5, 1); { central letter is required }
while not eof(WordList) do
while not eof(WordFile) do
begin
begin
readln(WordList, w);
readln(WordFile, w);
Len := length(w);
Len := length(w);
if (Len < MinLength) or (Len > WheelSize) then continue;
if (Len < MinLength) or (Len > WheelSize) then continue;
Line 1,839: Line 1,839:
writeln(w);
writeln(w);
end;
end;
CloseFile(WordList);
CloseFile(WordFile);
end;
end;