社区
Delphi
帖子详情
问一下‘流’和Tlist的问题,谢谢! !
shadows
2003-03-07 09:48:22
比如我写了两个自定义结构
TRec1 = Record
List :Tlist;
end;
TRec2 =Record
Int : Integer;
Str : String;
end;
var
rec TRec2
rec.int := 12; rec.str := 'adsad'
现在我想用结构1(TRec1)中的List的items[0],存储rec,然后再用流的方法,写入一个文件,我对流的方法不熟,请问怎么写入,和读出来?谢谢,分不够再加!
...全文
80
3
打赏
收藏
问一下‘流’和Tlist的问题,谢谢! !
比如我写了两个自定义结构 TRec1 = Record List :Tlist; end; TRec2 =Record Int : Integer; Str : String; end; var rec TRec2 rec.int := 12; rec.str := 'adsad' 现在我想用结构1(TRec1)中的List的items[0],存储rec,然后再用流的方法,写入一个文件,我对流的方法不熟,请问怎么写入,和读出来?谢谢,分不够再加!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sysu
2003-03-07
打赏
举报
回复
var rec1: TRec1;
// 写入
procedure TForm1.Button1Click(Sender: TObject);
var
fs: TFileStream;
begin
rec.Int := 12;
rec.Str := 'adsad';
rec1.List := TList.Create;
rec1.List.Add(@rec);
fs := TFileStream.Create('d:\test', fmCreate);
fs.Write(TRec2(rec1.List.Items[0]^).Int, SizeOf(TRec2(rec1.List.Items[0]^).Int));
fs.Write(TRec2(rec1.List.Items[0]^).Str[1], Length(TRec2(rec1.List.Items[0]^).Str));
fs.Free;
end;
// 读取
procedure TForm1.Button2Click(Sender: TObject);
const bufSize = 256;
var
fs: TFileStream;
buf: array [1..bufSize] of Char;
numRead: Integer;
begin
fs := TFileStream.Create('d:\test', fmOpenRead);
fs.Read(rec.Int, SizeOf(rec.Int));
rec.Str := '';
repeat
numRead := fs.read(buf, bufSize);
if numRead > 0 then rec.Str := rec.Str + Copy(buf, 1, numRead);
until numRead <> bufSize;
rec1.List := TList.Create;
rec1.List.Add(@rec);
ShowMessage(TRec2(rec1.List.Items[0]^).Str);
fs.Free;
end;
MyCrooner
2003-03-07
打赏
举报
回复
如果全部存成字符串,倒是很方便.
list := TStringList.Create;
list.add( IntToStr(12));
list.add( 'adsad');
list.add(.....
..
list.saveToFile('文件名');
下次读取:
list := TStringList.Create;
list.LoadFromFile('文件名');
for i:=0 to list.count -1 do
string1 := list[i]; //可以用些变量读取
//可以判断string1的类型,如果需要可以转换成相应的类型.
jy_1201
2003-03-07
打赏
举报
回复
帮你Up
TList有一个Add方法,原形如下:
Function Add(Item:Pointer):Interger;
我想Add时Item可以指向一个对象吧。
这个我也没用过,查查Delphi帮助吧
标题: T
List
排序
问
题
标题: T
List
排序
问
题
浏览:165 加入我的收藏
楼主: 我有一些数据,以结构形式保存到T
List
中
数据例:姓名 学分张三 45 李四 30 黄五 23 ....
如果黄五的学分增加了20分后,变成43,
这时,怎么更新T
LIST
中黄五数据的位置,
排序从学分高到低排 张三 45 黄五 43 李四 30
----------------------------------------------
delphi
关于T
LIST
排序SORT的使用
TOBJECT
LIST
里,有自带的排序功能T
LIST
,TSTRING
LIST
也有,MS是一样的 SORT里有一个参数: Compare:T
List
SortCompare 那我们先了解
一下
T
List
SortCompare typeHELP原文:T
List
SortCompare is the type for callbacks that compare two items
delphi中TObject
List
和T
List
T
List
和Tobject
List
是delphi中的两种列表,其中TObject
List
继承自T
List
可以看到在TObject
List
中的一些方法都是继承自T
List
的,例如Add方法等,但是其中的Notify方法是自己实现了
一下
procedure TObject
List
.Notify(Ptr: Pointer; Action: T
List
Notification); begin
让T
List
类型安全
在VCL中包含有一个T
List
类,相信很多朋友都使用过,它可以方便的维护对象指针,所以很多朋友都喜欢用它来实现控件数组。不幸的是,这个T
List
类有一些
问
题
,其中最重要就是缺乏类型安全的支持。这篇文章介绍如何从T
List
派生一个新类来实现类型安全,并且能自动删除对象指针的方法。T
List
的
问
题
所在对于T
List
的方便性这里就不多说,我们来看
一下
,它到底存在什么
问
题
,在Classes
T
List
T
list
(Classes.pas)在我刚开始接触T
List
的时候,T
List
搞得我迷雾重重,都是Capacity属性惹的祸。我查了Delphi的帮助,它说Capacity是T
List
的最大容量,又在什么地方说MaxIntdiv 4是T
List
的最大容量。最后我搞明白了,Capacity是临时的,MaxInt div 4才是真正的最大容量。只要你的内存受得了就行,算起来一共是4G。在T
List
...
Delphi
5,943
社区成员
262,942
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章