Trabalhar com Arquivo .INI para resolver meu problema de imagens em relatorio usando QuickReport

01/07/2009

Prezado Rodrigo,                      Hoje 1/07/2009, estou repetindo a minha ultima mensagem neste novo chamado, para aprender a trabalhar com arquivo .INI e solucionar o meu problema de imagens no QuickReport, conforme voce falou que já se utilizou deste recurso.                        Obrigado pela sua solução.                      " Você poderia me dar um exemplo, já que eu nunca trabalhei com arquivos .INI? Lembrando que cada usuário vai ter que escolher seu próprio Logotipo, dessa forma no programa tenho que colocar uma opção como já existe, para gravar este arquivo .INI."                        Atenciosamente, aguardo a sua resposta.                                Pedro da Conceição 
Pedro Conceição

Pedro Conceição

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

01/07/2009

Olá Pedro,
  estou analisando seu chamado. Vamos lá.

  Primeira coisa a se trbalhar com arquivo INi, você tem que dar Uses em IniFiles

  Vamos agora ao exemplo.
  No onCreate do Form, faça o seguinte

procedure TForm1.FormCreate(Sender: TObject);
var
  Ini: TIniFile;
begin
  // Ler no Arquivo INI
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Ini.WriteInteger( 'Form', 'Top', Top);
    Ini.WriteInteger( 'Form', 'Left', Left);
    Ini.WriteInteger( 'Form', 'Width', Width);
    Ini.WriteInteger( 'Form', 'Height', Height);
    Ini.WriteString( 'Form', 'Edit1', Edit1.Text );
    Ini.WriteBool( 'Form', 'InitMax', WindowState = wsMaximized );
  finally
    Ini.Free;
  end;
end;


Dicas do código :
     WriteInteger : Para você poder escrever um valor Inteiro  no teu Arquivo;
     WriteString   : Para você poder escrever um valor string    no teu Arquivo;
     WriteBool      : Para você poder escrever um valor boolean no teu Arquivo;

      Form : Propriedade onde você vai estar trabalhando
      Top, Left, Width, Edit1,InitMax :  Propriedade que vai ser gravada no arquivo ini, como se fosse uma tag HTML


  No OnClose do Form, faça o Seguinte
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Ini: TIniFile;
begin
  // Escrever no Arquivo INI
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
    Ini.WriteInteger( 'Form', 'Top', Top);
    Ini.WriteInteger( 'Form', 'Left', Left);
    Ini.WriteInteger( 'Form', 'Width', Width);
    Ini.WriteInteger( 'Form', 'Height', Height);
    Ini.WriteString( 'Form', 'Edit1', Edit1.Text );
    Ini.WriteBool( 'Form', 'InitMax', WindowState = wsMaximized );
  finally
    Ini.Free;
  end;
end;



   O arquivo INI propriamente dito, como fica :

[Form]
Top=100
Left=100
Width=428
Height=316
Edit1=wes
InitMax=0


  Com isso você pode adaptar a sua necessida, criar uma tela de configuração do relatório, onde o seu usuário poderia carregar uma logo, ou o titulo de um relatório, ou mesmo você gravar as posições de onde ficariam o teu cabeçalho e rodapé.
  Espero que ajude.


Att,

Wesley Y

 
GOSTEI 0
Pedro Conceição

Pedro Conceição

01/07/2009

             Prezado Wesley,                        Eu compreendi mais ou menos. A minha dúvida está sendo como criar este arquivo .INI, com os campos tipo Blob, que serão as imagens que eu quero que saia nos relatórios, e como vou associar em tempo de execução estes campos com o componente QRDBImage ou o QRImage do QuickReport, já que o usuario vai escolher a imagem do logotipo que ele quer.                         Parece que o Rodrigo Mourão tem um exemplo.                         Obrigado. Aguardo a sua resposta.                         Atenciosamente,                                            Pedro da Conceição                      
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

01/07/2009

Olá,
  Segue abaixo o link do exemplo.
 
        http://www.4shared.com/file/115532720/d711cc85/QReport.html

  No mesmo você irá encontrar um formulário e 2 botões, no segundo botão você irá carregar a imagem ( BMP ), e no outro botão, você ira ler do arquivo INI, arquela imagem e jogar em um QrImage.

Att,

Wesley Y
GOSTEI 0
Pedro Conceição

Pedro Conceição

01/07/2009

Prezado Wesley,                Obrigado pela sua solução, só tem um problema: quando eu abro o projeto no Delphi, ele pede um unit que não está no diretório: "uFrmPrincipal.pas". Por favor me ajude, pois pelo que compreendi ali é que está o codigo que eu preciso.                 Obrigado, aguardo a sua resposta.                  Atenciosamente,                                    Pedro da Conceição
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

01/07/2009

Olá Pedro,
  Segue o link com a solução completa.

http://www.4shared.com/file/115801178/49bb0aa0/QReport2.html


Att,
Wesley Y
GOSTEI 0
Devmedia

Devmedia

01/07/2009

Pedro,
a resposta do consultor foi suficiente? Podemos encerrar o chamado?
GOSTEI 0
Devmedia

Devmedia

01/07/2009

Pedro,
por falta de retorno estamos encerrando o chamado. Caso ainda tenha dúvidas sobre o assunto do post, por favor, volte a postar aqui mesmo que o consultor voltará a lhe atender.
GOSTEI 0
Pedro Conceição

Pedro Conceição

01/07/2009

Prezado Consultor,               O meu problema foi resolvido. Obrigado.
GOSTEI 0
POSTAR