Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
Delphi 10.4 Sydney
|
AW: aus Datenbank Datum ein image.left zuweisen
12. Jan 2022, 11:58
Die auskommentierten FDQuery1-Zugriffe müsstest du noch wieder einkommentieren
Delphi-Quellcode:
// muss in die Uses-Klausel
uses
System.Math, System.UiTypes
...
procedure TKalender.FormCreate(Sender: TObject);
var
d: Integer;
Tag1: array[1..365] of Integer; //TArray<Integer>;
simage: TImage;
Colors: TArray<TColor>;
begin
// FDQuery1.Open;
for d := 1 to 365 do
begin
Tag1[d] := Trunc(Kalenderimage.Width / 365 * d);
end;
// if FDQuery1.FieldByName('START').Calculated then
begin
Colors := [TColors.Red, TColors.Dodgerblue, TColors.Floralwhite, TColors.Olive, TColors.Sandybrown];
for d := 1 to 365 do
begin
simage := TImage.create(Self);
simage.Parent := Self;
simage.Left := Kalenderimage.Left + Tag1[d];
simage.Height := Kalenderimage.Height;
simage.Width := Trunc(Kalenderimage.Width / 365);
// Mit zufälliger Farbe ausfüllen, damit sieht, dass es 365 verschiedene Images sind:
simage.Canvas.Brush.Color := Colors[RandomRange(Low(Colors), High(Colors))];
simage.Canvas.FillRect(simage.ClientRect);
end;
end;
end;
|
|
Zitat
|