Hi,
Zitat von
Lenuam:
... Ich will dass der Timer beim "Leben starten" Button anfängt zu laufen mit einem Intervall von 1 Sekunde. ...
das Standardintervall ist 1000 (Angabe in Millisekunden). Der Timer feuert das Ereignis OnTimer() nur, wenn seine Eigenschaft Enabled auf True gesetzt wird. Also solltest du Enabled im Object Inspector auf False setzen und diese Eigenschaft über deinen Button verändern.
Zitat von
Lenuam:
... Bei Pause/Weiter soll entsprechend der Prozess pausiert und fortgeführt werden, und mit der Scrollleiste soll das Intervall veränderbar sein. ...
Den Scrollbalken baust du selbst ein. Die momentane Position kannst du beim Ereignis OnChange als Intervall des Timers festlegen.
Zitat von
Lenuam:
... Außerdem wäre ich euch sehr dankbar, wenn ihr mir erklären könntet wie ich möglichst leicht die Zellen des StringGrids einfärben kann...also das immer wenn momentan ein * erscheint, sich anstattdessen die Zelle färbt. ...
Das könnte etwa so aussehen:
Delphi-Quellcode:
const
LifeColor: array [Boolean] of TColor = (clWhite, clBlue);
procedure TLifeForm.StringGridDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with Sender as TStringGrid do
begin
Canvas.Brush.Color := LifeColor[OL[ARow, ACol]];
InflateRect(rect, -2, -2);
Canvas.FillRect(rect);
end;
end;
Die Eigenschaft DefaultDrawing des Grids schaltest du dann einfach ab. Das Zeichnen des Grids erzwingst du durch StringGrid.Invalidate an geeigneter Stelle.
Freundliche Grüße