logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

Mesclar variáveis em textos estáticos
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
jsaraujo
Membro Junior


Registrado em: Quarta-Feira, 31 de Março de 2004
Mensagens: 71
Localização: Anapolis - Goias

MensagemEnviada: Qua Mar 31, 2004 5:08 pm    Assunto: Mesclar variáveis em textos estáticos Responder com Citação

Boa tarde,

Estou desenvolvendo um sistema controlador de laudos médicos e neste sistema, preciso guardar os laudos que são digitados pelos usuários.
Deverá acontecer da seguinte maneira:

O usuário digitará um laudo médico padrão em um editor de texto interno do sistema informando os campos que serão necessários para a emissão ao paciente, como em uma mala direta do Word, este laudo digitado servirá de modelo para os exames de ultra-sonografia por exemplo.
O sistema esta sendo desenvolvido em delphi 7 e utilizando o gerador de relatórios Report Builder, quero saber se é possível também utilizar o Report Builder para fazer a mesclagem dos dados de um paciente ao texto do laudo, se for possível alguém teria uma rotina de exemplo para que possa implementar no sistema aqui do hospital.

Abaixo segue um exemplo:

Texto ainda sem mesclagem

Nome do Hospital

Tipo de Laudo: Ultra-sonografia - OBSTÉTRICA VARIAVEIS

Paciente: <<paciente>>
CPF: <<cpf>>
Endereço: <<endereco>>

O exame ecográfico mostra bexiga com boa repleção, paredes regulares, contornos
anatômicos e conteúdo anecóico normal.

Texto após a mesclagem

Nome do Hospital

Tipo de Laudo: Ultra-sonografia - OBSTÉTRICA VARIAVEIS

Paciente: Fulano da Silva
CPF: 999.888.777-66
Endereço: Rua dos Exemplos S/N

O exame ecográfico mostra bexiga com boa repleção, paredes regulares, contornos
anatômicos e conteúdo anecóico normal.

--------------------------------------

Observação: os textos que serão inseridos no sistema, utilizarão formatações normais, como negrito, alinhamento justificado, cores nas fontes. A ajuda de vocês nos será muito útil.

Desde já agradeço...

Título editado pelo Moderador (AZ) - Removido: "DESAFIO - BEM INTERESSANTE"
_________________
Jeferson
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
sremulador
Membro Senior


Registrado em: Quarta-Feira, 16 de Abril de 2003
Mensagens: 1520
Localização: Bragança - Pará

MensagemEnviada: Qua Mar 31, 2004 5:40 pm    Assunto: Responder com Citação

Ola amigo eu também trabalho com desenvolvimento de softs para Hospitais se puder entar en contato comigo pelo msn terei o maior prazer em ajudar.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário MSN Messenger
Aroldo Zanela
Membro Senior


Registrado em: Quinta-Feira, 20 de Fevereiro de 2003
Mensagens: 5526
Localização: Brasília - DF

MensagemEnviada: Qua Mar 31, 2004 6:39 pm    Assunto: Responder com Citação

Colega,

Eu faria utilizando o próprio Word integrado à aplicação. Procure por OleAutomation no link acima pesquisar que eu já coloquei exemplos de como localizar e substituir variáveis dentro do Word.
_________________
Atenciosamente,

[]'s
Aroldo Zanela

"Parece que é difícil, mas não é fácil não..."
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email
FFC
Membro Junior


Registrado em: Domingo, 29 de Junho de 2003
Mensagens: 70
Localização: Anápolis

MensagemEnviada: Qua Mar 31, 2004 7:20 pm    Assunto: Re: Mesclar variáveis em textos estáticos Responder com Citação

Amigo não é interessante usar o WORD porque seu sistema será responsável pelo WORD e dependera dele, não acho uma boa idéia.
vc sabe como é usuário !!!

é uma boa idéia da forma que vc esta fazendo, e sei que tem muitos software que são assim sem depender de WORD.

peço que se algum amigo do fórum souber fazer este tipo rotinas que nós passem !!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email Visitar a homepage do Usuário Yahoo Messenger
Aroldo Zanela
Membro Senior


Registrado em: Quinta-Feira, 20 de Fevereiro de 2003
Mensagens: 5526
Localização: Brasília - DF

MensagemEnviada: Qua Mar 31, 2004 8:57 pm    Assunto: Responder com Citação

Colega,

Ainda acho que o Word seria mais apropriado. No entanto, preparei uma dica que poderá servir de caminho:

Código:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    RichEdit1: TRichEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TProcuraTroca = Class
      Linha: String;
    ProcurarPor: String;
    TrocarPor: String;
    procedure Clear;
    procedure Execute;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var LerLaudo: TStringList;
      Texto: TStringList;
    Linha: String;
      nI, nX: Integer;
    ProcuraTroca: TProcuraTroca;
begin

   ProcuraTroca := TProcuraTroca.Create;

   LerLaudo    := TStringList.Create;
  Texto     := TStringList.Create;

  Texto.Clear;
  LerLaudo.LoadFromFile('c:\textos\laudo_01.txt');

  nX := LerLaudo.Count -1;

  For nI := 0 To nX do
  begin

     With ProcutaTroca do
    begin
        Clear;
       Linha               := LerLaudo.Strings[nI];

       ProcurarPor     := '@hospital_';
       TrocarPor         := 'Santa Casa de Misericórdia';
       Execute;

       ProcurarPor     := '@paciente_';
       TrocarPor        := 'Teste com sunstituição do paciente';
       Execute;

       ProcurarPor     := '@cpf_';
       TrocarPor        := '999.999.999/99';
       Execute;

       ProcurarPor     := '@endereco_';
       TrocarPor        := 'Santa Casa de Misericórdia';
       Execute;

       Texto.Add(Linha);
     end;
  end;

  RichEdit1.Lines.Assign(Texto);
  Texto.Free;
  LerLaudo.Free;
end;

{ TProcuraTroca }

procedure TProcuraTroca.Clear;
begin
   Linha:= '';
  ProcurarPor := '';
  TrocarPor := '';
end;

procedure TProcuraTroca.Execute;
var nPos: Integer;
begin
   nPos := Pos(ProcurarPor, Linha);
  if nPos>0 then
  begin
     Delete(Linha, nPos, Length(ProcurarPor));
     Insert(TrocarPor, Linha, nPos);
   end;
end;

end.


Texto original (Laudo_01.txt):

    @hospital_

    Tipo de Laudo: Ultra-sonografia - OBSTÉTRICA VARIAVEIS

    Paciente: @paciente_
    CPF: @cpf_
    Endereço: @endereco_

    O exame ecográfico mostra bexiga com boa repleção, paredes regulares, contornos
    anatômicos e conteúdo anecóico normal.


Texto "mesclado":

    Santa Casa de Misericórdia

    Tipo de Laudo: Ultra-sonografia - OBSTÉTRICA VARIAVEIS

    Paciente: Teste com sunstituição do paciente
    CPF: 999.999.999/99
    Endereço: Santa Casa de Misericórdia

    O exame ecográfico mostra bexiga com boa repleção, paredes regulares, contornos
    anatômicos e conteúdo anecóico normal.


Existem muitas outras alternativas, mas está me parece a mais simples.
_________________
Atenciosamente,

[]'s
Aroldo Zanela

"Parece que é difícil, mas não é fácil não..."
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibído.
Responder Tópicos Proibído
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB