码迷,mamicode.com
首页 > 其他好文 > 详细

[转]高速掌握VC6.0中各种宏注释(附图)

时间:2015-05-14 20:21:53      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

为了方便别人或自己阅读自己的程序,注释是坚决不可少的。一个漂亮的程序,不是在于你应用的技术多么高深,而是能够把高深的技术描述的清楚易懂。

在Java的IDE环境——Eclispe中,有很多中注释的,并且设置注释也是很方便的,因为现在从事C++,嘻嘻,Eclispe已经卸载,至于设置注释的地方,直接百度或谷歌即可。

所以嘛,习惯了Eclispe的注释,所以想法设法,在VC6.0中尝试。当对于一个陌生的东西而言,如何熟悉他呢,就是拿你现在已有的知识,去联想。比如Java中截取字符串,或解析xml等,一个语言中有,另一个语言中十之八九也有的。

并且在VB.NET中,当时添加各种注释,是通过宏定义的,相比之下,还是喜欢Eclispe设置,因为更加傻瓜,直接选择添加宏定义比如$Date

那么来说一下,在VC6.0中是如何添加常用的文件头注释和函数方法注释。

在上上篇博客中,已经介绍了一种,使用CTRL+\来注释某一行的或多行。并且在上篇博客中也介绍了插件的使用,其中就有多行注释。

我们说一下,使用宏定义的方式,来添加文件头和函数的注释,也就是自己定义脚本,嘻嘻,是VB6.0的脚本吼,看见那种Sub End Sub,还是蛮亲切的哦

第一:打开VC6.0程序,工具——定制——附加项和宏定义——勾选SAMPLE

技术分享

第二:打开VC6.0程序,选择工具——宏

技术分享

第三:点击确定。出现各种宏的界面。

技术分享

第四:在宏名称中,写自己需要定义的注释名称。比如函数注释——FunctionDesc。然后点击编辑。

Sub FunctionDesc()  
  
End Sub

PS:可以对设置的注释,进行快捷键设置,类似Java中的CTRL+SHIFT+\

点击选项:

技术分享

技术分享

第五:填充vb脚本。若是您的脚本技术了得,那就自己写喽,若是想省事可以直接copy或者modify一下即可。我函数描述脚本如下:

 

Sub FunctionDesc()  
Dim doc  
    set doc = ActiveDocument  
    ‘ Be sure active document is a text document  
    if doc Is Nothing Then  
        Exit Sub  
    elseif doc.Type <> "Text" Then  
        Exit Sub  
    End If  
doc.Selection = "/** "   
doc.Selection.NewLine  
doc.Selection = " * 函数名 : "  
doc.Selection.LineDown  
doc.Selection.copy  
doc.Selection.LineUp  
doc.Selection.EndOfLine dsLastText  
doc.Selection = doc.Selection + " "  
doc.Selection.paste  
doc.Selection = " * 功能描述:"   
doc.Selection.NewLine  
doc.Selection = "* 输入参数:"   
doc.Selection.NewLine  
doc.Selection = "* 输出参数:"   
doc.Selection.NewLine  
doc.Selection = "* 返回值 :"  
doc.Selection.LineDown  
doc.Selection.StartOfLine dsFirstText  
‘ doc.Selection.CharRight   dsExtend, 4  
doc.Selection.WordRight dsExtend, 1  
doc.Selection.copy  
doc.Selection.LineUp  
doc.Selection.EndOfLine dsLastText  
doc.Selection = doc.Selection + " "  
doc.Selection.paste  
doc.Selection.NewLine  
doc.Selection = "* 作者    : lhy "   
doc.Selection.NewLine  
doc.Selection = "* 创建日期: " + CStr(Now())   
doc.Selection.NewLine  
doc.Selection = "*/ "   
End Sub  

  

文件头注释类似:文件头注释如下:

Sub FileDesc()  
  
Dim doc  
    set doc = ActiveDocument  
    ‘ Be sure active document is a text document  
    if doc Is Nothing Then  
        Exit Sub  
    elseif doc.Type <> "Text" Then  
        Exit Sub  
    End If  
  
