Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucas_rc

Substituindo em um tStrings

Recommended Posts

Boa Tarde galera,

 

Olha só tenho um memo que jogo o contéudo dele para uma variavel que trabalha com o tipo tStrings, chegando nesta variavel eu fção diversas alterações no texto sendo este uma complemento que o cliente pode montar o complemento do jeito que quizer, depois que eu substituir o texto preciso jogar de volta para o memo, acho que estou comentendo alguma falha boba será que alguem pode me ajudar???

 

 

Desde já agradeço...

 

A função que estou montando....

 

 

 

function SubstituirHistPad(DataLancamento, DataVencimento, CodPessoa, NomePessoa, NumeroDocumento, NumeroCheque, Gerenciador, DescricaoOperacao : String; Texto: TStrings) : TStrings;Var  Linha: string;  i,j, Posicao: Integer;  TextoProcurar, TextoSubst : array[0..7] of string;begin  TextoProcurar[0] := '<Data Lançamento>'      ;  TextoProcurar[1] := '<Data Vencimento>'      ;  TextoProcurar[2] := '<Cód.Pessoa>'           ;  TextoProcurar[3] := '<Nome Pessoa>'          ;  TextoProcurar[4] := '<Número Documento>'     ;  TextoProcurar[5] := '<Número Cheque>'        ;  TextoProcurar[6] := '<Gerenciador>'          ;  TextoProcurar[7] := '<Descrição da Operação>';  TextoSubst[0]    := DataLancamento   ;  TextoSubst[1]    := DataVencimento   ;  TextoSubst[2]    := CodPessoa        ;  TextoSubst[3]    := NomePessoa       ;  TextoSubst[4]    := NumeroDocumento  ;  TextoSubst[5]    := NumeroCheque     ;  TextoSubst[6]    := Gerenciador      ;  TextoSubst[7]    := DescricaoOperacao;  for i := 0 to Pred(Texto.Count          ) do  for j := 0 to Pred(Length(TextoProcurar)) do  BuscaTroca(Texto.Strings[i], TextoProcurar[j], TextoSubst[j]);  Result := Texto;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi justamente o que eu fiz...memComplemento.Lines := SubstituirHistPad(DateToStr(Date), DateToStr(Date), '1', 'Lucas Ribeiro Da Cunha', '12345', '67890', 'Caixa', 'Operação do Lucas', memComplemento.Lines);so que ele deixou meu memo vazio...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, você verificou se a sua função está realmente retornando o resultado??

 

Tenta jogar em uma variavel do tipo TStrings...

 

Faz um for percorrendo todas as posições dando um showmessage para ver se estão com o conteúdo correto...

 

e ai referencia ela no Lines... e veja o que que dá... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara o problema é a função mesmo ela não esta substituindo você tem alguma dica pra me dá olhando a função que postei no primeiro tópico, e estou usando internamente naquela função esta aqui...

function BuscaTroca(Text, Busca, Troca: String): String;var  n, i: integer;begin  i := length(Busca);  for n := 1 to length(Text) do  begin    if Copy(Text, n, i) = Busca then    begin      Delete(Text, n, i);      Insert(Troca, Text, n);    end;  end;  Result := Text;end;

Desde já agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra .... c eu entendi direito, minha funcao abaixo faz oke você quer:

function BuscaTroca(Text, Busca, Troca: String): String;begin  Result:= StringReplace(Text,Busca,Troca,[rfReplaceAll]);end;

ok!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.