Word wheel: Difference between revisions
Content added Content deleted
Line 1,798: | Line 1,798: | ||
WheelSize = 9; |
WheelSize = 9; |
||
MinLength = 3; |
MinLength = 3; |
||
WordListFN = 'unixdict.txt'; |
|||
procedure search( |
procedure search(Wheel : string); |
||
var |
var |
||
Allowed, Required, Available, w : string; |
Allowed, Required, Available, w : string; |
||
Len, i, p : integer; |
Len, i, p : integer; |
||
WordFile : TextFile; |
|||
Match : boolean; |
Match : boolean; |
||
begin |
begin |
||
AssignFile( |
AssignFile(WordFile, WordListFN); |
||
try |
try |
||
Reset( |
Reset(WordFile); |
||
except |
except |
||
writeln('Could not open dictionary file ' + |
writeln('Could not open dictionary file ' + WordListFN); |
||
exit; |
exit; |
||
end; |
end; |
||
Allowed := LowerCase( |
Allowed := LowerCase(Wheel); |
||
Required := copy(Allowed, 5, 1); { central letter is required } |
Required := copy(Allowed, 5, 1); { central letter is required } |
||
while not eof( |
while not eof(WordFile) do |
||
begin |
begin |
||
readln( |
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( |
CloseFile(WordFile); |
||
end; |
end; |
||