doc.Selection.MoveTo 1, 1  
doc.Selection.NewLine  
doc.Selection.MoveTo 1, 1  
doc.Selection = "/** "   
doc.Selection.NewLine  
doc.Selection = " * 版权说明 Contect copyright (c)"  
doc.Selection.NewLine  
doc.Selection = "* 文件名 : " + ActiveDocument.Name   
doc.Selection.NewLine  
doc.Selection ="* 文件描述:"  
doc.Selection.NewLine  
doc.Selection = "* 创建日期: " + CStr(Now())   
doc.Selection.NewLine  
doc.Selection = "* 作者    : lhy"   
doc.Selection.NewLine  
doc.Selection = "*/ "   
  
End Sub  

  

 

效果如下:

 1 /**   
 2  * 函数名 :  active(long processInstID,long activityInstID)  
 3  * 功能描述: 激活指定业务功能的窗口。  
 4  * 输入参数: 流程实例id,活动实例id  
 5  * 输出参数:  
 6  * 返回值 : active  
 7  * 作者    : lhy   
 8  * 创建日期: 2012/10/11 10:26:42  
 9  */   
10 HRESULT active(long processInstID,long activityInstID)  
11 {  
12     
13     //动态加载客户的动态链接库  
14     //加载动态链接库  
15     HINSTANCE  hDLL=LoadLibrary("customerdll.dll");  
16       
17     //声明函数指针  
18     typedef HRESULT (*activeBusiness)(long,long);  
19     if(hDLL==NULL)  
20         return S_FALSE;  
21       
22     //加载动态链接库中函数的地址  
23     activeBusiness activeBusinessFunc=(activeBusiness)GetProcAddress(hDLL,"active");  
24     //判断地址是否为空  
25     if(activeBusinessFunc==NULL)  
26         return S_FALSE;  
27       
28       
29     activeBusinessFunc(processInstID,activityInstID);  
30       
31     //释放动态链接库  
32     FreeLibrary(hDLL);  
33     return S_OK;  
34 }  

 

 

其中的样式,可以自己更改,比如//或*。但是这种注释,还是达不到Eclispe中,因为在Eclispe中,每个参数已经在注释中了,这样就直接对每个参数,进行中文解释而已。而这种方式,输入参数,是自己手动填写的。o(︶︿︶)o

另一种更简单的做法如下:

第一:编写脚本,放在安装路径下Macros。后缀是DSM。我的DSM文件路径如下:

技术分享

第二:选择宏文件

技术分享

第三:载入文件后,工具—定制中会自动出现或浏览相应路径下相应的文件

技术分享

第四:操作完毕,进一步设置快捷键,类似第一种方法中设置快捷键,工具—宏—选择相应的宏进行设置

技术分享

到此为止,最常用的两种注释,都已经添加啦。目前我设置的规范注释就两种,快捷键全部设置java中的快捷键。

遇到陌生的事物,其实请不必因担心顾虑而失去冷静。可以用以前学的知识去剖析这个所谓陌生的东东,陌生中肯定会有您所熟悉亲切的一部分。剩下那部分陌生部分,再在亲切的感觉中慢慢摸索。纵然知道新手,肯定不如老手熟练,效率高,但是谁都有新手的时候,谁有都有老手的时候。

 

 

本文转载:http://www.ylzx8.cn/windows/vc-mfc/122460.html 

 

 

下面贴出我自己写的宏文件:

技术分享

