FOROS PROFESIONALES
WINDEV
,
WEBDEV
y
WINDEV Mobile
Inicio
|
Mensajes recientes
|
Conéctese...
|
Desconectar
|
Español
Inicio
→
WINDEV 25
→
Lendo Arquivo Texto Até Final de Arquivo - EOT
Lendo Arquivo Texto Até Final de Arquivo - EOT
Iniciado por ANDRE MARTINI / IS2, 16,mar. 2016 21:55 - 2 respuestas
Conéctese…
ANDRE MARTINI / IS2
#1
Miembro registrado
213 mensajes
Popularité : +25 (25 votes)
Publicado el 16,marzo 2016 - 21:55
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
Informar
0
0
adrianoboller
#2
Miembro registrado
3.661 mensajes
Popularité : +175 (223 votes)
Publicado el 17,marzo 2016 - 18:09
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/
Informar
0
0
ANDRE MARTINI / IS2
#3
Miembro registrado
213 mensajes
Popularité : +25 (25 votes)
Publicado el 17,marzo 2016 - 18:17
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
Informar
1
0
→ Volver a WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Búsqueda Tipo
Sólo temas
Todos los mensajes
Periodo Buscar
Cualquier fecha
Última hora
Última 24 horas
Última semana
Último mes
Último año
Cancelar
Vista previa del mensaje
Añadiendo una imagen
Importar una imagen desde una URL
Enviar una imagen desde un archivo de su disco
Arrastrar un archivo o click en "Examinar..."
o
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto