User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Programación en C++ Builder

 数组 (数组)
 指针
3. 例如在C + +类
8. AnsiString类型类的方法
 C + +项目
 包,分发的应用程序,无需安装
 交换或冒泡排序
 String.h 字符串函数

10.2. 方法

〜TStrings
析构函数。

新增
添加一个字符串到列表的末尾。 Add方法返回新的环比指数。

虚拟诠释__fastcall新增(常量系统::AnsiString类型S); 

BeginUpdate和EndUpdate应始终使用联同一个try ... catch语句来确保能够调用EndUpdate如果出现异常。使用块BeginUpdate和EndUpdate通常看起来像这样:

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
ListBox1的->项目-> BeginUpdate();
尝试{
ListBox1的->项目->“清除();
ListBox1的->项目->“添加(”有些富“);
ListBox1的->项目->“添加(”有些数据“);
ListBox1的->项目-> EndUpdate();
}
赶上(...){
ListBox1的->项目-> EndUpdate()/ /在异常情况下执行的事件
扔;
}
} 

AddObject
添加列表串到,和同事一链反对。

虚拟诠释__fastcall AddObject(常量系统::AnsiString类型秒,系统::TObject * AObject) 

说明

呼叫AddObject添加一个字符串及其相关联的对象的名单。 AddObject返回对象的索引新字符串。

此代码将字符串'橙'和一箱位图的列表橙到所有者描述:

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
TIcon *图标;
图标=新TIcon;
图标> LoadFromFile(Orange.es“);
ListBox1的->项目-> AddObject(“橙色”,图标);
} 

AddStrings
添加一个字符串组到列表中。例如,复制在另一个备忘录的内容。

虚拟无效__fastcall AddStrings(TStrings *字符串); 

说明

呼叫AddStrings添加TStrings对象从另一个字符串列表。如果源和目标对象相关的字符串的支持TStrings对象,对象的引用到相关的也将增加。

此代码将字符串列表清单中包含的字符串ListBox1的->项目的项目的终结> ListBox2 -:

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
ListBox2 ->项目-> AddStrings(ListBox1的->项目);
} 

附加
添加字符串S到列表中。 Append方法是添加相同,但它不会返回无面值。

 __fastcall无效追加(常量系统::AnsiString类型S); 

说明

追加时候用有没有必要知道字符串的索引后,过气增加,或与该指数后裔TStrings回购是没有意义的。

例如,子对象TStrings备忘录使用使用索引来确定要插入一个字符串,并插入字符串,但不一定最终名单,作为在一个字符串。文字部分插入可能成为部分以前的字符串,字符串的一部分可能被中断后到。通过添加返回的索引是不区分有意义的。

使用append,而不是添加为TGetStrProc参数为一个函数需要。

此代码使用一个按钮和一个列表框在窗体上。当使用者按下按钮,列表框代码附加到一个新的字符串。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
ListBox1的->项目->“追加(”新建字符串“);
} 

分配
这种方法复制到另一个对象的字符串列表包含在 TString对象它覆盖的内容。

虚拟无效__fastcall分配(TPersistent *源); 

说明

使用对象分配到九月值从另一个TStrings对象。如果源类型是TStrings,这份名单是在九月对象列表源TStrings,如果相关联的对象的支持下,任何关联的对象从源复制以及。

没有源如果是性病的方法类型TStrings,继承分配支持AssignTo的任何TStrings九月在将对象从该名单上的价值。

与ListBox这个例子包括备忘录和形成。当按钮被点击,备忘录的内容充满了ListBox的内容。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
Memo1 ->通信线路的>“指定(ListBox1的->项目);
} 

BeginUpdate
TStrings对象启用跟踪时对字符串列表正在发生变化。

无效__fastcall BeginUpdate(无效); 

说明

自动BeginUpdate是所谓的任何财产或方法,改变了串名单。更改完成后,属性或方法调用EndUpdate。修改前BeginUpdate电话直接在列表中的字符串,和EndUpdate之后。在实施方法,属性或更改TStrings列表中的后裔,请BeginUpdate进行更改之前,和EndUpdate当更改完成。

只要TStrings跟踪记录时对字符串列表,现正在改变。有些后裔的TStrings使用此信息来执行某些操作,控制,如讲一个重画,什么时候更新的完整。

