Fórum digito verificador em lote #8108

30/07/2009

0

Ola  amigos   Gostaria de saber como faço para qe um projeto que estou desenvolvendo ele calcula o digito verificador e lote   Existe um TEDIT onde tem uma seguencia de numero '11499346-7' e sistena calculasse o digito verificador que ja tenho e no segunda TEDIT onde tem a quantidade e o projeto calculasse os restante da seguencia e digito verificador da seguencia ate dar a quantide do segundo edit     Desde ja agradeço   Diogenes  
Diogenes Dourado

Diogenes Dourado

Responder

Posts

30/07/2009

Wesley Yamazack

Olá amigo,
  Ter como fazer até tem, porém como é o calculo ? Como funciona ? Explica melhor que te ajudamos.


  Um abraço

Wesley Y
Responder

Gostei + 0

30/07/2009

Diogenes Dourado

Ola   WESLEY   Deculpa, por saber explicar, pois ate eu depois de ler me atrapalhei   Tenho um agoritmo que calcula os digitos verificador aqui na empresa, exemplo 12509502-3 que foi modificado para linguagem delphi por voceis.   Gostaria de saber como faço para que o meu projeto que quando e digitar o primeiro numero 12509502-3 e no proximo edit digito uma quantidade qualquer ex 10pçs o sistema completa com os proximos 9 pçs ex ate 12509512 e ainda colocasse o digito verificador para que o usuário não precisase  digitar o restante da 9 unidades tenho um algoritmo parecido em visual, mas não estou conseguindo mudar para DELPHI   Gostaria muito que voce me ajudasse     Desde ja agradeço
Responder

Gostei + 0

31/07/2009

Wesley Yamazack

Ola meu amigo.
  Bom pelo que eu vi o 12509502-3, seria o primeiro, já no segundo 12509512, terceiro seria 12509522, quarto 12509532, seria esta lógica ? e como ficaria o digito verificador?
  Um abraço meu amigo. Fico no aguardo.

Wesley Y
Responder

Gostei + 0

31/07/2009

Diogenes Dourado

Bom dia   Isso mesmo, tenho um  algoritmo criado em VBA que não capacidade de modifica-lo para DELPHI,  pois ainda estou catinhando para DELPHI.     Tenho o almoritmo abaixo que calcula o  DV foi modificado por você quando inciei meus trabalhos em  DELPHI   begin  strNum:= copy(num_med,1,8); //nDV := Right(num_med,1); DV := 0; if (copy(num_Med,12)) = '0' then  begin   teste(edit1)  end;  tot := 0;  Resto :=0;  Quo := 0:  nSubtr := 9;  for I : 2 to 9 do  begin   intParte := StrToInt(Copy(strNum, (I-1),1));   Prod:= intParte * nSubtr;  Tot := Tot+Prod;  nSubtr := nSubtr -1; end; // next I Quo := Tot div 11; Resto := Tot -(Quo * 11); DV := 11 - resto if (DV = 10) or (DV =11) then  begin   DV := 0 end;   end;     O algoritmo acima ele verifica do DV, e abaixo existe um que quando Clica no botão o projeto calcula o DV em lote   Dim Db As Database, rs, rsLab, RsArq As Recordset
Dim Num_Med_dig
Dim Num_Aux As Long, I As Integer
Dim rsCab, rsTemp, rstCam As Recordset
Dim strCaminho As String
 
Set Db = CurrentDb
Set rstCam = Db.OpenRecordset("Caminho")
   
rstCam.Edit
strCaminho = rstCam![Caminhos] 'Para abrir a tabela use no seu procedimento Set rs = AbrirTabelaSeek("Cabeçalho")
rs.Index = "Medidor" If Left(Me!Medidores, 2) < 10 Then
   MsgBox "Número Inválido Para Inclusão por Lote.@@ Corrija...   @ ", 0, "E R R O"
   Me!Medidores.SetFocus
   GoTo Fim:
