digito verificador em lote
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
Curtidas 0
Respostas
Wesley Yamazack
30/07/2009
Olá amigo,
Ter como fazer até tem, porém como é o calculo ? Como funciona ? Explica melhor que te ajudamos.
Um abraço
Wesley Y
Ter como fazer até tem, porém como é o calculo ? Como funciona ? Explica melhor que te ajudamos.
Um abraço
Wesley Y
GOSTEI 0
Diogenes Dourado
30/07/2009
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
GOSTEI 0
Wesley Yamazack
30/07/2009
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
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
GOSTEI 0
Diogenes Dourado
30/07/2009
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
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
GOSTEI 0
Wesley Yamazack
30/07/2009
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
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
GOSTEI 0
Diogenes Dourado
30/07/2009
Ola
Posso mandar os arquivos para você dar uma olhada, pois não estou sabendo explicar?
Grato
Diogenes
GOSTEI 0
Wesley Yamazack
30/07/2009
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
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
GOSTEI 0
Diogenes Dourado
30/07/2009
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
GOSTEI 0
Wesley Yamazack
30/07/2009
Olá meu amigo,
Só faltou o link para poder baixar. Fico no aguardo.
Wesley Y
Só faltou o link para poder baixar. Fico no aguardo.
Wesley Y
GOSTEI 0
Diogenes Dourado
30/07/2009
Bom dia
Desculpa havia me esquecido de colocar o link
http://video.devmedia.com.br/discovirtual/180808/medidores.rar
Grato
Diogenes
GOSTEI 0
Wesley Yamazack
30/07/2009
Bom dia meu amigo.
Vamos trabalhar pra solucionar seu problema, peço que aguarde um pouco.
Um abraço
Wesley Y
Vamos trabalhar pra solucionar seu problema, peço que aguarde um pouco.
Um abraço
Wesley Y
GOSTEI 0
Diogenes Dourado
30/07/2009
Boa tarde
Muito obrado pela paciencia.
Grato
Diogenes
GOSTEI 0
Wesley Yamazack
30/07/2009
Olá meu amigo,
Peço que espere um pouco mais pois a rotina esta complexa.
Um abraço
Wesley Y
Peço que espere um pouco mais pois a rotina esta complexa.
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
30/07/2009
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
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
GOSTEI 0
Diogenes Dourado
30/07/2009
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
GOSTEI 0
Wesley Yamazack
30/07/2009
Olá meu amigo, boa noite.
Bom você não tem nada feito em delphi, certo ?
Me diga uma coisa, este digite do lote, serve pra que? não poderia ser um registro criado automaticamente pelo banco de dados ? Identificando assim como o registro unico, mantendo uma sequencia, e nunca repetindo o código. Não poderia ser assim não? Pois desenvolver uma rotina para gerar este lote, fica complicado, pois na consultoria nós, não desenvolvemos e sim ajudamos, entendeu meu amigo? Não poderia ser assim não? Gerando o código pelo banco?
Um abraço
Wesley Y
GOSTEI 0
Diogenes Dourado
30/07/2009
Boa noite
Aqui esta uma correria desculpa por não ter repondido mais cedo, o digito é paracido com o do CPF, mas não estou consguindo fazer, então vou verificar com os encarragados para se podemos fazer de outra maneira.
Pois não consegui montar em delphi, vou conversar com o pessoal que desenvolveu o sistema para ver como eles fizeram o digito, e passa para você, para fazer isso.
Desculpa pelo longo trabalho, pois aqui na empresa temos que fazer chover, pela computador
Grato
Diogenes
GOSTEI 0
Wesley Yamazack
30/07/2009
Olá meu amigo, td bem sei como é este lance de fazer chover.srs.
Estou no aguardo.
Um abraço
Wesley Y
Estou no aguardo.
Um abraço
Wesley Y
GOSTEI 0
Devmedia
30/07/2009
Diogenes,
podemos enecerrar o chamado?
podemos enecerrar o chamado?
GOSTEI 0
Diogenes Dourado
30/07/2009
Ola amigos
Podemos sim
Grato
Diogenes
GOSTEI 0