Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Typen die einfach "animiert" werden können? (z.B. Integer) (https://www.delphipraxis.net/156659-typen-die-einfach-animiert-werden-koennen-z-b-integer.html)

s.h.a.r.k 9. Dez 2010 23:14

Typen die einfach "animiert" werden können? (z.B. Integer)
 
Ich weiß nicht genau, wie ich den Threadtitle hätte anders wählen können. Daher beschreibe ich jetzt einfach mal was ich überhaupt mache und vor habe. Ich habe eine Animator-Klasse geschrieben, die eben eine Property einer Klasse animieren kann. Animieren bedeutet hier, dass, unter Zuhilfenahme einer speziellen Funktion, den aktuellen Wert über eine gewisse Zeit so verändere, dass ein Endwert erreicht wird, z.B. ein Fade-Effect (Verändern des Alpha-Kanals von 0 bis 180).

Bisher habe ich die folgenden Typen eingearbeitet, d.h. ist der Typ der Property einer der folgenden, so kann dieser animiert werden:
  • ShortInt,
  • SmallInt,
  • LongInt, // = Integer,
  • Int64,
  • Byte,
  • Word,
  • LongWord,
  • UInt64,
  • Single,
  • Double, // = Real
  • Extended,
  • Comp,
  • Currency,
  • TColor
Comp und Currency sind nur vollständigerhalber implementiert. TColor spielt hier eine Sonderrolle, da hier nicht direkt der Wert geändert wird, sondern erst in die einzelnen RGB-Werte aufgeteilt, diese dann seperat angepasst und später weider via
Delphi-Quellcode:
RGB()
zusammengewürfelt werden.

Nun aber die Frage: Welche Standard-Typen gibt es denn noch, die man animieren könnte? Mir fällt auf Anhieb keiner mehr ein, den es in einer Standard-Installation eines Delphi noch gibt. Spezialfälle will ich hier definitiv nicht betrachten, da man dafür einen kleinen Wrapper bauen kann.

Medium 10. Dez 2010 05:46

AW: Typen die einfach "animiert" werden können? (z.B. Integer)
 
Im Grunde auch noch Enums, wobei da Spezialfälle auftauchen, sobald man Delphi die Umsetzung nicht weitgehend überlässt. Mit nur einem Startwert würde es wieder gehen.

Was du im Grunde suchst, sind, wenn man es pseudomathematisieren will, "Abzählbare" Typen mit "Rangordnung". Floats zählen da übrigens nicht wirklich zu (in der EDV schon irgendwo, aber nicht in der Art für was sie stehen sollen). Dort stellst du die Abzählbarkeit vermute ich mal künstlich über einen festen Inkrementwert her. Im Sinne von "animieren" ist das aber okay, und wichtig per se ist nur die Rangbehaftung.

s.h.a.r.k 20. Dez 2010 18:45

AW: Typen die einfach "animiert" werden können? (z.B. Integer)
 
Jetzt hab ich doch glatt ein eigenes Thema vergessen gehabt :mrgreen:

Ja, an Enums habe ich auch schon gedacht. Aber in welchem Zusammenhang würde es denn Sinn machen ein Enum zu animieren?! Ich denke, dass wenn ein Programmierer auf diese Idee kommen würde, wohl eher die Nutzung von Enums in dem Fall falsch wären -- wobei es sicherlich auch Ausnahmen geben kann. Dies wäre dann allerdings eine so spezielle Ausnahme, dass der Programmierer dies eben selbst handhaben muss. Er kann seine Enums ja in Integer-Wert umwandeln lassen und den Rückgabewert der Animations-Funktion dann ja wieder in einem Enum casten. Von daher wird sowas quasi indirekt unterstützt.

Gleiches gilt imho auch für TDateTime, Pointer, Arrays (also den Index animieren).


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz