[英]Loading picture from file with filename as a changing variable
我目前正忙于一个项目,非常累,我无法直接思考,而且我在从文件加载图片时遇到了一些问题,其中图片的名称存储在一个变量中,该变量根据某人的内容而变化在组合框中选择。 组合框已排序,第一个 ItemIndex 是表中第一部分的名称。
这是用于将文件名声明为变量的(可怕而平庸的)代码:
begin
iTel := 0;
with dmMusiekstukke do
begin
while not (tblMusiekstukke.Eof) AND (iTel <= 4) do
begin
tblMusiekstukke.First;
Inc(iTel) ;
arrMusic[itel] := tblMusiekstukke['Musicpiece name'] ;
tblMusiekstukke.Next ;
end;
end;
case cbbMusic.ItemIndex of
0 : Image := arrMusic[1] ;
1 : image := arrMusic[2] ;
2 : Image := arrMusic[3] ;
3 : Image := arrmusic[4] ;
end;
end;
图像的文件名与数据库的“音乐作品名称”字段中的项目名称完全相同。 数组(字符串)应填充 Musicpiece 的名称,该名称又是文件的名称。 在组合框之外,该人选择他们想要的音乐作品,并显示该特定音乐作品的图片。
我用于加载文件的代码:
procedure TfrmSheets.FormShow(Sender: TObject);
begin
imgSheet.Picture.LoadFromFile( '''' + frmMusic.Image + '.png');
end;
end.
正如你所看到的,我真的不知道该怎么做。 所有图片都是.png格式。 非常感谢。
当心。 如果frmMusic.Image
只包含文件名,则图片文件必须驻留在\\you_project\\Win32\\Debug
你能检查一下,什么包含frmMusic.Image
尝试将此值放入Label
好的,我整理出来了。 它的工作原理是不在任一侧添加撇号,这是我的问题之一,但我在这里找到的问题的另一种解决方案是: 系统找不到指定的文件
然后我这样做了:
imgSheet.Picture.LoadFromFile(frmMusic.Image + '.png.png');
我也删了
tblMusiekstukke.First ;
退出 While 循环,因为它不断将表格的标记放置到第一项。 它现在可以完美运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.