請教各位先進關於BCD的問題... |
尚未結案
|
kyxiang
一般會員 發表:8 回覆:6 積分:2 註冊:2002-03-11 發送簡訊給我 |
我有一個 function,
要依據傳入的ParamName,
判斷該Param 的 FieldType (可能是 ftString,ftInteger,ftBCD...)
將原本以 String 表示的 ParamValue 轉換成符合的型態傳回
我原本把function的回傳值型態用Variant
但是不對 編譯時會出現型別不符的錯誤(Imcompatible types: 'Variant' and 'TBCD')
請問這種情況我該如何處理呢?
請教各位先進~ 謝謝 :D
function GetParamValue(ParamName: string): Variant; begin result := null; if FDataSet.Locate('ParamName', ParamName, []) then begin If (FDataSet.FieldByName('FieldType').Value=ftString) then result := FDataSet.FieldByName('ParamValue').AsString; If (FDataSet.FieldByName('FieldType').Value=ftBCD) then result := StrToBCD(FDataSet.FieldByName('ParamValue').AsString); end; end; |
tonytop
中階會員 發表:6 回覆:114 積分:89 註冊:2003-12-04 發送簡訊給我 |
Variant不支援BCD型態的轉換,用VarFMTBcdCreate這個函數來幫忙吧!
function TForm1.GetParamValue(ParamName: string): Variant; begin result := null; if FDataSet.Locate('ParamName', ParamName, []) then begin If (FDataSet.FieldByName('FieldType').Value=ftString) then result := FDataSet.FieldByName('ParamValue').AsString; If (FDataSet.FieldByName('FieldType').Value=ftBCD) then result := VarFMTBcdCreate(StrToBCD(FDataSet.FieldByName('ParamValue').AsString) ); end; end;<[忙盲茫]> ☆程式不是這麼寫滴☆ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |