Du kan bruge funktionerne getRvalue, getGvalue og getBvalue til at dele en TColor i de tre RGB værdier. De kan så lagres. Når du skal bruge dem igen bruger du bare TColor:=RGB(rød,grøn,blå);
azs>> Der er ingen grund til at konvetere det til en String. En farve er en integer, og kan blive behandlet som sådan. Normalt er det kun de første 24 bits der bliber brugt 8 bit til hver af de tre farver.
Hvis du vil gemme en farve i en ini fil så behandler du den blit som var der en integer. Når du så skal læse den op i gen er der ingen problemer i at assigne en integer til en TColor (i sagens natur);
Hvis du stadig ønsker at dissekerer dine farver så brug dem her :
Function RGB(r, g ,b : byte) : TColor; asm and eax, $ff and edx, $ff shl edx, $08 or eax, edx xor edx,edx mov dl,cl shl edx,$10 or eax,edx end;
borrisholt >> Nej, men jeg skulle da lige sidde og tænke lidt over koden, da jeg har glemt det meste Assembler jeg har lært. Sådan noget kan jeg ikke lige ryste ud af ærmet. :)
borrisholt >> Det gælder også Delphi 2+3. Der arbejder INTEGER også med 16-bit meds mindre man beder om at de skal behandles som LONGINT, som jo er 32-bit. Du kan altså ikke beskrive TColor (24-bit) med hverken INTEGER (16-bit) eller LONGINT (32-bit).
borrisholt >> Du skal vist meget langt tilbage før en INTEGER var 8-bit *gg* I alle de gamle versioner af Turbo Pascal jeg har arbejdet med har det være 16-bit ;o)
Det gør jeg f.eks. Alle dem, der benytter \"gratis-versioner\" af Delphi. Og alle dem, der ikke mener der er nogen grund til at betale for opdateringer hver gang der kommer nye versioner, hvis de ikke indeholder nye funktioner man har behov for.
saz læs lige den første del af mit svar igen og spring alt det ASM sjov over : Der står Hvis du bruger Delphi 4 eller nyere så behandl din TColor som en integer.
borrisholt >> Det var ikke for at \"mundhukkes\" :o)
Jeg syntes bare at et par af jer hardcore \"kode-karle\" ofte glemmer at det ikke er alle, som sidder med den absolut nyeste version af Delphi. Jeg har et lille firma, så jeg skal bruge en \"køber-version\" af Delphi. Jeg ser bare ingen grund til at opdaterer 1-2 gange om året, når der ikke er nye funktioner jeg skal bruge :o)
Ok .. Men Delphi 4 står til at skaffe. Den kome sammen med et blad sidste år ....
Jens B
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.