Fórum Imprimindo Formatado #13077

16/12/2009

0

Boa tarde   Seguinte     Preciso imprimir um recibo formatado. Fiz o recibo no word com uma formação legal e salve ele como RTF. Depois,  atravez de marcações do tipo (<<nome>>)  usando a função stringreplace consigo substituir os campos que eu quero por campos e variaveis que estão no meu programa. Ate ai tudo lindo....so que quando o stringreplace é executado o texto perde toda a formatação. Tinha a opcao de imprimir isso via word mais as maquinas que vão emitir esse recibo nao possuem word.   Por favor como fazer para resolver esse problema.     Desde já agradeço.     Adriano
Adriano Silva

Adriano Silva

Responder

Posts

16/12/2009

Rodrigo Mourão

Olá Adriano,


Precisamos analisar seu código para poder verificar o que pode estar ocorrendo. Você poderá utilizar o disco virtual para poder nos postar o código.

https://www.devmedia.com.br/imagens/videos/4/Video%20disco%20virtual.htm

Não esqueça de nos enviar o Link.

Att,


Responder

Gostei + 0

16/12/2009

Adriano Silva

Segue o link com o programa     http://video.devmedia.com.br/discovirtual/179595/Recibo.zip     Desde já agradeço      
Responder

Gostei + 0

17/12/2009

Rodrigo Mourão

Ok Adriano,

Vou baixar, descompactar e analisar seu código.

Peço a gentleza que aguarde. Em breve entrarei em contato !!!

Att,


Responder

Gostei + 0

21/12/2009

Rodrigo Mourão

Olá Adriano,

Continuo trabalhanod no seu chamado, porem trabalho com maquina virtual e tive problemas com a minha MV com delphi.

Mas acabei de resolver e estarei dando sequencia !!!

Abs!!

Responder

Gostei + 0

02/01/2010

Wesley Yamazack

Olá amigo, eu fiz duas implementações veja se irá te ajudar, no primeiro eu deduzi as posições do conteúdo que você quer mudar, e no segundo eu localizei a plavra e mandei subistituir.


Modelo 1
procedure TForm1.Button1Click(Sender: TObject);
begin
 
  redt.SelStart := 414;
  redt.SelLength := 7;
  redt.SelText := Edit1.Text;

 
  redt.SelStart := 445;
  redt.SelLength := 15;
  redt.SelText := Edit2.Text;

 
  redt.SelStart := 657;
  redt.SelLength := 7;
  redt.SelText := Edit3.Text;
end;

Modelo 2

procedure TForm1.Button2Click(Sender: TObject);
Var
  posIni,Tamanho : Integer;
  Conteudo : String;
begin
  Conteudo := '<NOME>';
  posIni := Pos(Conteudo, redt.Text);
  Tamanho := Length(Conteudo);
  with redt do
  begin
    SelStart := (posIni - Tamanho) - 6;
    SelLength := Tamanho + 2;
    SelText := Edit1.Text;
  end;

  Conteudo := '<%REQUISICOES%>';
  posIni := Pos(Conteudo, redt.Text);
  Tamanho := Length(Conteudo);
  with redt do
  begin
    SelStart := (posIni - Tamanho) + 4;
    SelLength := Tamanho;
    SelText := Edit2.Text;
  end;

  Conteudo := '<total>';
  posIni := Pos(Conteudo, redt.Text);
  Tamanho := Length(Conteudo);
  with redt do
  begin
    SelStart := (posIni - Tamanho) - 7;
    SelLength := Tamanho;
    SelText := Edit3.Text;
  end;
end;


Veja se isso irá lhe ajudar, ou se você precisa de algum mais além desta dica.

Um abraço

Wesley Y
Responder

Gostei + 0

05/01/2010

Wesley Yamazack

Olá amigo,
  Consegui analisar o exemplo ?

Um abraço

Wesley Y
Responder

Gostei + 0

05/01/2010

Adriano Silva

Analizei sim, fiz algumas alterações e esta funcionando essa parte de alteração dos dados. Agora eu nao to conseguindo imprimir ele eu tento jogar esse TRichedit em um TQRRichText mas nao to conseguindo. Pelo que vi, tenho que jogar esse TRichEdit em uma TStream para assim jogar no TQRRichText. Se esse pensamento esta correto eu deveria fazer :     Var   T:TStream;   begin    t:=TMemorystream.Create;    redt.SaveToStream(T);    qrRichText.LoadFromStream(T);    QuickRep1.Preview    t.free; end;     So que o relatorio fica em branco. Veja por favor o que esta errado.   Obrigado      
Responder

Gostei + 0

05/01/2010

Wesley Yamazack

Olá amigo,
   Você quer simplesmente imprimir o texto alterado, seria isso ? Se for isso, você pode imprirmir direto pelo Delphi enviando um comando para o Word, mas isso lhe ajudaria ? Fico no aguardo

Um abraço

Wesley Y
Responder

Gostei + 0

05/01/2010

Adriano Silva

Entao.....exatamente isso que nao pode.....nao tem WORD nas maquinas. Por isso que te ser pelo quickrep. eu to fazendo o seguinte salvando o texto formatado em uma arquivo temporario e carregando ele no quickrep, fica certinho. So acho que por stream ficaria mais legal. Por favor, veja se tem como salvar no stream...se nao tiver....vai ficar via arquivo mesmo.     Um abraço
Responder

Gostei + 0

05/01/2010

Wesley Yamazack

Olá amigo,
  Peço que aguarde um pouco, pois vou ter que montar o ambiente, com delphi 7. E desenvolver o exemplo.

Att,

Wesley Y
Responder

Gostei + 0

08/01/2010

Wesley Yamazack

Olá amigo, tentei aqui fazer pelo Stream, porém não tive resultado, infelizmente, não vai ficar bonito como você queria. Porém já tem meio caminho andado certo ?

Um abraço

Wesley Y
Responder

Gostei + 0

11/01/2010

Wesley Yamazack

Olá amigo, podemos fechar o chamado ?

Att,

Wesley Y
Responder

Gostei + 0

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

Aceitar