Formatar String, tem como?
Olá amigos,
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:
Alguem teria uma função pra isso? ou o próprio delphi tem?
Obrigado desde já...
[]s
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
Curtidas 0
Respostas
Aasn
25/01/2006
Olá Titanius,
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:
[]´s
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
GOSTEI 0
Titanius
25/01/2006
Olá Titanius,
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:
[]´s
AASN
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.
GOSTEI 0
Michael
25/01/2006
Olá!
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:
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
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
GOSTEI 0
Titanius
25/01/2006
vixi..
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
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
GOSTEI 0
Michael
25/01/2006
Se for apenas para formatar números em uma string, então Format resolve. ;-)
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
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
GOSTEI 0
Titanius
25/01/2006
Sobre o ClientDataSet, a unit não é [b:bb66f00b76]MidasLib[/b:bb66f00b76], ao invés de [b:bb66f00b76]Midas[/b:bb66f00b76]?
[]´s
Cara, era isso mesmo.. o estranho eh que não estava dando erro na compilação.. eh mole!?!
Obrigado,
[]s
GOSTEI 0