End If Num_Aux = Left(Me!Medidores, 8) With rs
    For I = 1 To Me!QTDE
        Num_Med_dig = CalcDv(Num_Aux)
        rs.Seek "=", Num_Med_dig
        If rs.NoMatch = True Then
           .AddNew
            rs![Data de Entrada] = Me![Data Entrada]
            rs![Doc_entrada] = Me!Doc_entradas
            rs![Leitura] = 0
            rs![Tipo] = Me!Tipos.Value
            rs![Cod_local] = Me!Combinação97.Value
            rs![Cod_Situação] = 1
            rs![Medidor] = Num_Med_dig
            .Update
        Else
           If rs![Cod_Situação] <> 3 Then
              MsgBox "NÚMERO JÁ CADASTRADO.@@ " & Num_Med_dig, 0, "E R R O"
           Else
              rs.Edit
              rs![Data de Entrada] = Me![Data Entrada]
              rs![Doc_entrada] = Me!Doc_entradas
              rs![Leitura] = 0
              rs![Tipo] = Me!Tipos.Value
              rs![Cod_local] = Me!Combinação97.Value
              rs![Cod_Situação] = 1
              rs![Medidor] = Num_Med_dig
              rs![Data de Saída] = Null
              rs![Doc_saída] = Null
              .Update
           End If
       
        End If
             
        Num_Aux = Val(Left(Me!Medidores, 8)) + I
    Next
End With rs.Close MsgBox "INCLUSÃO PROCESSADA.@@ ", vbOKOnly, "A V I S O"
Fim:
End Sub   E como sou inesperirente não sei como modifica-lo   Segue abaixo a imagem do formulario        
Responder

Gostei + 0

31/07/2009

Wesley Yamazack

Olá meu amigo.
  O código em VB, esta meio complexo, não trabalhamos fica complicado analisar, o outro foi mais tranquilo por ser intuitivos os comandos, porém este tem algumas coisas mais complexas, da linguagem.
  Não teria como você desenvolver uma rotina para gerar o lote não ? Fazer do zero! Qual é a necessidade? Como funcionam estes lotes ? Me esclarece um pouco mais a rotina, derrepente conseguimos fazer um gerador de lotes.
  Fico no aguardo.

Att,

Wesley Y
Responder

Gostei + 0

31/07/2009

Diogenes Dourado

Ola   Posso mandar os arquivos para você dar uma olhada, pois não estou sabendo explicar?   Grato   Diogenes      
Responder

Gostei + 0

01/08/2009

Wesley Yamazack

Olá meu amigo..
 POde sim, segue abaixo a video de como anexar os arquivos

     https://www.devmedia.com.br/imagens/videos/4/Video%20disco%20virtual.htm

Um abraço

Wesley Y
Responder

Gostei + 0

03/08/2009

Diogenes Dourado

bom dia   Conforme combinado envei os arquivos para você dar um olhada, ele roda em access com dois bancos de dados viculados. Roda somente da pasta c:\laboratorio.   No menu principal vá em incluir Equipamento- Inclui equipamenstos em lote onde existe o botão  confirma que faz todo o processo de calculo para o lote   GRato   Diogene
Responder

Gostei + 0

03/08/2009

Wesley Yamazack

Olá meu amigo,
  Só faltou o link para poder baixar. Fico no aguardo.

Wesley Y
Responder

Gostei + 0

03/08/2009

Diogenes Dourado

Bom dia   Desculpa havia me esquecido de colocar o link   http://video.devmedia.com.br/discovirtual/180808/medidores.rar     Grato   Diogenes
Responder

Gostei + 0

03/08/2009

Wesley Yamazack

Bom dia meu amigo.
  Vamos trabalhar pra solucionar seu problema, peço que aguarde um pouco.
  Um abraço


Wesley Y
Responder

Gostei + 0

03/08/2009

Diogenes Dourado

Boa tarde Muito obrado pela paciencia.   Grato     Diogenes
Responder

Gostei + 0

04/08/2009

Wesley Yamazack

Olá meu amigo,

  Peço que espere um pouco mais pois a rotina esta complexa. 

Um abraço

Wesley Y
Responder

Gostei + 0

05/08/2009

Wesley Yamazack

Olá meu amigo,
  Bom olha estava analisando aqui o código em VB(Porém não deu para entender muita coisa), e ao tentar acessar o banco ele pediu senha, qual seria ? Você me mandou 2 arquivos, um que parece ser um sistema, e o outro o banco de dados, o que eu quero, mesmo é saber como você hoje gera este codigo no lote, como você faz este procedimento? que ai nos inventamos uma maneira pelo delphi de fazer isso.

  Fico no aguardo meu amigo.
  Um abraço e bom dia !

Wesley Y
Responder

Gostei + 0

05/08/2009

Diogenes Dourado

Boa tarde   Desculpa a senha é 'MEDIÇÃO', este procedimento não foi eu que criei, a unica coisa que tenho é, quando clicamo no botão confirma ele consegue incluir todos os digitos verificadores em lote.   Ou tem outra maneira de criar um algortimo, para gerar este digito verificador em lote??       Grato   Diogenes  
Responder

Gostei + 0

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

Aceitar