DIGITO VERIFICADO

11/12/2008

Gostaria de saber como faço para que no momento que sair de um edit  o sistema verificasse o digito verificador   exe 12-227-056-8  e em outro formulario quando digito um numero igual a esse e colosse a quantidade ele  preenchia  as o restante com o digito   Grato   Diogenes
Diogenes Dourado

Diogenes Dourado

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

11/12/2008

Diogenes,        Qual é o algoritmo que você esta usando para gerar o digito verificador.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

11/12/2008

Diogenes,

 Continuo no aguardo sobre o seu algoritmo do digito verificador.


GOSTEI 0
Diogenes Dourado

Diogenes Dourado

11/12/2008

o Algoritmo que tenho foi montado em Visual Basic, gostaria de saber como faço para montar um similar ou igual para Delphi.   Segue abaixo os dois algoritmo dos codigo verificadores Verifica DV Function VerifDv(Num_Med As String, Campo As TextBox) As Integer Dim Tot, DV As Integer
Dim Quo As Integer
Dim Resto, I, Prod, intParte, nDV, nSubtr As Integer
Dim strNum, strParte As String strNum = Mid(Num_Med, 1, 8)
nDV = Right(Num_Med, 1)
DV = 0 If Str(Mid(Num_Med, 1, 2)) = 0 Then Caso inicie por 00 o DV deve ser sempre 0
   GoTo Testa
End If Tot = 0
Resto = 0
Quo = 0
nSubtr = 9 For I = 2 To 9
    intParte = Val(Mid(strNum, (I - 1), 1))
    Prod = intParte * nSubtr
    Tot = Tot + Prod
    nSubtr = nSubtr - 1
Next I Quo = Int(Tot / 11)
Resto = Tot - (Quo * 11)
DV = 11 - Resto
If DV = 10 Or DV = 11 Then
   DV = 0
End If Testa: If DV <> nDV Then
   MsgBox "NÚMERO OU DV ÍNVÁLIDO.@   VERIFIQUE...   @ ", 0, "E R R O"
   Campo.SetFocus
End If Fim_Sub: End Function     Verifica DV Function VerifDv(Num_Med As String, Campo As TextBox) As Integer Dim Tot, DV As Integer
Dim Quo As Integer
Dim Resto, I, Prod, intParte, nDV, nSubtr As Integer
Dim strNum, strParte As String strNum = Mid(Num_Med, 1, 8)
nDV = Right(Num_Med, 1)
DV = 0 If Str(Mid(Num_Med, 1, 2)) = 0 Then Caso inicie por 00 o DV deve ser sempre 0
   GoTo Testa
End If Tot = 0
Resto = 0
Quo = 0
nSubtr = 9 For I = 2 To 9
    intParte = Val(Mid(strNum, (I - 1), 1))
    Prod = intParte * nSubtr
    Tot = Tot + Prod
    nSubtr = nSubtr - 1
Next I Quo = Int(Tot / 11)
Resto = Tot - (Quo * 11)
DV = 11 - Resto
If DV = 10 Or DV = 11 Then
   DV = 0
End If Testa: If DV <> nDV Then
   MsgBox "NÚMERO OU DV ÍNVÁLIDO.@   VERIFIQUE...   @ ", 0, "E R R O"
   Campo.SetFocus
End If Fim_Sub: End Function     Pois os mesmos são usados em um banco de dados em ACCESS     Grato     Diogenes
       
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

11/12/2008

Diogenes,
  Estaremos analisando o código e convertendo o mesmo para delphi. Logo enviaremos a resposta
GOSTEI 0
Diogenes Dourado

Diogenes Dourado

11/12/2008

ola   Obsevando o que te enviei verifiquei que mandei dois algoritimo repitido  segue abixo o correto   verifica DV pois quando digitamos os numeros o sistema verifica se esta correto   Verifica DV Function VerifDv(Num_Med As String, Campo As TextBox) As Integer Dim Tot, DV As Integer
Dim Quo As Integer
Dim Resto, I, Prod, intParte, nDV, nSubtr As Integer
Dim strNum, strParte As String strNum = Mid(Num_Med, 1, 8)
nDV = Right(Num_Med, 1)
DV = 0 If Str(Mid(Num_Med, 1, 2)) = 0 Then Caso inicie por 00 o DV deve ser sempre 0
   GoTo Testa
End If Tot = 0
Resto = 0
Quo = 0
nSubtr = 9 For I = 2 To 9
    intParte = Val(Mid(strNum, (I - 1), 1))
    Prod = intParte * nSubtr
    Tot = Tot + Prod
    nSubtr = nSubtr - 1
Next I Quo = Int(Tot / 11)
Resto = Tot - (Quo * 11)
DV = 11 - Resto
If DV = 10 Or DV = 11 Then
   DV = 0
End If Testa: If DV <> nDV Then
   MsgBox "NÚMERO OU DV ÍNVÁLIDO.@   VERIFIQUE...   @ ", 0, "E R R O"
   Campo.SetFocus
End If Fim_Sub: End Function     o proximo é quando digitamos uma quantidade grande por exemplo digitamos o primeiro e em outro edit  colomas a quantidade e o sistema preenche  a quantidade informada   exemplo  12-227-056-8  com a quantidade de 100 pcs  o sistema coloca a sequencio 12-227-057 em diante com o digita verificador     Grato   Diogenes  
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

11/12/2008

Foi convertido o algortimo para o delphi, de uma olhada e veja se é isso.

     http://www.4shared.com/file/76076210/b53bd8b5/algortimo.html

Att,

Wesley Yamazack

GOSTEI 0
Diogenes Dourado

Diogenes Dourado

11/12/2008

Bom dia   Gostaria de agradeçer pela resolução do meu problema, pois a resposta me ajudou e em muito   O alogritimo supriu a minha necesidade   Desde ja agradeço, e muito obrigado pela atenção   Grato   Diogenes    
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

11/12/2008

Bom dia,

  Que bom que conseguimos resolver seu problema. Espero poder ajudar em um próximo chamado.
  Estamos fechando o chamado.

Att,

Wesley Yamazack
GOSTEI 0
POSTAR