GARANTIR DESCONTO

Fórum Alterar imagem em tempo de execução #273736

22/03/2005

0

Olá galera,

Como posso alterar uma imagem de TImage em tempo de execução?
Ou seja, minha idéia é que o usuário escolha o caminho da imagem para alterá-la. Porém quero salvar este caminho para carregar a mesma imagem na próxima inicialização.

Criei uma tabela que armazena o caminho (string) do TOpenPictureDialog, porém como faço para enviar o caminho para o TImage?

A propriedade aceita somente imagens? como usar a string?
Se sim, posso converter a string?


Tentei assim:

var
  Caminho : String;
begin
  DmDados.IBDImagens.Active := False;
  DmDados.IBDImagens.Active := True;
  if OpenDlgImagemFundo.Execute then
    Caminho := OpenDlgImagemFundo.FileName;
  DmDados.IBDImagens.First;
  while not DmDados.IBDImagens.Eof do
    begin
      if DmDados.IBDImagens.FieldByName(´Ativo´).AsString = ´S´ then
        begin
          DmDados.IBDImagens.Edit;
          DmDados.IBDImagens.FieldByName(´Ativo´).AsString := ´N´;
          DmDados.IBDImagens.Post;
        end;
      DmDados.IBDImagens.Next;
    end;
  UnitMenu.Menu.Fundo.Picture := Caminho;
  DmDados.IBDImagens.Insert;
  DmDados.IBDImagens.FieldByName(´Caminho´).asString := Caminho;
  DmDados.IBDImagens.FieldByName(´Ativo´).AsString := ´S´;
  DmDados.IBDImagens.Post;
end;


Obrigado pela ajuda !! :D


Ricardo.vano

Ricardo.vano

Responder

Posts

22/03/2005

Ricardo.vano

Descobri.

Faltou colocar LoadFromFile. Valeu galera!! :D


var
  Caminho : String;
begin
  DmDados.IBDImagens.Active := False;
  DmDados.IBDImagens.Active := True;
  if OpenDlgImagemFundo.Execute then
    Caminho := OpenDlgImagemFundo.FileName;
  DmDados.IBDImagens.First;
  while not DmDados.IBDImagens.Eof do
    begin
      if DmDados.IBDImagens.FieldByName(´Ativo´).AsString = ´S´ then
        begin
          DmDados.IBDImagens.Edit;
          DmDados.IBDImagens.FieldByName(´Ativo´).AsString := ´N´;
          DmDados.IBDImagens.Post;
        end;
      DmDados.IBDImagens.Next;
    end;
  UnitMenu.Menu.Fundo.Picture.LoadFromFile(Caminho);
  DmDados.IBDImagens.Insert;
  DmDados.IBDImagens.FieldByName(´Caminho´).asString := Caminho;
  DmDados.IBDImagens.FieldByName(´Ativo´).AsString := ´S´;
  DmDados.IBDImagens.Post;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar