USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  IBPT
jongle
CAPANEMA
PA - BRASIL
Postada em 12/06/2013 16:10 hs            
 boa tarde pessoal, estou querendo uma ajudinha:
recebo a tabela IBPT de duas formas uma em txt e outra em excel.
meu problema é:
como atualizar minha tabela no sistema, o arq. vem assim:
 
1,"01012100",,"0",32.09,32.69
2,"01012100",,"0",34.09,32.69
 
e sucessivamente, isso em txt: como fazer para o sistema saber que as aspas " "
é um campo.?
 
e em excel: como saber que as linha e colunas não campos?
 
desde já agradeço.
 
     
Euzebio
não registrado
Postada em 13/06/2013 13:33 hs   
Camarada, faz assim...

1) Edite o arquivo TXT no bloco de notas e mande substitui as aspas duplas por nada.
2) Em um módulo cole a seguinte função

'--------------------------------------------------------------------------------------------------------------------------------------------------------
'Buscar conteúdo de determinado piece                                                                                                                   !
'--------------------------------------------------------------------------------------------------------------------------------------------------------
Public Function Piece(ByVal Conteudo As String, _
                      ByVal Separador As String, _
                      ByVal PosicaoPiece As Integer) _
                      As String

        Dim ExtraPiece As String
        Dim Cont1Piece As Integer
        Dim Cont2Piece As Integer
        Dim bkpPosicaoPiece As Integer
        Dim SepPieces As String
        
        bkpPosicaoPiece = PosicaoPiece - 1
        SepPieces = Separador
        ExtraPiece = ""
        Cont2Piece = 0
        
        For Cont1Piece = 1 To Len(Conteudo)
                If Mid(Conteudo, Cont1Piece, 1) = SepPieces Then Cont2Piece = Cont2Piece + 1
                If Cont2Piece = bkpPosicaoPiece Then Exit For
        Next Cont1Piece
        
        If Cont2Piece < bkpPosicaoPiece Then
                Piece = ExtraPiece
                Exit Function
        End If
        
        ExtraPiece = Mid(Conteudo, Cont1Piece)
        If Left(ExtraPiece, 1) = SepPieces Then ExtraPiece = Mid(ExtraPiece, 2)
        Cont2Piece = InStr(1, ExtraPiece, SepPieces)
        If Cont2Piece > 0 Then ExtraPiece = Mid(ExtraPiece, 1, Cont2Piece - 1)
        
        Piece = ExtraPiece

End Function


PARA USAR A FUNÇÃO FAÇA ASSIM:

dim ConteudoQueQuero as string
dim ConteudoComPieces as string

ConteudoComPieces = "A,B,C"

ConteudoQueQuero = Piece(ConteudoComPieces, "," , 2)

A variável ConteudoQueQuero ficará com o B dentro dela, porque se está pedindo para buscar o segundo piece sendo o separador dos pieces a vírgula.

Se a variável ConteudoComPieces tivesse o conteúdo 2,01012100,,0,34.09,32.69 e você fizesse assm:

ConteudoQueQuero = Piece(ConteudoComPieces, "," , 5)

Então a variável ConteudoQueQuero teria o conteúdo 34.09, porque é o 5 piece da string, em que cada piece é separado do outro por uma vírgula. O separador pode ser qualquer caracter. Eu geralmente uso o ^, porque dentro da string de conteúdo de pieces poderia ter 34,09 (e não 34.09) então a vírgula seria considerada como separação de 34 e de 09, mas no arquivo do IBPT não tem vírgula separando os campos, tem ponto decimal então poderá usar a vírgula como separador de pieces sem problemas. Eu prefiro além de trocar as aspas por nada, trocar as vírgulas por ^, para evitar qualquer surpresa, mas... poderá usar qualquer caracter que desejar para separar os pieces.

Tudo de bom.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página