Selecao DevMedia QUERO SER PRIME

Fórum Como enviar imagens para uma pasta fora do aplicativo #332234

28/10/2006

0

Caros colegas, qual o código que devo utilizar para enviar minhas imagens utilizadas no software para um pasta criada externamente, e não para o banco de dados?

Diretório exemplo:

[b:d3f8feab64]c:\nome_do_projeto\imagens\[/b:d3f8feab64]

Utilizo o [b:d3f8feab64]Delphi 7 + DBExpress + Firebird[/b:d3f8feab64]

Agradeço imensamente aos colegas que puderem ajudar-me!

Abraços à todos! :D


Tekmicro

Tekmicro

Responder

Posts

29/10/2006

Martins

Bem para carregar uma imagem de outra pasta para seu aplicativo, no caso para o componente TImage, vc pode fazer assim:

Image1.LoadFromFile(´c:\Imagens\foto1.jpg´) 


Para salvar em uma determinada pasta vc pode fazer assim:

image1.savetofile(´C:\Imagens\Back\Foto2.jpg´); 


Não testei, mas acho q funciona, qualquer coisa é só retornar aqui.

boa sorte!


Responder

Gostei + 0

30/10/2006

Tekmicro

Prezado colega, agradeço desde já pela colaboração e estarei fazendo alguns testes.

Aproveitando, visto que ainda não tenho os conhecimentos necessários em programação, para que eu possa fazer esta a implementação no meu código, quais or procedimentos necessários? Se puder auxiliar com estas informações, ficarei imensamente agradecido visto que irá ajudar-me muito!

Abraços!


Responder

Gostei + 0

30/10/2006

Martins

Prezado colega, agradeço desde já pela colaboração e estarei fazendo alguns testes. Aproveitando, visto que ainda não tenho os conhecimentos necessários em programação, para que eu possa fazer esta a implementação no meu código, quais or procedimentos necessários? Se puder auxiliar com estas informações, ficarei imensamente agradecido visto que irá ajudar-me muito! Abraços!


Certo, vamos tentar nos ajudar OK! :wink:

Vamos fazer um DEMO.

Siga os passos abaixo:

Abra um novo projeto, e insira nele os componentes:

* Um TImage (Paleta Additional);

* Dois TButtons ou TBitBtn;

* Um TOpenPictureDialog (Dialogs);

* Um TSavePictureDialog (Dialogs);

Vamos codificar nosso pequeno DEMO.

No primeir visto que irá ajudar-me muito!

Abraços!


Certo, vamos tentar nos ajudar OK! :wink:

Vamos fazer um DEMO.

Siga os passos abaixo:

Abra um novo projeto, e insira nele os componentes:

* Um TImage (Paleta Additional);

* Dois TButtons ou TBitBtn;

* Um TOpenPictureDialog (Dialogs);

* Um TSavePictureDialog (Dialogs);

Vamos codificar nosso pequeno DEMO.

No primeiro botão coloque.

begin
  OpenPictureDialog1.Execute;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;


No segundo botão vamos colocar.

begin
  SavePictureDialog1.Execute;
  Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;


Nosso código deveria ficar parecido com esse.

unit Unit1;

interface
¬o botão coloque.

[code]
begin
  OpenPictureDialog1.Execute;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
[/code]

No segundo botão vamos colocar.

[code]
begin
  SavePictureDialog1.Execute;
  Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;


Nosso código deveria ficar parecido com esse.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBClient, ExtDlgs;

type
  TForm1 = class(TForm)
    ClientDataSet1: TClientDataSet;
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    procedure BitBtn1Click(Sender: TObject)0Auses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBClient, ExtDlgs;

type
  TForm1 = class(TForm)
    ClientDataSet1: TClientDataSet;
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  OpenPictureDialog1.Execute;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  OpenPictureDialog1.Execute;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  SavePictureDialog1.Execute;
  Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;

end.
[/code]

No código abaixo vc pode especificar uma caminho predefinido assim como um nome para o arquivo a ser salvo.
[code]
Image1.Picture.SaveToFile(Caminho+nome do arquivo);


Qualquer coisa, estamos prontos para tentar ajudar.


Boa sorte!


Responder

Gostei + 0

30/10/2006

Martins

:?
Tem horas q esse fórum me deixa muito confuso com suas tags.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBClient, ExtDlgs;

type
  TForm1 = class(TForm)
    ClientDataSet1: TClientDataSet;
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dlientDataSet;
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  OpenPictureDialog1.Execute;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  SavePictureDialog1.Execute;
  Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;

