Delphi 的注释方式有两种:一种是传统的 Pascal 的 {} ,另外一种是 // 的单行注释。
下面的代码能将程序中的 //abcdefg 替换为 {//abcdefg} 这样的形式
program Project6;
{$APPTYPE CONSOLE}
//必须声明 Classes 否则 try..except 无法正常捕捉到异常
uses
SysUtils,Classes;
var
fInput,fOutput:TextFile;
Line:String;
begin
writeln(' Delphi comments "//" to Pascal comments "{}"');
writeln(' Usage "DC2PC filoname"');
writeln(' Powered by www.lab-z.com');
//如果没有输入文件名
if paramCount=0 then
begin
writeln('Please input file name!');
exit;
end;
//打开输入文件
AssignFile(fInput,ParamStr(1));
try
Reset(fInput);
Except
writeln('Opening file '+ParamStr(1)+' error!');
exit;
end;
//替换后的结果放在 输入文件名.pas 文件中
AssignFile(fOutput,ParamStr(1)+'.pas');
rewrite(fOutput);
//在输入文件中查找 // 的注释
while NOT eof(fInput) do
begin
readln(fInput,Line);
if pos('//',Line)<>0 then
begin
insert('{',Line,pos('//',Line));
Line:=Line+'}';
end;
//writeln(Line);
writeln(fOutput,Line);
end;
CloseFile(fInput);
CloseFile(fOutput);
end.
上述代码在实际使用中还有一点小问题,比如 writeln(“abc //efg”); 这样的代码也会被替换,不过正常的代码应该不会有很多处这样的用法,出现问题手工修改一下就好了。