快速掌握VC6.0中各种宏注释应用(附图)

 更新时间:2013年01月03日 14:20:11   作者:  
为了方便别人或自己阅读自己的程序,注释是坚决不可少的,一个漂亮的程序,不是在于你应用的技术多么高深,而是能够把高深的技术描述的清楚易懂

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

在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

效果如下哈:
复制代码 代码如下:

/**
* 函数名 : active(long processInstID,long activityInstID)
* 功能描述: 激活指定业务功能的窗口。
* 输入参数: 流程实例id,活动实例id
* 输出参数:
* 返回值 : active
* 作者 : lhy
* 创建日期: 2012/10/11 10:26:42
*/
HRESULT active(long processInstID,long activityInstID)
{

//动态加载客户的动态链接库
//加载动态链接库
HINSTANCE hDLL=LoadLibrary("customerdll.dll");

//声明函数指针
typedef HRESULT (*activeBusiness)(long,long);
if(hDLL==NULL)
return S_FALSE;

//加载动态链接库中函数的地址
activeBusiness activeBusinessFunc=(activeBusiness)GetProcAddress(hDLL,"active");
//判断地址是否为空
if(activeBusinessFunc==NULL)
return S_FALSE;


activeBusinessFunc(processInstID,activityInstID);

//释放动态链接库
FreeLibrary(hDLL);
return S_OK;
}

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

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

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

第二:选择宏文件

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

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

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

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

相关文章

  • 基于C++的摄像头图像采集及拼接程序的简单实现

    基于C++的摄像头图像采集及拼接程序的简单实现

    本程序是在 ubuntu14.04 平台下实现的,在本项目目录下,已经有编译生成的可执行程序,其中Camera_to_Frmae.cpp是我们从双摄像头实时抓取单帧图像的源码,对基于C++的摄像头图像采集及拼接程序的实现感兴趣的朋友一起看看吧
    2022-01-01
  • C++计算图任意两点间的所有路径

    C++计算图任意两点间的所有路径

    这篇文章主要为大家详细介绍了C++求图任意两点间的所有路径 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • C++如何在构造函数和析构函数中调用虚拟函数

    C++如何在构造函数和析构函数中调用虚拟函数

    这篇文章主要介绍了C++如何在构造函数和析构函数中调用虚拟函数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • c++实现简单随机数的代码

    c++实现简单随机数的代码

    在本篇文章里小编给大家整理的是一篇关于c++实现简单随机数的代码内容,有需要的朋友们可以跟着学习下。
    2021-05-05
  • 一文带你了解C语言中static关键字的3个作用

    一文带你了解C语言中static关键字的3个作用

    static这个关键字是“静态”的意思,在C语言里主要有3个作用。这篇文章主要通过一些简单示例为大家详细讲讲这3个左右,感兴趣的小伙伴可以了解一下
    2023-04-04
  • 举例分析private的作用(c/c++学习)

    举例分析private的作用(c/c++学习)

    我知道我们可以用 public 中的值,把private中的数据给提出来,但是还是搞不懂private该怎么用,或者说在一个具体程序中,private有什么用
    2020-08-08
  • C语言如何实现Unix时间戳与本地时间转化

    C语言如何实现Unix时间戳与本地时间转化

    这篇文章主要介绍了C语言如何实现Unix时间戳与本地时间转化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • C语言入门之浅谈数据类型和变量常量

    C语言入门之浅谈数据类型和变量常量

    这篇文章主要为大家介绍了C语言数据类型和变量常量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C++获得本机所有网卡的IP和MAC地址信息的实现方法

    C++获得本机所有网卡的IP和MAC地址信息的实现方法

    下面小编就为大家带来一篇C++获得本机所有网卡的IP和MAC地址信息的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • Qt使用SQLite数据库实现数据增删改查

    Qt使用SQLite数据库实现数据增删改查

    这篇文章主要为大家详细介绍了Qt如何使用SQLite数据库实现数据增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-06-06

最新评论