AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Color als integer

Ein Thema von Bjoerk · begonnen am 8. Feb 2012 · letzter Beitrag vom 9. Feb 2012
Antwort Antwort
Seite 1 von 2  1 2      
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Color als integer

  Alt 8. Feb 2012, 16:25
Ich stelle gerade ein riesen Grafik Projekt auf OOP um. Da sind alle Color als integer deklariert. Da ich eh schon kurz vor'nem verschärften Nervenzusammenbruch stehe, wollte ich fragen ob Typ TColor unbedingt erforderlich ist, oder ob’s die integer auch tun, oder geht das schief, wegen Maxint+1 meine ich. Wird dieser Wert tatsächlich jemals benutzt?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Color als integer

  Alt 8. Feb 2012, 16:29
Das mit MaxInt habe ich jetzt nicht ganz verstanden, aber in XE2 ist TColor = -$7FFFFFFF-1..$7FFFFFFF;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Color als integer

  Alt 8. Feb 2012, 16:32
TColor = -$7FFFFFFF-1..$7FFFFFFF;
-$80000000..$7FFFFFFF = LongInt
$2B or not $2B
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Color als integer

  Alt 8. Feb 2012, 16:55
Das mit MaxInt habe ich jetzt nicht ganz verstanden, aber in XE2 ist TColor = -$7FFFFFFF-1..$7FFFFFFF;
Ist -$7FFFFFFF-1 nicht eins mehr als -Maxint ? Check grad nix mehr..
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Color als integer

  Alt 8. Feb 2012, 16:59
-$7FFFFFFF - 1 = -($7FFFFFFF + 1)

Abs(MinInt) = MaxInt + 1
, da es keine -0 gibt
$2B or not $2B
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Color als integer

  Alt 8. Feb 2012, 17:26
Color:= TColor(ini.ReadInteger.. und normal integer schreiben. Stimmt das ?

Edit: äh, mal dumm gefragt, was ist eigentlich der unterschied zwischen integer und longint überhaupt ??

Geändert von Bjoerk ( 8. Feb 2012 um 17:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Color als integer

  Alt 8. Feb 2012, 17:44
LongInt ist ein statischer/nativer Typ, so wie der AnsiString.

Integer ist war mal ein wachsender / sich anpassender Typ.
In einem Win16-Compiler (Delphi 1) war er 16 Bit.
In einem Win32-Compiler ist er 32 Bit.
Und wenn man für Win64 kompiliert wäre er 64 Bit gewesen.

So wie String bis D2007 ein AnsiString war und seit D2009 ein UnicodeString ist.

(OK, irgend C-Idiot ist auf die Idee gekommen den Integer einzufriehren und dafür den NativeInt zu erfinden, weswegen der Integer auch unter Win64 einem LongInt entspricht)


PS: Weil ich diesen Sch*** nicht mitmache, wird der Integer, in meinen Codes, auch in Zukunft weiterhin mitwachsen.
$2B or not $2B
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Color als integer

  Alt 8. Feb 2012, 17:50
Okay, verstehe. Und wenn logint ein integer32 ist, kann ich dann meine colors als integer lassen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: Color als integer

  Alt 8. Feb 2012, 18:00
Besser als LongInt.

Vom Wertebereich her stellt TColor ja explizit den selben nativen Wertebereich des LongInt dar.

Delphi-Quellcode:
type
  TUrColor = -$7FFFFFFF-1..$7FFFFFFF;
  TMeinColor = type LongInt;
$2B or not $2B
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#10

AW: Color als integer

  Alt 9. Feb 2012, 10:48
Es sollte allerdings klar sein, das man auf die Daten einer TBitmap bei der Bildverarbeitung gewöhnlich über Scanline() zugreift. Wie die einzelnen Pixel dort codiert sind hängt vom Pixelformat ab, aber in keinem Fall als TColor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz