більше вставляти; i:=0 to words.Count - 1 do//по всіх словами зі словника словused.IndexOf (words [i]) lt; gt;- 1 then continue;// в одному Кросворди одне слово двічі не встречается.InsertObject (0, words [i], pointer (CurWord));// всавіть в початок списку використовуваних словvalid (used) then//перевірка на правильність (used, CurWord + 1);// пройшло-шукаємо наступне словоendOfFind then exit;// вихід, якщо не треба больше.delete (0);// тепер видалимо останнє слово, тк на його місце в наступному обороті;// циклу вставимо нове
end;
procedure TFrmMain.Start (Sender: TObject);// запуск підбору l: tStringList;:=0;// кількість знайдених варіантів
l:=tStringList.Create;// тимчасовий список
interior (l, 1);// поїхали:=false; FindCount=0 then showMessage ( Немає варіантів # 13 Змініть схему або збільште словник слів ) ;. Free;// пам'ять треба звільняти
end;
//зміна схемиTFrmMain.ChShem (Sender: TObject) ;. Filter:= Файли схем (* .scm) | * .scm raquo ;;. Title:= Виберіть схему raquo ;;. fileName:= raquo ;; not OpenDialog.Execute then exit;:=OpenDialog.fileName; .free;:=tinifile.create (shName) ;;;;
//зміна словаряTFrmMain.ChWords (Sender: TObject) ;. Filter:= Файли словників (* .wds) | * .wds raquo ;;. Title:= Виберіть словник raquo ;;. fileName:= raquo ;; not OpenDialog.Execute then exit;:=OpenDialog.FileName; .LoadFromFile (wdName) ;;;
//виходTFrmMain.N5Click (Sender: TObject) ;;;.
Додаток Д
Результат роботи програми
Малюнок Б.6 - Головне вікно програми.
Малюнок Б.7 - Запит продовження пошуку.