在ms-dos下这么实现进度百分比?
比如使用format命令时会有一个不断更新的百分比,这个是怎么实现的?

解决方案 »

  1.   

    看来你没经历过DOS年代的编程。
    只要是利用chr(8) 实现退格删除然后重写,给你个例子。program Project2;{$APPTYPE CONSOLE}uses
      SysUtils;var
      i: integer;
      s: string;
    begin
      { TODO -oUser -cConsole Main : Insert code here }
      write('Process     ');
      for i:=1 to 100 do begin
        write(''#8#8#8#8'');  // 从当前光标向前退4个字符
        Sleep(30);
        s:= Format('%3d%%', [i]);  // 显示为 xxx% 格式,正好4个字符
        write(s);
        {***************
          你自己的过程
        ****************}  end;
    end.DOS下一直用BC,用pascal还不太适应,凑合看吧。