FUNÇÃO NÃO ESTOU CONSEGUINDO. NÃO SEI MAIS O Q. FAZER.......

04/02/2003

0

Preciso de uma função que execute o exemplo abaixo e não estou conseguindo desenvolver utilizando os comandos Pos(), Copy(), Delete(), Insert() sou iniciante.....

ATÉ AGORA EU SÓ CONSEGUIR TIRAR A VIRGULA COM A FUNÇÃO DELETE....

Sei que tenho que fazer uma pesquisa da direita para esquerda achar a virgula e armazena o resultado posterior(´´DAS´´) em uma variavel e envia-lo para a primeira posição da string. .....Não estou conseguindo...... ajudem-me por favor.....

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.........

A base que eu estou utilizando é a dos correios que esta totalmente padronizada....


Anonymous

Anonymous

Responder

Posts

04/02/2003

Roa

Tente usar a função a seguir (declare-a como se fosse uma procedure):

type
.
.
.
.
function MudaPosicao(cString,cSubStr: string): string;
.
.
.
implementation

{$R *.DFM}

.
.
.
function TForm1.MudaPosicao(cString,cSubStr: string): string;
var cStr: string;
i: integer;
begin
i:=pos(cSubStr,cString);
if i=0 then exit;
cStr:=copy(cString,i+1,length(cString)-i);
delete(cString,i,length(cString)-i+1);
i:=pos(´ ´,cString)+1;
insert(trim(cStr)+´ ´,cString,i);
MudaPosicao:=cString;
end;


Exemplo de uso:

Supondo que tenho no meu Form dois edits, Edit1 e Edit2. No evento OnExit do Edit1 (ou OnEnter do Edit2) faço isto:

Edit2.text:=MudaPosicao(Edit1.text,´,´);

Se eu digitar no Edit1: ´AV AMERICA, DAS´ o resultado no Edit2 será AV DAS AMERICAS.
O primeiro parâmetro da função é a string que será alterada e o segundo parâmetro é a substring que quero localizar na string.
Se a substring não estiver na string, nada acontecerá.
Faça o teste.

Espero ter ajudado.


Responder

04/02/2003

Dor_poa




Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar