Linha de arquivo.EXT lt; 1800,

30/08/2004

Estou gerando um arquivo com campos de uma tabela, soh q o ultimo eh do tamanho 1500 e a linha inteira vai ateh 1022, o resto ele joga na linha de baixo, alguem pode me ajudar urgente ?? Eh soh isso, o resto eh basico e tah sussa.

Sem mais e obrigado

Guima

[b:ecdfec2272][color=red:ecdfec2272]Título editado pelo Moderador (AZ) - Removido: ´ socorro !!´[/color:ecdfec2272][/b:ecdfec2272]


Guima

Respostas

30/08/2004

Aroldo Zanela

Colega,

Coloca um fragmento do código para que possamos analisar. Tenho rotinas que geram arquivos textos (para EMS/Datasul) com registros que ultrapassam 8000 de comprimento e nunca tive problemas.


Responder Citar

30/08/2004

Macario

Dependendo do editor que voce abrir o arquivo ele vai quebrar a linha.

mas isso não quer dizer que ela tenha limite de tamanho.


Responder Citar

30/08/2004

Guima

NomeArq := pasta + ´\esse.TXT´;
Assignfile ( Arquivo, NomeArq );
Rewrite ( Arquivo );
Writeln ( Arquivo, ´HEADER 2.0.0000´);

while Not TblPlanet.Eof do
begin
Write ( Arquivo, Spaces(TblPlanet.FieldByName(´Imobiliaria´).AsString, 20, ´D´));
Write ( Arquivo, Spaces(TblPlanet.FieldByName(´CentralVendas´).AsString, 20, ´D´));
Write ( Arquivo, Spaces(TblPlanet.FieldByName(´CodInternoEmpreendimento´).AsString, 20, ´D´));
Write ( Arquivo, Spaces(TblPlanet.FieldByName(´CodInternoUnidade´).AsString, 20, ´D´));
Write ( Arquivo, (´M ´));
Write ( Arquivo, Spaces(TblPlanet.FieldByName(´Memorial´).AsString, 1499, ´D´));
Writeln ( Arquivo, ´.´);
cont := cont + 1;
TblPlanet.Next;
Gauge.Progress := Gauge.Progress + 1;
end;

Write ( Arquivo, ´TRAILLER ´);
Write ( Arquivo, Zeros (IntToStr(Cont), 7));
Write ( Arquivo, (FormatDateTime(´ dd/mm/yyyy hh:nn´, Date)));
CloseFile ( Arquivo );


to abrindo no EDIT do DOS mesmo ...

Obrigadu a vcs


Responder Citar

30/08/2004

Aroldo Zanela

Colega,

Você tem o fonte desta função ´Spaces´?


Responder Citar

01/09/2004

Guima

function Spaces    ( Dado : String; Tamanho : Integer; Lado : Char ) : String;
var I     : Integer;
    SDado : String;
begin
  SDado := AllTrim ( Dado );
  if Tamanho > Length ( SDado ) then
     For I := Tamanho downto Length ( SDado ) + 1 do
        if Lado = ´D´ then SDado := SDado + ´ ´
                      else SDado := ´ ´ + SDado;
  Spaces := SDado;
end;



Responder Citar