[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 594: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 650: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
Fórum Xmaker • Importar arquivo texto \ dúvidas...
Página 1 de 1

Importar arquivo texto \ dúvidas...

Enviado: Janeiro 12th, 2016, 1:16 pm
por Leão
Olá, conforme exemplo abaixo, estou em dúvida com seguinte:
TabGlobal.DCEP_Bairros.BAI_ID.Conteudo := StrToIntDef(Lista[0], 0);
TabGlobal.DCEP_Bairros.BAI_NOME.Conteudo := Lista[3];
TabGlobal.DCEP_Bairros.BAI_UF.Conteudo := Lista[1];
TabGlobal.DCEP_Bairros.BAI_LOCALIDADE.Conteudo := StrToIntDef(Lista[2], 0);

Minha dúvida:BAI_ID porque StrToIntDef(Lista[0], 0)?
o zero último quer dizer ok?

outro campo

TabGlobal.DCEP_Bairros.BAI_LOCALIDADE.Conteudo := StrToIntDef(Lista[2], 0);
o zero último quer dizer ok?
BAI_LOCALIDADE.Conteudo é um campo númerico?

Obrigado,
Leão



Exemplo de utilização dos métodos "assignfile (Delphi)" e "StringToArray (X-Maker)".

{utilize o "var" para declarar variáveis}
var
f: textfile;
i: Integer;
Linha: String;
Lista: TStringList;
begin
{codificação...}
if Not FileExists(Sistema.Pasta + 'Bairros.txt') then
begin
MessageDlg('Arquivo não encontrado!' + ^M+^M + Sistema.Pasta + 'Bairros.txt', mtWarning, [mbOk], 0);
exit;
end;
if MessageDlg('Importar arquivo de Bairros?', mtConfirmation, [mbYes, mbNo], 0) <> mrYes then
exit;
if CheckBox1.Checked then // Limpa a Tabela se o componente "CheckBox1" estiver habilitado
TabGlobal.DCEP_Bairros.LimparTabela;
Lista := TStringList.Create;
assignfile(f, Sistema.Pasta + 'Bairros.txt');
reset(f);
try
readln(f, Linha);
while not Eof(f) do
begin
readln(f, Linha);
StringToArray(Linha, ';', Lista);
TabGlobal.DCEP_Bairros.Inclui(Nil);
TabGlobal.DCEP_Bairros.BAI_ID.Conteudo := StrToIntDef(Lista[0], 0); //
TabGlobal.DCEP_Bairros.BAI_NOME.Conteudo := Lista[3];
TabGlobal.DCEP_Bairros.BAI_UF.Conteudo := Lista[1];
TabGlobal.DCEP_Bairros.BAI_LOCALIDADE.Conteudo := StrToIntDef(Lista[2], 0); // esse último número zero, porque?
TabGlobal.DCEP_Bairros.Post;
Application.ProcessMessages;
end;
finally
CloseFile(f);
Lista.Free;
Application.ProcessMessages;
TabGlobal.DCEP_Bairros.Transaction.CommitRetaining;
Application.ProcessMessages;
end;
end;


Conseguir importar, tirei todas as ", deu certo, o detalhe agora é porque não importa a primeira linha
0106800|85364|Rels

começa apartir da segunda.


Leão

Re: Importar arquivo texto \ dúvidas...

Enviado: Janeiro 14th, 2016, 2:04 am
por adassoft
Normalmente a primeira linha do arquivo de texto deve ser o cabeçalho e provavelmente deve ter um separador diferente.

Re: Importar arquivo texto \ dúvidas...[Resolvido]

Enviado: Janeiro 14th, 2016, 9:41 am
por Leão
Olá Adassoft, realmente é isso mesmo, mas o suporte me deu a solução

Olá,

Utilize Stringreplace na importação:

TabGlobal.DCEST.CEST.Conteudo := stringReplace(Lista[0],'”','',[]); //StrToIntDef(Lista[0], 0);
TabGlobal.DCEST.NCM.Conteudo :=stringReplace(Lista[1],'”','',[]);
TabGlobal.DCEST.DESCRICAO.Conteudo := stringReplace(Lista[2],'”','',[]);

Gratos pela atenção,

Conte sempre conosco!

Att
Suporte - suporte@xmaker.com.br
Equipe X-Maker