Delphi 写的替换 // 注释小工具

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”); 这样的代码也会被替换,不过正常的代码应该不会有很多处这样的用法,出现问题手工修改一下就好了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注