簡體   English   中英

從文件中加載圖片,文件名作為一個變化的變量

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM