FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 25
→
Lendo Arquivo Texto Até Final de Arquivo - EOT
Lendo Arquivo Texto Até Final de Arquivo - EOT
Débuté par ANDRE MARTINI / IS2, 16 mar. 2016 21:55 - 2 réponses
Connectez-vous…
ANDRE MARTINI / IS2
#1
Membre enregistré
212 messages
Popularité : +25 (25 votes)
Posté le 16 mars 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
Signaler
0
0
adrianoboller
#2
Membre enregistré
3 659 messages
Popularité : +175 (223 votes)
Posté le 17 mars 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/
Signaler
0
0
ANDRE MARTINI / IS2
#3
Membre enregistré
212 messages
Popularité : +25 (25 votes)
Posté le 17 mars 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
Signaler
1
0
→ Revenir à WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte