Atualizar prefixo de telefone em lote

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Atualizar prefixo de telefone em lote

Mensagem por kristo »

Olá pessoal, alguém pode informar pra mim, como posso acrescentar nessa rotina, um modo de atualizar os prefixos dos telefones em lotes..

CLEAR
*
cAnt := "286"
cNovo := "3286"
*
USE FISICO
GOTO TOP
*
WHILE (.NOT. EOF())
IF SUBSTR(FONE,1,3)==cAnt
cFone := STUFF(FONE,1,3,cNovo)
? FONE, cFone
REPLACE FONE WITH cFone
END
SKIP
END
QUIT


Ex. eu indicar vários prefixos antigos e vários prefixos novos relacionados aos antigos....fazer com que a rotina leia e deduza se for tal, mudar para tal, se não achar tal tentar o proximo e assim por diante !!

fico no aguardo

Obrigado
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

use uma matriz assim ficará assim...

// matriz contendo os prefixos a serem alterados
aPrefixo := {}

// primeiro lote
aadd(aPrefixo,{"286","3286"}
// segundo lote de exemplo
aadd(aPrefixo,{"256","3256"}

// veja q quando adiciono na matriz a primeira posição é o prefixo antigo e a segunda novo...

USE FISICO
GOTO TOP

WHILE (.NOT. EOF())
// localizo na matriz dos prefixos novos realizando uma pesquisa
// na matriz
npos := ascan(aPrefixo,{|x|,x[1]=SUBSTR(FONE,1,3)})

// localizado prefixo para alteração
IF nPos > 0
cFone := STUFF(FONE,1,3,aPrefixo[nPos,2])
? FONE, cFone
REPLACE FONE WITH cFone
END
SKIP
END
QUIT


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Responder