Esse artigo faz parte da revista Clube Delphi Edição 59. Clique aqui para ler todos os artigos desta edição
Manipulação de Strings Dicas e técnicas úteis O Delphi possui funções bastante úteis para a manipulação de dados do tipo string, muitas desconhecidas pela maioria dos desenvolvedores. Uma das principais rotinas com certeza é a StringReplace, discutida neste artigo,onde criaremos um template processor. No final, veremos como usar uma classe bastante útil relacionada ao assunto: TStringList. A função StringReplace A função StringReplace é bastante útil para localizar e substituir substrings armazenadas dentro de uma string. A rotina é definida da seguinte forma: function StringReplace(const S. OldPattern, NewPattern: string: Flags: TReplaceFlags): string; Parâmetros: . S: é a string de origem que possui as substrings a serem localizadas e alteradas; .OldPattern: substring que será localizada e substituída pela string passada em NewPattern; .NewPattern: substring que irá substituir as ocorrências da string passada em OldPattern; .Flags: conjunto de opções que são utilizadas como critério para localização e substituição da string passada em OldPattern.Os valores possíveis para esse parâmetro são: .rfReplaceAll: substitui todas as ocorrências de OldPattern. Caso essa opção não esteja presente, apenas a primeira ocorrência será substituída; . rflgnoreCase:compara a substring sem diferenciar entre letras maiúsculas e minúsculas. Vamos fazer um exemplo simples utilizando essa função. Nossa aplicação irá gerar um documento para verificação de endereço de cada cliente cadastrado, a partir de um arquivo de template. Ou seja, vamos criar um template processor. Nota: Um template processor permite executar buscas fazendo substituições em um arquivo' de template, trocando tags (ou símbolos) por dados. É bastante utilizado para criar aplicativos de mala-direta. Inicie uma nova aplicação VCL no Delphi (File|New>VCL Forms Application) e adicione no formulário os seguintes componentes: dois Memos ("mmTemplate" e "mmProcessado"), um BitBtn, um DataSource ("dsCustomer"), um ClientOataSet ("cdsCustomer") e um DBGrid. Aponte a propriedade DataSource do DBGrid para o dsCustomer e DataSet de dsCustomer para cdsCustomer,Usaremos como fonte de dados o arquivo customer.xml que acompanha o Delphi. Para isso, basta clicar com o botão direito do mouse sobre o cdsCustomer e escolher a opção Load from MyBase table. Selecione o arquivo citado anteriormente, que está localizado por padrão no diretório c:\Arquivosde programas\Arquivos comuns\Borland Shared\Data. Dica: Você pode usar a mesma técnica com outros tipos de DataSets, como Query, Table, IBTable, ADOTable etc. Adicione o seguinte código na seção private do formulário: function ProcessarTemplate(const ArqTemplate: string; Registro: TDataSet): string; Implemente o método conforme mostrado na Listagem 1. O código varre o texto passado no parâmetro ArqTemplate, procurando e substituindo as tags do template por dados armazenados no DataSet passado no parâmetro Registro.A função faz a busca pelo nome de cada campo do DataSet substituindo por seu valor. O processo de busca e substituição é feito utilizando a função StringReplace e seus argumentos. Para o evento OnClick do botão digite o seguinte código: mmProcessado.Text := ProcessarTemplate(mmTemplate.Text.cdsCustomer); Listagem1. Função para processar o template ... 
Artigo Clube Delphi 59 - Manipulação de Strings
Artigo da Revista Clube Delphi Edição 59.
Quer ler esse conteúdo completo?
Tenha acesso completo
Confira outros conteúdos:
Instalando o ACBr
Mapeamento Objeto-Relacional com TMS...
Introdução aos componentes JEDI
Por
Everson
Em 2010
<Perguntas frequentes>
Carreira
Metodologia
Assinatura e Pagamentos
Cadastro