AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Problem mit TColor

Ein Thema von gangs-taas · begonnen am 4. Sep 2010 · letzter Beitrag vom 6. Sep 2010
 
Benutzerbild von isilive
isilive

Registriert seit: 15. Okt 2008
Ort: Österreich
192 Beiträge
 
Delphi 2009 Professional
 
#17

AW: Problem mit TColor

  Alt 6. Sep 2010, 23:47
Delphi-Quellcode:
 function TDecodieren.BitToBuch(Bit1, bit2, bit3, bit4, bit5, bit6,
                               bit7, bit8: Integer) : Char;
var
  ZwischenInt : Integer ;
begin
  ZwischenInt := 00000000; // Kann man so lassen ... ist aber witzig :)
  if Bit1 = 1 then
    ZwischenInt := ZwischenInt or 128; // 10000000;
  if Bit2 = 1 then
    ZwischenInt := ZwischenInt or 64; // 01000000;
  if Bit3 = 1 then
    ZwischenInt := ZwischenInt or 32; // 00100000;
  if Bit4 = 1 then
    ZwischenInt := ZwischenInt or 16; // 00010000;
  if Bit5 = 1 then
    ZwischenInt := ZwischenInt or 8; //00001000;
  if Bit6 = 1 then
    ZwischenInt := ZwischenInt or 4; // 00000100;
  if Bit7 = 1 then
    ZwischenInt := ZwischenInt or 2; // 00000010;
  if Bit8 = 1 then
    ZwischenInt := ZwischenInt or 1; // 00000001;
  Result := Chr(ZwischenInt);
Du kannst dem Compiler Dezimalzahlen hinschreiben oder Hexadezimalzahlen (zB: $a000 (in anderen Sprachen oft als 0xa000 geschrieben)), aber keine Binärzahlen (glaub ich zumindest.)

Also wenn schon dann so:

Delphi-Quellcode:
  
j := bit1 + bit2*2 + bit3*4 + bit4*8 + bit5*16 + bit6*32 + bit7*64 + bit8*128;
Result := Chr(j);
wobei es ziemlich schräg ist, dass du die bits als Integer und nicht als Boolean definiert hast. Wenn sie boolean sind müsste es halt heissen:

Delphi-Quellcode:
  j:=0;
  if bit1 then inc(j);
  if bit2 then inc(j,2);
  if bit3 then inc(j,4);
  if bit4 then inc(j,8);
  ...
Stefan
Jedoch kann die referenzbasierte Implementierung des Standard-Objektmodells in Kombination mit den komplexen syntaktischen Dereferenzierungsregeln bei einer objektorientierten API wie ein Stolperstein wirken.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:35 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