是否有一个框架/单元可以用字符串填充来解决 255 个字符串的限制?
带有循环的示例
MyStringAllwaysWithOneString := 'X';
for i := 0 to CompleteStringLength do
begin
255NoLimitUnit := 255NoLimitUnit + MyStringAllwaysOneString;
end;
然后同样读取255NoLimitUnit。 Delphi 和 FreePascal 也可以处理更长的字符串。
或者还有其他建议吗? 一种方法是每个字节写入一个文件。但我认为有一个时间问题。
经典的解决方法是使用更底层的字符串类型“pchar”,它是一个指向 char 和更像 C 语言的字符串例程的指针。因此,这会使所有正常的 string[] 操作无效,并且必须使用字符串单元中的 pchar 特定例程。
IIRC 的另一个复杂之处是 TP 不支持使用 write 写入 pchar,因此您可能需要使用 blockwrite 来实现这一点,并进行一些 textrec<>file hacking。
总的来说,如果你仍然坚持 TP,请确保你获得带有示例的 SWAG 存档并彻底研究它。
如果您出于性能原因这样做,请查看 settextbuf
(或者只使用 Free Pascal)