admin 管理员组

文章数量: 1184232


2024年3月27日发(作者:程序和流程有什么区别)

fortran 多行注释

你编程序时肯定遇到要一次为很多行代码加注释的情况,以前我都是一行行的加

“!”,今天偶然在一个论坛上看到一个解决方案,而且自己按照他的方法,试验

了一下,证明切实可行!现与大家分享:

不止一位问道可不可以在visual fortran中为多行代码加注释。

visual fortran本身无这样的功能,但是可以用macro功能自己添!而且是添加工具

钮!

做法:

(1) 在..Microsoft Visual StudioCommonMSDEV98MACROS文件夹下生成文件

(2) 用文本编辑器打开该文件,将以下所附的代码贴在其中,保存(注意保留.dsm

后缀)

(3) 启动CVF,选Tools=>Customize=>Add-ins and Macro Files

(4) 在GrpComment前打勾,去掉其他的勾

(5) 在同一对话框中选Commands=>Macros,此时在右边可以看见CommentDel

和CommentOut

(6) 选中CommentOut,拖到CVF的工具栏上去(添加工具钮),会弹出Button

Appearance对话框

(7) 选Image and text,在下边Button text框中输入名称(默认是CommentOut),

如“加注释”

(8) 类似的方法再将CommentDel命令以工具钮的形式添加到工具栏上,名称可

取为“去注释”

这时,工具栏上应该多了两个工具钮:“加注释”和“去注释”。

用法:

加注释:选择要加注释的多行代码,点击“加注释”按钮即可;

去注释:选择已经注释的多行代码,点击“去注释”按钮即可。

适用:后缀为f90或f77的代码文件。

=============================================================

VBscript代码:

Function FileType (ByVal doc)

ext =

FileType = 0

pos = Instr(ext, ".")

if pos > 0 then

Do While pos <> 1

ext = Mid(ext, pos, Len(ext) - pos + 1)

pos = Instr(ext, ".")

Loop

ext = LCase(ext)

end if

If ext = ".f90" Then

FileType = 8

ElseIf ext = ".for" Then

FileType = 9

Else

FileType = 0

End If

End Function

Sub CommentOut ()

'DESCRIPTION: 为所选的多行代码加注释

Dim win

set win = ActiveWindow

if <> "Text" Then

MsgBox "This macro can only be run when a text editor window is active."

else

TypeOfFile = FileType(ActiveDocument)

If TypeOfFile = 8 Or TypeOfFile = 9 Then

If TypeOfFile = 8 Then

CommentType = "! " ' Fortran 90 file

Else

CommentType = "C " ' Fortran 77 file

End If

StartLine = e

EndLine = Line

If EndLine < StartLine Then

Temp = StartLine

StartLine = EndLine

EndLine = Temp

End If

If EndLine = StartLine Then

Line

ion = CommentType

ion

Else

For i = StartLine To EndLine

ne i

Line

ion = CommentType + _

ion

Next

End If

else

MsgBox("Unable to comment out the highlighted text" + vbLf + _

"because the file type was unrecognized." + vbLf + _

"If the file has not yet been saved, " + vbLf + _

"please save it and try again.")

End If

End If

End Sub

Sub CommentDel ()

'DESCRIPTION: 去除所选的多行代码的注释

Dim win

set win = ActiveWindow

if <> "Text" Then

MsgBox "This macro can only be run when a text editor window is active."

else

TypeOfFile = FileType(ActiveDocument)

If TypeOfFile = 8 Or TypeOfFile = 9 Then

StartLine = e

EndLine = Line

If EndLine < StartLine Then

Temp = StartLine

StartLine = EndLine

EndLine = Temp

End If

If EndLine = StartLine Then

Line

ion = mid(ion, 3)

+

Else

For i = StartLine To EndLine

ne i

Line

ion = mid(ion, 3)

Next

End If

else

MsgBox("Unable to comment out the highlighted text" + vbLf + _

End If

End If

End Sub

"because the file type was unrecognized." + vbLf + _

"If the file has not yet been saved, " + vbLf + _

"please save it and try again.")


本文标签: 注释 代码 工具 工具栏