Board logo

Subject: cnpack 有这个功能没? ErrorCode 递增 [Print This Page]

Author: 王清    Time: 2008-11-6 18:59     Subject: 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;
Author: 王清    Time: 2008-11-6 19:08

没人回
自己顶
Author: Passion    Time: 2008-11-6 19:48

类似于Win32的GetLastError?那个是多线程支持的,按楼主这样定义还得考虑到ErrorCode操作的互斥。
感觉ErrorCode这种机制是属于代码编程风格的内容而不是代码输入方面的内容,CnWizards在这方面能做的不多。
Author: 王清    Time: 2008-11-6 20:28

老大
这个应该很简单拉
就是针对 当前工程 搞个全局变量 按快捷键就 自动输入 这个变量 然后cnpack
Author: 王清    Time: 2008-11-6 20:32     Subject: 按错键了:L

就是针对 当前工程 搞个全局变量 按快捷键就通过cnpack获得 这个变量
每次获得这个变量 cnpack 就把这个变量+1
每次需要的时候 都通过 cnpack  获得 不手动输入 (防止重复)
Author: 王清    Time: 2008-11-6 21:00

仔细想想 这个功能真的很简单实用
实现起来 很简单啊

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


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


这样不就行了
Author: 王清    Time: 2008-11-6 21:03     Subject: 忘记+1了


<获得递增变量Click>
如果有多个 就提示选择
cnpack 在当前工程的 .dpr 文件 的开头读取{!变量名 0} 到剪切版 或直接
输入到 光标位置
inc(递增变量)
Author: Passion    Time: 2008-11-6 23:33

已经说过,这样的需求尽管描述的很清楚,但仍然很特殊,是属于个别编程习惯,不够通用,因此不适宜在CW中直接实现。

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


谢谢老大
我去看 看PascalScript




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0