兩個巨集、inline 函數 [bool 轉字串]、[字串轉bool] |
|
shinnuei
一般會員 發表:32 回覆:48 積分:21 註冊:2002-03-13 發送簡訊給我 |
分享兩個小弟覺得還滿好用的函數:
有時候會把系統的設定存在某些地方,而如果遇到布林值,小弟習慣直接存入"true","false",
如果直接用判斷式去寫,處理起來相當麻煩(很多地方的時候),所以有了以下兩個inline and
macro 的程式。
獻醜..:)
========== inline function 宣告 String inline bool2str(bool boolVar); bool inline str2bool(String strVar); 程式 String inline bool2str(bool boolVar) { String ret; if(boolVar) ret = "true"; else ret = "false"; return ret; } bool inline str2bool(String strVar) { bool ret; if(strVar.IsEmpty()) return true; if(strVar == "true") ret = true; else ret = false; return ret; } 使用方式: CheckBox1->Checked = str2bool("true"); Edit1->Text = bool2str(CheckBox1->Checked); ========== Macro #define b2s(b) ((b) ? ("true") : ("false")) #define s2b(s) (((s)=="true") ? (true) :(false)) 使用方式: CheckBox1->Checked = s2bl("true"); Edit1->Text = bl2s(CheckBox1->Checked);發表人 - shinnuei 於 2003/10/08 17:50:11 |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
shinnuei
一般會員 發表:32 回覆:48 積分:21 註冊:2002-03-13 發送簡訊給我 |
原來己經有了哦…我還在想說這麼好用的函式,怎麼會沒有呢…
補充一下使用方式,其實用起來也是相當容易:
extern PACKAGE AnsiString __fastcall BoolToStr(bool B, bool UseBoolStrs = false); BoolToStr 使用範例 bvar = true; Memo1->Lines->Add(BoolToStr(bvar,true)); //"True" bvar = false; Memo1->Lines->Add(BoolToStr(bvar,true)); //"False" bvar = true; Memo1->Lines->Add(BoolToStr(bvar)); //"-1" bvar = false; Memo1->Lines->Add(BoolToStr(bvar)); //"0" StrToBool使用範例 if(StrToBool("true")) Memo1->Lines->Add("StrToBool(\"true\") = true"); //印出此行 else Memo1->Lines->Add("StrToBool(\"true\") = false"); if(StrToBool("false")) Memo1->Lines->Add("StrToBool(\"true\") = true"); else Memo1->Lines->Add("StrToBool(\"true\") = false"); //印出此行 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |