CnPack Forum


 
Subject: cnpack 有这个功能没? ErrorCode 递增
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-6 18:59  Profile | Blog | P.M. 
cnpack 有这个功能没? ErrorCode 递增

很简单也很实用的
就是为每个工程设置个变量 (做ErrorCode)

达到这个效果
{函数}
function MemoMsgAddMsg(Msg:string;Level:byte=0):integer;
begin
  if Msg = '' then begin
    ErrorCode:=1;//一个错误代码对应一个问题这样一下就知道是在哪出错了
    exit;
  end;
  FrmMain.StatusBar.Panels[0].Text:=Msg;
  if Level >= ProcessConfig.MemoMsgLevel then begin
    with FrmMain.MemoMsg.Lines do begin
      if Count > ProcessConfig.MemoMsgMaxCount then begin
         ErrorCode:=2; //搞了这个功能后 按一个快捷键自动在这里输入2(最大的错误代码+1)
      end else
        Add('[' + DateTimeToStr(Now) + '] '+Msg);
    end;
  end;
  result:=ErrorCode;
end;
Top
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-6 19:08  Profile | Blog | P.M. 
没人回
自己顶
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6814
Posts 3580
点点分 6814
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-11-6 19:48  Profile | Blog | P.M. 
类似于Win32的GetLastError?那个是多线程支持的,按楼主这样定义还得考虑到ErrorCode操作的互斥。
感觉ErrorCode这种机制是属于代码编程风格的内容而不是代码输入方面的内容,CnWizards在这方面能做的不多。
Top
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-6 20:28  Profile | Blog | P.M. 
老大
这个应该很简单拉
就是针对 当前工程 搞个全局变量 按快捷键就 自动输入 这个变量 然后cnpack
Top
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-6 20:32  Profile | Blog | P.M. 
按错键了:L

就是针对 当前工程 搞个全局变量 按快捷键就通过cnpack获得 这个变量
每次获得这个变量 cnpack 就把这个变量+1
每次需要的时候 都通过 cnpack  获得 不手动输入 (防止重复)
Top
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-6 21:00  Profile | Blog | P.M. 
仔细想想 这个功能真的很简单实用
实现起来 很简单啊

___________________________________________________
cnpack 菜单下添加<创建递增变量>
cnpack 菜单下添加<获得递增变量>


<创建递增变量Click>
弹出一个变量名输入框
当用户输入正确变量名后
cnpack 在当前工程的 .dpr 文件 的开头写入{!变量名 0}(初试化为0,这是
                                                                           很幼稚的方法
                                                                           实现的时候可以
                                                                           改改)
<获得递增变量Click>
如果有多个 就提示选择
cnpack 在当前工程的 .dpr 文件 的开头读取{!变量名 0} 到剪切版 或直接
输入到 光标位置


这样不就行了
Top
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-6 21:03  Profile | Blog | P.M. 
忘记+1了


<获得递增变量Click>
如果有多个 就提示选择
cnpack 在当前工程的 .dpr 文件 的开头读取{!变量名 0} 到剪切版 或直接
输入到 光标位置
inc(递增变量)
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6814
Posts 3580
点点分 6814
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-11-6 23:33  Profile | Blog | P.M. 
已经说过,这样的需求尽管描述的很清楚,但仍然很特殊,是属于个别编程习惯,不够通用,因此不适宜在CW中直接实现。

但这样的功能如果自己需要,完全可以在脚本专家中编写一段脚本来实现这个功能。这也是CW借助PascalScript引擎给用户提供的二次开发的机制,目前脚本专家不支持 D2009,别的 D5 到 D2007 都支持。关于如何编写脚本请查看帮助和PSDemo下的例子。
Top
王清
新警察
Rank: 1



UID 41210
Digest Posts 0
Credits 22
Posts 9
点点分 22
Reading Access 10
Registered 2008-11-6
Status Offline
Post at 2008-11-7 09:07  Profile | Blog | P.M. 

谢谢老大
我去看 看PascalScript
Top
 




All times are GMT++8, the time now is 2024-10-18 16:37

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.010648 second(s), 9 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP