摘要: 前言从来没有过这么一种数据库,能够像InterBase/FireBird一样富有激情。这是一种完全为程序员准备的数据库,就像瑞士军刀一样小巧、方便、实用。以往的数据库,不是太大太笨重(例如,Oracle、MS SQL、DB2),就是太简陋,功能不足(例如My SQL)。而InterBase/FireBird则是在两者之间找到了一个很好的平衡点,笔者不妨称之为“中型数据库”。随着硬件环境的不断发展,普通的个人电脑的计算能力越来越逼近并不太久以前的大型计算机的能力,这种趋势同时也大大推动了与此相适应的中型数据库的应用。中型数据库逐渐蚕食大型数据库的市场,这几乎是一个明显的趋势。随着软硬件条件的不断 阅读全文
posted @ 2011-04-12 22:48 fyen 阅读(4381) 评论(2) 推荐(1) 编辑
摘要: 从来没有过这么一种数据库,能够像InterBase/FireBird一样富有激情。这是一种完全为程序员准备的数据库,就像瑞士军刀一样小巧、方便、实用。以往的数据库,不是太大太笨重(例如,Oracle、MS SQL、DB2),就是太简陋,功能不足(例如My SQL)。而InterBase/FireBird则是在两者之间找到了一个很好的平衡点,笔者不妨称之为“中型数据库”。随着硬件环境的不断发展,普通的个人电脑的计算能力越来越逼近并不太久以前的大型计算机的能力,这种趋势同时也大大推动了与此相适应的中型数据库的应用。中型数据库逐渐蚕食大型数据库的市场,这几乎是一个明显的趋势。随着软硬件条件的不断发展 阅读全文
posted @ 2011-04-12 22:36 fyen 阅读(17721) 评论(0) 推荐(4) 编辑
摘要: procedure TForm1.Button1Click(Sender: TObject);var FwMgr,Profile,FwApp: variant;begin FwMgr := CreateOLEObject('HNetCfg.FwMgr'); Profile := FwMgr.LocalPolicy.CurrentProfile; FwApp := CreateOLEObject('HNetCfg.FwAuthorizedApplication'); FwApp.Name :='我的测试'; //显示名字 FwApp.Process 阅读全文
posted @ 2011-04-03 23:44 fyen 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 1) View.DataController.DataModeController.GridMode = False时 RecIdx := View.Controller.SelectedRecords[i].RecordIndex; ColIdx := View.DataController.GetItemByFieldName(AFieldName).Index; OutputVal := View.DataController.Values[RecIdx, ColIdx]; //RecID := View.DataController.GetRecordId(RecIdx); //Out 阅读全文
posted @ 2011-03-27 23:59 fyen 阅读(358) 评论(0) 推荐(0) 编辑
摘要: procedure <Form>.<cxGrid>Enter(Sender: TObject); var View: TcxGridDBTableView; begin View := TcxGridDBTableView((Sender as TcxGrid).FocusedView); if View.DataController.DataSet.IsEmpty then begin View.DataController.DataSet.Append; View.Controller.EditingController.ShowEdit; end; end; 阅读全文
posted @ 2011-03-27 23:52 fyen 阅读(366) 评论(0) 推荐(0) 编辑
摘要: //恢复布局 IniFileName := ExtractFilePath(Application.ExeName) + 'Layout\' + Self.Name + '.ini'; if FileExists(IniFileName) then Self.tvResult.RestoreFromIniFile(IniFileName) //从布局文件中恢复 else begin Self.tvResult.BeginUpdate; for i := 0 to Self.tvResult.ItemCount - 1 do Self.tvResult.Items 阅读全文
posted @ 2011-03-27 23:47 fyen 阅读(492) 评论(0) 推荐(0) 编辑
摘要: procedure TFormUser.tvUserEditing(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem; var AAllow: Boolean); begin //如果第三列值为True,则第4列不能修改 if (tvUser.Controller.FocusedRecord.Values[2] = True) and (AItem.Index = 4) then AAllow := False else AAllow := True; end; 阅读全文
posted @ 2011-03-27 23:42 fyen 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 在TableView的DataController->Summary->FooterSummary->OnSummary事件中,输入: procedure TFormExpense.tvExpenseDataControllerSummaryFooterSummaryItemsSummary(ASender: TcxDataSummaryItems; Arguments: xSummaryEventArguments; var OutArguments: TcxSummaryEventOutArguments); begin //得到字段名 TcxDBDataSummaryI 阅读全文
posted @ 2011-03-27 23:40 fyen 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 其实这个方法就是cxGrid范例中提供的,原范例在CellLevelMultiselectDemo目录下把cxGridView里OptionsView选项中的两项修改成如下OptionsView.Indicator = TrueOptionsView.IndicatorWidth = 40//宽度在customDrawIndicatorCell事件中填写procedure TForm1.cxGrid1BandedTableView1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas;AViewInfo: Tc 阅读全文
posted @ 2011-03-27 23:31 fyen 阅读(521) 评论(0) 推荐(0) 编辑
摘要: cxGrid1DBTableView1.DataController.Summary.FooterSummaryValues[0]; 阅读全文
posted @ 2011-03-27 23:22 fyen 阅读(2347) 评论(0) 推荐(0) 编辑