Board logo

Subject: 代码格式化问题 [Print This Page]

Author: Star5    Time: 2026-3-2 20:57     Subject: 代码格式化问题

5千多行代码的页面,一个格式化下去,315万行代码出来了,其中空行310万

delphi 13.0,cnwizards 1.7.1.1311 nightly

具体异常还原步骤,暂时整理不出来,有谁碰到类似问题?
Author: Star5    Time: 2026-3-2 21:09

{$IFDEF WIN32}
      if FileExists(ExtractFilePath(ParamStr(0)) + 'up_x86.exe') then
        WinExec(PAnsiChar(AnsiString(ExtractFilePath(ParamStr(0)) + 'up_x86.exe '
              + IntToStr(DateTimeToUnix(vStartTime, True)) + ' up ' + ParamStr(0))),
          SW_SHOW)
【这里出现了大量的空行】
{$ELSE}
      if FileExists(ExtractFilePath(ParamStr(0)) + 'up_x64.exe') then
【这里出现了大量的空行】
        WinExec(PAnsiChar(AnsiString(ExtractFilePath(ParamStr(0)) + 'up_x64.exe '
          + IntToStr(DateTimeToUnix(vStartTime, True)) + ' up ' + ParamStr(0))),
【这里出现了大量的空行】
          SW_SHOW)
{$IFEND}

[ 本帖最后由 Star5 于 2026-3-2 22:03 编辑 ]
Author: Star5    Time: 2026-3-2 21:12

目前通过 替换 三个空行 为空 解决。
Author: Star5    Time: 2026-3-6 22:32

又发现个问题,如下代码情况,格式化多次就会不停的生成空行:

Image Attachment: 搜狗截图20260306223031.png (2026-3-6 22:32, 2.74 K) / Download count 12
http://bbs.cnpack.org/attachment.php?aid=1205


Author: Star5    Time: 2026-3-6 22:35

ss是TStringList


s := ss.Text
【这里会不停的插入空行,格式化操作多次,每次插入几行】
    // 聊天内容起始
    .Replace(#13#10, ' ')
      .Replace(#0, ' ');
Author: dejoy    Time: 2026-3-13 15:41

这是星五大侠本尊吗?
我多年前弄过一个代码格式优化的增强,就是把一个100K的源代码,删除各种非编译必须的注释空格等,把容量减到50K但最终编译的可执行文件是一样的。一个小众的功能,还未把代码提交给team.
Author: Passion    Time: 2026-3-18 19:24

最新每日构建版1324及后续版本已针对性地做了一些优化,可供下载验证。

https://www.cnpack.org/downbuilds.php




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0