文档章节

关于 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
深圳
程序员
私信 提问
关于微信公众号开发,被动回复5秒没有响应,

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

90年的百事
2016/07/08
334
1
php微信公众平台无法发送图片

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

司谋客
2013/07/21
7.8K
15
想提几个小建议

虽然说用的时间不算很长, 但是在使用过程中有一些想法, 希望能够对开源中国社区有帮助 关于技术回答: 在回答别人问题时, 很多情况会来回讨论好几番,而且有时候解答详细点,但是在回复评论那里...

Lin_R
2017/02/17
228
1
jquery路径问题

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

Geomen
2012/09/25
400
0
Martin Fowler 在 ThoughtWorks 内部关于版本控制工具的调查

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

crazyinsomnia
2010/03/17
622
0

没有更多内容

加载失败,请刷新页面

加载更多

简单模仿配置文件的反射机制

//Student类 public class Student { public void love() { System.out.println("python"); } } //Tesy类 public class Tesy { public static void main(String[] args) throws Exceptio......

南桥北木
30分钟前
2
0
你真的需要了解一下CSS变量 var()的用法

当Web项目变得越来越大时,他的CSS会变得像天文数字那么大而且还变得混乱。为了帮助我们解决这个问题,新的CSS变量很快就会出现在主流浏览器中,它让开发人员能够重用并轻松编辑重复出现的C...

前端小攻略
33分钟前
0
0
嵌入式应用选择合适的微控制器

为嵌入式应用选择微控制器有几个原因,即低成本,高集成度,增加可靠性,节省空间等。 准备所需硬件接口列表使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微...

linux-tao
今天
5
0

中国龙-扬科
今天
2
0
使用apicloud开发移动端APP,IOS list页面滚动卡顿解决记录

给内容容器添加样式:-webkit-overflow-scrolling:touch; -webkit-overflow-scrolling:属性控制元素在移动设备上是否使用滚动回弹效果. auto:使用普通滚动, 当手指从触摸屏上移开,滚动会立即...

万建宁
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部