Jump to content
dipacheco

Encontrar sub-string em TXT e devolver next string

Recommended Posts

dipacheco

Boas pessoal... tenho um ficheiro que contem todos os codigos postais nacionais (cedido pelos CTT). O que quero é que o meu programa, leia o que o user escreve no campo codigo postal e preencha automaticamente o campo Localidade. O ficheiro q os CTT disponibilizam é um txt com varias coisas por linha... mas eu sei que se entrar com o codigo 4400-000 existe uma linha em que tenho 4400;000;Localidade e o q quero é procurar essa substring 4400;000 e devolver a seguinte q é "Localidade". Alguem pode ajudar?

Share this post


Link to post
Share on other sites
ribeiro55

Tens linhas.

Tens um bom delimitador.

E só tens 3 campos.

Usa o Split. :)

    Private Function ApanhaLocalidade(ByVal Codigo1 As Integer, ByVal Codigo2 As Integer) As String
        Dim SR As New IO.StreamReader("ficheiro")
        Dim codigosPostais As String = SR.ReadToEnd
        SR.Close()

        For Each Linha As String In codigosPostais.Split(vbLf)
            Dim Elementos As String() = Linha.Split(";")
            If Integer.Parse(Elementos(0)) = Codigo1 And Integer.Parse(Elementos(1)) = Codigo2 Then
                Return Elementos(2).Replace(vbCr, "")
            End If
        Next

        Return "Nenhuma localidade encontrada"
    End Function


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
dipacheco

nao o tenho comigo, mas fiz um ficheiro de teste porque sei o formato. mas acho q está no site dos CTT se te registares.

o formato dos codigo postais é por linhas com 17 campos, os ultimos 3 campos sao os campos dos codigos postais e localidade.

basicamente é algo do genero:

XA;XB;XC;XD;XE;XF;XG;XH;XI;XJ;XK;XL;XM;XN;4400;000;Localidade

mas vai ao site dos ctt aqui (http://www.ctt.pt/feapl_2pob/app/open/tools.jspx?tool=3) e escolhe o separador "Pesquisa de códigos postais" bem no centro do ecran, depois em baixo diz "Downloads - Ficheiros de Códigos Postais (formato txt) - (Para utilizadores registados. Se não está registado, efectue aqui o registo.)"

e pronto, é so seguires passos. espero ter ajudado. abraço.

Share this post


Link to post
Share on other sites
bioshock

Ermm, pensava que o ficheiro não podia ser disponibilizado para qualquer um. Há uns tempos precisei de uma porcaria destas e disseram-me que os ficheiros eram apenas disponibilizados para empresas, portanto nem procurei mais pelo assunto.

Obrigado :)

Share this post


Link to post
Share on other sites
dipacheco

eu sinceramente nao sei se só fornecem a empresas, ate porque quem tem o ficheiro é o pessoal da empresa (precisamente), e foi por isso q n te dei o ficheiro (pq n estou na empresa).

no entanto tens isso no site dos ctt... suponho q seja so registar e pedir! digo eu...

abraço

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.