Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何通过LiveBinding将AlphaColor存储到数据库字段_Delphi_Firemonkey_Livebindings - Fatal编程技术网

Delphi 如何通过LiveBinding将AlphaColor存储到数据库字段

Delphi 如何通过LiveBinding将AlphaColor存储到数据库字段,delphi,firemonkey,livebindings,Delphi,Firemonkey,Livebindings,我试图通过Firemonkey项目中的LiveBindings将ComboColorBox.Color属性存储在数据库字段中。我想存储十六进制AlphaColor值,但十六进制颜色值会自动转换为十进制值,而不是AlphaColor 我在LiveBindings文档中进行了搜索,发现在将控件属性的值存储在数据库中之前,我可以在绑定的CustomParse属性中编写绑定表达式。问题是没有内置函数将表达式中的AlphaColor转换为String 我必须写一个自定义函数才能做到这一点吗?如何编写该函数

我试图通过Firemonkey项目中的LiveBindings将
ComboColorBox.Color
属性存储在数据库字段中。我想存储十六进制
AlphaColor
值,但十六进制颜色值会自动转换为十进制值,而不是
AlphaColor

我在LiveBindings文档中进行了搜索,发现在将控件属性的值存储在数据库中之前,我可以在绑定的
CustomParse
属性中编写绑定表达式。问题是没有内置函数将表达式中的
AlphaColor
转换为
String


我必须写一个自定义函数才能做到这一点吗?如何编写该函数以及在何处编写?或者还有另一种解决方案?

您应该知道,
TAlphaColor
是一个整数,或者更准确地说是一个
System.UITypes
中定义的
cardinal

type TAlphaColor = Cardinal;
因此,您可以将任何整数应用于字符串转换函数,如:

Label1.Text := IntToStr((Sender as TComboColorBox).Color);    // decimal notation
Label2.Text := IntToHex((Sender as TComboColorBox).Color, 8); // hexadecimal notation

因此,要将
TAlphaColor
值存储为十六进制字符串,可以使用
IntToHex()
转换颜色值。另一方面,您确定首先要将其作为字符串存储在db中。

这里有一个将颜色值与LiveBinding一起使用的示例,如下所示: