rls, ComCtrls; = class (TForm): TListView;: TPanel;: TButton ;: TRadioGroup;: TPanel;: TPanel;: TButton;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel; rgAppreciateClick (Sender: TObject); lvSolverHipothesisClick (Sender: TObject); btnAppreciateClick (Sender: TObject); lvSolverHipothesisCustomDrawItem (Sender: TCustomListView;: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);: TSolverBase;: rRateFuncInfo; MarkHipothesisForAppreciate; AppreciateHipothesis (ASolverBase: TSolverBase): boolean; MarkedHipothesisCount: integer; HipSolverBase: TSolverBase read FSolverBase write FSolverBase; GetRateFuncInfo: rRateFuncInfo; Create (AOwner: TComponent; var ASolverBase: TSolverBase); reintroduce; overload;;
{$ R *. dfm}
{TfmBKOMain}
// Функція оцінки гіпотезTfmBKOMain.AppreciateHipothesis (ASolverBase: TSolverBase): boolean;
var, nS, nUS: integer;, sblockram, sdsp, stransiver: string;// зчитуємо в ці змінні
ssection, spower, sprice, slogic: string;// значення параметровlvSolverHipothesis do begin.BeginUpdate;
// Обнуляємо число оцінених гіпотез.iSuccess: = 0;
FRateFuncInfo.iUnSuccess: = 0;
// і лічильники протиріч і підтверджень: = 0; nUS: = 0;
// Починаємо перевірку списку гіпотез
for i: = 0 to Items.Count - 1 doItems [i]. Checked then begin: = Items [i]. SubItems.ValueFromIndex [7];
// Технологія виробництва: = Items [i]. SubItems.ValueFromIndex [2];// Ємність блокової пам'яті: = Items [i]. SubItems.ValueFromIndex [3];// Кількість блоків DSP: = Items [i]. SubItems.ValueFromIndex [8];
// Тип приймача-: = Items [i]. SubItems.ValueFromIndex [5];
// Напруга живлення ядра: = Items [i]. SubItems.ValueFromIndex [9];// Пристрій секції: = Items [i]. SubItems.ValueFromIndex [6];// Вартість: = Items [i]. SubItems.ValueFromIndex [4];/​​/ Кількість ЛЯ: = Items [i]. SubItems.ValueFromIndex [1];// Число контактів
// Перевіряємо гіпотези на наявність заборонених комбінацій
if ((tehnology = '90 нм ') ((section = '4 * 6-LUT + 4 * FF') or (section = '4 * 6-LUT + 8 * FF ') (logic = '240 - 480 тис. ') or (logic =' понад 480 тис. ') (power = '1 .0 В') or (power = '0 .9 В ') (bram = '6 - 15 Мбіт') or (bram = '15 - 28 Мбіт ') or (bram = '28 - 68 Мбіт') (dsp = '128 - 288 ') or (dsp = '288 - 864') or (dsp = 'понад 864') ( pins = '720 - 1200 ') (transiver =' GTX ') or (transiver =' GTH ') (price = '1500 - 7000') or (price = '7000 - 20000 ') or (price =' понад 20000 ' )
) or <...