GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV 25
→
Lendo Arquivo Texto Até Final de Arquivo - EOT
Lendo Arquivo Texto Até Final de Arquivo - EOT
Iniciado por ANDRE MARTINI / IS2, mar., 16 2016 9:55 PM - 2 respostas
Conecte-se…
ANDRE MARTINI / IS2
#1
Membro registado
208 mensagems
Popularité : +25 (25 votes)
Publicado em março, 16 2016 - 9:55 PM
Olá,
quero compartilhar com vocês uma situação que aconteceu comigo na importação de arquivo texto para tabelas do sistema.
O primeiro código é para importar os registros para a tabela Paises e por o campo chave (Codigo_do_pais) ser do tipo INT o final de arquivo funcionou a variável nCodigo é igual a 0
IF
HNbRec
(
Paises
) =
0
THEN
n
NomeArquivo
=
fOpen
(
fCurrentDir
(
)
+
"\Lista_Paises.txt"
,
foRead
)
IF
n
NomeArquivo
<
> -
1
THEN
LOOP
s
Linha
=
fReadLine
(
n
NomeArquivo
)
n
Codigo
=
Middle
(
s
Linha
,
1
,
4
)
IF
n
Codigo
=
0
THEN
BREAK
ELSE
s
Nome
=
Upper
(
NoAccent
(
Middle
(
s
Linha
,
5
)
)
)
HReadSeekFirst
(
Paises
,
Codigo_do_pais
,
n
Codigo
)
IF
NOT
HFound
(
)
THEN
HReadSeekFirst
(
Paises
,
Nome_do_pais
,
s
Nome
)
IF
NOT
HFound
(
)
THEN
HReset
(
Paises
)
Paises.Codigo_do_pais
=
n
Codigo
Paises.Nome_do_pais
=
s
Nome
HAdd
(
Paises
)
END
END
END
END
END
END
quando fui fazer a importação para a tabela Unidades Federativas tive problemas pois como o campo chave (Uf) é do tipo STRING no final do arquivo a variável não ficava em branco e sim com o valor EOT (debuguei para ver), dai alterei o código e pude incluse fazer a rotina semelhante a que faço no VB6 com o WHILE e sem BREAK, veja abaixo
IF
HNbRec
(
Unidades_federativas
) =
0
THEN
n
NomeArquivo
=
fOpen
(
fCurrentDir
(
)
+
"\Lista_Uf.txt"
,
foRead
)
IF
n
NomeArquivo
<
> -
1
THEN
s
Linha
=
fReadLine
(
n
NomeArquivo
)
WHILE
s
Linha
<
>
EOT
s
Codigo
=
Upper
(
NoAccent
(
Left
(
s
Linha
,
2
)
)
)
HReadSeekFirst
(
Unidades_federativas
,
Uf
,
s
Codigo
)
IF
NOT
HFound
(
)
THEN
HReset
(
Unidades_federativas
)
Unidades_federativas.Uf
=
s
Codigo
Unidades_federativas.Codigo_da_uf_ibge
=
Middle
(
s
Linha
,
3
,
2
)
Unidades_federativas.Aliquota_icms_ufdest
=
Middle
(
s
Linha
,
5
,
2
)
HAdd
(
Unidades_federativas
)
END
s
Linha
=
fReadLine
(
n
NomeArquivo
)
END
END
END
--
André Martini
IS2 Automotive
http://www.is2.inf.br/is2automotive/index.html
IS2 Construtive
http://www.is2.inf.br/is2construtive/index.html
IS2 Store
http://www.is2.inf.br/is2store/index.html
IS2 Gerent
http://www.is2.inf.br/is2gerent/index.html
Denunciar
0
0
adrianoboller
#2
Membro registado
3.657 mensagems
Popularité : +175 (223 votes)
Publicado em março, 17 2016 - 6:09 PM
Prezado André,
Faltou dizer se deu certo ou não fiquei na dúvida se é uma afirmação ou uma dúvida... Pode esclarecer os resultados se foram satisfatórios, voce precisa de ajuda?
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.blogspot.com.br/
Denunciar
0
0
ANDRE MARTINI / IS2
#3
Membro registado
208 mensagems
Popularité : +25 (25 votes)
Publicado em março, 17 2016 - 6:17 PM
Deu certo, os dois códigos estão funcionando, só compartilhei porque tive problema quando a variável que armazenava o valor obtido do TXT era STRING, neste caso tive que mudar o teste para EOT.
--
André Martini
IS2 Automotive
http://www.is2.inf.br/is2automotive/index.html
IS2 Construtive
http://www.is2.inf.br/is2construtive/index.html
IS2 Store
http://www.is2.inf.br/is2store/index.html
IS2 Gerent
http://www.is2.inf.br/is2gerent/index.html
Denunciar
1
0
→ Voltar para WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto