文档章节

关于 TStringList.Assign - 回复 "u9cm" 的问题

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 246
阅读 7
收藏 0
问题来源: http://www.cnblogs.com/del/archive/2008/12/29/1230404.html#1416838

譬如有两个 TStringList 对象: List1 和 List2;

List2.Assign(List1) 就是把 List1 的内容复制给 List2;

List2 := List1 相当于给 List1 再取一个名字.

举例:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  List1,List2: TStringList;
begin
  List1 := TStringList.Create;
  List2 := TStringList.Create;

  List1.CommaText := 'AAA,BBB,CCC';

  List2.Assign(List1); {此时 List1、List2 分别指向了不同的对象}
  ShowMessageFmt('%s, %p', [List1[0], Pointer(List1)]); { AAA, 00ABAA40 }
  ShowMessageFmt('%s, %p', [List2[0], Pointer(List2)]); { AAA, 00ABAA90 }

  List1.Free;
  ShowMessage(List2[1]); {List1 释放后, List2 还会存在.}
  List2.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  List1,List2: TStringList;
begin
  List1 := TStringList.Create;
  List1.CommaText := 'AAA,BBB,CCC';

  List2 := List1;          {此时 List1、List2 指向了同一个对象}
  ShowMessageFmt('%s, %p', [List1[0], Pointer(List1)]); { AAA, 00ABAA40 }
  ShowMessageFmt('%s, %p', [List2[0], Pointer(List2)]); { AAA, 00ABAA40 }

  List1.Free;              {此时 List1、List2 指向的对象释放了}
  //ShowMessage(List2[1]); {所以这句会出错}
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/12/29/1364778.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
php微信公众平台无法发送图片

@微度网络 你好,想跟你请教个问题:你好,看了你发的关于微信公众平台的帖子后,就很想咨询您问题,我做的接口只能回复文本,而对于图片却始终不成功,希望大哥能帮帮忙,万分感谢,还有就是...

司谋客
2013/07/21
7.5K
15
关于微信公众号开发,被动回复5秒没有响应,

@黄冠能 你好,想跟你请教个问题:你好,兄弟。我想请教你一个问题,关于微信公众号开发,被动回复5秒没有响应,怎么切换客服接口回复呀。谢谢啦

90年的百事
2016/07/08
302
1
Martin Fowler 在 ThoughtWorks 内部关于版本控制工具的调查

从2010年2月23日至3月3日,Martin Fowler 在 ThoughtWorks 内部通过开发人员邮件列表进行了一个关于版本控制工具的小调查,共收到99个回复。下面是调查选项定义和调查结果: 非常好 (如果不...

crazyinsomnia
2010/03/17
508
0
jquery路径问题

关于链接跳转的问题。比如: index.html页面有个链接:信息, 点击后到msg.html页面,msg.html页面有一个按钮可以打开一个回复信息的弹出框, 回复 现在出现的问题是:我点击回复后,本来应该...

Geomen
2012/09/25
389
0
4.6预告先导篇——你们关心的几个问题:关于页、文档、内网推送等

非常感谢大家对Smobiler的支持,从4.6版本的建议征集中,整理了几个大家关注得比较多的问题,在此单独列出答复。 其他的问题也已在原帖中一一答复,原帖地址:https://www.smobiler.com/foru...

amanda112
08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Apache Spark 2.3 重要特性介绍

本文翻译自:https://databricks.com/blog/2018/02/28/introducing-apache-spark-2-3.html 为了继续实现 Spark 更快,更轻松,更智能的目标,Spark 2.3 在许多模块都做了重要的更新,比如 St...

hblt-j
13分钟前
1
0
Git基本操作

Git基本操作 git add . git commit git commit -m "updata" git log查看日志 git checkout xxx 切换分支到xxx 常用命令 版本库管理 创建版本库 # 初始化版本库mkdir learngit && cd learng...

lslaiwy
16分钟前
1
0
ubuntu 彻底删除 mysql 然后重装 mysql

ubuntu 彻底删除 mysql 然后重装 mysql 删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt-get autoremove mysql-server sudo apt-......

关上越
20分钟前
1
0
Fabric.js高级点的教程3--添加遮罩和裁剪的方法

写这篇文章的时候我就要说一下了,这个遮罩和裁剪耗费了我真的是九牛二虎之力 裁剪的插件很多,无论你用原生JS,JQuery, Vue还是React.总能找到一款裁剪插件。今天我要说的是自己写一个截图功...

xmqywx
22分钟前
1
0
springboot 初始化不设置数据源 由接口动态设置数据源(传入ip 端口 数据库名称 账号 密码)

程序无需重启可以加个过滤器支持未设置数据库无法调用将配置存到property文件,也可存到缓存设置时需要一个工具类判断传入的数据库是否可连接等import org.apache.commo...

林伟琨
29分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部