while (I <= QueensCount) do with grdChessBoard do
begin
Font.Size:=20+trunc(grdChessBoard.DefaultRowHeight/QueensCount)-1;
Font.Style:=[fsBold];
Font.Name:='Times New Roman';
grdChessBoard.Canvas.Brush.Style:=bsClear;
.....
end;
if not Flag then
Begin
frmMain.Hide;
Form1.Show;
End;
я например вынес темп папки рабочий стол и загрузки на другой ссд, файл подкачки тоже, 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 поставитьВот в этом и главная беда! Ничего устанавливать не надо. Только автоматически, по выбору операционной системы!