[英]Declare units to Convert from a string variable
我正在delphi中使用Convert函數來編寫一個簡單的多設備應用程序,該應用程序將允許我轉換測量值。
該表格由2個組合框和en組成。 選擇“轉換自”,“轉換為”和一個值。
所以在我的組合框中,我選擇單位,然后將組合框的值傳遞給2個全局字符串
fromType := cbConvFrom.Selected.Text;
toType := cbConvTo.Selected.Text;
返回以下內容。
cbConvFrom returns duCentimeters
cbConvTo returns duMeters
但是,當我嘗試將這些值傳遞給Convert函數時,它們顯然不起作用,因為我試圖將String作為TConvType傳遞,如下所示
conversion := Convert(StrToFloat(editValue.Text), fromType, toType);
我如何將這些字符串用作TConvType,以便上面的代碼可以正常工作。
使用轉換類型的字符串表示形式刪除並使用描述代替。 使用ConvTypeToDescription
從類型的注冊中獲取描述。 例如:
ComboBox1.Items.Add(ConvTypeToDescription(duMeters));
ComboBox1.Items.Add(ConvTypeToDescription(duCentimeters));
然后,您可以使用反函數來提供轉換功能。
DescriptionToConvType(ComboBox1.Items[ComboBox1.ItemIndex], fromType);
DescriptionToConvType(ComboBox2.Items[ComboBox2.ItemIndex], toType);
conversion := Convert(StrToFloat(editValue.Text), fromType, toType);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.