Olá pessoal,
tô fazendo uma exportação para arquivo txt com posição e tamanho do campo definidos. O problema tá no valor numérico. tenho que exportar o valor do campo e completar com 'ESPA??OS EM BRANCO' a esquerda. Alguém tem uma dica de como fazer?
Desde já, agradeço.
Jocildo Andrade
Exportação para arquivo txt
-
- Mensagens: 5
- Registrado em: Janeiro 12th, 2011, 10:33 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
-
- Mensagens: 7
- Registrado em: Março 9th, 2012, 5:36 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Exportação para arquivo txt
Jocildo, veja se meu exemplo abaixo te ajuda.
Tem uma função
MascValor(Valor: Extended; Mascara: string): string;
onde você passa um valor, a mascara e ela retorna o uma string com a máscara que você definiu.
No exemplo abaixo a máscara retornara o valor passado com os BRANCOS a esquerda.
procedure TFormGruposDeCC.Button1Click(Sender: TObject);
begin
MessageDlg('VALOR:'+#39+MascValor(123.45,'-ZZ.ZZZ.ZZ9,99')+#39, mtError, [mbOk], 0);
end;
Testa na tua exportação e posta o resultado para nós.
Um abraço,
Marcelo
Tem uma função
MascValor(Valor: Extended; Mascara: string): string;
onde você passa um valor, a mascara e ela retorna o uma string com a máscara que você definiu.
No exemplo abaixo a máscara retornara o valor passado com os BRANCOS a esquerda.
procedure TFormGruposDeCC.Button1Click(Sender: TObject);
begin
MessageDlg('VALOR:'+#39+MascValor(123.45,'-ZZ.ZZZ.ZZ9,99')+#39, mtError, [mbOk], 0);
end;
Testa na tua exportação e posta o resultado para nós.
Um abraço,
Marcelo
-
- Mensagens: 65
- Registrado em: Janeiro 12th, 2011, 10:03 am
- Localização: Ribeirão Preto SP
- Contato:
Re: Exportação para arquivo txt
Olá
Poderia usar
Linha := Linha + StrZer(DDMMAAAA(TabGlobal.DTitulos.VENCTO.ValorString),8);
---> Linha := Linha + LimpaNumeros(FormatFloat('000000.00',TabGlobal.DTitulos.VALOR.Conteudo));
Linha := Linha + StrZero(TabGlobal.DTitulos.parcela.Conteudo,3);
Funções usadas
function LimpaNumeros(const Dados: string): string;
var
Contar: integer;
Resultado: string;
begin
Resultado := '';
for Contar := 1 to Length(Dados) do
begin
if Pos(Copy(Dados, Contar, 1), '-.0123456789') > 0 then
begin
if Copy(Dados, Contar, 1) = '.' then
Resultado := Resultado + ','
else
Resultado := Resultado + Copy(Dados, Contar, 1);
end;
end;
if Copy(Resultado, 0, 1) = ',' then
Resultado := '0' + Resultado;
if Copy(Resultado, Length(Resultado), 1) = ',' then
Resultado := Resultado + '00';
Result := Resultado;
end;
Poderia usar
Linha := Linha + StrZer(DDMMAAAA(TabGlobal.DTitulos.VENCTO.ValorString),8);
---> Linha := Linha + LimpaNumeros(FormatFloat('000000.00',TabGlobal.DTitulos.VALOR.Conteudo));
Linha := Linha + StrZero(TabGlobal.DTitulos.parcela.Conteudo,3);
Funções usadas
function LimpaNumeros(const Dados: string): string;
var
Contar: integer;
Resultado: string;
begin
Resultado := '';
for Contar := 1 to Length(Dados) do
begin
if Pos(Copy(Dados, Contar, 1), '-.0123456789') > 0 then
begin
if Copy(Dados, Contar, 1) = '.' then
Resultado := Resultado + ','
else
Resultado := Resultado + Copy(Dados, Contar, 1);
end;
end;
if Copy(Resultado, 0, 1) = ',' then
Resultado := '0' + Resultado;
if Copy(Resultado, Length(Resultado), 1) = ',' then
Resultado := Resultado + '00';
Result := Resultado;
end;
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes