Array
(
)

Linha de arquivo.EXT lt; 1800,

Guima
   - 30 ago 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

Título editado pelo Moderador (AZ) - Removido: ´ socorro !!´


Aroldo Zanela
   - 30 ago 2004

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.


Macario
   - 30 ago 2004

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.


Guima
   - 30 ago 2004

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


Aroldo Zanela
   - 30 ago 2004

Colega,

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


Guima
   - 01 set 2004

#Código

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;