BeginUpdate和EndUpdate应始终使用联同一个try ... catch语句来确保能够调用EndUpdate如果出现异常。使用块BeginUpdate和EndUpdate通常看起来像这样:

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
ListBox1的->项目-> BeginUpdate();
尝试{
ListBox1的->项目->“清除();
ListBox1的->项目->“添加(”有些富“);
ListBox1的->项目->“添加(”有些数据“);
ListBox1的->项目-> EndUpdate();
}
赶上(...){
ListBox1的->项目-> EndUpdate()/ /在异常情况下执行的事件
扔;
}
} 

清除
清空列表和相关的对象。

虚拟无效__fastcall清除(空)= 0; 

说明

TStrings的后代实现Clear方法删除所有列表中的字符串,股票和删除对象的引用相关联。

填补了这个例子可用字体列表框组合设置与当用户在列表中向下跌落。这份名单是再生每次停机时间列表被删除,因此,如果应用程序添加或删除字体,组合框保持最新状态。

 __fastcall无效Form1中::ComboBox1DropDown(TObject *发件人)
{
FontCombo ->项目-> BeginUpdate(),/ /防止重画之前完成
FontCombo ->项目->“清除()/ /清空列表旧值和股票
FontCombo ->排序=真正的,/ /确保该字体的名称排序是
FontCombo ->项目=丝网>字体,/ /添加当前列表中的字体
FontCombo ->项目-> EndUpdate()/ /重新启用画
} 

删除
删除一个字符串,指示索引列表。

虚拟无效__fastcall删除(智力指数)= 0; 

说明

TStrings后裔指定的方法执行的删除清单中删除字符串从。如果一个对象关联的字符串,该对象引用也被删除。指数给人的字符串中的位置的字符串,其中,0是第一个,1是第二个字符串,依此类推。

这个例子使用一个列表框和一个按钮的形式。当窗体出现时,有五个框列表中的项目。当使用者按下按钮,列表框中的第二项在被删除:

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
ListBox1的->项目->“删除(1);
} 

EndUpdate
TStrings启用对象来判断什么时候到字符串列表你完成的变化轨迹。

无效__fastcall EndUpdate(无效); 

说明

自动EndUpdate是所谓的任何财产或方法,改变了串名单。修改前BeginUpdate电话直接在列表中的字符串,和EndUpdate之后。在实施方法,属性或更改TStrings列表中的后裔,请BeginUpdate进行更改之前,和EndUpdate当更改完成。

只要TStrings跟踪记录时对字符串列表,现正在改变。有些后裔的TStrings使用此信息来执行某些操作,控制,如讲一个重画,什么时候更新的完整。

等于
比较真实的清单渠道返回列表与其他物体TStrins,如果两个列表是相等的。

 __fastcall(TStrings *字符串)布尔等于; 

说明

呼叫Equals,以比较TStrings对象的两个列表。只有等于比较字符串,而不是相关的对象的任何引用。 Equals返回true,如果为对象的名单TStrings都拥有相同数量的字符串的字符串中的每个列表是相同的。返回false如果是长度不同的名单中,如果它们包含不同的字符串,或者使用diff命令两个列表中的字符串。

交易所
列表中的位置互换的两个字符串

 __fastcall虚拟无效交易所(诠释顺序的索引,诠释index2); 

说明

呼叫交易所重新排列列表中的字符串英寸由指定的字符串和index2参数及其指标值在顺序的索引。是从零开始的索引,所以列表中第一个字符串有一个指数值仅为0,第二个索引值是1,依此类推。

或者如果你有一个关联的字符串对象,汇率变动对象的位置,作为良好。

的getText
指定一个文本缓冲区,它充满价值与文本属性。

 __fastcall虚拟字符*的getText(无效); 

说明

Gettext的调用分配动态缓冲区获取一个包含列表中的所有字符在字符串。个别字符串之间用回车和换行。调用方负责释放值返回。

例如:

 String数据;
M = Memo1 ->通信线路的>的getText(); / /跌落的回车和换行分隔的所有行

IndexOf
返回列表中位置的字符串英寸文本必须符合整行。

 __fastcall虚拟诠释IndexOf(常量系统::AnsiString类型S);

如果(Memo1 ->线-> IndexOf(“的Win.ini”)> -1); 

说明

呼叫IndexOf获取字符串的位置第一次出现的学IndexOf返回字符串的索引从0开始。因此,如果S匹配列表的第一个字符串,IndexOf返回0,如果S是第二个字串,IndexOf返回1,依此类推。如果字符串中没有字符串列表,IndexOf返回-1。

