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

发布于 2024-12-02 09:39:10 字数 146 浏览 1 评论 0原文

使用delphi 7:

  • 如何将整数添加到字符串列表项的对象部分, 使用AddObject
  • 如何从对象中检索整数 字符串列表项的属性?
  • 如何释放所有对象并列出 什么时候完成?

Using delphi 7:

  • How can I add an integer to the object portion of a stringlist item,
    using AddObject?
  • How can I retrieve the integer back from a object
    property of stringlist item?
  • How do I free all objects and list
    when done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

°如果伤别离去 2024-12-09 09:39:10

问: 如何使用 AddObject 将整数添加到字符串列表项的对象部分?

A: 只需将整数值转换为 < a href="http://docwiki.embarcadero.com/VCL/en/System.TObject">TObject

List.AddObject('A string',TObject(1));

问:如何从字符串列表项的对象属性中检索整数?

A: 将对象值转换为整数

AValue := Integer(List.Objects[i]);

Q: 完成后如何释放所有对象和列表?

A: 您不需要释放对象列表,因为您没有分配内存。所以只调用TStringListFree过程。

尝试这个示例应用程序

{$APPTYPE CONSOLE}

uses
  Classes,
  SysUtils;


Var
  List : TStringList;
  i    : Integer;
begin
  try
    List:=TStringList.Create;
    try
      //assign the string and some integer values
      List.AddObject('A string',TObject(1));
      List.AddObject('Another string',TObject(100));
      List.AddObject('And another string',TObject(300));

      //Get the integer values back   

       for i:=0 to List.Count - 1 do
         Writeln(Integer(List.Objects[i]));

    finally
      //Free the list  
      List.free;
    end;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;

  Readln;
end.

Q: How can i add an integer to the object portion of a stringlist item, using AddObject?

A: Just cast the integer value to TObject

List.AddObject('A string',TObject(1));

Q:How can a retrieve the integer back from a object property of stringlist item?

A: Cast to integer the Object Value

AValue := Integer(List.Objects[i]);

Q: How do i free all objects and list when done?

A: You don't need free the object list, because you are not assigning memory. so only call the Free procedure of the TStringList.

Try this sample app

{$APPTYPE CONSOLE}

uses
  Classes,
  SysUtils;


Var
  List : TStringList;
  i    : Integer;
begin
  try
    List:=TStringList.Create;
    try
      //assign the string and some integer values
      List.AddObject('A string',TObject(1));
      List.AddObject('Another string',TObject(100));
      List.AddObject('And another string',TObject(300));

      //Get the integer values back   

       for i:=0 to List.Count - 1 do
         Writeln(Integer(List.Objects[i]));

    finally
      //Free the list  
      List.free;
    end;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;

  Readln;
end.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文