popular array a partir de um arquivo txt
Tudo bem pessoal, tenho este array dentro da aplicação, porém gostaria de popula-lo em tempo de execução lendo um arquivo txt, poderiam mim auxiliar quanto a isto?
Ler o arquivo txt é tranquilo. Usarei a virgula como delimitador. Tentei usar o SplitString, mas não consegui.
Esta é estruturado do TXT
Arraycabecalho: Array[0..30] of String = (''NOME'',''FANTASIA'',''TIPOPESSOA'',''DOCUMENTO'',''RGOUINSCRICAOESTADUAL'', ''INSCRICAOMUNICIPAL'',''CLIENTE'',''FORNECEDOR'',''TRANSPORTADORA'', ''FUNCIONARIO'',''CONTRIBUINTE'',''EMAIL'',''MALADIRETA'', ''TELEFONE'',''TIPO'',''CEP'',''ENDERECO'',''NUMERO'', ''BAIRRO'',''CODCIDADE'',''CODESTADO'',''CODPAIS'', ''NASCIMENTO'',''OBSERVACAO'',''MATRICULA'',''LIMITE'',''CONVENIO'', ''CRIADO_EM'',''ATUALIZADO_EM'',''DELETADO_EM'',''ID'');
Ler o arquivo txt é tranquilo. Usarei a virgula como delimitador. Tentei usar o SplitString, mas não consegui.
Try MeuTexto := SplitString(TStaticTextStyleHook,'',''); Finally End; MinhaString := sTexto; MeuArray := MinhaString.Split(['','']); for I := 0 to Length(MeuArray)-1 do begin ShowMessage(MeuArray[i]); end;
Esta é estruturado do TXT
NOME,FANTASIA,TIPOPESSOA,DOCUMENTO,RGOUINSCRICAOESTADUAL,INSCRICAOMUNICIPAL,CLIENTE,
Charles Henrique
Curtidas 0
Melhor post
Natanael Ferreira
03/05/2023
Concordo, Emerson. Mas o autor do post está utilizando um array de string para armazenar os dados .
Por isso sugeri o preenchimento do array já existente com os dados do stringlist já delimitado.
Por isso sugeri o preenchimento do array já existente com os dados do stringlist já delimitado.
GOSTEI 2
Mais Respostas
Frank Hosaka
30/04/2023
Lamento por não conhecer a gramática do Delphi, eu só conheço o PHP, onde tem um comando chamado explode. Desconfio que o Delphi deve ter algo semelhante.
<?php $texto="NOME,FANTASIA,TIPOPESSOA,DOCUMENTO,RGOUINSCRICAOESTADUAL, INSCRICAOMUNICIPAL,CLIENTE,FORNECEDOR,TRANSPORTADORA, FUNCIONARIO,CONTRIBUINTE,EMAIL,MALADIRETA, TELEFONE,TIPO,CEP,ENDERECO,NUMERO, BAIRRO,CODCIDADE,CODESTADO,CODPAIS, NASCIMENTO,OBSERVACAO,MATRICULA,LIMITE,CONVENIO, CRIADO_EM,ATUALIZADO_EM,DELETADO_EM,ID"; $vetor=explode(',',$texto); var_dump($vetor); //resultado: C:\\wamp64\\www\\astudy\\astudy.php:10: array (size=31) 0 => string 'NOME' (length=4) 1 => string 'FANTASIA' (length=8) 2 => string 'TIPOPESSOA' (length=10) 3 => string 'DOCUMENTO' (length=9) 4 => string 'RGOUINSCRICAOESTADUAL' (length=21) 5 => string ' INSCRICAOMUNICIPAL' (length=28) 6 => string 'CLIENTE' (length=7) 7 => string 'FORNECEDOR' (length=10) 8 => string 'TRANSPORTADORA' (length=14) 9 => string ' FUNCIONARIO' (length=21) 10 => string 'CONTRIBUINTE' (length=12) 11 => string 'EMAIL' (length=5) 12 => string 'MALADIRETA' (length=10) 13 => string ' TELEFONE' (length=18) 14 => string 'TIPO' (length=4) 15 => string 'CEP' (length=3) 16 => string 'ENDERECO' (length=8) 17 => string 'NUMERO' (length=6) 18 => string ' BAIRRO' (length=16) 19 => string 'CODCIDADE' (length=9) 20 => string 'CODESTADO' (length=9) 21 => string 'CODPAIS' (length=7) 22 => string ' NASCIMENTO' (length=20) 23 => string 'OBSERVACAO' (length=10) 24 => string 'MATRICULA' (length=9) 25 => string 'LIMITE' (length=6) 26 => string 'CONVENIO' (length=8) 27 => string ' CRIADO_EM' (length=19) 28 => string 'ATUALIZADO_EM' (length=13) 29 => string 'DELETADO_EM' (length=11) 30 => string 'ID' (length=2)
GOSTEI 0
Paulo
30/04/2023
Precisa modificar o código mas o principio é o mesmo.
https://www.devmedia.com.br/forum/importar-arquivo-txt-para-base-firebird/397573
https://www.devmedia.com.br/forum/importar-arquivo-txt-para-base-firebird/397573
GOSTEI 0
Natanael Ferreira
30/04/2023
Segue exemplo, veja os comentários no código para melhor entendimento:
var itens: string; lista: TStringList; I: Integer; MeuArray: Array of String; begin lista := TStringList.Create; try itens := 'NOME,FANTASIA,TIPOPESSOA,DOCUMENTO,RGOUINSCRICAOESTADUAL,INSCRICAOMUNICIPAL,CLIENTE'; // Usando stringlist para pegar cada item separado por vírgula lista.StrictDelimiter := True; lista.Delimiter := ','; lista.DelimitedText := itens; // Definindo o tamanho do array dinamico usando o tamanho do stringlist SetLength(MeuArray, lista.Count); // Preenchendo o array com os itens do stringlist for I := 0 to lista.Count - 1 do MeuArray[I] := lista[I]; // Percorrendo o Array para verificar se os itens foram preenchidos corretamente for I := Low(MeuArray) to High(MeuArray) do ShowMessage(MeuArray[I]); finally lista.Free; end; end;
GOSTEI 1
Emerson Nascimento
30/04/2023
Natanael, se você tem uma stringlist você não precisa popular um array. a própria stringlist é um array.
GOSTEI 1
Charles Henrique
30/04/2023
Obrigado a todos.
Deu certo. Apenas ajustei para o que precisava.
Deu certo. Apenas ajustei para o que precisava.
GOSTEI 0