Não sei muito bem como usar, muito menos no delphi.
Mas acho que você deveria tentar fazer algo com Expressão Regular
 Abraço

--
José Henrique (Zote)
 On 11/1/05, Patricia Santana <[EMAIL PROTECTED]> wrote:
>
> Boa tarde, a todos!!!
>
> Preciso formatar um texto com o seguinte formato:
> Dia/Mes/Ano - hora:00:00 - Texto
>
> São textos diferentes com posição e tamanho da data diferente.
>
> Vejam os exemplos :
>
> 1° )
> 16/06/2005267 - Autos carga ao curador de registros publicos - mp
> 15/06/2005070 - Profide-promotoria just def fil idoso port deficVISTA
>
> 2° )
> 19/10/2005BAIXA EM DEFINITIVO
> Vara: 11a Vara Cível de Brasilia
> Trânsito em Julgado: 17/10/2005
> 24/08/2005PARA JUNTAR PETIÇÃO
> Observação: pg n. 12466
> 13/04/2004PUBLICAÇÃO DE DESPACHO
> Magistrado : Des. VALTER XAVIER
> Espécie: Agravo de Instrumento
> Tipo: Outros
> Inteiro Teor do Despacho
> Publicado no DJ às fls. 24/26
>
> 3° )
> BAIXA REALIZADA 04/05/2001
> AGUARDA CUMPRIR DILIGÊNCIA BAIXAR 03/05/2001
> AUTOS REMETIDOS AO ESCRIVÃO ESCRIVÃO(Ã) 10122697 02/05/2001
> AGUARDA INTIMAR DIÁRIO OFICIAL 27/04/2001
>
>
> ******************************************************************************************
> Fiz a seguinte função para resolver meu problema :
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> i, j, B, K, PosB : integer;
> Linha, DataAux, Dia, Mes, Ano, Andamento : String;
> begin
> B := 0;
> for i := 1 to MemoTexto.Lines.Count -1 do
> begin
> Linha := MemoTexto.Lines.Strings[i];
> for j := 1 to Length(Linha)-1 do
> begin
> if Linha[j] in ['0'..'9','/',':'] then
> DataAux := copy(Linha, 0, j);
> end;
> B := 0;
> PosB := 0;
> for K := 1 to Length(DataAux) do
> begin
> if DataAux[K] = '/' then
> begin
> B := B + 1;
> if B = 1 then
> begin
> PosB := K;
> Dia := copy(DataAux, 0, K-1);
> end;
> if B = 2 then
> begin
> Mes := copy(DataAux, PosB +1,PosB-1);
> //ShowMessage('Mes:'+Mes);
> Ano := copy(DataAux, PosB + 4,Length(DataAux));
> //ShowMessage('Ano:'+Ano);
> end;
> end;
> end;
> if Length(Dia) = 1 then
> Dia := '0'+ Dia;
> if Length(Mes) = 1 then
> Mes := '0'+Mes;
> if Length(Ano)> 4 then
> Ano := copy(DataAux, PosB + 4,4);
> Andamento := copy(Linha, Length(Ano)+12,Length(Linha));
> MemoAndamento.Lines.Add(Dia+ '/' +Mes + '/'+ Ano + ' - ' + '00:00:00'+' -
> '+Andamento);
> end;
> end;
>
>
> Porém esta função só funciona para o 1° exemplo... Para os demais não
> funciona....
> Alguém tem uma única função para resolver meu probema?
> Vejam o retorno desta função usando o 1° Exemplo :
>
> 15/06/2005 - 00:00:00 - Profide-promotoria just def fil idoso port
> deficVISTA
> 15/06/2005 - 00:00:00 - Autos distribuidos ao cartorio
> 03/06/2005 - 00:00:00 - Autos com funcionario(a)WILL
> 02/06/2005 - 00:00:00 - Autos distribuidos ao cartorio
>
> Preciso deste formato em todos os textos....
>
> Alguém pode ajudar?
>
> Agradeço a atenção de todos....
>
> Patricia Santana
>
>
>
>
>
> ---------------------------------
> Promoção Yahoo! Acesso Grátis: a cada hora navegada você
> acumula cupons e concorre a mais de 500 prêmios! Participe!
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a