// Установка параметрів для побудова точок крісталізації // Побудова точок крісталізації i: = 1 to w1 do.canvas.Ellipse (xxx [ i]-w_p, yyy [i]-w_p, xxx [i] + w_p, yyy [i] + w_p);;
В В В
Рис. 4.4 Алгоритм візуалізації ЗРОСТАННЯ зерен и поиска координат точки крісталізації
У будь-який момент годині процес моделювання можна Зупинити, натіснувші на кнопку Стоп, а потім запустіті наново. Розглянемо Цю процедуру. br/>
procedure Tmain.dxBarButton6Click (Sender: TObject);: = true;. Enabled: = not Timer1.Enabled; // Відключення таймеру
if Timer1.Enabled then // ЯКЩО таймер активний
dxBarButton6.Caption: = 'Стоп' // зміна назви кнопки
else // ЯКЩО таймер неактивних . Caption: = 'Моделювання';;
Розглянемо процедуру побудова між зерна. На рис. 4.5 наведень фрагмент алгоритму цієї процедури. p align="justify"> procedure Tmain.dxBarButton10Click (Sender: TObject); i, n, min, k1, k2, b, b1, m, nl: integer;, ym, xb, xm: array [ 1 .. 100] of integer;
begin
// Встановлюємо колір та стиль заливки . Canvas.Brush.Style: = bssolid;. Canvas . Brush.Color: = clWhite;
// Заливка области побудова . canvas.FillRect (ClientRect);. Canvas.Brush.Style : = bsSolid;
// Встановлюємо колір та діаметр точок крісталізації
Image1.Canvas.Brush.Color: = col_p;. Canvas.pen.Color: = col_p;: = 0; k2: = 0;
// Будуємо точки крісталізації
for i: = 1 to w1 do.canvas.Ellipse (xxx [i]-w_p, yyy [i]-w_p, xxx [i] + w_p, yyy [i] + w_p);
// Поиск координат та з мінімальнім Значення за осі Х
min: = xxx [1];
// Перебіраємо в ціклі елєменти масиву, что містіть координат та точок по осі Х
for i: = 2 to w1 domin> xxx [i] then: = xxx [i];: = i;// запам'ятовуємо номер точки крісталізації в масіві ; i: = 1 to w1 doxxx [i] <> xxx [nl] then// ЯКЩО Це не стартова точка yyy [i]> = yyy [nl] then// формуємо масив координат точок розташованіх нижчих стартової