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.
Confira outros conteúdos:
Instalando o ACBr
Mapeamento Objeto-Relacional com TMS...
Introdução aos componentes JEDI
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.