CLASSIFICAR ARQUIVO TEXTO EM ORDEM CRESCENTE
Cara acredito que o exemplo que passou funcione apenas precisa fazer uns ajustes de em vez de pegar em uma linha inteira pegue linha a linha de detalhes...
O que acha??
O que acha??
JefferSondo
Poderia já estar resolvido, é aquela história, se não fornecer todos os dados fica COMPRICADÃÅ¡!!!!!!
[s55]
Poderia já estar resolvido, é aquela história, se não fornecer todos os dados fica COMPRICADÃÅ¡!!!!!!
[s55]
JefferSondo
Está abaixo o código
Teste e veja se é isto que necessita.
[s92]
[txt-color=#0000ff]** Por favor, na próxima vez, seja um pouco mais claro, facilita muito e poupa tempo. [/txt-color]
[s79]
Está abaixo o código
Private Sub Importa()
Dim i As Integer, sCaminho As String, sTemp As String
Dim lArq As Long, sLinha As String, lCont As Long, lPos As Long
Dim rsDesconectado As ADODB.Recordset
Set rsDesconectado = New ADODB.Recordset
rsDesconectado.Fields.Append "EAN", adVarChar, 18
rsDesconectado.Fields.Append "Descricao", adVarChar, 35
rsDesconectado.Fields.Append "CodigoFornecedor", adVarChar, 20
rsDesconectado.Fields.Append "NumeroLote", adVarChar, 10
rsDesconectado.Fields.Append "Validade", adVarChar, 4
rsDesconectado.Fields.Append "QuantColetada", adVarChar, 6
rsDesconectado.Fields.Append "QuantInformada", adVarChar, 6
rsDesconectado.Fields.Append "CodigoDivergencia", adVarChar, 4
rsDesconectado.Fields.Append "QuantDivergencia", adVarChar, 6
'rsDesconectado.Fields.Append "EAN", adVarChar, 18
rsDesconectado.ActiveConnection = Nothing
rsDesconectado.CursorLocation = adUseClient
rsDesconectado.Open
sCaminho = App.Path & "\Banco Dados\Laboratorio.txt"
lArq = FreeFile
'Abertura do Arquivo
Open sCaminho For Input As lArq
lCont = 1
lPos = 0
Do While Not EOF(lArq)
'Leitura das Linhas de Texto
Line Input #lArq, sLinha
'Monta os Registros
If lCont > 1 Then
If Left(sLinha, 1) = "2" Then Exit Do
'For lPos = 0 To Len(sLinha) Step 68
rsDesconectado.AddNew
rsDesconectado("EAN").Value = Mid(sLinha, lPos + 1, 18)
rsDesconectado("Descricao").Value = Mid(sLinha, lPos + 19, 35)
rsDesconectado("CodigoFornecedor").Value = Mid(sLinha, lPos + 55, 6)
rsDesconectado("NumeroLote").Value = Mid(sLinha, lPos + 62, 10)
rsDesconectado("Validade").Value = Mid(sLinha, lPos + 72, 4)
rsDesconectado("QuantColetada").Value = Mid(sLinha, lPos + 76, 6)
rsDesconectado("QuantInformada").Value = Mid(sLinha, lPos + 82, 6)
rsDesconectado("CodigoDivergencia").Value = Mid(sLinha, lPos + 88, 4)
rsDesconectado("QuantDivergencia").Value = Mid(sLinha, lPos + 92, 6)
rsDesconectado.Update
' Next
End If
lCont = lCont + 1
Loop
Close #lArq
rsDesconectado.Sort = ("Descricao ASC, CodigoFornecedor ASC")
Set MSHFlexGrid1.DataSource = rsDesconectado
rsDesconectado.Close
Set rsDesconectado = Nothing
MSHFlexGrid1.ColWidth(0) = 200
MSHFlexGrid1.ColWidth(1) = 1500
MSHFlexGrid1.ColWidth(2) = 3500
MSHFlexGrid1.ColWidth(3) = 1500
MsgBox "Importado e Classificado "
End SubTeste e veja se é isto que necessita.
[s92]
[txt-color=#0000ff]** Por favor, na próxima vez, seja um pouco mais claro, facilita muito e poupa tempo. [/txt-color]
[s79]
Falta só o Cabeçalho, mas se tu não fizer isto.........
[s24] [s24] [s24] [s24] [s24]
[s24] [s24] [s24] [s24] [s24]
Cara blz!! Vou testar....
[S27]
tenho uma duvida sobre esta linhas abaixo?
'--- Aqui classifica por ordem de DESCRICAO , seguida por COD.FORNECEDOR?
rsDesconectado.Sort = ("Descricao ASC, CodigoFornecedor ASC")
'--- abaixo o que quer dizer MSHFlexGrid1?? Esta configurando o Grid da Tabela?
'--- Não definiu Banco e nem Tabela !? Posso definir qualquer uma??
Set MSHFlexGrid1.DataSource = rsDesconectado
rsDesconectado.Close
Set rsDesconectado = Nothing
MSHFlexGrid1.ColWidth(0) = 200
MSHFlexGrid1.ColWidth(1) = 1500
MSHFlexGrid1.ColWidth(2) = 3500
MSHFlexGrid1.ColWidth(3) = 1500
[S51] [S51]
[S27]tenho uma duvida sobre esta linhas abaixo?
'--- Aqui classifica por ordem de DESCRICAO , seguida por COD.FORNECEDOR?
rsDesconectado.Sort = ("Descricao ASC, CodigoFornecedor ASC")
'--- abaixo o que quer dizer MSHFlexGrid1?? Esta configurando o Grid da Tabela?
'--- Não definiu Banco e nem Tabela !? Posso definir qualquer uma??
Set MSHFlexGrid1.DataSource = rsDesconectado
rsDesconectado.Close
Set rsDesconectado = Nothing
MSHFlexGrid1.ColWidth(0) = 200
MSHFlexGrid1.ColWidth(1) = 1500
MSHFlexGrid1.ColWidth(2) = 3500
MSHFlexGrid1.ColWidth(3) = 1500
[S51] [S51]
JefferSondo
Aqui eu crio os Campos
rsDesconectado.Fields.Append "EAN", adVarChar, 18
rsDesconectado.Fields.Append "Descricao", adVarChar, 35
rsDesconectado.Fields.Append "CodigoFornecedor", adVarChar, 20
rsDesconectado.Fields.Append "NumeroLote", adVarChar, 10
rsDesconectado.Fields.Append "Validade", adVarChar, 4
rsDesconectado.Fields.Append "QuantColetada", adVarChar, 6
rsDesconectado.Fields.Append "QuantInformada", adVarChar, 6
rsDesconectado.Fields.Append "CodigoDivergencia", adVarChar, 4
rsDesconectado.Fields.Append "QuantDivergencia", adVarChar, 6
Aqui é informado que é um RecordSet DESCONECTADO ou seja, não existe Banco de Dados, é criado em tempo de execução Estrutura, alimentado e destruÃdo no final
rsDesconectado.ActiveConnection = Nothing
rsDesconectado.CursorLocation = adUseClient
Com relação ao MSHFlexGrid1 é um Hierarchical FlexGrid.
[s92]
Aqui eu crio os Campos
rsDesconectado.Fields.Append "EAN", adVarChar, 18
rsDesconectado.Fields.Append "Descricao", adVarChar, 35
rsDesconectado.Fields.Append "CodigoFornecedor", adVarChar, 20
rsDesconectado.Fields.Append "NumeroLote", adVarChar, 10
rsDesconectado.Fields.Append "Validade", adVarChar, 4
rsDesconectado.Fields.Append "QuantColetada", adVarChar, 6
rsDesconectado.Fields.Append "QuantInformada", adVarChar, 6
rsDesconectado.Fields.Append "CodigoDivergencia", adVarChar, 4
rsDesconectado.Fields.Append "QuantDivergencia", adVarChar, 6
Aqui é informado que é um RecordSet DESCONECTADO ou seja, não existe Banco de Dados, é criado em tempo de execução Estrutura, alimentado e destruÃdo no final
rsDesconectado.ActiveConnection = Nothing
rsDesconectado.CursorLocation = adUseClient
Com relação ao MSHFlexGrid1 é um Hierarchical FlexGrid.
[s92]
Ou seja o arquivo é classificado nele mesmo??
Fica conforme eu disse no inÃco??? [S36]
[S39] Só mais uma coisina que vc não respondeu... hehehe... se eu colocar assim:
rsDesconectado.Sort = ("EAN ASC, Descricao ASC") , vai classificar por EAN e Descrição?
Bem o cabeçalho e trailler não são mexidos, certo?
Cara sei que tu deve ficar de saco cheio de perguntas imbecis, mas é uma coisa que nao domino.. mas uma vez valeu mesmo pela ajuda que vem me dando
[S79]
Fica conforme eu disse no inÃco??? [S36]
[S39] Só mais uma coisina que vc não respondeu... hehehe... se eu colocar assim:
rsDesconectado.Sort = ("EAN ASC, Descricao ASC") , vai classificar por EAN e Descrição?
Bem o cabeçalho e trailler não são mexidos, certo?
Cara sei que tu deve ficar de saco cheio de perguntas imbecis, mas é uma coisa que nao domino.. mas uma vez valeu mesmo pela ajuda que vem me dando
[S79]
Agora tu me deixou irado!!!!!!!!!!!!!!!
[s24]
Sim, o Sort ordena RecordSets Desconectados, mas esta documentação está disponÃvel no MSDN Library, eu, por exemplo, não sabia até semana passada, li para um colega que queria ordenar Times e Saldos de Gols e montei um exemplo bem próximo ao seu.
[txt-color=#0000ff]** MSDN Library: sem sombra de dúvida a 1Âê Opção na hora da dúvida!!! [/txt-color]
[s92]
[s24]
Sim, o Sort ordena RecordSets Desconectados, mas esta documentação está disponÃvel no MSDN Library, eu, por exemplo, não sabia até semana passada, li para um colega que queria ordenar Times e Saldos de Gols e montei um exemplo bem próximo ao seu.
[txt-color=#0000ff]** MSDN Library: sem sombra de dúvida a 1Âê Opção na hora da dúvida!!! [/txt-color]
[s92]
Trailer??????????????
Aqui ele verifica se o 1º DÃgito da linha é o 2, se for é o Trailler!
[s55]
Ou estou enganado???????
[s50]
Aqui ele verifica se o 1º DÃgito da linha é o 2, se for é o Trailler!
[s55]
If Left(sLinha, 1) = "2" Then Exit Do Ou estou enganado???????
[s50]
Com certeza tu tem que ficar irado..hehehe... [S52] [S67]
Um mané que nem eu... hehehe.... mas faz parte, cara estou sem o MSDN Libary, nao estou conseguindo comprar apenas ele....
Tens razão.. o arquivo é composto desta maneira:
0 Header
1 Detalhe
1 Detalhe
1 Detalhe...
2 Trailler
Cara vou ver o que posso fazer para conseguir o libary
Eu tenho o .Net completo posso usar o MSDN Libary do .Net para esta versao de Visual Studio, que no caso é o Enterprise Edition???
[]ÂÂÂ's
Jefferson
Um mané que nem eu... hehehe.... mas faz parte, cara estou sem o MSDN Libary, nao estou conseguindo comprar apenas ele....
Tens razão.. o arquivo é composto desta maneira:
0 Header
1 Detalhe
1 Detalhe
1 Detalhe...
2 Trailler
Cara vou ver o que posso fazer para conseguir o libary
Eu tenho o .Net completo posso usar o MSDN Libary do .Net para esta versao de Visual Studio, que no caso é o Enterprise Edition???
[]ÂÂÂ's
Jefferson
Tópico encerrado , respostas não são mais permitidas