Jak zamienić wartość integer na wartość HEXagonalną (tz. taką jak wartość koloru w HTML-u '$04fb1f') i wyświetlić na formie np. w TEdit???
Dzieki Pozdrawiam {hello}
Jak zamienić wartość integer na wartość HEXagonalną (tz. taką jak wartość koloru w HTML-u '$04fb1f') i wyświetlić na formie np. w TEdit???
Dzieki Pozdrawiam {hello}
niewiem czy dokładnie o to chodzi ale zobacz może ci sie przyda - pokaże ci to na przykładzie jak to zrobć używając ColorDialog1
var
TheRgbValue : TColorRef;
begin
if ColorDialog1.Execute then
begin
*Pobieramy kolor z TColorDialog
TheRgbValue := ColorToRGB(ColorDialog1.Color);
*Funkcja ColorToRGB konwertuje wartość z postaci TColor do postaci RGB.
Edit1.text:='#'+Format('%.2x%.2x%.2x',
[GetRValue(TheRGBValue),
GetGValue(TheRGBValue),
GetBValue(TheRGBValue)]);
end;
end;
Na Boga;) po co tak motac?;)
Czy nie prosciej uzyc funkcji IntToHex? {browar} --take care,
Wodzu
Wodzu napisał:
Na Boga;) po co tak motac?;)
>
>Czy nie prosciej uzyc funkcji IntToHex? {browar}
>
No pewnie!!!
A poza tym system jest heksaDECYMALNY, a nie hexagonalny :D :D :D
czyli szesnastkowy, a nie szesciokątny! --Pawel {Delphi 6 Personal}
Po pierwsze: naciśnij F1
pq napisał:
Wodzu napisał:
>Na Boga;) po co tak motac?;)
>>
>>Czy nie prosciej uzyc funkcji IntToHex? {browar}
>>
>
>
>No pewnie!!!
>
Oj dajcie żyć dla pow_pow. Pomylił się przez to HTML. Zrozumiał, że chodzi o zamianę z postaci BGR (jaka jest używana w Delphi) na RGB (jaka jest używana w HTML). :-) --Jest jeszcze jeden błąd ... :)
a jak to zrobic na odwrot z hex do integer?
przeciez nie ma funkcji HexToInt ???----<<[ pzdr ]>>--
gacek999 napisał:
a jak to zrobic na odwrot z hex do integer?
>przeciez nie ma funkcji HexToInt ???
>
StrToInt :)--Jest jeszcze jeden błąd ... :)
Znalazlem w sieci cos takiego i dziala :)
function HexToInt(const HexStr: string): longint;
var
iNdx: integer;
cTmp: Char;
begin
Result := 0;
for iNdx := 1 to Length(HexStr) do begin
cTmp := HexStr[iNdx];
case cTmp of
'0'..'9': Result := 16 * Result + (Ord(cTmp) - $30);
'A'..'F': Result := 16 * Result + (Ord(cTmp) - $37);
'a'..'f': Result := 16 * Result + (Ord(cTmp) - $57);
else
raise EConvertError.Create('Illegal character in hex string');
end;
end;
end;----<<[ pzdr ]>>--
gacek999 napisał:
>function HexToInt(const HexStr: string): longint;
> var
> iNdx: integer;
> cTmp: Char;
> begin
.
.
.
> end;
>
Tylko po co tak kombinować?? To jest dobre w TP, bo tam nie ma StrToInt, ale w Delphi działa bez problemu StrToInt. Wystarczy wpisać
Liczba := StrToInt(WartoscHex); I wszystko działa. Sprawdź np. to:
var
Liczba : Integer;
begin
Liczba := StrToInt('$FF');
ShowMessage(IntToStr(Liczba));
end;
I co wyświetla? 255? Czyli wartość $FF tylko że w systemie dziesiętnym,--Jest jeszcze jeden błąd ... :)