快速掌握VC6.0中各種宏注釋應(yīng)用(附圖)
為了方便別人或自己閱讀自己的程序,注釋是堅(jiān)決不可少的。一個(gè)漂亮的程序,不是在于你應(yīng)用的技術(shù)多么高深,而是能夠把高深的技術(shù)描述的清楚易懂。
在Java的IDE環(huán)境——Eclispe中,有很多中注釋的,并且設(shè)置注釋也是很方便的,因?yàn)楝F(xiàn)在從事C++,嘻嘻,Eclispe已經(jīng)卸載,至于設(shè)置注釋的地方,直接百度或谷歌即可。
所以嘛,習(xí)慣了Eclispe的注釋,所以想法設(shè)法,在VC6.0中嘗試。當(dāng)對(duì)于一個(gè)陌生的東西而言,如何熟悉他呢,就是拿你現(xiàn)在已有的知識(shí),去聯(lián)想。比如Java中截取字符串,或解析xml等,一個(gè)語言中有,另一個(gè)語言中十之八九也有的。
并且在VB.NET中,當(dāng)時(shí)添加各種注釋,是通過宏定義的,相比之下,還是喜歡Eclispe設(shè)置,因?yàn)楦由倒?,直接選擇添加宏定義比如$Date
那么來說一下,在VC6.0中是如何添加常用的文件頭注釋和函數(shù)方法注釋。
在上上篇博客中,已經(jīng)介紹了一種,使用CTRL+\來注釋某一行的或多行。并且在上篇博客中也介紹了插件的使用,其中就有多行注釋。
我們說一下,使用宏定義的方式,來添加文件頭和函數(shù)的注釋,也就是自己定義腳本,嘻嘻,是VB6.0的腳本吼,看見那種Sub End Sub,還是蠻親切的哦
第一:打開VC6.0程序,工具——定制——附加項(xiàng)和宏定義——勾選SAMPLE
第二:打開VC6.0程序,選擇工具——宏
第三:點(diǎn)擊確定。出現(xiàn)各種宏的界面。
第四:在宏名稱中,寫自己需要定義的注釋名稱。比如函數(shù)注釋——FunctionDesc。然后點(diǎn)擊編輯。
Sub FunctionDesc()
End Sub
PS:可以對(duì)設(shè)置的注釋,進(jìn)行快捷鍵設(shè)置,類似Java中的CTRL+SHIFT+\
點(diǎn)擊選項(xiàng):
第五:填充vb腳本。若是您的腳本技術(shù)了得,那就自己寫嘍,若是想省事可以直接copy或者modify一下即可。我函數(shù)描述腳本如下:
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 = " * 函數(shù)名 : "
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 = "* 輸入?yún)?shù):"
doc.Selection.NewLine
doc.Selection = "* 輸出參數(shù):"
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 = "* 創(chuàng)建日期: " + 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 = " * 版權(quán)說明 Contect copyright (c)"
doc.Selection.NewLine
doc.Selection = "* 文件名 : " + ActiveDocument.Name
doc.Selection.NewLine
doc.Selection ="* 文件描述:"
doc.Selection.NewLine
doc.Selection = "* 創(chuàng)建日期: " + CStr(Now())
doc.Selection.NewLine
doc.Selection = "* 作者 : lhy"
doc.Selection.NewLine
doc.Selection = "*/ "
End Sub
效果如下哈:
/**
* 函數(shù)名 : active(long processInstID,long activityInstID)
* 功能描述: 激活指定業(yè)務(wù)功能的窗口。
* 輸入?yún)?shù): 流程實(shí)例id,活動(dòng)實(shí)例id
* 輸出參數(shù):
* 返回值 : active
* 作者 : lhy
* 創(chuàng)建日期: 2012/10/11 10:26:42
*/
HRESULT active(long processInstID,long activityInstID)
{
//動(dòng)態(tài)加載客戶的動(dòng)態(tài)鏈接庫
//加載動(dòng)態(tài)鏈接庫
HINSTANCE hDLL=LoadLibrary("customerdll.dll");
//聲明函數(shù)指針
typedef HRESULT (*activeBusiness)(long,long);
if(hDLL==NULL)
return S_FALSE;
//加載動(dòng)態(tài)鏈接庫中函數(shù)的地址
activeBusiness activeBusinessFunc=(activeBusiness)GetProcAddress(hDLL,"active");
//判斷地址是否為空
if(activeBusinessFunc==NULL)
return S_FALSE;
activeBusinessFunc(processInstID,activityInstID);
//釋放動(dòng)態(tài)鏈接庫
FreeLibrary(hDLL);
return S_OK;
}
其中的樣式,可以自己更改,比如//或*。但是這種注釋,還是達(dá)不到Eclispe中,因?yàn)樵贓clispe中,每個(gè)參數(shù)已經(jīng)在注釋中了,這樣就直接對(duì)每個(gè)參數(shù),進(jìn)行中文解釋而已。而這種方式,輸入?yún)?shù),是自己手動(dòng)填寫的。o(︶︿︶)o
另一種更簡(jiǎn)單的做法如下:
第一:編寫腳本,放在安裝路徑下Macros。后綴是DSM。我的DSM文件路徑如下:
第二:選擇宏文件
第三:載入文件后,工具—定制中會(huì)自動(dòng)出現(xiàn)或?yàn)g覽相應(yīng)路徑下相應(yīng)的文件
第四:操作完畢,進(jìn)一步設(shè)置快捷鍵,類似第一種方法中設(shè)置快捷鍵,工具—宏—選擇相應(yīng)的宏進(jìn)行設(shè)置
到此為止,最常用的兩種注釋,都已經(jīng)添加啦。目前我設(shè)置的規(guī)范注釋就兩種,快捷鍵全部設(shè)置java中的快捷鍵。
遇到陌生的事物,其實(shí)請(qǐng)不必因擔(dān)心顧慮而失去冷靜??梢杂靡郧皩W(xué)的知識(shí)去剖析這個(gè)所謂陌生的東東,陌生中肯定會(huì)有您所熟悉親切的一部分。剩下那部分陌生部分,再在親切的感覺中慢慢摸索??v然知道新手,肯定不如老手熟練,效率高,但是誰都有新手的時(shí)候,誰有都有老手的時(shí)候。
相關(guān)文章
基于C++的攝像頭圖像采集及拼接程序的簡(jiǎn)單實(shí)現(xiàn)
本程序是在?ubuntu14.04?平臺(tái)下實(shí)現(xiàn)的,在本項(xiàng)目目錄下,已經(jīng)有編譯生成的可執(zhí)行程序,其中Camera_to_Frmae.cpp是我們從雙攝像頭實(shí)時(shí)抓取單幀圖像的源碼,對(duì)基于C++的攝像頭圖像采集及拼接程序的實(shí)現(xiàn)感興趣的朋友一起看看吧2022-01-01C++如何在構(gòu)造函數(shù)和析構(gòu)函數(shù)中調(diào)用虛擬函數(shù)
這篇文章主要介紹了C++如何在構(gòu)造函數(shù)和析構(gòu)函數(shù)中調(diào)用虛擬函數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08c++實(shí)現(xiàn)簡(jiǎn)單隨機(jī)數(shù)的代碼
在本篇文章里小編給大家整理的是一篇關(guān)于c++實(shí)現(xiàn)簡(jiǎn)單隨機(jī)數(shù)的代碼內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。2021-05-05一文帶你了解C語言中static關(guān)鍵字的3個(gè)作用
static這個(gè)關(guān)鍵字是“靜態(tài)”的意思,在C語言里主要有3個(gè)作用。這篇文章主要通過一些簡(jiǎn)單示例為大家詳細(xì)講講這3個(gè)左右,感興趣的小伙伴可以了解一下2023-04-04舉例分析private的作用(c/c++學(xué)習(xí))
我知道我們可以用 public 中的值,把private中的數(shù)據(jù)給提出來,但是還是搞不懂private該怎么用,或者說在一個(gè)具體程序中,private有什么用2020-08-08C語言如何實(shí)現(xiàn)Unix時(shí)間戳與本地時(shí)間轉(zhuǎn)化
這篇文章主要介紹了C語言如何實(shí)現(xiàn)Unix時(shí)間戳與本地時(shí)間轉(zhuǎn)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C++獲得本機(jī)所有網(wǎng)卡的IP和MAC地址信息的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狢++獲得本機(jī)所有網(wǎng)卡的IP和MAC地址信息的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10Qt使用SQLite數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)增刪改查
這篇文章主要為大家詳細(xì)介紹了Qt如何使用SQLite數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)增刪改查功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-06-06