cesarini Posted March 13, 2014 at 03:01 AM Report #548466 Posted March 13, 2014 at 03:01 AM Bom noite; Tenho um arquivo texto com a seguinte estrutura N1000000000000000000000000000000 2757 IRazao Socialll N2POL8887777FRENTE DE LOJA 3.1 N3COMPONENTFACTORY.KRYPTON.TOOLKIT.DLL D198B64CDE8741EB7EB02D0A84A52D0D N3CRIPTOSERASAVB.DLL 691C02AE8C48214D88D2F8F39D6F02EA N3FRENTELOJA.EXE 75C1533D5AC67612E9EF84B166B750D6 N3INFRAGISTICS2.SHARED.V8.2.DLL 20DB745E5AB0CF6D8DB35C2CB50789D1 N3INFRAGISTICS2.WIN.MISC.V8.2.DLL E61761E47712AEDAF238F0310A73A598 N3INFRAGISTICS2.WIN.ULTRAWINEDITORS.V8.2.DLL EA795E5C994BCD71B6268B5C96BD7C5F N3INFRAGISTICS2.WIN.V8.2.DLL CF9DC66435935AFB2216596D7811F42E N3INTEROP.CRIPTOSERASAVB.DLL F27B8CFFE98261EBEFFC23A82D565D84 N3SAPLOGON.EXE 9F275A078241E945B170A4ADE9B165E2 N983729004000132250644851 000009 EAD7FD5B078748700F331E04293EF225FED669B38CC9AE7903B7F525BB5166CD02C0CB91562967652B1AB2B0F59F763F44539A711E8DB9123F0F05CFBC1D6CBFB81CE255329D1DE7C31D6F64F418809502FF8ED9818F3089348146543BA6A87789BFD168C871666D01D3A762D8B46D4949CACA10357168287654848317192AA3881 Preciso ler somente as linhas N3 e pegar somente o nome do arquivo e md-5 do mesmo e salvar nome do arquivo em uma coluna do meu DB e o md-5 em outra coluna do DB, como poderia fazer nunca trabalhei com leitura de TXT's antes ? Obrigado
nelsonr Posted March 13, 2014 at 09:26 AM Report #548472 Posted March 13, 2014 at 09:26 AM Boas, para a parte de ler o ficheiro e extrair as colunas, podes usar algo assim: ' Passar por todas as linhas do ficheiro For Each linha As String In File.ReadAllLines("teste.txt") ' Caso o conteúdo da linha inicie por N3 If linha.StartsWith("N3") Then ' Procura a posição do caracter separador (espaço) Dim posSeparador = linha.IndexOf(" ") ' Lê o conteúdo antes do caracter separador como nome do ficheiro Dim nomeFicheiro As String = linha.Substring(0, posSeparador) ' Lê o conteúdo depois do caracter separador como hash do ficheiro, limpando qualquer espaço antes e depois Dim hashFicheiro As String = linha.Substring(posSeparador).Trim() ' Inserir na BD ' ... End If Next Só tens de usar as variaveis nomeFicheiro e hashFicheiro para inserir na BD 1 Report
cesarini Posted March 13, 2014 at 01:01 PM Author Report #548490 Posted March 13, 2014 at 01:01 PM Muito Obrigado Funcionou muito bem, mas aproveitando; Vamos supor que eu tenho um arquivo com uma estrutura definida : Id : vai da coluna 0 à 3 Nome: vai da coluna 4 à 30 Hash: vai da coluna 31 à 63 como eu faria para pegar somente da coluna 4 à 30 que seria referente ao nome, sem precisar utilizar o separador somente selecionando as colunas, é possível ?
nelsonr Posted March 13, 2014 at 02:26 PM Report #548491 Posted March 13, 2014 at 02:26 PM Podes usar algo do tipo "linha.Substring(4, 26)" O primeiro parametro da Substring é a posição, e o segundo parametro é o tamanho http://msdn.microsoft.com/en-us/library/aka44szs%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1 1 Report
cesarini Posted March 13, 2014 at 02:47 PM Author Report #548494 Posted March 13, 2014 at 02:47 PM Muito bom Nelsonr Obrigado; Para compartilhar com vocês, achei deste modo também: For Each arquivo As [string] In OpenFileDialog1.FileNames For Each linha As String In File.ReadAllLines(arquivo) ' Caso o conteúdo da linha inicie por N3 If linha.StartsWith("N3") Then Dim nomeFicheiro As String = Mid(linha, 3, 50).Trim() Dim hashFicheiro As String = Mid(linha, 53, 85) ' Inserir na BD Utilizando o MID( variavel_com_linha_arquivo, coluna inicio, coluna termino) Obrigado.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now