Separar informações de um texto padrão
Boa tarde.
Preciso de um auxílio.
Vou criar uma projeto novo em delphi e não estou conseguindo
chegar a uma rotina que faça o que eu preciso.
Seguinte...tenho um texto padrão
Exemplo de texto:
Demonstração para Cliente Prospect (Sem Instalação) no dia:
16/03/2016 - Horário: 15:00 - Falar com: Fulano de Tal -
Empresa: EMPRESA XYZ - Telefone: (41) 3333-4455 - Vendedor:
Vendedor A;
A partir deste texto, queria colá-lo em um memo, por exemplo
e extrair o nome do contato "Fulano De Tal", depois o nome
da empresa "EMPRESA XYZ" e depois o Telefone de Contato
"(41) 3333-4455".
Se observarem estes dados sempre estarão separados por : +
espaço + informação a ser capturada + espaço traço(-).
Preciso justamente achar na descrição a informação "Falar
com:" e capturar a proxima string. O mesmo vale para as
demais informações.
Como posso proceder?
Alguem pode me ajudar com o código fonte?
Preciso de um auxílio.
Vou criar uma projeto novo em delphi e não estou conseguindo
chegar a uma rotina que faça o que eu preciso.
Seguinte...tenho um texto padrão
Exemplo de texto:
Demonstração para Cliente Prospect (Sem Instalação) no dia:
16/03/2016 - Horário: 15:00 - Falar com: Fulano de Tal -
Empresa: EMPRESA XYZ - Telefone: (41) 3333-4455 - Vendedor:
Vendedor A;
A partir deste texto, queria colá-lo em um memo, por exemplo
e extrair o nome do contato "Fulano De Tal", depois o nome
da empresa "EMPRESA XYZ" e depois o Telefone de Contato
"(41) 3333-4455".
Se observarem estes dados sempre estarão separados por : +
espaço + informação a ser capturada + espaço traço(-).
Preciso justamente achar na descrição a informação "Falar
com:" e capturar a proxima string. O mesmo vale para as
demais informações.
Como posso proceder?
Alguem pode me ajudar com o código fonte?
Fábio Sela
Curtidas 0
Respostas
Gilberto Moura
16/03/2016
....
GOSTEI 0
Marco Antônio
16/03/2016
Fábio bom dia, a idéia é a mesma do outro post que você questionou sobre 'LOCALIZAR STRING EM ARQUIVO TXT E COPIAR TEXTO APÓS TEXTO'. Ao invés de colocar no memo vc colocaria em uma 'TStringList' e através do loop com a função pos() você extrai o texto desejado. Lembrando que você tem que copiar até o primeiro '-'( hifém). Mais ou menos seria assim: var xxTexto : string; xxContato : string; xxEmpresa : string; xxTelefone : string; i: Integer; y : integer; Lista: TStringList; begin xxContato := ''; xxEmpresa := ''; xxTelefone := ''; Try Lista := TStringList.Create; if FileExists(Edit1.Text) then begin Lista.LoadFromFile(Edit1.Text); for i := 0 to Lista.Count - 1 do begin xxTexto := Lista[i]; if pos('Falar com:', xxTexto ) > 0 then begin xxTexto := copy( xxTexto , pos('Falar com:', xxTexto ) + 10 , length( xxTexto ) ); for y := 1 to length( xxTexto ) do begin if xxTexto[ y ] = '-' then break; xxContato := xxContato + xxTexto[ y ]; end; end; if pos('Empresa:', xxTexto ) > 0 then begin xxTexto := copy( xxTexto , pos('Empresa:', xxTexto ) + 8 , length( xxTexto ) ); for y := 1 to length( xxTexto ) do begin if xxTexto[ y ] = '-' then break; xxEmpresa := xxEmpresa + xxTexto[ y ]; end; end; if pos('Telefone:', xxTexto ) > 0 then begin xxTexto := copy( xxTexto , pos('Telefone:', xxTexto ) + 9 , length( xxTexto ) ); for y := 1 to length( xxTexto ) do begin if xxTexto[ y ] = '-' then break; xxTelefone := xxTelefone + xxTexto[ y ]; end; end; end; end; Finally Lista.Free; End; end; ShowMessage( 'Capturei contato: ' + xxContato ); ShowMessage( 'Capturei empresa: ' + xxEmpresa ); ShowMessage( 'Capturei telefone: ' + xxTelefone ); créditos à: https://www.devmedia.com.br/forum/localizar-string-em-arquivo-txt-e-copiar-texto-apos-texto/547588 Abc.
GOSTEI 0
Fábio Sela
16/03/2016
Obrigado, vou testar aqui.
GOSTEI 0