Jouw probleem zit in de twee array's. Er wordt een vergelijking gemaakt dat col gelijk is aan C[col] en row gelijk is aan R[Row] en dat komt meerdere keren voor.
Maak er een 2 dimensionale array aan en je probleem is opgelost. Vul je array niet met de waarde van de col/row, maar met waarde 1 (boolean mag ook).
Delphi Code:
procedure TForm1.FormCreate(Sender: TObject);
var index, index2 : integer;
begin
StringGrid1.Width := 5 * StringGrid1.DefaultColWidth;
StringGrid1.Height := 5 * StringGrid1.DefaultRowHeight;
for index := 0 to 5 - 1 do
begin
for index2 := 0 to 5 - 1 do
c[index,index2] := -1;
end;
teller := 0;
end;
procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin
C[StringGrid1.Col,StringGrid1.Row] := 1;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; aCol, aRow: Integer;
aRect: TRect; aState: TGridDrawState);
begin
StringGrid1.Canvas.Brush.Color := clWhite;
StringGrid1.Canvas.Brush.Style := bsSolid;
IF (C[aCol,aRow] = 1 ) THEN
BEGIN
StringGrid1.Canvas.Brush.Color := clRed;
StringGrid1.Canvas.Brush.Style := bsSolid;
StringGrid1.Canvas.FillRect(aRect);
END;
end;
Bookmarks