我的程序的目的是这样的:我用idhttp从xml上得到很多图片,现在用三个image控件分页显示,用两个button做前后翻页.我的程序代码是这样的:
procedure TForm1.Button1Click(Sender: TObject);
var
oXml: TXMLDocument;
i, j: integer;
s,t,AttributeValue:string;
arr:array of string;
jpgArr:array of TjpegImage; // 储存图片
jpg:TjpegImage;
nNode: IXMLNode;
MemoryStream:TMemoryStream;
Idhttp:TIdhttp;
begin
oXml := TXMLDocument.Create(self);
oXml.LoadFromFile('F:\test\test.xml');
oXml.Active:=true; nNode:=oXml.ChildNodes.FindNode('menu'); setlength(arr,36);
setlength(jpgArr,36); for i:=0 to nNode.ChildNodes.Count-1 do
begin
for j:=0 to nNode.ChildNodes[i].AttributeNodes.Count-1 do //遍历节点的属性
begin
t:=nNode.ChildNodes[i].AttributeNodes[j].NodeName ; //获得属性名
AttributeValue:=nNode.ChildNodes[i].AttributeNodes[j].NodeValue ; //获得属性值 if t='img' then
begin
arr[i]:=AttributeValue;
self.Memo2.Lines.Add(arr[i]);
MemoryStream:=TMemoryStream.Create ;
Idhttp:=Tidhttp.Create(nil);
Jpg:=TjpegImage.Create ;
try
Idhttp.Get(arr[i],MemoryStream);
Memorystream.Position :=0;
jpg.LoadFromStream(MemoryStream);
jpgArr[i]:=jpg;
// self.Image1.Picture.Bitmap.Assign(jpgArr[i]);
finally
MemoryStream.Free ;
Idhttp.Free;
Jpg.Free ;
end; end; end;
end; oxml.Free ;
end;
我现在只能做到这步,能得到图片,但是用jpgArr数组储存图片不知道可不可以?请高手求救怎么样才能做出点击前后button做翻页呢?我得到的图片有36张.一次只能显示3张.最好能给个代码..谢谢了..
procedure TForm1.Button1Click(Sender: TObject);
var
oXml: TXMLDocument;
i, j: integer;
s,t,AttributeValue:string;
arr:array of string;
jpgArr:array of TjpegImage; // 储存图片
jpg:TjpegImage;
nNode: IXMLNode;
MemoryStream:TMemoryStream;
Idhttp:TIdhttp;
begin
oXml := TXMLDocument.Create(self);
oXml.LoadFromFile('F:\test\test.xml');
oXml.Active:=true; nNode:=oXml.ChildNodes.FindNode('menu'); setlength(arr,36);
setlength(jpgArr,36); for i:=0 to nNode.ChildNodes.Count-1 do
begin
for j:=0 to nNode.ChildNodes[i].AttributeNodes.Count-1 do //遍历节点的属性
begin
t:=nNode.ChildNodes[i].AttributeNodes[j].NodeName ; //获得属性名
AttributeValue:=nNode.ChildNodes[i].AttributeNodes[j].NodeValue ; //获得属性值 if t='img' then
begin
arr[i]:=AttributeValue;
self.Memo2.Lines.Add(arr[i]);
MemoryStream:=TMemoryStream.Create ;
Idhttp:=Tidhttp.Create(nil);
Jpg:=TjpegImage.Create ;
try
Idhttp.Get(arr[i],MemoryStream);
Memorystream.Position :=0;
jpg.LoadFromStream(MemoryStream);
jpgArr[i]:=jpg;
// self.Image1.Picture.Bitmap.Assign(jpgArr[i]);
finally
MemoryStream.Free ;
Idhttp.Free;
Jpg.Free ;
end; end; end;
end; oxml.Free ;
end;
我现在只能做到这步,能得到图片,但是用jpgArr数组储存图片不知道可不可以?请高手求救怎么样才能做出点击前后button做翻页呢?我得到的图片有36张.一次只能显示3张.最好能给个代码..谢谢了..
解决方案 »
- delphi 窗口调用问题讨论
- [b]求Server/Client通讯实例[/b]
- 我没有勇气再生存下去,什么力量能支撑我走的更远?
- 100分求陈锐《Delphi分布式多层应用程序开发》一书的源码。先到先得分。。。
- SQL Server 超时已过期是怎么会事。
- 关于FORM的问提,快来看呀!!!!!!!!!
- delphi有没有象VB那样,在过程开头on error,然后就可以捕捉到此后所有错误的办法?
- 哪里有delphi OOP设计方面的资料?
- delphi一个钩子,看不懂了.帮帮我
- pascal考试不及格的我能学好delphi吗?请帮助!!!!!!
- TOleContainer绑定Excel问题
- 求 fastreport 例子
没分了..只有10分了
以后有分了我一定给你们补上...