Ну если родной сорс - копируй его в папку с проектом, либо создай новую папку и добавь ее в Library path( только нужно поиграться - либо вначале либо в конце что бы было прописано) . И правь его уже там
Проблема решена.
Оказалось что там кодировка Win1251, а я указал
TStringStream.Create('', TEncoding.UTF8);
вместо
TStringStream.Create('');
И парсер на всякий случай:
uses msxml;
procedure GetKursValutAndDate(XML:String; var KDollar,KEuro:Double);
var
XMLDoc: IXMLDOMDocument;
Subnodes: IXMLDOMNodeList;
AttributeNode: IXMLDOMNode;
OperationNode: IXMLDOMNode;
i:integer;
begin
KDollar:=0; KEuro:=0;
try
XMLDoc:=CoDOMDocument.Create;
if Assigned(XMLDoc) and XMLDoc.loadXML(XML) then
begin
Subnodes:=XMLDoc.selectNodes('//ValCurs/node()');
if Assigned(Subnodes) then
begin
for I := 0 to Subnodes.length - 1 do
begin
AttributeNode := Subnodes[I].attributes.getNamedItem('ID');
if Assigned(AttributeNode) then
if (AttributeNode.nodeValue='R01235') then
begin // доллар
OperationNode:=Subnodes[I].selectSingleNode('.//Value');
if Assigned(OperationNode) then
KDollar:=StrToFloat(OperationNode.text);
end
else if (AttributeNode.nodeValue='R01239') then
begin // евро
OperationNode:=Subnodes[I].selectSingleNode('.//Value');
if Assigned(OperationNode) then
KEuro:=StrToFloat(OperationNode.text);
end
end;
end;
end;
except
Raise Exception.Create('Не удалось получить курс валют');
end;
end;
Например так для RGB:
var
Color: TColor;
begin
TColorRec(Color).R := 123;
TColorRec(Color).G := 113;
TColorRec(Color).B := 13;
Rectangle1.Fill.Color := Color;
end;
Или так для ARGB:
var
Color: TAlphaColor;
begin
TAlphaColorRec(Color).R := 123;
TAlphaColorRec(Color).G := 113;
TAlphaColorRec(Color).B := 13;
TAlphaColorRec(Color).A := 126;
Rectangle1.Fill.Color := Color;
end;
Update 1 (2014.06.25): В RAD Studio XE6 появился более удобный способ через использование конструктора типа TAlphaColorF:
uses
System.UITypes;
var
Color: TAlphaColor
begin
Color := TAlphaColorF.Create(123 / 255, 113 / 255, 13 / 255, 126 / 255).ToAlphaColor;
end;