我用的是以下的代码:
for m := 1 to pagecontrol1.pagecount -1 do
begin
begin
for n := 1 to pagecontrol1.pages[m].ControlCount - 1 do
if pagecontrol1.pages[m].Controls[m] is TImage then
begin
TImage(pagecontrol1.pages[m].Controls[m]).Picture.SaveToFile(savedialog1.FileName);
setfilename(savedialog1.FileName);
Break;
end;
end
end;
17 个解决方案
#1
savedialog1.FileName
你全用一个文件名保存吗?
循环前面有无savedialog1.excute?
你全用一个文件名保存吗?
循环前面有无savedialog1.excute?
#2
期待...
#3
当然不会只用一个名字,可是我保存一幅图片时也会出现问题,总不会有别的图片和他争一个地址吧:)
#4
你的循环很古怪
for m := 1 to pagecontrol1.pagecount -1 do //由0开始
begin
begin
for n := 1 to pagecontrol1.pages[m].ControlCount - 1 do //由0开始
if pagecontrol1.pages[m].Controls[m] is TImage then //应该是pagecontrol1.pages[m].Controls[n] 吧
begin
TImage(pagecontrol1.pages[m].Controls[m]).Picture.SaveToFile(savedialog1.FileName); //同上
setfilename(savedialog1.FileName); //请回答:干嘛用的?自己的过程?
Break;
end;
end
end;
setfilename(savedialog1.FileName);
for m := 1 to pagecontrol1.pagecount -1 do //由0开始
begin
begin
for n := 1 to pagecontrol1.pages[m].ControlCount - 1 do //由0开始
if pagecontrol1.pages[m].Controls[m] is TImage then //应该是pagecontrol1.pages[m].Controls[n] 吧
begin
TImage(pagecontrol1.pages[m].Controls[m]).Picture.SaveToFile(savedialog1.FileName); //同上
setfilename(savedialog1.FileName); //请回答:干嘛用的?自己的过程?
Break;
end;
end
end;
setfilename(savedialog1.FileName);
#5
...pages[index:integer]
index是由0开始
savedialog1.FileName只是一个文件名
index是由0开始
savedialog1.FileName只是一个文件名
#6
睡一觉,相信明天自己就解决了!
#7
不会有错的。
倒是你的程序里的循环为什么都是从1开始,难道不应该是从0开始吗?
倒是你的程序里的循环为什么都是从1开始,难道不应该是从0开始吗?
#8
从零开始,会出错误,从1开始那个错误就没有了,我也不知道为什么。
谢谢大家的回答,我会试试的。
谢谢大家的回答,我会试试的。
#9
自己踢一脚
#10
因为控件的index的取值是从0开始
当你只有一附图时,根据你的说明,你就只有一个Timage控件,而pagecontrol1.pages[0]的控件就只有一个
此时,pagecontrol1.pages[0].Controls[0]就是那个唯一的 Timage控件。
当你只有一附图时,根据你的说明,你就只有一个Timage控件,而pagecontrol1.pages[0]的控件就只有一个
此时,pagecontrol1.pages[0].Controls[0]就是那个唯一的 Timage控件。
#11
可我试来试去就是不行:(
真的很谢谢你,fredfei(飞飞) ,不管能不能解决,我都会给你分!
真的很谢谢你,fredfei(飞飞) ,不管能不能解决,我都会给你分!
#12
将1改成0,Controls[m]改成Controls[n],我运行没错啊!除非你的Picture中就没有图片或setfilename中做错了什么!
#13
是吗?真奇怪
#14
同意无savedialog1.excute或
setfilename(savedialog1.FileName);提前一行。
setfilename(savedialog1.FileName);提前一行。
#15
支持楼上
#16
还没有解决吗?
你能告诉我setfilename是干什么用的?
你能告诉我setfilename是干什么用的?
#17
问题解决了,多谢大家帮助!
#1
savedialog1.FileName
你全用一个文件名保存吗?
循环前面有无savedialog1.excute?
你全用一个文件名保存吗?
循环前面有无savedialog1.excute?
#2
期待...
#3
当然不会只用一个名字,可是我保存一幅图片时也会出现问题,总不会有别的图片和他争一个地址吧:)
#4
你的循环很古怪
for m := 1 to pagecontrol1.pagecount -1 do //由0开始
begin
begin
for n := 1 to pagecontrol1.pages[m].ControlCount - 1 do //由0开始
if pagecontrol1.pages[m].Controls[m] is TImage then //应该是pagecontrol1.pages[m].Controls[n] 吧
begin
TImage(pagecontrol1.pages[m].Controls[m]).Picture.SaveToFile(savedialog1.FileName); //同上
setfilename(savedialog1.FileName); //请回答:干嘛用的?自己的过程?
Break;
end;
end
end;
setfilename(savedialog1.FileName);
for m := 1 to pagecontrol1.pagecount -1 do //由0开始
begin
begin
for n := 1 to pagecontrol1.pages[m].ControlCount - 1 do //由0开始
if pagecontrol1.pages[m].Controls[m] is TImage then //应该是pagecontrol1.pages[m].Controls[n] 吧
begin
TImage(pagecontrol1.pages[m].Controls[m]).Picture.SaveToFile(savedialog1.FileName); //同上
setfilename(savedialog1.FileName); //请回答:干嘛用的?自己的过程?
Break;
end;
end
end;
setfilename(savedialog1.FileName);
#5
...pages[index:integer]
index是由0开始
savedialog1.FileName只是一个文件名
index是由0开始
savedialog1.FileName只是一个文件名
#6
睡一觉,相信明天自己就解决了!
#7
不会有错的。
倒是你的程序里的循环为什么都是从1开始,难道不应该是从0开始吗?
倒是你的程序里的循环为什么都是从1开始,难道不应该是从0开始吗?
#8
从零开始,会出错误,从1开始那个错误就没有了,我也不知道为什么。
谢谢大家的回答,我会试试的。
谢谢大家的回答,我会试试的。
#9
自己踢一脚
#10
因为控件的index的取值是从0开始
当你只有一附图时,根据你的说明,你就只有一个Timage控件,而pagecontrol1.pages[0]的控件就只有一个
此时,pagecontrol1.pages[0].Controls[0]就是那个唯一的 Timage控件。
当你只有一附图时,根据你的说明,你就只有一个Timage控件,而pagecontrol1.pages[0]的控件就只有一个
此时,pagecontrol1.pages[0].Controls[0]就是那个唯一的 Timage控件。
#11
可我试来试去就是不行:(
真的很谢谢你,fredfei(飞飞) ,不管能不能解决,我都会给你分!
真的很谢谢你,fredfei(飞飞) ,不管能不能解决,我都会给你分!
#12
将1改成0,Controls[m]改成Controls[n],我运行没错啊!除非你的Picture中就没有图片或setfilename中做错了什么!
#13
是吗?真奇怪
#14
同意无savedialog1.excute或
setfilename(savedialog1.FileName);提前一行。
setfilename(savedialog1.FileName);提前一行。
#15
支持楼上
#16
还没有解决吗?
你能告诉我setfilename是干什么用的?
你能告诉我setfilename是干什么用的?
#17
问题解决了,多谢大家帮助!