Importando arquivo texto
No exemplo, mostro de forma simples a importação de um arquivo texto com duas colunas
Exemplo formato do arquivo:
linha1coluna1;linha1coluna2;
linha2coluna1;linha2coluna2;
linha3coluna1;linha3coluna2;
linha4coluna1;linha4coluna2;
linha5coluna1;linha5coluna2;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
Static Function Importar(cArqImpor) Local cLinha := "" Local nLinha := 0 Local aDados := {} Local nTamLinha := 0 Local nTamArq:= 0 //Valida arquivo If !file(cArqImpor) Aviso("Arquivo","Arquivo não selecionado ou invalido.",{"Sair"},1) Return Else //+---------------------------------------------------------------------+ //| Abertura do arquivo texto | //+---------------------------------------------------------------------+ nHdl := fOpen(cArqImpor) If nHdl == -1 IF FERROR()== 516 ALERT("Feche a planilha que gerou o arquivo.") EndIF EndIf //+---------------------------------------------------------------------+ //| Verifica se foi possível abrir o arquivo | //+---------------------------------------------------------------------+ If nHdl == -1 cMsg := "O arquivo de nome "+cArqImpor+" nao pode ser aberto! Verifique os parametros." MsgAlert(cMsg,"Atencao!") Return Endif //+---------------------------------------------------------------------+ //| Posiciona no Inicio do Arquivo | //+---------------------------------------------------------------------+ FSEEK(nHdl,0,0) //+---------------------------------------------------------------------+ //| Traz o Tamanho do Arquivo TXT | //+---------------------------------------------------------------------+ nTamArq:=FSEEK(nHdl,0,2) //+---------------------------------------------------------------------+ //| Posicona novamemte no Inicio | //+---------------------------------------------------------------------+ FSEEK(nHdl,0,0) //+---------------------------------------------------------------------+ //| Fecha o Arquivo | //+---------------------------------------------------------------------+ fClose(nHdl) FT_FUse(cArqImpor) //abre o arquivo FT_FGOTOP() //posiciona na primeira linha do arquivo nTamLinha := Len(FT_FREADLN()) //Ve o tamanho da linha FT_FGOTOP() //+---------------------------------------------------------------------+ //| Verifica quantas linhas tem o arquivo | //+---------------------------------------------------------------------+ nLinhas := nTamArq/nTamLinha ProcRegua(nLinhas) aDados:={} While !FT_FEOF() //Ler todo o arquivo enquanto não for o final dele IncProc('Importando Linha: ' + Alltrim(Str(nCont)) ) clinha := FT_FREADLN() aadd(aDados,Separa(cLinha,";",.T.)) FT_FSKIP() EndDo FT_FUse() fClose(nHdl) EndIf ProcRegua(len(aDados)) For i := 1 to len(aDados) //Considerando que no arquivo txt contenha 2 colunas, mostre na tela linha a linha alert(aDados[i,1] + " " + aDados[i,2]) Next Aviso("Atenção","Importação com exito!",{"Ok"},1) Return |
3 comentários
oi, muito interessante esta função, agora você teria algum exemplo para importar direto no Orçamento? obrigado
[…] antes veja o artigo Importando arquivo texto, agora que já está familiarizado, vamos no que […]
Veja o artigo https://blogadvpl.com/importar-um-arquivo-texto-para-o-orcamento-mata415/, espero que tenha sido util