Formatar String, tem como?
25/01/2006
0
Será que alguem tem alguma função para formatar string?
tipo, no meu arquivo texto eu trago tudo como texto (string), porem eu queria que ao passar a formatacao ele formatasse a string... do tipo:
string: mask result 01012001 dd/mm/yyyy 01/01/2001 500 R$#,0.00 R$500,00
Alguem teria uma função pra isso? ou o próprio delphi tem?
Obrigado desde já...
[]s
Titanius
Posts
25/01/2006
Aasn
O Delphi tem várias funções e procedures para formatação de strings, dê uma olhada no help em ´Format Strings´ para ver qual se encaixa melhor.
tente essa:
procedure FmtStr(var StrResult: string; const Format: string; const Args: array of const); ex: FmtStr(VariavelFinal, "#,0.00", [VariavelOriginal]);
[]´s
AASN
25/01/2006
Titanius
procedure FmtStr(var StrResult: string; const Format: string; const Args: array of const); ex: FmtStr(VariavelFinal, "#,0.00", [VariavelOriginal]);
Valeu... vou dar uma lida...
Obrigado.
25/01/2006
Michael
O Delphi provê a função [b:089dc51585]Format[/b:089dc51585], que recebe uma string com determinadas máscaras, e as substitui por valores não-string. Veja um exemplo:
var S: string; begin S := Format(´Meu nome é ¬s e tenho ¬d anos´, [´Michael´, 21]); // S será Meu nome é Michael e tenho 21 anos end;
Acho difícil fazer o que vc mencionou (01012001 e a máscara dd/mm/yyyy), pois como saber que [b:089dc51585]dd [/b:089dc51585]significa os 2 primeiros digitos (e se tivesse só 1?), e [b:089dc51585]mm [/b:089dc51585]o 3º e o 4º e assim por diante?.
Pesquise no help do Delphi por [b:089dc51585]Format function[/b:089dc51585] e [b:089dc51585]Format strings[/b:089dc51585], para conhecer melhor a função e saber quais máscaras estão disponíveis.
Colega [b:089dc51585]AASN[/b:089dc51585], a procedure [b:089dc51585]FmtStr [/b:089dc51585]faz a mesma coisa que [b:089dc51585]Format[/b:089dc51585], mas passa a string formatada para a variável informada no primeiro parâmetro, pois trata-se de uma procedure. Aliás, Format chama FmtStr internamente. E a máscara que vc informou infelizmente não é suportada pela função. :-(
[]´s
25/01/2006
Titanius
no caso consegui resolver em partes, pois precisava mesmo soh pra numeros, as datas nao... :D
Michael aproveitando... só pra nao abrir outro topico..
tenho um aplicativo que usa ClientDataSet, pois bem, sei que ele usa o midas.dll, aí pra nao levar essa dll pro usuario eu coloquei Midas no uses do Formulario.. pois bem, teoricamente nao deveria usar o midas.dll nao eh? mas quando eu abro a tela e abro o CDS, no Event Log do debug aparece lá :
Module load: midas.dll blablablabla..
ou seja, mesmo assim terei que levar o midas.dll?
[]s
25/01/2006
Michael
Esqueci de mencionar, mas vc pode usar tbm [b:675d15bbac]expressões regulares[/b:675d15bbac], e aí tratar a string do jeito q vc quiser. Não há uma maneira nativa de se fazer isso com o Delphi, mas existem componentes free para a tarefa. Se precisar usar, é só dizer que te indico um excelente.
Sobre o ClientDataSet, a unit não é [b:675d15bbac]MidasLib[/b:675d15bbac], ao invés de [b:675d15bbac]Midas[/b:675d15bbac]?
[]´s
25/01/2006
Titanius
Cara, era isso mesmo.. o estranho eh que não estava dando erro na compilação.. eh mole!?!
Obrigado,
[]s
Clique aqui para fazer login e interagir na Comunidade :)