я например вынес темп папки рабочий стол и загрузки на другой ссд, файл подкачки тоже, 100 гиг винде вполне хватает, если задрот то и сохраненки тоже можно вынести
var
frmMain: TfrmMain;
...
Queens: array [0..MaxQueensCount-1, 0..MaxQueensCount-1] of boolean;
img1, img2: TPicture;
procedure TfrmMain.FormCreate(Sender: TObject);
var
i, j: Integer;
begin
...
for i := 0 to MaxQueensCount-1 do
for j := 0 to MaxQueensCount-1 do
Queens[i, j] := false;
img1:= TPicture.Create;
img1.LoadFromFile('E:\Ферзь 1.bmp');
img2:= TPicture.Create;
img2.LoadFromFile('E:\Ферзь 2.bmp');
end;
procedure TfrmMain.grdChessBoardClick(Sender: TObject);
var
CellColor: TColor;
begin
Queens[grdChessBoard.Col, grdChessBoard.Row] := not Queens[grdChessBoard.Col, grdChessBoard.Row];
with grdChessBoard do
if Queens[grdChessBoard.Col, grdChessBoard.Row] then
begin
if (Col + Row) mod 2 = 0 then
Canvas.StretchDraw(CellRect(Col, Row), img1.Graphic)
else
Canvas.StretchDraw(CellRect(Col, Row), img2.Graphic);
end
else
begin
if ((Col + Row) mod 2) = 0 then
CellColor := clWhite
else
CellColor := clGray;
grdChessBoard.Canvas.Brush.Color := CellColor;
grdChessBoard.Canvas.FillRect(CellRect(Col, Row));
end;
end;
procedure TfrmMain.grdChessBoardDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
CellColor: TColor;
begin
with grdChessBoard do
if Queens[ACol, ARow] then
begin
if (ACol + ARow) mod 2 = 0 then
Canvas.StretchDraw(CellRect(ACol, ARow), img1.Graphic)
else
Canvas.StretchDraw(CellRect(ACol, ARow), img2.Graphic);
end
else
begin
if ((ACol + ARow) mod 2) = 0 then
CellColor := clWhite
else
CellColor := clGray;
Canvas.Brush.Color := CellColor;
Canvas.FillRect(Rect);
end;
end;
попробую 4 поставитьВот в этом и главная беда! Ничего устанавливать не надо. Только автоматически, по выбору операционной системы!
procedure ...
var
Stack: TStack<integer>;
begin
Stack := TStack<integer>.Create;
try
//...
// Тут весь расчёт
// ...
finally
Stack.Free;
end;
end;
Это что, какое-то сообщение об ошибке небось? А зачем основную форму скрывать?
Впрочем это дело хозяйское.
И ещё, это так задумано, что:
- проверить вертикали-горизонтали,
- если найдена ошибка, то что-то показать
- была ошибка или нет, всё равно проверять диагонали <-- это точно так должно быть?
- если найдена ошибка, то что-то показать