Rotinas...

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
mvbrandao
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 15 Jul 2004 09:52
Localização: Rio de Janeiro - RJ

Rotinas...

Mensagem por mvbrandao »

Olá pessoal,

Será que alguem tem uma rotina que possa gerar numeros de matriculas com digito verificador.... se alguem souber onde posso achar, fico grato.

:D
Marcos Brandão
marcos@bco.com.br
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Onde encontrar eu não sei, mas é bem simples criar uma rotina para isso, exemplo :

Código: Selecionar todos

cls
wmatricula=0
@ 02,00 say "Matricula -> " get wmatricula pict "99999"
read

digito=calcdig(strzero(wmatricula,5))
@ 10,00 say digito
inkey(0)
return

function calcdig(kmatricula)
soma=0
for i=1 to len(kmatricula)
    soma+=val(substr(kmatricula,i,1))
next
subdigito=val(substr(str(soma,lennum(soma)),1))
if subdigito=0
   subdigito=10
endif
private digitos[10]
digitos[1]=9
digitos[2]=8
digitos[3]=7
digitos[4]=6
digitos[5]=0
digitos[6]=1
digitos[7]=2
digitos[8]=3
digitos[9]=4
digitos[10]=5

digitoverif=digitos[subdigito]
Return(digitoverif)
Esse exemplo criei ainda a pouco mas você pode criar o seu próprio módulo.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
mvbrandao
Usuário Nível 1
Usuário Nível 1
Mensagens: 22
Registrado em: 15 Jul 2004 09:52
Localização: Rio de Janeiro - RJ

Mensagem por mvbrandao »

Valeu Marcelo,

Vou Estudar os conceitos........

Iniciante é assim mesmo.......
:xau
Marcos Brandão
marcos@bco.com.br
Responder