社区
语言基础/算法/系统设计
帖子详情
string转Tstream
yangwe101860
2006-04-21 02:27:57
小弟鼓起勇气问一个弱弱的问题:
delphi 怎么把一个String转成Tstream?
我需要用InXMLDoc.LoadFromStream()这个方法。
必须要转成Tstring
...全文
594
15
打赏
收藏
string转Tstream
小弟鼓起勇气问一个弱弱的问题: delphi 怎么把一个String转成Tstream? 我需要用InXMLDoc.LoadFromStream()这个方法。 必须要转成Tstring
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
仙侣步惊云
2006-09-09
打赏
举报
回复
var
stream:TStream;
str:string;
begin
str:='test string';
stream:=TMemoryStream.Create;
stream.writebuffer(str[1],Length(str));
......
end;
zhangxuyu1118
2006-09-07
打赏
举报
回复
//读S1长度,读S1;读S2长度,读S2;读N1,N2
procedure TForm1.Button2Click(Sender: TObject);
var
S: TFileStream;
iTmp: integer;
sTmp:string;
begin
S := TFileStream.Create('d:\\tmp.dat', fmOpenRead);
with S do
try
s.Read(iTmp, 4);
setlength(sTmp, iTmp);
S.Read(sTmp[1], iTmp);
showmessage(sTmp);
s.Read(iTmp, 4);
setlength(sTmp, iTmp);
S.Read(sTmp[1], iTmp);
showmessage(sTmp);
s.Read(iTmp, 4);
s.Read(iTmp, 4);
finally
free;
end;
end;
zhangxuyu1118
2006-09-07
打赏
举报
回复
//先写字符窜S1的长度到流然后写S1(注意string的指针从1开始);然后写S2的长度然后再写S2;最后往流里随便写了两个整数。
procedure TForm1.Button1Click(Sender: TObject);
var
S: TFileStream;
sTmp, s1, s2:string;
iTmp, n1, n2: integer;
begin
s1 := '12345';
s2 := 'abcdefg';
n1 := 100000;
n2 := 1024;
S := TFileStream.Create('d:\\tmp.dat', fmCreate);
with S do
try
iTmp := length(s1);
s.Write(iTmp, sizeof(iTmp));
s.Write(s1[1], iTmp);
iTmp := length(s2);
s.Write(iTmp, sizeof(iTmp));
s.Write(s2[1], iTmp);
s.Write(n1, sizeof(n1));
Write(n2, sizeof(n2));
finally
free;
end;
end;
zhangxuyu1118
2006-09-07
打赏
举报
回复
我以前的代码,将string、int写入stream,保存为磁盘文件然后读出。
yangwe101860
2006-04-21
打赏
举报
回复
我的最终目的是想解析一个string形式的xml文档。然后把里面的数据存到list里
而且那个 xml string 里没有<?xml version="1.0" encoding="gb2312" ?>
这样的东西。请问各位了,我应该怎么做?
yangwe101860
2006-04-21
打赏
举报
回复
楼上的是说我要把那个tmemorystream改成TStringStream
然后在用那个方法读xml串?是把?
aiirii
2006-04-21
打赏
举报
回复
TStringStream
yangwe101860
2006-04-21
打赏
举报
回复
我是这样尝试的。然后我这样调用InXMLDoc.LoadFromStream(m);应该可以把?
为什么程序运行错误。好象还是内存地址的错误。?
柯本
2006-04-21
打赏
举报
回复
当然,临时变量p可不要,直接写:
m.Write(pchar(x)^,length(x));
柯本
2006-04-21
打赏
举报
回复
我的一般作法:
var
x:string;
m:tmemorystream;
p:pchar;
begin
m:=tmemorystream.Create;
x:='234234234234';
p:=pchar(x); // 将string转成pchar
m.Write(p^,length(x)); //写入TStream
...
end;
cuteant
2006-04-21
打赏
举报
回复
在delphi里不等号怎么写啊?
-------------
<>
wqlmljr
2006-04-21
打赏
举报
回复
在delphi里不等号怎么写啊?
dabaicai
2006-04-21
打赏
举报
回复
反了,呵呵,是
kk := TStringStream.Create(ss);
dabaicai
2006-04-21
打赏
举报
回复
var
ss : String;
kk : TStringStream; //把你的流转成这个就可以了
beign
ss := kk.DataString
end
通常方法
柯本
2006-04-21
打赏
举报
回复
我的问题:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
m:tmemorystream;
InXMLDoc:TXMLDocument;
begin
m:=tmemorystream.Create;
s:='<UI><String Id="L_FeedbackLink_TEXT">Send feedback to Microsoft</String></UI>';
m.Write(pchar(s)^,length(s));
//写入TStream
InXMLDoc:=TXMLDocument.Create(self); //你不会没有建吧?
InXMLDoc.LoadFromStream(m);
memo1.Lines:=InXMLDoc.XML;
...
end;
delphi流相互
转
换
Memory
Stream
与list
string
与
string
stream
转
换
字符
转
流.zip
delphi中简单字符串
转
流和流
转
字符串的简单代码。简单参考用!
T
Stream
.zip C++builder文件操作读写
简单的文件读写操作,分别用文件通道和文件流的方式,对文件进行读写
转
存,希望对读者有用,实现很简单.
Delphi 字符串 流的读取
Delphi 的字符串流的读取。很容易了解流的工作原理
Screen_image.rar_delphi 屏幕传输_图像传输_屏幕
用delphi编程实现的屏幕图像的快速传输
语言基础/算法/系统设计
16,742
社区成员
33,237
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章