end.



Responder

Gostei + 0

30/10/2006

Tekmicro

Caro Martins, a parte de cima do código já fiz, só não sei onde deve entrar este código:

[b:5c07f610c7]Image1.Picture.SaveToFile(Caminho+nome do arquivo); [/b:5c07f610c7]

Obrigado!


Responder

Gostei + 0

30/10/2006

Martins

:)

Tudo bem, desconsidre a parte.

Image1.Picture.SaveToFile(Caminho+nome do arquivo); 


eu coloquei ela só para exemplificar q vc pode usar se não quiser usar assim:
  SavePictureDialog1.Execute; 
  Image1.Picture.SaveToFile(SavePictureDialog1.FileName); 


Então deixe como está no exemplo sem a última parte q vc citou, teste e depois me diga se mais ou menos isso q vc deseja.

Boa sorte!!


Responder

Gostei + 0

30/10/2006

Tekmicro

Caro colega, deu certo!

Pelo menos dá condições para excolher uma imagem, e depois tenho que clicar no segundo botão para salvar numa pasta!

Partindo para o lado prático da coisa, existe alguma maneira de facilitar este processo?

Por exemplo:

Tenho um formulário para cadastrar produtos, na parte de imagem, vou buscar a imagem1.bmp só que depois vou ter que clicar separadamente no segundo botão para salvar a mesma imagem1.bmp na pasta que eu determinar.

Ai lhe pergunto: Ao abrir este formulário a imagem estará lá ou não? Porque no exemplo aqui a imagem não aparece mais no formulário, apenas efetua o processo de abrir e salvar.

Qual seria a opção mais recomendada partindo para o fato de ser utilizado num cadastramento de produtos?

Obrigado mais uma vez!


Responder

Gostei + 0

30/10/2006

Martins

Salve o caminho + nome da imagem no banco de dados, assim quando vc abrir a base vc pode ir buscar as imagens correspondentes ao produto, tipo no OnShow do Form de Produtos.

   Image1.Picture.LoadFromFile(Tabela.FieldByName(´Figuras´).AsString); 


Deu para entender?


Responder

Gostei + 0

30/10/2006

Tekmicro

Obrigado Martins!

Estarei fazendo aqui, qualquer coisa volto a postar ok?

Um grande abraço! :wink:


Responder

Gostei + 0

30/10/2006

Tekmicro

Martins!

No caso desta linha:

Image1.Picture.LoadFromFile(Tabela.FieldByName(´Figuras´).AsString);

´Tabela´ seria o nome da minha suposta tabela?

´Figuras´ estaria referindo ao diretório onde estaria localizado a imagem ou não?

Desculpe fazer perguntas que podem ser até mesmo simples, mas se temos dúvidas temos mais que perguntar para aprender não é? :D

Abração!


Responder

Gostei + 0

30/10/2006

Martins

[b:f2e71ec00f]Image1.Picture.LoadFromFile(Tabela.FieldByName(´Figuras´).AsString); [/b:f2e71ec00f]
[color=darkred:f2e71ec00f][b:f2e71ec00f]´Tabela´ seria o nome da minha suposta tabela? [/b:f2e71ec00f][/color:f2e71ec00f]
Sim.

[color=darkred:f2e71ec00f][b:f2e71ec00f]´Figuras´ estaria referindo ao diretório onde estaria localizado a imagem ou não?[/b:f2e71ec00f][/color:f2e71ec00f]
Não, Figuras seria o nome do campo String onde vc gravaria a localização da figura do produto.
Campo Figuras ficaria +/- assim.

Figuras
================================
c:\Exemplos\Figuras\ProdAlimentos\Arroz.bmp



Ok :!:


Responder

Gostei + 0

30/10/2006

Tekmicro

Acredito que ficou mais claro agora!

Qualquer coisa postarei aqui, ok?

Muito obrigado pela atenção mais uma vez!


Responder

Gostei + 0

30/10/2006

Tekmicro

Caro Martins,

Se você puder dar uma olhadinha neste link:

http://forum.clubedelphi.net/viewtopic.php?p=270558#270558

Eu postei uma outra dúvida acredito mais complexa e se puder ajudar-me!

Estou necessitando concluir estes dois processos.

Este que postei aqui e o outro do link. Só que preciso fazer praticamente como na imagem exemplo.

Abraços e obrigado!


Responder

Gostei + 0

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

Aceitar