注意:如果字符串出现十多个在清单中,IndexOf返回第一次出现的位置。

这个例子使用了一个文件列表框,目录列表框和一个表单标签上。当用户使用目录列表框来改变目录,一条消息出现,形成了色彩的变化,如果新的目录文件AUTOEXEC.BAT文件中。该代码是写在列表框的OnChange事件的目录:

无效__fastcall TForm1::DirectoryListBox1Change(TObject *发件人)
{
FileListBox1 ->“目录= DirectoryListBox1 ->”目录;
如果(FileListBox1 ->项目-> IndexOf(“指令”)> -1){
颜色= clYellow;
Label1的->标题=“您在根目录下!”
}
} 

IndexOfName
返回especifífico 位置的第一个字符串形式的名称=值的使用。

诠释__fastcall IndexOfName(常量系统::AnsiString类型的姓名);

POS机= Memo1 ->线-> IndexOfName(Variable3“)/ /返回行号

说明

呼叫IndexOfName定位是名称参数等于第一次出现的字符串形式的名称=值,其中名称的一部分。 IndexOfName返回字符串的索引从0开始。如果没有在指定的字符串列表具有名称,IndexOfName返回-1。

字符串形式的名称=值常见英寸INI文件。例如,这里是典型的。INI文件一弦数取自:

Displaygrid = 1

SnapToGrid = 1
GridSizeX = 8
GridSizeY = 8

的琴弦构成的TDatabase)params属性数据库的组成部分(有这个格式以及。

字符串的名称标识符的)左边的等号(=,和当前值的名称标识符一边是在右边。应该没有空格或之后签署面前的平等。

注:如果有多个名称的参数部分字符串的名称匹配,IndexOfName返回字符串第一个这样的位置。

下面的例子合并列表框中的字符串在备忘录中控制串进瓶内。如果一个字符串在框中备忘录的形式为名称=值和名称所蕴涵的名单también,性病值将被替换的列表框的值。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
诠释磷,直接投资;
AnsiString类型秒;
为(int i = 0;我<= ListBox1的->项目->计数 - 1,我+ +){
商S = ListBox1的->项目->“字符串[我];
P值学名次("=");
如果性(P“1){
直接投资= Memo1 ->线-> IndexOfName(AnsiString类型(南串(1和P - 1)));
如果(编号> -1)
Memo1 ->通信线路的>“字符串[直接] =秒;
}
}
} 

IndexOfObject
返回在给定的对象相关联的列表中第一个字符串的索引。

诠释__fastcall IndexOfObject(系统::TObject * AObject)

说明

呼叫IndexOfObject找到对象AObject先与关联的字符串列表中。指定对象要定位为AObject参数的值。 IndexOfObject返回字符串和对象基于0的索引。如果对象是不相关的任何字符串的,IndexOfObject返回-1。

下面的代码是myObject的决定如果在MyStringList第一个对象。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
如果(ListBox1的->项目-> IndexOfObject(myObject的)== 0)
ShowMessage(“富”);
} 

插入
插入一个在特定位置的字符串

虚拟无效__fastcall插入(智力指数,常量系统::AnsiString类型s)为0;
Memo1 ->通信线路的>“插入(2,”你好“); 

说明

实施的后代TStrings的Insert方法添加字符串s的索引列表在指定的位置。如果指数为0,字符串插入在列表的开头的。如果指数是1,字符串被放在第二位的名单,等等。

所有的方法,添加字符串到列表,请使用Insert方法将字符串。

如果字符串有关联的对象,使用方法InsertObject代替。

InsertObject
插入一个列表中的一个特定位置的字符串,并赞同这个对象。

无效__fastcall InsertObject(智力指数,常量系统::AnsiString类型秒,系统::TObject * AObject) 

说明

呼叫InsertObject插入字符串S到索引列表在确定的位置,和准AObject它与对象。如果指数为0,字符串插入在列表的开头的。如果指数是1,字符串被放在第二位的名单,等等。

下面的代码插入Memo1线的组成部分Form1的名单进入了第一的位置的。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
为(int i = 0;我<Form1-> ComponentCount - 1,我+ +)
Memo1 ->线-> InsertObject(0下,Form1 ->“组件[一] - >”名称,这一点);
} 

