[英]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.