读书人

Query的Locate的参数有关问题

发布时间: 2013-09-05 16:02:07 作者: rapoo

Query的Locate的参数问题.



引用
心得分享 : Set (集合型) 的使用方法

Set (集合型) 是 Object pascal 特有型 , 在 BCB 中是用一名 Set 的模
Set 型 , 由於在 VCL 元件中有多性都利用到 Set 型 , 所以在此介其使用方法

■ 加入集合元素

法 : 集合型原型 << 元素一 [<< 元素二] [<< 元素二] [...]

例 :

1. 在 MessageDlg 出示盒中 , 若需要有按 "YES" & "NO"
使用 TMsgDlgButtons() << mbYes << mbNo
完整例如 if (MessageDlg("delete Record?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
DataModule3->Table1->Delete();

2. 我要某一元件之字型粗 , 使用物件器(Object Inspector)定很 , 只要在
Font 性中展 Style 次性 , 再 fsBold true 即可

但在程式中如何做到以上作呢 ? (以定 Edit1 字型粗例)
Edit1->Font->Style = TFontStyles() << fsBold;

若要同定其字型粗加底 :
Edit1->Font->Style = TFontStyles() << fsBold << fsUnderline;

■ 判是否含有集合元素

□ 判 Edit1 目前是否粗字型

if (Edit1->Font->Style.Contains(fsBold))
ShowMessage("true");
else
ShowMessage("false");

□ 判 KeyDown 事件中是否有 Shift



void __fastcall TFm_POS1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{

if (Shift.Contains(ssShift))
{
......
......
}
}

□ : 根 Contains() 中好像法同塞入集合元素值 ...

■ 移除集合元素

同 "加入集合元素" 法 , 但只要 "<<" 改 ">>" 即可

if (Edit1->Font->Style.Contains(fsBold))
Edit1->Font->Style = TFontStyles() >> fsBold;


[解决办法]
qry1->Locate("id",i,TLoacteOptions());

读书人网 >C++ Builder

热点推荐