DELPHI开发经验心得(3)

2025-10-24

App.ActiveSheet.Cells.ColumnWidth := 15;

-----------------------------------------------------------------------------------------------------------------------

如何在quickreport的頁腳對每一頁進行合計

可以添加一個PageFoot Band在上面,在Band上加入QrExpr控件 并把QrExpr的ResetAfterPrint設置為True

如果是多層報表打印小計與合計,則可以利用QRGroup,設置QRGroup的Expression的值,該值就是用來區分小計與合計的值

quickreport實現每頁一個小計,一個累計,緊隨最后一條記錄: 做法:

在PageFooterBand中放兩個QRExpr,上下擺放,

增加一個SummaryBand,SummaryBand中放兩個QRLabel,位置和

PageFooterBand

中的兩個QRExpr一致,然后在SummaryBand的BeforePrint事件中寫上: PageFooterBand.Enabled := False;//記得將屬性設置為True,不然下次打印就不出來了

QRLabel1.Caption := FloatToStr(QRExpr1.Value.dblResult); QRLabel2.Caption := FloatToStr(QRExpr2.Value.dblResult);

-----------------------------------------------------------------------------------------------------------------------

動態為ComboBox添加下拉菜單: 例子:

//添加進度狀態下拉菜單 2011-7-20 cjr

dtp_prog_statedesc.Items.Clear;

dtp_prog_statedesc.Items.Add('ALL');

str_sql:='select prog_statedesc from dbo.pss_progState order by prog_state asc'; with ads_prog_state do begin Close;

CommandText :=str_sql; Open;

while not eof do begin

dtp_prog_statedesc.Items.Add(Fields[0].AsString); Next; end; Close;

end;

if dtp_prog_statedesc.Items.Count > 0 then dtp_prog_statedesc.ItemIndex :=0;

-------------------------------------------------------------------------------------------------------------------

設置按 Enter鍵焦點進入到下一個控件 1.form的KeyPreview屬性設置為true 2.在form的onKeydown或者onKeyPress事件里面添加以下代碼: If key =13 Then

self.Perform(WM_NEXTDLGCTL,0,0);

---------------------------------------------------------------------------------------------------------------------

QuickReport打印報表時強制換頁: 例子:

if not dm_SAL_MidLastInspSumRp.qry_rep.Eof then Rep.NewPage; 注意:數據集必須已經order by

---------------------------------------------------------------------------------------------------------------------

db2里面為數據表新增字段 例子:

ALTER TABLE GSFAB.FAB_STKIN ADD IN_STATE CHAR(1)

ADD SEND_PERSON VARCHAR(20) ADD SEND_TIME TIMESTAMP ADD CHECK_DEPT VARCHAR(20) ADD CHECK_PERSON VARCHAR(20) ADD CHECK_TIME TIMESTAMP

-----------------------------------------------------------------------------------------------------------------------

點擊dbgrid的標題欄,對結果集進行排序 //連接的是bde/query 例子:

procedure Tfrm_Fab_AdvFabCodeIn.DBGrid1TitleClick(Column: TColumn); var

x:integer;

TheField:string; begin

x := column.Index + 1;

TheField := qry_Temp.Fields[x].FieldName;

qry_Temp.Close;

qry_Temp.SQL.Clear;

qry_Temp.SQL.Text := 'select * from GSFAB.FAB_FCODE order by '+ TheField; qry_Temp.Open;

end;

//單擊dBGRID的標題進行排序

procedure TFrm_BMS_JSW_SetRpFieldInB.dbg_jsw_fe_basic_columnTitleClick( Column: TColumn);

begin

With dm_BMS_JSW_SetRpFieldIn Do Begin

If Not ads_bms_jsw_fe_basic_column.Active Then exit; If ads_bms_jsw_fe_basic_column.IndexFieldNames = Column.Field.FieldName Then

ads_bms_jsw_fe_basic_column.IndexFieldNames:=Column.Field.FieldName + ' DESC' Else

ads_bms_jsw_fe_basic_column.IndexFieldNames:=Column.Field.FieldName; End; end;

------------------------------------------------------------------------------------------------------------------------- DB2 創建數據表 例子:

create table GSSAL.SAL_INFERIOR

(

GROUP_SEQ SMALLINT not null, SALE_COMP CHAR(10) not null, ITEM CHAR(20) not null, LOG_ID SMALLINT not null, TRN_DATE DATE not null, TRN_QTY INTEGER WITH DEFAULT 0,

TIME_STAMP TIMESTAMP default current TIMESTAMP,

constraint PK_SAL_INFERIOR primary key

(GROUP_SEQ,SALE_COMP,ITEM,LOG_ID,TRN_DATE) )

in USERSPACE1

index in USERSPACE1

long in USERSPACE1

create table GSSAL.SAL_SALEQTY (

GROUP_SEQ SMALLINT not null, SALE_COMP CHAR(10) not null, ITEM CHAR(20) not null, LOG_ID SMALLINT not null, SALE_DATE DATE not null, SALE_QTY INTEGER WITH DEFAULT 0,

TIME_STAMP TIMESTAMP default current TIMESTAMP, constraint PK_SAL_SALEQTY primary key

(GROUP_SEQ,SALE_COMP,ITEM,LOG_ID,SALE_DATE) )

in USERSPACE1

index in USERSPACE1

long in USERSPACE1

---------------------------------------------------------------------------------------------------------------------------

DecodeDate、DecodeTime ... DecodeDateTime ... 分解時間方法 SysUtils.DecodeDate();

SysUtils.DecodeDateFully(); SysUtils.DecodeTime();

DateUtils.DecodeDateTime();

DateUtils.DecodeDateDay(); DateUtils.DecodeDateWeek();

DateUtils.DecodeDateMonthWeek(); DateUtils.DecodeDayOfWeekInMonth();

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

procedure FormCreate(Sender: TObject); end; var

Form1: TForm1;

implementation

{$R *.dfm}

uses DateUtils;

procedure TForm1.FormCreate(Sender: TObject); var

t: TDateTime;

Year, Month, Day, Week: Word; Hour, Min, Sec, MSec: Word; begin

t := EncodeDateTime(2009, 5, 21, 11, 22, 33, 999);

DecodeDate(t, Year, Month, Day);

ShowMessageFmt('%d,%d,%d', [Year, Month, Day]); //2009,5,21

DecodeDateFully(t, Year, Month, Day, Week);

ShowMessageFmt('%d,%d,%d,%d', [Year, Month, Day, Week]); //2009,5,21,5; 最后的 5 表示周四

DecodeTime(t, Hour, Min, Sec, MSec);

ShowMessageFmt('%d,%d,%d,%d', [Hour, Min, Sec, MSec]); //11,22,33,999

DecodeDateTime(t, Year, Month, Day, Hour, Min, Sec, MSec);


DELPHI开发经验心得(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2024秋福师《20世纪中国文学研究专题》在线作业一3

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219