FUNÇÃO AJUDA................

Delphi

03/02/2003

Preciso de uma função que execute o exemplo abaixo:

ATUAL: AV AMÉRICAS, DAS

PARA: AV DAS AMÉRICAS

Preciso retirar a virgula e trocar o ´DAS´ de posicao......

Alguém teria uma função para isto.........


Anonymous

Anonymous

Curtidas 0

Respostas

Ildefonso

Ildefonso

03/02/2003

Olá, Martins.

As funções que você precisará são: Pos(), Copy(), Delete(), Insert()...

Não há como determinar onde e o que mover, pois alguém pode ter escrito ´Av. Americas, das´ ... só o ponto da abreviação já seria suficiente para complicar a construção de uma função única.

O mais correto é você colocar o tipo de logradouro (Avenida, Av., Rua, R., Alameda, etc.) em um campo separado e, apenas, quando fosse mostrar o display final, concatenar as duas strings.

Bom trabalho. 8)


GOSTEI 0
Anonymous

Anonymous

03/02/2003

A base que eu estou utilizando é a dos correios... ela e cadastrada da mesma maneira..... então eu não tenho problemas com ´.´ ...

mesmo assim obrigado....


GOSTEI 0
Roa

Roa

03/02/2003

A partir das funções Pos(), Copy(), Delete(), Insert()... que já te sugeriram, você pode construir uma função que leia a string da direita pra esquerda e na primeira ocorrência de uma vírgula pegue dessa posição até o final e armazene em uma variável X (por exemplo) e em seguida leia da esquerda pra direita e na primeira ocorrência de um espaço em branco adicione o conteúdo de X na posição desse branco.
Não é tão difícil e têm várias maneiras de fazer uma função como essa, é só usar a criatividade sabendo empregar os comandos adequados.

Obs.: A base com esses endereços tem que estar padronizada como no exemplo que você deu:

AV AMÉRICAS, DAS
AV DAS AMÉRICAS


GOSTEI 0
POSTAR