Grvando Arquivo Texto
Boa tarde Pessoal,
Alguem sabe como eu saio deste problema?
Var Arq : System.Text;
AssignFile(Arq,´C:\Bruno.txt´);
Rewrite(Arq);
While Not(QryRegistro.Eof) do Begin
Write(Arq,´ ´+QryRegistro.FieldByname(´CARTAO´).Asstring);
Write(Arq,´ ´+QryRegistro.FieldByname(´USUARI´).Asstring);
Writeln(Arq);
QryRegistro.Next;
End;
CloseFile(Arq);
Resultado:
26 1
26 1
000020003169 1
000020003169 1
26 2
Grato Bruno Terossi
Alguem sabe como eu saio deste problema?
Var Arq : System.Text;
AssignFile(Arq,´C:\Bruno.txt´);
Rewrite(Arq);
While Not(QryRegistro.Eof) do Begin
Write(Arq,´ ´+QryRegistro.FieldByname(´CARTAO´).Asstring);
Write(Arq,´ ´+QryRegistro.FieldByname(´USUARI´).Asstring);
Writeln(Arq);
QryRegistro.Next;
End;
CloseFile(Arq);
Resultado:
26 1
26 1
000020003169 1
000020003169 1
26 2
Grato Bruno Terossi
Bterossi
Curtidas 0
Respostas
Aroldo Zanela
08/05/2003
Colega,
Desculpe-me mas não consegui entender qual é o problema. É o alinhamento dos campos no arquivo?
Desculpe-me mas não consegui entender qual é o problema. É o alinhamento dos campos no arquivo?
GOSTEI 0
Bterossi
08/05/2003
Sim, o problema é o alinhamento
GOSTEI 0
Falinden
08/05/2003
Olá, Bruno, aqui vai uma dica:
Crie a função abaixo para formatar o conteúdo dos campos antes da gravação no arquivo:
function Tform.formatatexto(campo: string; qtde: integer; alinhamento: string) : string;
begin
if (alinhamento = ´L´) or (alinhamento = ´l´) then
campo := copy(trim(campo)+´ ´,1,qtde)
else
campo := stringofchar(´ ´,(qtde-Length(trim(campo))))+trim(campo);
if pos(´.´,campo) > 0 then
campo[pos(´.´,campo)] := ´,´;
result := campo;
end;
...
Write(Arq,´ ´+formatatexto(QryRegistro.FieldByname(´CARTAO´).Asstring,12,´R´));
Write(Arq,´ ´+formatatexto(QryRegistro.FieldByname(´USUARI´).Asstring,1,´R´));
...
// Supondo que os tamanhos máximos dos campos ´CARTAO´ e ´USUARI´ sejam, respectivamente, 12 e 1. Se não for, troque pelo tamanho que vc definiu.
Espero ter ajudado,
FAB
Crie a função abaixo para formatar o conteúdo dos campos antes da gravação no arquivo:
function Tform.formatatexto(campo: string; qtde: integer; alinhamento: string) : string;
begin
if (alinhamento = ´L´) or (alinhamento = ´l´) then
campo := copy(trim(campo)+´ ´,1,qtde)
else
campo := stringofchar(´ ´,(qtde-Length(trim(campo))))+trim(campo);
if pos(´.´,campo) > 0 then
campo[pos(´.´,campo)] := ´,´;
result := campo;
end;
...
Write(Arq,´ ´+formatatexto(QryRegistro.FieldByname(´CARTAO´).Asstring,12,´R´));
Write(Arq,´ ´+formatatexto(QryRegistro.FieldByname(´USUARI´).Asstring,1,´R´));
...
// Supondo que os tamanhos máximos dos campos ´CARTAO´ e ´USUARI´ sejam, respectivamente, 12 e 1. Se não for, troque pelo tamanho que vc definiu.
Espero ter ajudado,
FAB
GOSTEI 0
Bterossi
08/05/2003
valeu
GOSTEI 0