Eingabemaske für Stunden

Rund um die LCL und andere Komponenten
Antworten
Okil
Beiträge: 32
Registriert: Mi 14. Aug 2019, 16:33
OS, Lazarus, FPC: Lazarus 2.0.8, FPC 3.0.4, Linux, (Windows 7)
CPU-Target: 64Bit / 32 Bit
Wohnort: Umland München

Eingabemaske für Stunden

Beitrag von Okil »

Für die Markierung/Eingabe von Stunden in einem Wochenplan suche ich eine Komponente etc, mit der dies möglich ist. Mit der Maus einfach über die gewünschten Stunden fahren, markieren und als Ergebnis die markierten Stunden zurückgeben. Siehe Beispiel. Habt Ihr Ideen, wie man das am einfachsten lösen kann?
Stunden2.png
Stunden2.png (5.63 KiB) 1183 mal betrachtet
Stunden1.png
Stunden1.png (23.11 KiB) 1183 mal betrachtet

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Eingabemaske für Stunden

Beitrag von Winni »

Hallo!

Nehmen wir den unteren Plan:

Image.MouseDown gibt x und y

len := Image.width - linkerRand-rechterRand;
Stunde := trunc ((x-linkerRand)/len* 24);


Grüße
Winni

Okil
Beiträge: 32
Registriert: Mi 14. Aug 2019, 16:33
OS, Lazarus, FPC: Lazarus 2.0.8, FPC 3.0.4, Linux, (Windows 7)
CPU-Target: 64Bit / 32 Bit
Wohnort: Umland München

Re: Eingabemaske für Stunden

Beitrag von Okil »

Winni hat geschrieben: Sa 25. Jul 2020, 15:06 Hallo!

Nehmen wir den unteren Plan:

Image.MouseDown gibt x und y

len := Image.width - linkerRand-rechterRand;
Stunde := trunc ((x-linkerRand)/len* 24);


Grüße
Winni
Vielen Dank für die schnelle Antwort. Ich hatte schon überlegt mit StringGridPrepareCanvas jede Zelle entsprechend einzufärben, was zwar geht, aber mir für diese Anwendung nicht sinnvoll erschien.

Also einfach das Image direkt nehmen, mit der Maus über die Zellen fahren, die Zellengröße ermitteln und dann die Farbe der jeweiligen Zelle entsprechend der Stundenbelegung ändern. Super, dass müsste ich hinbekommen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Eingabemaske für Stunden

Beitrag von af0815 »

m.fuchs hat da schon mal Komponenten vorgestellt, die das meiner Erinnerung nach auf Tagesbasis machen. Auf seiner HP mal nachsehen. https://www.ypa-software.de

Edit: Die HP ist umgestaltet und die DateTimeControls nicht mehr auffindbar

Edit2: Doch da: http://svn.code.sf.net/p/ypa-components ... eControls/
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten