问题标签 [tstringlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
22312 浏览

string - 从 TStringList 中删除字符串

我有一个包含项目的列表框或列表视图。我有一个字符串列表,其中包含与列表框/列表视图相同的项目(字符串)。我想从字符串列表中删除列表框/列表视图中的所有选定项目。

怎么做?

0 投票
3 回答
1347 浏览

c# - c# - 带通配符的 BinarySearch StringList

我有一个排序的 StringList 并想替换

使用 binarySearch,因为 cardList 相当大(~18k),这个搜索占用了大约 80% 的时间。

所以我找到了 List.BinarySearch-Methode,但我的问题是 cardList 中的行看起来像这样:

但我无法生成 c1p... ,这是一个问题,因为 List.BinarySearch 只能找到完全匹配。

如何修改 List.BinarySearch 以便在只有部分字符串匹配的情况下找到匹配项?

例如搜索 Brindle_Boar_(Magic_2012) 应该返回 Brindle_Boar_(Magic_2012).c1p247924.prod 的位置

0 投票
5 回答
5243 浏览

delphi - 如何在调试器中显示 TStringList 的内容?

我想在调试应用程序时显示 TStringList 的全部内容。相反,我只是得到指针。Flist 仅显示地址。

0 投票
10 回答
4900 浏览

delphi - 在 Delphi XE 中占用大量内存的对象的 TStringList

我正在做一个模拟程序。

程序首先要做的事情之一是读入一个巨大的文件(28 mb,大约 79'000 行),解析每一行(大约 150 个字段),为对象创建一个类,并将其添加到 TStringList。

它还读取另一个文件,该文件在运行期间添加了更多对象。最后,它最终成为大约 85,000 个对象。

我正在使用 Delphi 2007,该程序使用了大量内存,但运行正常。我升级到 Delphi XE,并将程序迁移过来,现在它使用了更多的内存,最终在运行中途内存不足。

所以在 Delphi 2007 中,在读取初始文件后最终会使用 1.4 gigs,这显然是一个巨大的数量,但在 XE 中,它最终会使用几乎 1.8 gigs,这确实是巨大的,导致用完并获得错误

所以我的问题是

  1. 为什么它使用这么多内存?
  2. 为什么它在 XE 中使用的内存比 2007 多得多?
  3. 我能做些什么呢?我无法更改文件的大小或长度,我确实需要为每一行创建一个对象并将其存储在某处

谢谢

0 投票
1 回答
15318 浏览

delphi - 将 TStringList 的 AddObject 与整数一起使用?

使用德尔福 7:

  • 如何将整数添加到字符串列表项的对象部分,使用AddObject
  • 如何从 stringlist 项的对象属性中检索整数?
  • 完成后如何释放所有对象和列表?
0 投票
3 回答
233 浏览

algorithm - 如何同步两个字符串列表中的相等行

我有两个我希望同步的字符串列表,以便相同的行获得相同的索引,而不同的行将保留在它们原来所在的列表中,另一个字符串列表应该为该索引获得一个“填充”。考虑这个例子:

该程序应将列表更改为此

或者,如果列表已排序,则到此

我该怎么做呢?

0 投票
2 回答
4046 浏览

delphi - 如何识别Delphi StringList对象是否创建

我已经在私有部分声明了 TStringList 的变量。在按钮单击事件中,我想访问该 TStringList 对象。

现在,每当我每次单击该按钮时,都会将其新创建的内存分配给该变量。是否有任何属性/函数可以用来确定是否为该变量创建了对象,并且它也不会给出访问冲突错误?

0 投票
5 回答
4813 浏览

delphi - TStringList 局部变量未初始化为零 - 为什么?

我正在使用此代码来检查是否TStringList已创建:

但情况False总是如此,为什么会发生这种情况?如何检查TStringList对象是否已创建?

Ps 我知道有人问过类似的问题,我尝试了该问题中发布的解决方案,但它对我不起作用。

0 投票
2 回答
501 浏览

delphi - 从旧版本到最新版本的 TStringList 备份的兼容性

我有一个使用 TStringList 的备份系统,但我使用旧的 Delphi(Ansi 字符串)进行编码。

基本上我保存时有这个:

当我重新加载时:

我使用这个顺序(大小 + 数据大小字节,然后大小 + 数据大小字节等)系统进行各种组件备份。事实上,有些东西总是在 stringlist 备份之前“读取”或“写入”(我的意思是在 StringList 备份之前和之后都有一些数据)。

我是否在这里引入了一个大问题(以防我切换到现代 Delphi 版本)?在未来的 delphi 版本中,该块是否仍可转换(以防我切换?)。我是否有必要在备份标头中写入字符串版本?

不幸的是,我无法对此进行测试。我认为,如果我至少在标头中编写字符串编码类型,那么以后我将能够以正确的方式进行转换,无论 Delphi 版本是什么,不是吗?

0 投票
1 回答
604 浏览

c++ - 迭代 stringList 容器时出错..?

当我通过“m_itFileBuffer”字符串列表容器进行迭代时,在从迭代器中获取值时出现异常。这行代码在大多数情况下都有效,但只有有时会出现异常。在我的代码中,我正在设置“m_itFileBuffer”迭代器到不同的值。部分代码如下

下面是我在输出窗口中得到的异常:

任何帮助,为什么我得到这个例外?另外,我们如何重置迭代器?