技术分享
  1 ------------------------------------------------------------------------------  
  2 FILE DESCRIPTION: New Macro File  
  3 ------------------------------------------------------------------------------  
  4   
  5 Sub FileNote()  
  6 Dim doc  
  7     set doc = ActiveDocument  
  8      Be sure active document is a text document  
  9     if doc Is Nothing Then  
 10         Exit Sub  
 11     elseif doc.Type <> "Text" Then  
 12         Exit Sub  
 13     End If  
 14 doc.Selection.MoveTo 1, 1  
 15 doc.Selection.NewLine  
 16 doc.Selection.MoveTo 1, 1  
 17 doc.Selection = "/*"  
 18 for i=0 to 60  
 19     doc.Selection = "*"  
 20 next  
 21 doc.Selection.NewLine  
 22 doc.Selection = " * 文件名    : " + ActiveDocument.Name  
 23 doc.Selection.NewLine  
 24 doc.Selection = "* 简要描述: "  
 25 doc.Selection.NewLine  
 26 doc.Selection = "* 编译环境: Microsoft Visual C++ 6.0 (SP6)"  
 27 doc.Selection.NewLine  
 28 doc.Selection = "* 当前版本: 0.0.0"  
 29 doc.Selection.NewLine  
 30 doc.Selection = "* 取代版本: 0.0.0"  
 31 doc.Selection.NewLine  
 32 doc.Selection = "* 作者        : Semaphores"  
 33 doc.Selection.NewLine  
 34 doc.Selection = "* 邮箱        : Semaphores@qq.com"  
 35 doc.Selection.NewLine  
 36 doc.Selection = "* 博客        : http://blog.csdn.net/semaphores"  
 37 doc.Selection.NewLine  
 38 doc.Selection = "* 创建日期: " + CStr(Now())  
 39 doc.Selection.NewLine  
 40 doc.Selection = "* 修改日期: " + CStr(Now())  
 41 doc.Selection.NewLine  
 42 doc.Selection = "* Copyright(c) 2014 Semaphores. All rights reserved."  
 43 doc.Selection.NewLine  
 44 doc.Selection = "*"  
 45 doc.Selection.NewLine  
 46 doc.Selection = "* 修改时间:                   修正版本:    修改描述:"  
 47 doc.Selection.NewLine  
 48 doc.Selection = "* " + CStr(Now())+"  0.0.0" + "             " + "创建当前工程"  
 49 doc.Selection.NewLine  
 50 for i=0 to 60  
 51     doc.Selection = "*"  
 52 next  
 53     doc.Selection = "*/"  
 54 doc.Selection.NewLine  
 55 End Sub  
 56   
 57   
 58 Sub FunctionNote()  
 59 Dim doc  
 60     set doc = ActiveDocument  
 61      Be sure active document is a text document  
 62     if doc Is Nothing Then  
 63         Exit Sub  
 64     elseif doc.Type <> "Text" Then  
 65         Exit Sub  
 66     End If  
 67 doc.Selection.NewLine  
 68 doc.Selection = "/*"  
 69 for i=0 to 60  
 70     doc.Selection = "*"  
 71 next  
 72 doc.Selection.NewLine  
 73 doc.Selection = "* 函数描述: "  
 74 doc.Selection.NewLine  
 75 doc.Selection = "* 函数参数: "  
 76 doc.Selection.NewLine  
 77 doc.Selection = "* 函数返回: "  
 78 doc.Selection.NewLine  
 79 doc.Selection = "* 函数备注: "  
 80 doc.Selection.NewLine  
 81 for i=0 to 60  
 82     doc.Selection = "*"  
 83 next  
 84     doc.Selection = "*/"  
 85 End Sub  
 86   
 87 Sub VoidNote()  
 88 Dim doc  
 89     set doc = ActiveDocument  
 90      Be sure active document is a text document  
 91     if doc Is Nothing Then  
 92         Exit Sub  
 93     elseif doc.Type <> "Text" Then  
 94         Exit Sub  
 95     End If  
 96 doc.Selection.NewLine  
 97 doc.Selection = "/*"  
 98 for i=0 to 60  
 99     doc.Selection = "*"  
100 next  
101 doc.Selection.NewLine  
102 doc.Selection = "* Void: Void"  
103 doc.Selection.NewLine  
104 for i=0 to 60  
105     doc.Selection = "*"  
106 next  
107     doc.Selection = "*/"  
108 End Sub  
109   
110 Sub GetFileNameNote()  
111 Dim doc  
112     set doc = ActiveDocument  
113      Be sure active document is a text document  
114     if doc Is Nothing Then  
115         Exit Sub  
116     elseif doc.Type <> "Text" Then  
117         Exit Sub  
118     End If  
119 MsgBox "FileName: " + ActiveDocument.Name  
120 End Sub  
121   
122 Sub LineNote()  
123 Dim doc  
124     set doc = ActiveDocument  
125      Be sure active document is a text document  
126     if doc Is Nothing Then  
127         Exit Sub  
128     elseif doc.Type <> "Text" Then  
129         Exit Sub  
130     End If  
131 doc.Selection.NewLine  
132 doc.Selection = "/*"  
133 for i=0 to 60  
134     doc.Selection = "*"  
135 next  
136 doc.Selection = "/"  
137 doc.Selection.NewLine  
138 End Sub  
显示代码

 

[转]高速掌握VC6.0中各种宏注释(附图)

标签:

原文地址:http://www.cnblogs.com/semaphores/p/4504012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!