LoadFromFile

填写文件列表中的文本的行从

虚拟无效__fastcall LoadFromFile(常量系统::AnsiString类型文件名); 

说明

呼叫LoadFromFile填补了文件名列表中TStrings对象指定的文件从。在每个文件中的行,为字符指示由回车或换行,是追加字符串作为列表中。

这个例子使用了一个备忘录和一个表单按钮上。当按钮被点击的备忘录充满了文件的内容。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
Memo1 ->线-> LoadFromFile(Unit1.cpp“);
} 

LoadFromStream
填写控制台列表的读取文本行。

虚拟无效__fastcall LoadFromStream(TStream *分流); 

说明

呼叫LoadFromStream填补流列表指定的TStrings对象流从。从文本流中读取字符串解析或换行符分隔由回车进入。因此,LoadFromStream读取属性值的文本。

如果数据流是一个流文件,LoadFromStream不作为LoadFromFile同样的事情,除了应用程序必须创建和销毁的文件流。

这个例子使用了一个备忘录和一个表单按钮上。当按钮被点击的备忘录充满了文件的内容,然后到新的文件保存。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
Memo1 ->线-> LoadFromStream(&TFileStream(Unit1.cpp“fmOpenRead));
Memo1 ->线-> SaveToStream(&TFileStream(Unit2.cpp“fmOpenWrite));
} 

移动
更改列表中的位置的字符串英寸

移动虚拟无效__fastcall(智力CurIndex,诠释NewIndex)
Memo1 ->通信线路的>“移动(2.4),/ /移动从位置2到4链

说明

使用移动移动位置NewIndex字符串位置CurIndex它使被占领的。该职位的索引指定为0为主。例如,下面的代码行移动的位置字符串第一个到最后一个位置。

 MyStringsObject ->“移动(0,MyStringsObject ->计数 - 1); 

如果字符串有关联的对象,该对象与性传播感染的新位置的字符串遗存研究。

这个例子使用一个列表框和一个按钮的形式。该列表框包含项目当形式出现。当使用者按下按钮,列表框第五个项目在移动到方块上方的清单:

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
ListBox1的->项目->“移动(4.0);
}
//------------------------------------------------ ---------------------------
无效__fastcall TForm1::FormCreate(TObject *发件人)
{
为(int i = 0;我“10,我+ +)
ListBox1的->项目->“追加(”新建字符串“+ AnsiString类型(一));
} 

SaveToFile
保存文件列表中的字符串

虚拟无效__fastcall SaveToFile(常量系统::AnsiString类型文件名); 

说明

通过调用SaveToFile保存的文件名字符串中指定的文件到列表。每个列表中的字符串写入到文件的单独一行英寸

这个例子使用了一个备忘录和一个表单按钮上。当按钮被点击的备忘录充满了文件的内容,然后到新的文件保存。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
Memo1 ->线-> LoadFromFile(Unit1.cpp“);
Memo1 ->线-> SaveToFile(Unit2.cpp“);
} 

SaveToStream
输入一个流对象的Text属性值。

虚拟无效__fastcall SaveToStream(TStream *分流); 

说明

呼叫SaveToStream保存列表中的字符串到流参数指定的流。 SaveToStream写入字符串对分隔由回车,换行。如果数据流是一个流文件,SaveToStream不作为SaveToFile同样的事情,除了应用程序必须创建和销毁的文件流。

这个例子使用了一个备忘录和一个表单按钮上。当按钮被点击的备忘录充满了文件的内容,然后到新的文件保存。

无效__fastcall TForm1::Button1Click(TObject *发件人)
{
Memo1 ->线-> LoadFromStream(&TFileStream(Unit1.cpp“fmOpenRead));
Memo1 ->线-> SaveToStream(&TFileStream(Unit2.cpp“fmOpenWrite));
} 

的setText
开始使用指定内容列表的文本。

 __fastcall虚拟无效的setText(字符*文本); 

说明

呼叫的setText取代参数列表与指定的文本字符串。增加了一个时间字符串的setText一次到列表,使用回车或换行一个新的字符串中的字符作为分隔符的文字说明何时增加。

TStrings
构造函数。创建一个新的TStrings。

 __fastcall TStrings(无效):类::TPersistent(){} 

说明

不要创建TStrings实例。方法TStrings依靠纯虚方法,必须是对象覆盖的后裔。

Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |