Fórum [Dúvida] Como salvar a pasta imagens #416219
04/05/2012
0
Estou iniciando em Delphi e este é meu primeiro post aqui.
Estive vendo sobre salvar imagens e vi que pela recomendação de 99% é melhor salvar somente o caminho da imagem.
Agora que vem a minha dúvida... Como farei para salvar estas imagens da pasta para por no instalador?
Por exemplo:
Projeto fotos em: C:\Projeto\Imagens
Posso criar um arquivo rar/zip e acrescentar no instalador?
Obrigado à todos!
.:renato:.
Curtir tópico
+ 0Posts
05/05/2012
Bruno Leandro
Gostei + 0
06/05/2012
.:renato:.
Desculpe a demora em responder!
Bom, meu projeto já vai começar com aproximadamente 600 imagens e o usuário vai poder pór mais imagens (a intenção é que ponha mais imagens).
Então... Qual seria a melhor opção? Acredito que deve ser salvar a pasta que elas vão ficar né?!
Agora como faço isso rs rs rs
Pode em dar uma idéia de onde posso buscar sobre este assunto?
Muito Obrigado!
Gostei + 0
06/05/2012
Bruno Leandro
Gostei + 0
07/05/2012
.:renato:.
Este programinha não vai ficar em rede não...
Gostei + 0
07/05/2012
William
1º Vc mencionou que o programa vai conter 600 imagens de inicio, se vc usar um instalador então coloque essas imagens dentro do diretório raiz de instalação e claro o caminho das mesmas no banco.
2º Para gravar o caminho das imagens no banco não requer muito trabalho, supondo que o usuário vai informar o caminho da imagem através de um componente TDialog, então basta pegar o caminho com a propriedade FileName.
A idéia inicial é essa, qualquer dúvida posta aí ...
Gostei + 0
07/05/2012
.:renato:.
Acho que você me ajudou muito vamos ver se eu entendi:
1 - Eu crio uma pasta dentro da pasta do sistema para por as imagens;
2 - No sistema eu vou inserindo as imagens normalmente para gravar o caminho de cada uma, assim na hora que o sistema for instalado em outra máquina o caminho será reconhecido;
3 - Quando você diz um componente Tdialog é o mesmo que OpenPictureDialog ?
Tô caminho certo?
E qual seria o melhor instalador para eu fazer esto? Lembrando que eu terei que por também o FireBird para o caso da máquina não o possuir.
Muito Obrigado amigos!!
Gostei + 0
08/05/2012
.:renato:.
Gostei + 0
08/05/2012
Bruno Leandro
Gostei + 0
09/05/2012
.:renato:.
1 - Eu crio uma pasta dentro da pasta do sistema para por as imagens;
2 - No sistema eu vou inserindo as imagens normalmente para gravar o caminho de cada uma, assim na hora que o sistema for instalado em outra máquina o caminho será reconhecido;
3 - Quando você diz um componente Tdialog é o mesmo que OpenPictureDialog ?
Tô caminho certo?
E qual seria o melhor instalador para eu fazer esto? Lembrando que eu terei que por também o FireBird para o caso da máquina não o possuir.
Obrigado!
Gostei + 0
10/05/2012
Wesley Yamazack
1 - Instalador para o Firebird e tal, usa o InnoSetup.
2 - OpenDialog ou PictureDialog, vão te ajudar sim!!!
3 - Cuidado se você for acessar as imagens em rede(pois você terá que ver o caminho do servidor, mapear a pasta, etc.), agora se elas forem ser acessadas localmente sem stress.
4 - Eu criaria junto com o exe uma pasta chamada Images ou Imagem ou Img, mas junto com o exe para ficar mais fácil.
Um abraço....
Gostei + 0
10/05/2012
Gilmar Moraes
Para carregar a imagen no evento ondatachange coloco este codigo.
var
r: integer;
g: string;
Caminho : String;
begin
r:= DB_WIIGS_WII_CODIGO.Value;
g:=format(%5.5d,[r]);
Image2.Picture := nil;
Caminho := C:\Arquivos de programas\Gigatel Software\GSLOC\Imagens\WII\+g+.jpg;
if FileExists(caminho)then
Image2.Picture.LoadFromFile(caminho)
else
begin
Image2.Picture.LoadFromFile(C:\Arquivos de programas\Gigatel Software\GSLOC\Imagens\nao_disponivel.jpg);
end;
end;
e para salvar uso este:
Image4.Picture.SaveToFile(C:\Arquivos de programas\Gigatel Software\GSLOC\Imagens\WII\+Label17.Caption+.jpg);
uso um image para carrregar a imagem e é feita desta forma;
If Not OpenPictureDialog1.Execute Then
Exit;
If DS_WII.DataSet.State = dsBrowse Then
DS_WII.DataSet.Edit;
Image2.Picture := nil;
Image2.Picture.LoadFromFile( OpenPictureDialog1.FileName );
Como pode notar não usei campo para armazenar o endereço, más manipulei o nome da imagem igual ao codigo do registro..não usei filtro e nada, fiz um tratamento para que quando não tivesse a imagem com aquele numero fosse mostrado uma outra imagem com desenho de imagem não cadastrado....para vc botar em rede vc deverá criar uma função que pega o enderço. más é tranquilo tbm..flw espero ter ajudado..
Gostei + 0
10/05/2012
Gilmar Moraes
para carregar a imagen no evento ondatachange coloco este codigo.
var
r: integer;
g: string;
caminho : string;
begin
r:= db_wiigs_wii_codigo.value;
g:=format(%5.5d,[r]);
image2.picture := nil;
caminho := c:\arquivos de programas\gigatel software\gsloc\imagens\wii\+g+.jpg;
if fileexists(caminho)then
image2.picture.loadfromfile(caminho)
else
begin
image2.picture.loadfromfile(c:\arquivos de programas\gigatel software\gsloc\imagens\nao_disponivel.jpg);
end;
end;
e para salvar uso este:
image4.picture.savetofile(c:\arquivos de programas\gigatel software\gsloc\imagens\wii\+label17.caption+.jpg);
uso um image para carrregar a imagem e é feita desta forma;
if not openpicturedialog1.execute then
exit;
if ds_wii.dataset.state = dsbrowse then
ds_wii.dataset.edit;
image2.picture := nil;
image2.picture.loadfromfile( openpicturedialog1.filename );
como pode notar não usei campo para armazenar o endereço, más manipulei o nome da imagem igual ao codigo do registro..não usei filtro e nada, fiz um tratamento para que quando não tivesse a imagem com aquele numero fosse mostrado uma outra imagem com desenho de imagem não cadastrado....para vc botar em rede vc deverá criar uma função que pega o enderço. más é tranquilo tbm..flw espero ter ajudado..
O Label17.Caption e onde é mostrado o codigo do registro, uso ele por já ter a sua formatação tratada, vc pode substituir pelo seu campo código direto do seu banco de dados..
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)