DELPHI开发经验心得(5)

2025-10-24

while RightStr(cPath, 1) <> '\\' do

begin

cPath := LeftStr(cPath, Length(cPath) - 1); end;

Result := cPath;

end;

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

Delphi中messagedlg 标签:Delphi

if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin

Close; end;

If MessageDlg('確定進行章節回收?',mtConfirmation,[mbYes,mbNo],1) <> mrYES Then Begin Exit; End;

MessageDlg用法

对话框类型:

mtwarning——含有感叹号的警告对话框 mterror——含有红色叉符号的错误对话框

mtinformation——含有蓝色i符号的信息对话框 mtconfirmation——含有绿色问号的确认对话框

mtcustom——不含图标的一般对话框,对话框的标题是程序的名称

按钮组中的按钮: mbYes——mrYes或6 mbNo——mrNo或7 mbOk——mrOk或1

mbCancel——mrCancel或2 mbHelp——help按钮

mbAbort——mrAbort或3 mbRetry——mrRetry或4 mbIgnore——mrIgnore或5 mbAll——mrAll或8 mbNoToAll——9

mbYesToAll——10

procedure TForm1.Button1Click(Sender: TObject); var

S:string; begin

if MessageDlg('提示框',mtInformation,[mbok,mbyes],0)=mryes then

messagebeep(MB_ICONEXCLAMATION); end;

TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);

TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp);

const

mrNone = 0; mrOk = idOk; mrCancel = idCancel; mrAbort = idAbort; mrRetry = idRetry; mrIgnore = idIgnore; mrYes = idYes; mrNo = idNo; mrAll = mrNo + 1; mrNoToAll = mrAll + 1;

mrYesToAll = mrNoToAll + 1;

MessageDlg()信息的汉化

Delphi中的常量都放在consts.pas中,修改它可以达到汉化的目的.如: MessageDlg()显示的窗口标题及其中的

按钮标题都是英文,虽然不影响使用,但在一个中文软件中总显得有些不协调. 为此在consts.pas中查找以下内容: \ 把

SMsgDlgWarning = 'Warning'; SMsgDlgError = 'Error';

SMsgDlgInformation = 'Information'; SMsgDlgConfirm = 'Confirm'; SMsgDlgYes = '&Yes'; SMsgDlgNo = '&No'; SMsgDlgOK = 'OK';

SMsgDlgCancel = 'Cancel';

SMsgDlgHelp = '&Help';

SMsgDlgHelpNone = 'No help available'; SMsgDlgHelpHelp = 'Help'; SMsgDlgAbort = '&Abort'; SMsgDlgRetry = '&Retry'; SMsgDlgIgnore = '&Ignore'; SMsgDlgAll = '&All';

SMsgDlgNoToAll = 'N&o to All'; SMsgDlgYesToAll = 'Yes to &All'; 改成

SMsgDlgWarning = '警告'; SMsgDlgError = '错误';

SMsgDlgInformation = '提示'; SMsgDlgConfirm = '确认'; SMsgDlgYes = '是(&Y)'; SMsgDlgNo = '不(&N)';

SMsgDlgOK = '确定'; SMsgDlgCancel = '取消'; SMsgDlgHelp = '帮助(&H)';

SMsgDlgHelpNone = '没有该帮助信息'; SMsgDlgHelpHelp = '帮助'; SMsgDlgAbort = '放弃(&A)'; SMsgDlgRetry = '重试(&R)'; SMsgDlgIgnore = '忽略(&I)';

SMsgDlgAll = '全部(&A)';

SMsgDlgNoToAll = '全都不(&O)'; SMsgDlgYesToAll = '全都是(&A)';

然后重新编译Consts.pas,把Consts.duc

拷到delphi的lib和slib子目录下,就一劳永逸啦!

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

封掉DBGRID的按向下鍵或者按TAB鍵不新增記錄:

procedure TFrm_PPS_De_AccIn.dbg_GS_ROLEKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin

If (Key In [VK_DOWN,VK_TAB])

And (dbg_GS_ROLE.DataSource.DataSet.recno = dbg_GS_ROLE.DataSource.DataSet.recordcount) Then

dbg_GS_ROLE.Options := dbg_GS_ROLE.Options - [dgEditing] Else

dbg_GS_ROLE.Options := dbg_GS_ROLE.Options + [dgEditing]; end;

------------------------------------------------------------------------------------------------------------------------------------------------------------------ Delphi 計算兩個日期之間相隔的天數:

使用DaysBetween()函數,需要引用單元: DateUtils

------------------------------------------------------------------------------------------------------------------------------------------------------------------ 格式化數字之千分位 + 小數

FormatFloat('#,##0.00',StrToFloat(Value)); Sql語句 行轉列

例子:

WITH AAA AS (

SELECT SUBSTRING(F41,1,4) AS YEA_ID,SUBSTRING(F41,6,2) AS MON_ID ,ISNULL(COUNT(PROJ_ID),0) AS PROJ_COUNT ,ISNULL(SUM(ISNULL(F13,0)),0) AS PROJ_PRICE FROM BMS_V_JSW_FE_BASIC_DATA WHERE F41 <> ''

GROUP BY SUBSTRING(F41,1,4),SUBSTRING(F41,6,2) )

SELECT YEA_ID

,ISNULL(MAX(CASE WHEN MON_ID = '01' THEN PROJ_COUNT END),0) AS MON1PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '01' THEN PROJ_PRICE END),0) AS MON1PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '02' THEN PROJ_COUNT END),0) AS MON2PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '02' THEN PROJ_PRICE END),0) AS MON2PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '03' THEN PROJ_COUNT END),0) AS MON3PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '03' THEN PROJ_PRICE END),0) AS MON3PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '04' THEN PROJ_COUNT END),0) AS MON4PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '04' THEN PROJ_PRICE END),0) AS MON4PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '05' THEN PROJ_COUNT END),0) AS MON5PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '05' THEN PROJ_PRICE END),0) AS MON5PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '06' THEN PROJ_COUNT END),0) AS MON6PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '06' THEN PROJ_PRICE END),0) AS MON6PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '07' THEN PROJ_COUNT END),0) AS MON7PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '07' THEN PROJ_PRICE END),0) AS MON7PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '08' THEN PROJ_COUNT END),0) AS MON8PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '08' THEN PROJ_PRICE END),0) AS MON8PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '09' THEN PROJ_COUNT END),0) AS MON9PROJ_COUNT

,ISNULL(MAX(CASE WHEN MON_ID = '09' THEN PROJ_PRICE END),0) AS MON9PROJ_PRICE

,ISNULL(MAX(CASE WHEN MON_ID = '10' THEN PROJ_COUNT END),0) AS MON10PROJ_COUNT


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

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

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

下载本文档需要支付 7

支付方式:

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

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