吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 794|回复: 8
收起左侧

[求助] 为啥不起作用?

[复制链接]
冥界3大法王 发表于 2024-2-13 14:13
为啥不起作用?

[Delphi] 纯文本查看 复制代码
procedure RemoveDuplicateLines(const FileName: string);
var
  Lines: TStringList;
  I: Integer;
begin
  Lines := TStringList.Create;
  try
    // 加载文本文件的内容到字符串列表中
    Lines.LoadFromFile(FileName);

    // 去除重复行
    for I := Lines.Count - 1 downto 1 do
    begin
      if Lines.IndexOf(Lines[I]) < I then
        Lines.Delete(I);
    end;

    // 将去重后的内容保存回文本文件
    Lines.SaveToFile(FileName);
  finally
    Lines.Free;
  end;
end;

procedure TForm7.Button2Click(Sender: TObject);
begin
  RemoveDuplicateLines('X:\列表.txt');
  ShowMessage('重复行已删除!');
end;

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

万一行了呢 发表于 2024-2-13 14:16
本帖最后由 万一行了呢 于 2024-2-13 15:01 编辑

违规删帖

免费评分

参与人数 2吾爱币 -4 收起 理由
苏紫方璇 -3 禁止使用ChatGPT或其他AI生成的答案解答问题
T4DNA -1 禁止使用ChatGPT或其他AI生成的答案解答问题

查看全部评分

sai609 发表于 2024-2-13 15:13
aukw 发表于 2024-2-13 15:26
    for I := Lines.Count - 1 downto 1 do

每删一行,这里的Lines.Count会变小吧?Lines里的最后几行没有进入循环进行比较...
Yifan2007 发表于 2024-2-13 15:26
是不是文本内容保存字符形式的问题导致对比不了
homejun 发表于 2024-2-13 17:10
查查indexof的使用方法吧,返回值的解释
 楼主| 冥界3大法王 发表于 2024-2-13 17:22
sai609 发表于 2024-2-13 15:13
哪里不起作用 总得把问题说清楚啊

没报错,但是重复行,也没有去掉啊。
DEATHTOUCH 发表于 2024-2-13 17:27
可能是保存到文件失败了,你可以打印输出一下删除后的内容有没有问题
 楼主| 冥界3大法王 发表于 2024-2-13 17:36
DEATHTOUCH 发表于 2024-2-13 17:27
可能是保存到文件失败了,你可以打印输出一下删除后的内容有没有问题

@DEATHTOUCH
https://www.52pojie.cn/thread-1889621-1-1.html
升级版了,请移步,多谢!

新年好,祝:万事如意,心想事成!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表