Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
oneshotbr Colaborador
Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Qua Mar 20, 2013 7:53 am Assunto: Problemas ao ler arquivo ini em tempo de execução. RESOLVIDO |
|
|
Eu estou usando skins e papel de parede em meu sistema ambos usam arquivos .ini como diretórios, eu consigo criar e alterar porém as alterações só dão efeito quando o sistema reinicia e eu queria trocar o papel de parede e a skin em tempo de execução.
Esse é o código usado para gravar um novo papel e ele grava mas não carrega no mesmo momento
Código: | frmprincipal.Image1.Picture.LoadFromFile(Flb_image.FileName);
InvalidateRect(frmprincipal.ClientHandle, nil, False);//invalida a área para ser repintada.
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'conf.ini');
ini.WriteString('PAPEL DE PAREDE','IMAGEM',Flb_image.FileName);
ini.WriteString('PAPEL DE PAREDE','TIPO',ComboBox1.Text); |
_________________ AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64.
Editado pela última vez por oneshotbr em Qui Mar 21, 2013 10:17 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
Batera Colaborador
Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Qua Mar 20, 2013 7:24 pm Assunto: |
|
|
Rapaz, no meu sistema eu só uso essa linha
Código: | frmprincipal.Image1.Picture.LoadFromFile(Flb_image.FileName); |
Para alterar a imagem em tempo de execução.
Só to estranhando a linha logo após ela:
Código: | InvalidateRect(frmprincipal.ClientHandle, nil, False);//invalida a área para ser repintada. |
Já tentou removê-la pra ver se dá certo? |
|
Voltar ao Topo |
|
|
oneshotbr Colaborador
Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Qui Mar 21, 2013 7:51 am Assunto: |
|
|
Citação: | Rapaz, no meu sistema eu só uso essa linha
Código:
frmprincipal.Image1.Picture.LoadFromFile(Flb_image.FileName);
Para alterar a imagem em tempo de execução.
Só to estranhando a linha logo após ela:
Código:
InvalidateRect(frmprincipal.ClientHandle, nil, False);//invalida a área para ser repintada.
Já tentou removê-la pra ver se dá certo? |
Removi ela mas não adiantou! _________________ AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64. |
|
Voltar ao Topo |
|
|
johnny-walker Moderador
Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Qui Mar 21, 2013 9:48 am Assunto: |
|
|
Eis aí amigo, fiz o teste e funcionou perfeitamente:
Código: | var
Form1: TForm1;
ini: TIniFile;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
if Flb_image.Execute then
begin
try
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'conf.ini');
Form1.Image1.Picture.LoadFromFile(Flb_image.FileName);
InvalidateRect(Form1.ClientHandle, nil, False);//invalida a área para ser repintada.
ini.WriteString('PAPEL DE PAREDE','IMAGEM',Flb_image.FileName);
ini.WriteString('PAPEL DE PAREDE','TIPO', ComboBox1.Text);
finally
//Delphi_3
ini.Free;
//FreeAndNil(ini)
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Wallpaper: String;
begin
try
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'conf.ini');
Wallpaper := ini.ReadString('PAPEL DE PAREDE','IMAGEM', Wallpaper);
Image1.Picture.LoadFromFile(Wallpaper);
finally
//Delphi_3
ini.Free;
//FreeAndNil(ini)
end;
end; |
Fiz em delphi 3, visto que utilizo ele para ambiente de teste de funções simples do pascal, pois é bem leve a ide, carrega e compila rápido.
bye
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
|
oneshotbr Colaborador
Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Qui Mar 21, 2013 10:16 am Assunto: |
|
|
Johnny-Walker e Batera.
O problema era um erro onde eu estava criando 2x o formulário principal.
Já resolvi!
Muito obrigado pela ajuda dos 2. _________________ AMD Phenom II X4 960T 3.00 GHz - 8 GB DDR III - HD 1000 GB SATA - GeForce GTX 650 TI GDDR 5 - Monitor 21,5" Full HD - Kubuntu 14.04 + Windows 7 Professional x64. |
|
Voltar ao Topo |
|
|
johnny-walker Moderador
Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Qui Mar 21, 2013 11:35 am Assunto: |
|
|
Duas vezes... Geralmente deixo o form principal em autocreate e os demais sob demanda.
Mas que bom que resolveu.
boa sorte.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
|
|