Hi to all,
first I'm sorry for all this questions.
My problem is that I want to convert a TColot data that is a 4 byteexadecimal number into three integers which rapresent RGB channels.
TColor hold this information in his first trhee bytes.
I would like to know if there is a function for picking TColor Byte per Byte. A function that returns the first byte alone.

Sorry for the bad explanation and thanks for the help.

P.S. = zibadian I've solved my last problem as you said, thank you very much!

• : Hi to all,
: first I'm sorry for all this questions.
: My problem is that I want to convert a TColot data that is a 4 byteexadecimal number into three integers which rapresent RGB channels.
: TColor hold this information in his first trhee bytes.
: I would like to know if there is a function for picking TColor Byte per Byte. A function that returns the first byte alone.
:
: Sorry for the bad explanation and thanks for the help.
:
: P.S. = zibadian I've solved my last problem as you said, thank you very much!
:
You can use this code to convert a 4-byte integer into a 4-byte array:
[code]
type
TColorArray = array[1..4] of byte;
var
RGB: TColorArray;
C: TColor;
begin
C := clRed;
Move(C, RGB, 4);
// Process the color as individual bytes in an array using RGB.
end;
[/code]
• This is perfect!! Really Smart!!
And What about the type cast?? I'd need to convert This single Byte to an integer value. I've looked into the helps but I didn't find any function! Does this function exists??

• : This is perfect!! Really Smart!!
: And What about the type cast?? I'd need to convert This single Byte to an integer value. I've looked into the helps but I didn't find any function! Does this function exists??
:
:
All integer types can be assigned to one-another without conversion. If you assign a small integer to a large one:
[code]
var
b: byte;
i: integer;
begin
i := b;
end;
[/code]
then the value will stay the same. If the assignment is the other way around, you might truncate the value to the number of bytes in the new integer type:
[code]
var
b: byte;
i: integer;
begin
i := 5050;
b := i;
// b will either be 186 or 19, I'm not sure which
end;
[/code]
• How ignorant I am!!!
Thank you very much again, you're the man!!!