Fórum Salvar o Nome de uma Imagem e Também Deletar Ela #325916

23/07/2006

0

Olá pessoal, tudo bem? Espero que sim.

Eu tenho num banco firebird um campo pra salvar imagens dentro dele, e pra salvar essa imagem eu coloco o seguinte código:


procedure TFrmCadPersonagensComics.InserirImagem(Imagem: TDBImage);
var
  JPEG: TJPEGImage;
  OpSelecionaImagem: TOpenPictureDialog;
  Picture: TPicture;

begin
  if not Assigned(Imagem) then
    exit;
  if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then
    exit;
  if not Assigned(Imagem.DataSource.DataSet) then
    exit;
  if not (Imagem.DataSource.DataSet.Active) then
    exit;
  OpSelecionaImagem := TOpenPictureDialog.Create(nil);
  try
    OpSelecionaImagem.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing];
    OpSelecionaImagem.Filter := ´Todas (JPEG)|*.jpg;*.jpeg|Imagem JPEG (*.jpg)|*.jpg|Imagem JPEG (*.jpeg)|*.jpeg´;
    OpSelecionaImagem.Title := ´(HqMx) Selecione o Arquivo de Imagem em JPG´;
    Picture := TPicture.Create;
    try
      JPEG := TJPEGImage.Create;
      try
        if OpSelecionaImagem.Execute then
          begin
            Picture.LoadFromFile(OpSelecionaImagem.FileName);
            JPEG.Assign(Picture.Graphic);
            if not (Imagem.DataSource.DataSet.State in dsEditModes) then
              Imagem.DataSource.DataSet.Edit;
            Imagem.Picture.Graphic.Assign(JPEG);
          end;
      finally
        FreeAndNil(JPEG);
      end;
    finally
      FreeAndNil(Picture);
    end;
  finally
    FreeAndNil(OpSelecionaImagem);
  end;



Aí no botão quando clicado é assim:


procedure TFrmCadPersonagensComics.SbCarregaImagemClick(Sender: TObject);
begin
  InserirImagem(FrmVerPersonagensComics.DbImgImagem);

end;



Com isso eu consigo carregar a imagem e exibir. Mas eu gostaria de pegar também o nome dessa imagem e salvar ela num DbEdt. Usando o FileNome da Dialog, ele me lista todo o caminho pra imagem, desde o C:\, e não quero isso, quero só o nome da imagem salvo nesse campo, como faço?

E outra coisinha também. Eu coloquei um botão pra deletar a imagem do banco, caso o usuário queira. Que comando uso pra deletar ela?

Grato pela ajuda. :D


Aersoftware

Aersoftware

Responder

Posts

25/07/2006

Micheus

quero só o nome da imagem salvo nesse campo, como faço?
Nome_e_extencao := ExtractFileName(OpenDialog.FileNome);

Eu coloquei um botão pra deletar a imagem do banco, caso o usuário queira. Que comando uso pra deletar ela?
Se não estou enganado, com seu dataset em modo de edição: SEUDataSetCAMPO_IMG.Clear;
ou seja, dê um clear no campo de seu dataset que armazena a imagem.

[]s


Responder

Gostei + 0

25/07/2006

Aersoftware

[quote:d511824f10]quero só o nome da imagem salvo nesse campo, como faço?
Nome_e_extencao := ExtractFileName(OpenDialog.FileNome);

Eu coloquei um botão pra deletar a imagem do banco, caso o usuário queira. Que comando uso pra deletar ela?
Se não estou enganado, com seu dataset em modo de edição: SEUDataSetCAMPO_IMG.Clear;
ou seja, dê um clear no campo de seu dataset que armazena a imagem.

[]s[/quote:d511824f10]

Valeu micheus, funcionou perfeitamente.. :D

abraços.


Responder

Gostei + 0

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

Aceitar