lucas_rc 0 Denunciar post Postado Julho 30, 2007 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
Hugo Slepicka 0 Denunciar post Postado Julho 30, 2007 Acho que você pode passar direto o TStrings para o Lines do Memo.. Saca o exemplo: procedure TForm1.FormCreate(Sender: TObject);Var teste : TStrings;begin Memo1.Lines := teste;end; Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
lucas_rc 0 Denunciar post Postado Julho 30, 2007 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
Hugo Slepicka 0 Denunciar post Postado Julho 30, 2007 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
lucas_rc 0 Denunciar post Postado Julho 30, 2007 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
Rodrigo Miss 1 Denunciar post Postado Julho 30, 2007 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
lucas_rc 0 Denunciar post Postado Julho 31, 2007 Vlw Cara deu certinho com algumas alterações na função.... Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Julho 31, 2007 opa beleza aew fera ... Compartilhar este post Link para o post Compartilhar em outros sites