Colocar imagem *.jpeg no fundo do formulário principal

Delphi

13/03/2007

Tenho procurado pela internet um exemplo de como fazer para colocar uma imagem jpeg no fundo de meu formulário principal, mas não encontrei da forma que preciso. Gostaria de selecionar algumas imagens e colocar numa pasta e daí fazer com que toda que inicie o sistema ele carrege essas imagens para o formulário principal de forma alternada. Por favor alguém poderia me ajudar a fazer isso, pois estou iniciando no Delphi e não consegui fazer.


Vandeir

Vandeir

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

13/03/2007

Eu lembro que no portal da ClubeDelphi tem uma dica de como fazer isso... mais aqui vai uma de como colocar um bmp

https://www.devmedia.com.br/articles/viewcomp.asp?comp=1873


GOSTEI 0
Vandeir

Vandeir

13/03/2007

Obrigado pela dica amigo, mas colocar apenas uma imagem de fundo eu consegui, o que eu queria era colocar várias e o sistema fizesse a rotatividade das imagens toda vez que for iniciar.

Eu vi um sistema que têm essa função. O caminho das imagens são gravados num campo tipo blob e as imagens fica numa pasta no disco. Agora o que eu não dou conta é de fazer é o codigo para pegar esse caminho do campo blob e jogar essa imagem no componete Timage.


GOSTEI 0
Marco Salles

Marco Salles

13/03/2007

Gostaria de selecionar algumas imagens e colocar numa pasta e daí fazer com que toda que inicie o sistema ele carrege essas imagens para o formulário principal de forma alternada. Por favor alguém poderia me ajudar a fazer isso, pois estou iniciando no Delphi e não consegui fazer.


function TForm1.RetornarCaminhoValido(Folder,Filter:String): String; var sr: TSearchRec; i: Integer; MeusJpegs:TstringList; begin MeusJpegs:=TstringList.Create; if FindFirst (Folder + Filter, faAnyFile, sr) = 0 then repeat MeusJpegs.Add(Folder + sr.Name) until FindNext(sr) <> 0; FindClose(sr); randomize; result:=MeusJpegs.Strings[random((MeusJpegs.Count)-1)]; MeusJpegs.Free; end;


procedure TForm1.FormCreate(Sender: TObject); var Arquivo:String; begin Arquivo:=RetornarCaminhoValido(´C:\CaminhoValido\´,´*.Jpg´); image1.Picture.LoadFromFile(Arquivo); end;


P:S :arrow: Deixe seu Image1;Picture no Projeto sem nada carregado

P:s :arrow: Deixe a propreidade Stretch do Image1 em True

Boa sorte


GOSTEI 0
Vandeir

Vandeir

13/03/2007

Amigo Marcos Salles, funcionou perfeitamente, ficou muito bom mesmo. Agora eu queria tirar só mais uma dúvida com vc. Será que no código onde informamos o caminho que está a pasta com as imagens teria como pedir pra ele pegar o caminho num arquivo ini, porque daí se eu colocar o sistema em rede posso colocar apenas uma pasta de imagens no servidor e informar o caminho no arquivo ini.

Grato,

Vandeir


GOSTEI 0
Marco Salles

Marco Salles

13/03/2007

Será que no código onde informamos o caminho que está a pasta com as imagens teria como pedir pra ele pegar o caminho num arquivo ini,


Acredito que fica ate mais fácil... Mais tarde vou ver se post algo

Boa sorte


GOSTEI 0
Marco Salles

Marco Salles

13/03/2007

Fiz o seguinte

Tenho o Arquivo Ini co a secção inicializada em :

[b:2dffd758b0][Caminho][/b:2dffd758b0] 0=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0275.JPG 1=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0276.JPG 2=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0277.JPG 3=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0278.JPG 4=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0279.JPG 5=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0280.JPG 6=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0281.JPG 7=C:\TurmaDelphi\Cadastro\Fotos\Inverno2006\HPIM0282.JPG


Agora para ler eu faço assim:

var caminho:String; Config:TIniFile; begin Config:=TIniFile.Create(´endereçoDo Arquivo Ini/NomeArquivo.Ini´); caminho:=´´; randomize; while caminho = ´´ do begin //Restrição i:=random(6); //[b:2dffd758b0]tenho que a priori saber a Quantidade de Imagens[/b:2dffd758b0] caminho:=Config.ReadString(´caminho´,inttostr(i),´´); end; config.Free; Image1.Picture.LoadFromFile(caminho); end;


Com eu disse , parece ser mais tranquilo:

[b:2dffd758b0]P:S Eu não tive tempo de procurar , mais deve existir algo que retorne
a quantidade de elementos de Uma secção... Uma espécie de [b]Count[/b:2dffd758b0]

De Posse disso podemos tirar a [b:2dffd758b0]restrição[/b:2dffd758b0][/b]


GOSTEI 0
Vandeir

Vandeir

13/03/2007

Arquivo:=RetornarCaminhoValido(´C:\CaminhoValido\´,´*.Jpg´);
image1.Picture.LoadFromFile(Arquivo);


Então Marco das duas formas funcionou muito bem, porém no primeiro exemplo pra colocar em rede deve se colocar uma pasta imagem em cada estação. A segunda pode se colocar apenas uma pasta no servidor, mas fica muito díficil pq o usuário têm que configurar manualmente o arquivo ini com o caminho de cada imagem.

Vou continuar tentando e pesquisando para ver se consigo acha alguma coisa que possa me ajudar a fazer com que eu informe no arquivo ini somento o caminho (´C:\CaminhoValido\´,´*.Jpg´), daí o sistema le esse caminho no arquivo e possa carregar as imagens a partir dele.

Mas os dois exemplos ficaram muito bom e funcionaram 100¬. Grato pela ajuda.

Vandeir


GOSTEI 0
POSTAR