de vb a fox

167 views
Skip to first unread message

Normandia

unread,
Feb 13, 2012, 7:51:13 PM2/13/12
to Comunidad de Visual Foxpro en Español
necesito requiero pasar un form SDK de visual basic a fox es para
controlar un torniquete
el ejemplo me lo enviaron e VB 5, delphi y C# pero no tienen ejemplos
en vfp
favor escribir a mic orreo los que me puedan ayudar y me dicen cuanto
cuesta para depositarle
..
no encuentro a alguien que me ayude. gracias.

Allan Raúl Acuña

unread,
Feb 13, 2012, 8:27:27 PM2/13/12
to publice...@googlegroups.com
Estimado

Mis saludos antes que nada.

Trabajo en VB60, VBA, VFP, PHP. 

Prodriamos ver si te puedo ayudar

Saludos cordiales;

Lic. Allan R. Acuña
Desarrollador Independiente
msn= allan...@hotmail.com
skype= niceasysoft
            +(505) 8 831 8191      
www.NicEasySoft.com
Managua, Nicaragua
Centroamérica


> Date: Mon, 13 Feb 2012 16:51:13 -0800
> Subject: [vfp] de vb a fox
> From: bytes...@gmail.com
> To: publice...@googlegroups.com

Normandia

unread,
Feb 14, 2012, 7:10:30 AM2/14/12
to Comunidad de Visual Foxpro en Español
Gracias amigo por tu repuesta
estoy enviandote sdk con ejemplo de vb para que lo veas a ver que se
puede hacer
saludos


On 13 feb, 21:27, Allan Raúl Acuña <allan_ra...@hotmail.com> wrote:
> Estimado
>
> Mis saludos antes que nada.
> Trabajo en VB60, VBA, VFP, PHP.
> Prodriamos ver si te puedo ayudar
>
> Saludos cordiales;
>
> Lic. Allan R. Acuña
> Desarrollador Independiente
> msn= allan_ra...@hotmail.com
> skype= niceasysoft
>             +(505) 8 831 8191      www.NicEasySoft.comManagua, NicaraguaCentroamérica
>
>
>
>
>
>
>
> > Date: Mon, 13 Feb 2012 16:51:13 -0800
> > Subject: [vfp] de vb a fox
> > From: bytesof...@gmail.com

Claudio Luna

unread,
Feb 14, 2012, 7:54:47 AM2/14/12
to publice...@googlegroups.com
Hola, mirá yo he trabajado con SDK para la conexión con relojes, trabajo en VFP y PHP.
Si te puedo ayudar..
Mandame la información.
Saludos
Claudio

Daniel Sánchez

unread,
Feb 14, 2012, 8:56:53 AM2/14/12
to publice...@googlegroups.com
La verdad yo no he tocado este tema, pero en cualquier momento estaré en la misma situación así que seria interesante que compartan con el grupo este tema de los conexiones con lectores de huellas digitales.

Saludos

-- 
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

Normandia

unread,
Feb 14, 2012, 1:38:36 PM2/14/12
to Comunidad de Visual Foxpro en Español
Hola
al momento de recibir y lograr convertir el programa que es uno solo
de vb
a vfp y probarlo. Lo decargaere en este sitio, ya que si he tenido
mucha dificltudad para hacerlo,
y ojala podamos resolverlo para ayudar a mas de uno que esta en la
misma situa
saludos

Oscar Díaz

unread,
Feb 14, 2012, 4:26:31 PM2/14/12
to publice...@googlegroups.com
Y el SDK ? para ver que se puede aportar.

Normandia

unread,
Feb 17, 2012, 6:32:03 AM2/17/12
to Comunidad de Visual Foxpro en Español
amigos debido a que realmente no encuentro quien me pueda ayudar
aqui estan supuestamente los 2 programas que ncesito traducir a fox de
vb
la libreria se llama easyinner.dll
digo supuestamente por que de visualbsic no conozco nada y en
directorio de prueba
que me enviaron para hacer las pruebas estan estos 2 programas mas 2
que son como de titulo
aclaro que ya utilice el programa devbafox pero no me traduce bien.
que alguien me explique porfa.
no soy fiona ni rapunzel pero necesito su ayuda. y
si tiene alguan costo pues haganmelo saber
gracias.-
********************************************
modEasyInner.bas



Attribute VB_Name = "modEasyInner"
'//
******************************************************************************
'//A Topdata Sistemas de Automação Ltda não se responsabiliza por
qualquer
'//tipo de dano que este software possa causar, este exemplo deve ser
utilizado
'//apenas para demonstrar a comunicação on-line com os equipamentos da
linha
'//inner e não deve ser alterado, por este motivo ele não deve ser
incluso em
'//suas aplicações comerciais.
'//
'//Exemplo Mudanca automatica de OnLine para OffLine
'//Desenvolvido em Visual Basic 6.
'// Topdata Sistemas de
Automação Ltda.
'//
'// Autor:
Ygor N. Bidá.
'//
******************************************************************************
Option Explicit
Option Base 0


' *SOMENTE INNER NET E INNER PLUS*
'Public Declare Function PreencherBuffer TLM Lib
"EasyInner.dll" (ByVal Caminho As String) As Byte
'Public Declare Function EnviarBufferTLM Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
'Public Declare Function HabilitarCriptografia Lib
"EasyInner.dll" (ByVal Tipo As Byte) As Byte

Public Declare Function DefinirTipoConexao Lib "EasyInner.dll" (ByVal
Tipo As Byte) As Byte




Public Declare Function AbrirPortaComunicacao Lib
"EasyInner.dll" (ByVal Porta As Long) As Byte
Public Declare Sub FecharPortaComunicacao Lib "EasyInner.dll" ()




Public Declare Function DefinirPadraoCartao Lib "EasyInner.dll" (ByVal
Padrao As Byte) As Byte




Public Declare Function AcionarRele1 Lib "EasyInner.dll" (ByVal Inner
As Long) As Byte
Public Declare Function AcionarRele2 Lib "EasyInner.dll" (ByVal Inner
As Long) As Byte
Public Declare Function EnviarComandoAcessoNegado Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ManterRele1Acionado Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function ManterRele2Acionado Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function DesabilitarRele1 Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function DesabilitarRele2 Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function AcionarBipCurto Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function AcionarBipLongo Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function Ping Lib "EasyInner.dll" (ByVal Inner As Long)
As Byte
Public Declare Function PingOnLine Lib "EasyInner.dll" (ByVal Inner As
Long) As Byte
Public Declare Function ResetarModoOnLine Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function LigarBackLite Lib "EasyInner.dll" (ByVal Inner
As Long) As Byte
Public Declare Function DesligarBackLite Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function LigarBipIntermitente Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function DesligarBipIntermitente Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function LiberarCatracaEntrada Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function LiberarCatracaSaida Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function LiberarCatracaEntradaInvertida Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function LiberarCatracaSaidaInvertida Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function LiberarCatracaDoisSentidos Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function DevolverCartao Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function EngolirCartao Lib "EasyInner.dll" (ByVal Inner
As Long) As Byte
Public Declare Function LevantarParaOnLine Lib "EasyInner.dll" (ByVal
Inner As Long)









Public Declare Function ConfigurarLeitorProximidadeHIDAbaTrack2 Lib
"EasyInner.dll" () As Byte
Public Declare Function ConfigurarLeitorProximidadeMotorolaAbaTrack2
Lib "EasyInner.dll" () As Byte
Public Declare Function ConfigurarLeitorProximidadeWiegand Lib
"EasyInner.dll" () As Byte
Public Declare Function ConfigurarLeitorProximidadeSmartCard Lib
"EasyInner.dll" () As Byte
Public Declare Function ConfigurarLeitorProximidadeAcura Lib
"EasyInner.dll" () As Byte
Public Declare Function ConfigurarLeitorProximidadeWiegandFacilityCode
Lib "EasyInner.dll" () As Byte
Public Declare Function ConfigurarLeitorProximidadeSmartCardAcura Lib
"EasyInner.dll" () As Byte

Public Declare Function ConfigurarInnerOffLine Lib "EasyInner.dll" ()
As Byte
Public Declare Function ConfigurarInnerOnLine Lib "EasyInner.dll" ()
As Byte
Public Declare Function HabilitarTeclado Lib "EasyInner.dll" (ByVal
Habilita As Byte, ByVal Ecoar As Byte) As Byte
Public Declare Function ConfigurarAcionamento1 Lib
"EasyInner.dll" (ByVal Funcao As Byte, ByVal Tempo As Byte) As Byte
Public Declare Function ConfigurarAcionamento2 Lib
"EasyInner.dll" (ByVal Funcao As Byte, ByVal Tempo As Byte) As Byte
Public Declare Function ConfigurarTipoLeitor Lib
"EasyInner.dll" (ByVal Tipo As Byte) As Byte
Public Declare Function ConfigurarLeitor1 Lib "EasyInner.dll" (ByVal
Operacao As Byte) As Byte
Public Declare Function ConfigurarLeitor2 Lib "EasyInner.dll" (ByVal
Operacao As Byte) As Byte
Public Declare Function DefinirCodigoEmpresa Lib
"EasyInner.dll" (ByVal Codigo As Long) As Byte
Public Declare Function DefinirNivelAcesso Lib "EasyInner.dll" (ByVal
Nivel As Byte) As Byte
Public Declare Function UtilizarSenhaAcesso Lib "EasyInner.dll" (ByVal
Utiliza As Byte) As Byte
Public Declare Function DefinirTipoListaAcesso Lib
"EasyInner.dll" (ByVal Tipo As Byte) As Byte
Public Declare Function DefinirQuantidadeDigitosCartao Lib
"EasyInner.dll" (ByVal Quantidade As Byte) As Byte
Public Declare Function AvisarQuandoMemoriaCheia Lib
"EasyInner.dll" (ByVal Avisa As Byte) As Byte
Public Declare Function DefinirPorcentagemRevista Lib
"EasyInner.dll" (ByVal Porcentagem As Byte) As Byte
Public Declare Function RegistrarAcessoNegado Lib
"EasyInner.dll" (ByVal TipoRegistro As Byte) As Byte
Public Declare Function CartaoMasterLiberaAcesso Lib
"EasyInner.dll" (ByVal Libera As Byte) As Byte
Public Declare Function DefinirLogicaRele Lib "EasyInner.dll" (ByVal
Logica As Byte) As Byte
Public Declare Function DesabilitarBloqueioCatracaMicroSwitch Lib
"EasyInner.dll" (ByVal Desabilita As Byte) As Byte
Public Declare Function DefinirFuncaoDefaultLeitoresProximidade Lib
"EasyInner.dll" (ByVal Funcao As Byte) As Byte
Public Declare Function DefinirNumeroCartaoMaster Lib
"EasyInner.dll" (ByVal Master As String) As Byte
Public Declare Function DefinirFormasPictogramasMillenium Lib
"EasyInner.dll" (ByVal Forma As Byte) As Byte
Public Declare Function DesabilitarBipCatraca Lib
"EasyInner.dll" (ByVal Desabilita As Byte) As Byte
Public Declare Function DefinirEventoSensor Lib "EasyInner.dll" (ByVal
Sensor As Byte, ByVal Evento As Byte, ByVal Tempo As Byte) As Byte
Public Declare Function PermitirCadastroInnerBioVerid Lib
"EasyInner.dll" (ByVal Permite As Byte) As Byte
Public Declare Function ReceberDataHoraDadosOnLine Lib
"EasyInner.dll" (ByVal Recebe As Byte) As Byte
Public Declare Function InserirQuantidadeDigitoVariavel Lib
"EasyInner.dll" (ByVal Digito As Byte) As Byte
Public Declare Function ConfigurarWiegandDoisLeitores Lib
"EasyInner.dll" (ByVal Habilita As Byte, ByVal ExibirMensagem As Byte)
As Byte
Public Declare Function DefinirFuncaoDefaultSensorBiometria Lib
"EasyInner.dll" (ByVal Funcao As Byte) As Byte
Public Declare Function ConfigurarComportamentoIndexSearch Lib
"EasyInner.dll" (ByVal IndexSearch As Byte) As Byte
Public Declare Function EnviarConfiguracoes Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte








Public Declare Function EnviarRelogio Lib "EasyInner.dll" (ByVal Inner
As Long, _
ByVal Dia As Byte, ByVal Mes As
Byte, ByVal Ano As Byte, _
ByVal Hora As Byte, ByVal Minuto
As Byte, ByVal Segundo As Byte) As Byte

Public Declare Function EnviarHorarioVerao Lib "EasyInner.dll" (ByVal
Inner As Long, _
ByVal DiaInicio As Byte,
ByVal MesInicio As Byte, ByVal AnoInicio As Byte, _
ByVal HoraInicio As Byte,
ByVal MinutoInicio As Byte, _
ByVal DiaFim As Byte, ByVal
MesFim As Byte, ByVal AnoFim As Byte, _
ByVal HoraFim As Byte,
ByVal MinutoFim As Byte) As Byte








Public Declare Function ApagarHorariosAcesso Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function InserirHorarioAcesso Lib
"EasyInner.dll" (ByVal Horario As Byte, ByVal DiaSemana As Byte, ByVal
FaixaDia As Byte, ByVal Hora As Byte, ByVal Minuto As Byte) As Byte
Public Declare Function EnviarHorariosAcesso Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte





Public Declare Function ApagarListaAcesso Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function InserirUsuarioListaAcesso Lib
"EasyInner.dll" (ByVal Cartao As String, ByVal Horario As Byte) As
Byte
Public Declare Function EnviarListaAcesso Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte





Public Declare Function EnviarMensagemPadraoOnLine Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal ExibirData As Byte, ByVal
Mensagem As String) As Byte
Public Declare Function EnviarMensagemTemporariaOnLine Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal ExibirData As Byte, ByVal
Mensagem As String, ByVal Tempo As Byte) As Byte
Public Declare Function DefinirMensagemEntradaOffLine Lib
"EasyInner.dll" (ByVal ExibirData As Byte, ByVal Mensagem As String)
As Byte
Public Declare Function DefinirMensagemSaidaOffLine Lib
"EasyInner.dll" (ByVal ExibirData As Byte, ByVal Mensagem As String)
As Byte
Public Declare Function DefinirMensagemPadraoOffLine Lib
"EasyInner.dll" (ByVal ExibirData As Byte, ByVal Mensagem As String)
As Byte
Public Declare Function DefinirMensagemFuncaoOffLine Lib
"EasyInner.dll" (ByVal Mensagem As String, ByVal Funcao As Byte, ByVal
Habilitada As Byte) As Byte
Public Declare Function EnviarMensagensOffLine Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ApagarMensagensOffLine Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte






Public Declare Function ApagarHorariosSirene Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function InserirHorarioSirene Lib
"EasyInner.dll" (ByVal Hora As Byte, ByVal Minuto As Byte, _
ByVal Segunda As Byte, ByVal Terca As Byte, ByVal Quarta As Byte,
ByVal Quinta As Byte, _
ByVal Sexta As Byte, ByVal Sabado As Byte, ByVal DomingoFeriado As
Byte) As Byte
Public Declare Function EnviarHorariosSirene Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte




Public Declare Function ColetarBilhete Lib "EasyInner.dll" (ByVal
Inner As Long, ByRef Tipo As Byte, ByRef Dia As Byte, ByRef Mes As
Byte, ByRef Ano As Byte, ByRef Hora As Byte, ByRef Minuto As Byte,
ByVal Cartao As String) As Byte




Public Declare Function EnviarFormasEntradasOnLine Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal QtdeDigitosTeclado As
Byte, ByVal EcoTeclado As Byte, ByVal FormaEntrada As Byte, ByVal
TempoTeclado As Byte, ByVal PosicaoCursorTeclado As Byte) As Byte
Public Declare Function ReceberDadosOnLine Lib "EasyInner.dll" (ByVal
Inner As Long, ByRef Origem As Byte, ByRef Complemento As Byte, ByVal
Cartao As String, ByRef Dia As Byte, ByRef Mes As Byte, ByRef Ano As
Byte, ByRef Hora As Byte, ByRef Minuto As Byte, ByRef Segundo As Byte)
As Byte





Public Declare Function LerSensoresInner Lib "EasyInner.dll" (ByVal
Inner As Long, ByRef StatusSensor1 As Byte, ByRef StatusSensor2 As
Byte, ByRef StatusSensor3 As Byte) As Byte







Public Declare Function EnviarMensagemImpressora00 Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Mensagem As String) As
Byte
Public Declare Function EnviarMensagemImpressoraFF Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Mensagem As String) As
Byte





Public Declare Function HabilitarMudancaOnLineOffLine Lib
"EasyInner.dll" (ByVal Habilita As Byte, ByVal Tempo As Byte) As Byte
Public Declare Function DefinirEntradasMudancaOffLine Lib
"EasyInner.dll" (ByVal Teclado As Byte, ByVal Leitor1 As Byte, ByVal
Leitor2 As Byte, ByVal Catraca As Byte) As Byte
Public Declare Function DefinirEntradasMudancaOffLineComBiometria Lib
"EasyInner.dll" (ByVal Teclado As Byte, ByVal Leitor1 As Byte, ByVal
Leitor2 As Byte, ByVal Verificacao As Byte, ByVal identificacao As
Byte) As Byte
Public Declare Function DefinirMensagemPadraoMudancaOffLine Lib
"EasyInner.dll" (ByVal ExibirData As Byte, ByVal Mensagem As String)
As Byte
Public Declare Function DefinirMensagemPadraoMudancaOnLine Lib
"EasyInner.dll" (ByVal ExibirData As Byte, ByVal Mensagem As String)
As Byte
Public Declare Function DefinirEntradasMudancaOnLine Lib
"EasyInner.dll" (ByVal Entrada As Byte) As Byte
Public Declare Function DefinirConfiguracaoTecladoOnLine Lib
"EasyInner.dll" (ByVal Digitos As Byte, ByVal EcoDisplay As Byte,
ByVal Tempo As Byte, ByVal PosicaoCursor As Byte) As Byte
Public Declare Function
EnviarConfiguracoesMudancaAutomaticaOnLineOffLine Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte






Public Declare Function DefinirConfiguracoesFuncoes Lib
"EasyInner.dll" (ByVal Funcao As Byte, ByVal Catraca As Byte, ByVal
Rele1 As Byte, ByVal Rele2 As Byte, ByVal Lista As Byte, ByVal
Biometria As Byte) As Byte
Public Declare Function EnviarConfiguracoesFuncoes Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte




Public Declare Function SolicitarModeloBio Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function ReceberModeloBio Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal OnLine As Byte, ByRef Modelo As Long) As Byte
Public Declare Function SolicitarVersaoBio Lib "EasyInner.dll" (ByVal
Inner As Long) As Byte
Public Declare Function ReceberVersaoBio Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal OnLine As Byte, ByRef VersaoAlta As Long, ByRef
VersaoBaixa As Long) As Byte
Public Declare Function SolicitarQuantidadeUsuariosBio Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ReceberQuantidadeUsuariosBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte, ByRef
Quantidade As Long) As Byte
Public Declare Sub InicializarColetaListaUsuariosBio Lib
"EasyInner.dll" ()
Public Declare Function SolicitarListaUsuariosBio Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ReceberPacoteListaUsuariosBio Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ReceberUsuarioLista Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal Usuario As String) As Byte
Public Declare Function TemProximoUsuario Lib "EasyInner.dll" () As
Long
Public Declare Function TemProximoPacote Lib "EasyInner.dll" () As
Long
Public Declare Sub SetarBioLight Lib "EasyInner.dll" (ByVal Light As
Long)
Public Declare Function SolicitarUsuarioCadastradoBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Usuario As String) As Byte
Public Declare Function ReceberUsuarioCadastradoBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte, ByVal
Template As String) As Byte
Public Declare Function SolicitarExclusaoUsuario Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Usuario As String) As Byte
Public Declare Function UsuarioFoiExcluido Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal OnLine As Byte) As Byte
Public Declare Function InserirUsuarioLeitorBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Tipo As Byte, ByVal
Usuario As String) As Byte
Public Declare Function ResultadoInsercaoUsuarioLeitorBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte) As Byte
Public Declare Function FazerVerificacaoBiometricaBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Usuario As String) As Byte
Public Declare Function ResultadoVerificacaoBiometrica Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte) As Byte
Public Declare Function FazerIdentificacaoBiometricaBio Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ResultadoIdentificacaoBiometrica Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte, ByVal
Usuario As String) As Byte
Public Declare Function SolicitarTemplateLeitor Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte
Public Declare Function ReceberTemplateLeitor Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte, ByVal
Template As String) As Byte
Public Declare Function ReceberTemplateCapturadoInner Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Template As String) As
Byte
Public Declare Function ConfigurarBio Lib "EasyInner.dll" (ByVal Inner
As Long, ByVal HabilitaIdentificacao As Byte, ByVal
HabilitaVerificacao As Byte) As Byte
Public Declare Function ResultadoConfiguracaoBio Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte) As Byte
Public Declare Function EnviarUsuarioBio Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal Template As String) As Byte
Public Declare Function UsuarioFoiEnviado Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal OnLine As Byte) As Byte
Public Declare Function CompararDigitalLeitor Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal Template As String) As
Byte
Public Declare Function ResultadoComparacaoDigitalLeitor Lib
"EasyInner.dll" (ByVal Inner As Long, ByVal OnLine As Byte) As Byte
Public Declare Function IncluirUsuarioSemDigitalBio Lib
"EasyInner.dll" (ByVal Cartao As String) As Byte
Public Declare Function EnviarListaUsuariosSemDigitalBio Lib
"EasyInner.dll" (ByVal Inner As Long) As Byte





Public Declare Function AbrirPortaComunicacaoModem Lib
"EasyInner.dll" (ByVal Porta As Long) As Byte
Public Declare Function EnviarStringInicializacaoModem Lib
"EasyInner.dll" (ByVal Str As String) As Long
Public Declare Function LerByteModem Lib "EasyInner.dll" () As Long
Public Declare Function ConectarModem Lib "EasyInner.dll" (ByVal Porta
As Long, ByVal Str As String, ByVal Tom As Long, ByVal Telefone As
String, ByVal Inner As Long) As Long




Public Declare Sub Utilizar215 Lib "EasyInner.dll" (ByVal Inner As
Long, ByVal Utiliza As Long)
Public Declare Sub UtilizarCmdCurtoCatraca Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal Utiliza As Long)
Public Declare Sub UtilizarRelogioSegundos Lib "EasyInner.dll" (ByVal
Inner As Long, ByVal Utiliza As Long)




Public Const RET_COMANDO_OK As Byte = 0
Public Const RET_COMANDO_ERRO As Byte = 1
Public Const RET_PORTA_NAOABERTA As Byte = 2
Public Const RET_PORTA_JAABERTA As Byte = 3
Public Const RET_DLL_INNER2K_NAO_ENCONTRADA As Byte = 4
Public Const RET_DLL_INNERTCP_NAO_ENCONTRADA As Byte = 5
Public Const RET_DLL_INNERTCP2_NAO_ENCONTRADA As Byte = 6
Public Const RET_ERRO_GPF As Byte = 8
Public Const RET_TIPO_CONEXAO_INVALIDA As Byte = 9


Public Const ORIGEM_TEMPLATE_CAPTURADO As Byte = 18

Public Ret As Byte




**************************************************************************************************************************************************************************************************************************


****************************form1.frm
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "Exemplo OnLine EasyInner.dll"
ClientHeight = 5745
ClientLeft = 45
ClientTop = 345
ClientWidth = 6240
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5745
ScaleWidth = 6240
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton cmdSaida
Caption = "Saida"
Height = 375
Left = 1680
TabIndex = 6
Top = 5280
Width = 1335
End
Begin VB.CommandButton cmdEntrada
Caption = "Entrada"
Height = 375
Left = 120
TabIndex = 5
Top = 5280
Width = 1335
End
Begin VB.Timer Timer1
Interval = 1000
Left = 1200
Top = 5400
End
Begin VB.ListBox lstBilhetes
Height = 1815
Left = 0
TabIndex = 18
Top = 3360
Width = 6135
End
Begin VB.CommandButton cmdParar
Caption = "Parar"
Height = 375
Left = 3240
TabIndex = 7
Top = 5280
Width = 1335
End
Begin VB.CommandButton cmdIniciar
Caption = "Iniciar"
Height = 375
Left = 4800
TabIndex = 8
Top = 5280
Width = 1215
End
Begin VB.Frame Frame2
Caption = "Status comunicação"
Height = 1095
Left = 0
TabIndex = 13
Top = 1920
Width = 6135
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "Status:"
Height = 195
Left = 120
TabIndex = 17
Top = 600
Width = 495
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "Dados recebidos:"
Height = 195
Left = 120
TabIndex = 16
Top = 240
Width = 1245
End
Begin VB.Label lblStatus
AutoSize = -1 'True
Height = 195
Left = 1560
TabIndex = 15
Top = 600
Width = 45
End
Begin VB.Label lblDados
AutoSize = -1 'True
Height = 195
Left = 1560
TabIndex = 14
Top = 240
Width = 45
End
End
Begin VB.Frame Frame1
Caption = "Configurações:"
Height = 1815
Left = 0
TabIndex = 9
Top = 0
Width = 6135
Begin VB.TextBox txtNumDigitos
Height = 285
Left = 1560
MaxLength = 2
TabIndex = 2
Text = "10"
Top = 1200
Width = 375
End
Begin VB.CheckBox chkBio
Caption = "Biometria"
Height = 195
Left = 3240
TabIndex = 4
Top = 1200
Value = 1 'Checked
Width = 1455
End
Begin VB.CheckBox chkCatracas
Caption = "Catracas"
Height = 255
Left = 3240
TabIndex = 3
Top = 840
Width = 2055
End
Begin VB.TextBox txtPorta
Height = 285
Left = 3840
MaxLength = 5
TabIndex = 12
Text = "3570"
Top = 360
Width = 855
End
Begin VB.TextBox txtInners
Height = 285
Left = 1560
MaxLength = 5
TabIndex = 1
Text = "1"
Top = 840
Width = 735
End
Begin VB.ComboBox cboTipoConexao
Height = 315
Left = 120
Style = 2 'Dropdown List
TabIndex = 0
Top = 360
Width = 1815
End
Begin VB.Label Label6
AutoSize = -1 'True
Caption = "Número de dígitos:"
Height = 195
Left = 120
TabIndex = 20
Top = 1200
Width = 1350
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "Porta:"
Height = 195
Left = 3240
TabIndex = 11
Top = 360
Width = 420
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "Inners:"
Height = 195
Left = 120
TabIndex = 10
Top = 840
Width = 480
End
End
Begin VB.Label Label5
AutoSize = -1 'True
Caption = "Bilhetes off line coletados"
Height = 195
Left = 0
TabIndex = 19
Top = 3120
Width = 1800
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'//
******************************************************************************
'//A Topdata Sistemas de Automação Ltda não se responsabiliza por
qualquer
'//tipo de dano que este software possa causar, este exemplo deve ser
utilizado
'//apenas para demonstrar a comunicação on-line com os equipamentos da
linha
'//inner.
'//Exemplo On-Line
'//Desenvolvido em Visual Basic 6.
'// Topdata Sistemas de
Automação Ltda.
'//
******************************************************************************
Option Explicit

Private Enum enumEstadosInner
ESTADO_CONECTAR
ESTADO_ENVIAR_CFG_OFFLINE
ESTADO_ENVIAR_CFG_MUDANCA_ONLINE_OFFLINE
ESTADO_COLETAR_BILHETES
ESTADO_ENVIAR_CFG_ONLINE
ESTADO_ENVIAR_DATA_HORA
ESTADO_ENVIAR_MSG_PADRAO
ESTADO_CONFIGURAR_ENTRADAS_ONLINE
ESTADO_POLLING
ESTADO_VALIDAR_DADOS
ESTADO_LIBERAR_CATRACA
ESTADO_ENVIAR_BIPCURTO
ESTADO_ENVIAR_MSG_OK
ESTADO_LIBERA_GIRO_CATRACA
ESTADO_MONITORA_GIRO_CATRACA
ESTADO_LIBERA_GIRO_CATRACA2
ESTADO_AGUARDA_RETORNO_ON_LINE
ESTADO_ENVIA_PING_ON_LINE
End Enum

Private Type typeBilhete
Tipo As Byte
Dia As Byte
Mes As Byte
Ano As Byte
Hora As Byte
Minuto As Byte
Cartao As String * 16
End Type

Private Type typeInner
Numero As Long
EstadoAtual As enumEstadosInner
TempoColeta As Single
TempoPing As Single
Catraca As Boolean
Biometrico As Boolean
End Type

Private typInnersCadastrados() As typeInner
Private lngInnerAtual As Long
Private Parar As Boolean
Private intTentativas As Integer
Private lngTempo As Long

Private TemplateCapturado As String * 404

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As
Long)

Private Function MaximoNumeroTentativas() As Boolean

intTentativas = intTentativas + 1
If intTentativas > 3 Then 'MAXIMO_TENTATIVAS_COMUNICACAO
MaximoNumeroTentativas = True
Else
MaximoNumeroTentativas = False
End If
End Function

Private Sub cmdEntrada_Click()
Dim Count As Long

For Count = 1 To UBound(typInnersCadastrados)
typInnersCadastrados(Count).EstadoAtual =
ESTADO_LIBERA_GIRO_CATRACA
typInnersCadastrados(Count).Numero = Count

If chkCatracas.Value = vbChecked Then
typInnersCadastrados(Count).Catraca = True
End If

Next

If Ret = RET_COMANDO_OK Then
lngInnerAtual = 1
Parar = False
Utilizar215 1, 0
UtilizarCmdCurtoCatraca 1, 0
UtilizarRelogioSegundos 1, 0
MaquinaEstadosInners
End If

End Sub

Private Sub cmdIniciar_Click()
Dim Count As Long

Ret = DefinirTipoConexao(cboTipoConexao.ListIndex)

ReDim typInnersCadastrados(1 To txtInners.Text) As typeInner

For Count = 1 To UBound(typInnersCadastrados)
typInnersCadastrados(Count).EstadoAtual = ESTADO_CONECTAR
typInnersCadastrados(Count).Numero = Count

If chkCatracas.Value = vbChecked Then
typInnersCadastrados(Count).Catraca = True
End If

If chkBio.Value = vbChecked Then
typInnersCadastrados(Count).Biometrico = True
End If

Next

Ret = DefinirPadraoCartao(1)
FecharPortaComunicacao
Ret = AbrirPortaComunicacao(txtPorta.Text)

If Ret = RET_COMANDO_OK Then
lngInnerAtual = 1
Parar = False
Utilizar215 1, 0
UtilizarCmdCurtoCatraca 1, 0
UtilizarRelogioSegundos 1, 0
MaquinaEstadosInners
End If

End Sub

Private Sub cmdParar_Click()

cmdEntrada.Enabled = False
cmdParar.Enabled = False
cmdSaida.Enabled = False
lblStatus.Caption = "Interrupção solicitada."
Parar = True
FecharPortaComunicacao

End Sub

Private Sub cmdSaida_Click()
Dim Count As Long

For Count = 1 To UBound(typInnersCadastrados)
typInnersCadastrados(Count).EstadoAtual =
ESTADO_LIBERA_GIRO_CATRACA2
typInnersCadastrados(Count).Numero = Count
If chkCatracas.Value = vbChecked Then
typInnersCadastrados(Count).Catraca = True
End If

Next

If Ret = RET_COMANDO_OK Then
lngInnerAtual = 1
Parar = False
Utilizar215 1, 0
UtilizarCmdCurtoCatraca 1, 0
UtilizarRelogioSegundos 1, 0
MaquinaEstadosInners
End If

End Sub

Private Sub Form_Load()

cboTipoConexao.AddItem "Serial"
cboTipoConexao.AddItem "TCP/IP"
cboTipoConexao.AddItem "TCP/IP porta fixa"
cboTipoConexao.ListIndex = 2
cmdEntrada.Enabled = False
cmdParar.Enabled = False
cmdSaida.Enabled = False

End Sub

Private Sub Form_Unload(Cancel As Integer)

FecharPortaComunicacao

End Sub

Private Sub MaquinaEstadosInners()
Dim Origem As Byte, Complemento As Byte
Dim Cartao As String * 16
Dim Dia As Byte, Mes As Byte, Ano As Byte
Dim Hora As Byte, Minuto As Byte, Segundo As Byte

While Not Parar

DoEvents
With typInnersCadastrados(lngInnerAtual)


Select Case .EstadoAtual

'//
******************************************************************************
'//ESTADO
CONECTAR///////////////////////////////////////////////////////////////
'//Este estado é responsável por realizar a conexão com o inner atual,
ele realiza
'//a conexão utilizando o método Ping da EasyInner.
'//
******************************************************************************

Case ESTADO_CONECTAR

lblStatus.Caption = "Inner " & .Numero & " - Aguardando
conexão..."
Ret = Ping(.Numero) 'nº do equipamento
If Ret = RET_COMANDO_OK Then
lblStatus.Caption = "Inner " & .Numero & " conectado"
intTentativas = 0
cmdEntrada.Enabled = True
cmdParar.Enabled = True
cmdSaida.Enabled = True
.EstadoAtual = ESTADO_ENVIAR_CFG_OFFLINE
Else
Call Sleep(1)
End If

'//
******************************************************************************
'//ESTADO_ENVIAR_CFG_OFFLINE
'//Este estado é reponsável pelo envio das configurações para que um
inner funcione
'//corretamente em modo Offline, para realizar a configuração ele
utiliza métodos
'//que preenchem um buffer na DLL da EasyInner, e que são enviados ao
dispositivo
'//quando utilizamos o método EnviarConfigurações.
'//
******************************************************************************

Case ESTADO_ENVIAR_CFG_OFFLINE

'Prepara Inner para trabalhar OffLine
ConfigurarInnerOffLine
'Configura como funciona Acionamento e por quanto tempo
ConfigurarAcionamento1 9, 5 '(9 - libera nos 2 sentidos, 5 -
Tempo em segundos)
'Qtde de digitos do cartao a ser lido
DefinirQuantidadeDigitosCartao txtNumDigitos.Text '(nº de
digitos)
'Configura o tipo do leitor que esta sendo utilizado
ConfigurarTipoLeitor 2 '(0 - Leitor de codigo de barras
(default))
'Permite que dados sejam inseridos atraves do teclado
HabilitarTeclado 1, 0 '(1- Habilita teclado, 0- mostra o que é
digitado no display)
'Configura operações que o leitor executa
ConfigurarLeitor1 2 '(2 - Leitor entrada e saida)
'Configura tipo de registro, entrada, saida...
DefinirFuncaoDefaultSensorBiometria 12 '(12 - libera catraca
dois sentidos e registra conforme giro)

'***SOMENTE INNER NET E INNER PLUS***
'Configura se utiliza Descriptografia TLM
' HabilitarCriptografia 1 '(1 - Criptografia habilitada)

'Envia Buffer interno da DLL que contem todas as configurações
Ret = EnviarConfiguracoes(.Numero) '(nº do Inner)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.EstadoAtual = ESTADO_ENVIAR_CFG_MUDANCA_ONLINE_OFFLINE
Else
If MaximoNumeroTentativas Then
.EstadoAtual = ESTADO_CONECTAR
End If
End If

'//
******************************************************************************
'//ESTADO ENVIAR CONFIGURAÇÃO MUDANÇA ONLINE/
OFFLINE/////////////////////////////
'//Este estado é responsável por definir o comportamento que um
dispositivo vai ter
'//no caso de uma mudança de modo Online para Offline ou de Offline
para Online,
'//da mesma forma que o envio de configurações off, este estado
preenche um buffer
'//na DLL EasyInner que é enviado ao dispositivo quando utilizamos o
método
'//EnviarConfiguracoesMudancaAutomaticaOnLineOffLine.
'//
******************************************************************************
Case ESTADO_ENVIAR_CFG_MUDANCA_ONLINE_OFFLINE

'Habilita mudança online para offline e vice-versa
HabilitarMudancaOnLineOffLine 2, 20 '(2 - Habilita. 20 -
Tempo)
'HabilitarMudancaOnLineOffLine 1, 4 ' (Habilita,Tempo) Para
Rabbit usar 4 segundos
'Se for Biometrico
If .Biometrico Then
'Configura formas de entrada de dados permitindo biometria
DefinirEntradasMudancaOffLineComBiometria 1, 1, 0, 1, 1
'(1 - aceita dados teclado. 1 - entrada/saida. 0 - leitor 2
desativado. 1 - verificação ativada. 1 - identificação ativada)
Else
'Configura formas de entrada de dados sem biometria
DefinirEntradasMudancaOffLine 1, 3, 3, 0 '(1 - aceita
dados teclado. 3 Leitor1 - entrada/saida. 3 Leitor2 - entrada/saida. 3
- RUF)
End If
'Configura mensagem a ser exibida
DefinirMensagemPadraoMudancaOffLine 0, "Mudou para
OffLine " '(ExibirData,Mensagem)
'Configura mensagem padrao a ser exibida online
DefinirMensagemPadraoMudancaOnLine 0, "Voltou para
OnLine " '(ExibirData,Mensagem)
'Se for Biometrico
If .Biometrico Then
'Configura formas de entrada quando voltar para Online
DefinirEntradasMudancaOnLine 14 '(leitor1 com verificação
biométrica + leitor2 sem verificação biométrica+ teclado sem
verificação biométrica)
Else
'Configura formas de entrada quando voltar para Online
DefinirEntradasMudancaOnLine 7 '(teclado. leitor1 e
leitor2)
End If
'Configura teclado quando Inner voltar para Online
DefinirConfiguracaoTecladoOnLine 4, 1, 5, 17
'(Digitos,EcoDisplay,Tempo,PosicaoCursor)
Ret =
EnviarConfiguracoesMudancaAutomaticaOnLineOffLine(.Numero) '(nº do
Inner)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.EstadoAtual = ESTADO_COLETAR_BILHETES
.TempoColeta = lngTempo + 5
Else
If MaximoNumeroTentativas Then
.EstadoAtual = ESTADO_CONECTAR
End If
End If

'//
******************************************************************************
'//ESTADO COLETAR
BILHETES///////////////////////////////////////////////////////
'//Este estado realiza a coleta de bilhetes de um dispositivo que
funcionou em
'//modo offline,utilizando para isso o método ColetarBilhete. Caso
exista bilhete
'//para coleta é incrementado o tempo de coleta para continuar
coletando.Quando
'//não existem mais bilhetes o tempo estoura e vai para o próximo
passo.
'//
******************************************************************************
Case ESTADO_COLETAR_BILHETES
Dim Bilhete As typeBilhete

lblStatus.Caption = "Coletando bilhetes OffLine..."
'Coleta os bilhetes que estao armazenados na memoria do Inner
Ret = ColetarBilhete(.Numero, Bilhete.Tipo, Bilhete.Dia,
Bilhete.Mes, Bilhete.Ano, _
Bilhete.Hora, Bilhete.Minuto,
Bilhete.Cartao)
If Ret = RET_COMANDO_OK Then
lstBilhetes.AddItem "Inner: " & .Numero & " " &
Bilhete.Tipo & " " & _
Bilhete.Dia & "/" & Bilhete.Mes & "/" &
Bilhete.Ano & " " & _
Bilhete.Hora & ":" & Bilhete.Minuto & " Cartão: "
& Bilhete.Cartao
intTentativas = 0
.TempoColeta = lngTempo + 2
Else
If (lngTempo >= .TempoColeta) Then
.EstadoAtual = ESTADO_ENVIAR_CFG_ONLINE
End If
End If
'//
******************************************************************************
'//ESTADO ENVIAR CONFIGURAÇÕES
ONLINE////////////////////////////////////////////
'//Este estado é responsável pelo envio das configurações que vão
definir o
'//comportamento de um dispositivo quando estiver funcionando em modo
Online.
'//O processo é semelhante aos outros passos de configuração: utilizam-
se métodos
'//para preencher um buffer na DLL EasyInner que é posteriormente
enviado ao
'//dispositivo através do método EnviarConfiguracoes.
'//
******************************************************************************

Case ESTADO_ENVIAR_CFG_ONLINE

'Prepara Inner para trabalhar OnLine
ConfigurarInnerOnLine
''Configura como funciona Acionamento e por quanto tempo
ConfigurarAcionamento1 9, 5 '(9 - libera nos 2 sentidos. 5 -
Segundos)
'Configura tipo de leitor
ConfigurarTipoLeitor 0 ' (Leitor codigo de barras(0 -
default))
'Qtde de digitos do cartao a ser lido
DefinirQuantidadeDigitosCartao txtNumDigitos.Text 'Qtde de
digitos do cartao

'***SOMENTE INNER NET E INNER PLUS***
' Preenche buffer na DLL e indica caminho que é utilizado
para leitura de cartoes da Telematica
' Ret = PreencherBufferTLM("C:\Arquivos de programas
\Cliente.cfg")'caminho do arquivo TLM
' If (Ret = RET_COMANDO_OK) Then
' envia o buffer preenchido
' Ret = EnviarBufferTLM(.Numero)
' If (Ret = RET_COMANDO_ERRO) Then
' Sleep (500)
' End If
' End If
'************************************

'configura Inner para enviar informaçao em bilhetes online
ReceberDataHoraDadosOnLine 1 '(1 - Recebe data/hora do
bilhete)
'Para usar com IndexSearch Nitgen (so armazena template, nao
identifica no Inner)
'ConfigurarComportamentoIndexSearch 1 '(1 - Configura
comportamento)
DefinirFuncaoDefaultSensorBiometria 10
'Envia buffer interno com todas as configurações
Ret = EnviarConfiguracoes(.Numero) '(nº do Inner)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.EstadoAtual = ESTADO_ENVIAR_DATA_HORA
Else
If MaximoNumeroTentativas Then
.EstadoAtual = ESTADO_CONECTAR
End If
End If

'//
******************************************************************************
'//ESTADO ENVIAR DATA E
HORA/////////////////////////////////////////////////////
'//Este estado envia para o dispositivo os valores de data e hora que
estão
'//no computador utilizando o método EnviarRelogio.
'//
******************************************************************************
Case ESTADO_ENVIAR_DATA_HORA

'Envia relógio
Ret = EnviarRelogio(.Numero, CByte(Day(Now)),
CByte(Month(Now)), CByte(Right(Year(Now), 2)), _
CByte(Hour(Now)), CByte(Minute(Now)),
CByte(Second(Now)))
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.EstadoAtual = ESTADO_ENVIAR_MSG_PADRAO
Else
If MaximoNumeroTentativas Then
.EstadoAtual = ESTADO_CONECTAR
End If
End If

'//
******************************************************************************
'//ESTADO ENVIAR MENSAGEM
PADRÃO/////////////////////////////////////////////////
'//Este estado configura a mensagem padrão que será exibida no
dispositivo em seu
'//funcionamento Online utilizando o método
EnviarMensagemPadraoOnline.
'//
******************************************************************************
Case ESTADO_ENVIAR_MSG_PADRAO

'Envia mensagem que é sempre exibida
Ret = EnviarMensagemPadraoOnLine(.Numero, 1, " ON LINE
") '(nº do Inner, exibir data, mensagem)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.EstadoAtual = ESTADO_CONFIGURAR_ENTRADAS_ONLINE
Else
If MaximoNumeroTentativas Then
.EstadoAtual = ESTADO_CONECTAR
End If
End If

'//
******************************************************************************
'//ESTADO CONFIGURAR ENTRADAS
ONLINE/////////////////////////////////////////////
'//Este estado é responsável por realizar a configuração das formas de
entrada do
'//dispositivo, nele que definimos se uma catraca vai utilizar cartão
e biometria,
'//se um relógio vai utilizar somente teclado etc. Estas configurações
são
'//parametrizadas no método EnviarFormasEntradasOnline, e devem ser
reconfiguradas
'//cada vez que alguem utiliza uma entrada do dispositivo, ou seja,
configura-se
'//as entradas online, utiliza-se uma entrada (teclado, cartão etc)
realiza
'//tratamento sobre o bilhete e reconfigura-se as entradas novamente
(voltando a
'//este passo na maquina de estados).
'//
******************************************************************************
Case ESTADO_CONFIGURAR_ENTRADAS_ONLINE

'Se for biométrico, envia entradas online para biometría
If .Biometrico Then
'Habilita a biometria
Ret = EnviarFormasEntradasOnLine(.Numero, 6, 1, 12, 15,
17) 'Inner, QtdeDigitosTeclado,EcoTeclado, FormaEntrada,TempoTeclado ,
PosicaoCursorTeclado
'Ret = EnviarFormasEntradasOnLine(.Numero, 6, 1, 101, 15,
17) 'bit a bit 01VI012T
Else
'Senao, envia configurações sem biometria
Ret = EnviarFormasEntradasOnLine(.Numero, 6, 1, 7, 15, 17)
'Inner, QtdeDigitosTeclado,EcoTeclado, FormaEntrada,TempoTeclado ,
PosicaoCursorTeclado
End If

If Ret = RET_COMANDO_OK Then
lblStatus.Caption = "Inner " & .Numero & " OnLine!"
intTentativas = 0
.EstadoAtual = ESTADO_POLLING
.TempoPing = lngTempo + 5
Else
If MaximoNumeroTentativas Then
.EstadoAtual = ESTADO_CONECTAR
End If
End If

'//
******************************************************************************
'//ESTADO
POOLING////////////////////////////////////////////////////////////////
'//Este estado é responsável por questionar ao dispositivo se existe
algum
'//"bilhete" a ser coletado, este bilhete pode ser uma entrada via
teclado,uma
'//passagem de cartão, uma verificação biométrica etc.Isto é realizado
através do
'//método ReceberDadosOnline, este método irá trazer todas as
informações
'//necessárias para realizar o processamento do bilhete
(Origem,Complemento etc).
'//
******************************************************************************
Case ESTADO_POLLING

Call Sleep(2)
'Efetua coleta de bilhetes online
Ret = ReceberDadosOnLine(.Numero, Origem, Complemento, Cartao,
Dia, Mes, Ano, Hora, Minuto, Segundo)

If Ret = RET_COMANDO_OK Then
'Validar os dados aqui
intTentativas = 0
lblDados.Caption = Origem & " " & Complemento & " " &
Cartao & " " & Dia & "/" & Mes & "/" & Ano & " " & Hora & ":" & Minuto
& ":" & Segundo
' se foi efetuado leitura biométrica...
If Origem = ORIGEM_TEMPLATE_CAPTURADO Then
'...recebe numero do Inner e o template capturado
Ret = ReceberTemplateCapturadoInner(.Numero,
TemplateCapturado) '(nº do Inner, template capturado)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
lblDados.Caption = "Template capturado para
IndexSearch"
End If
End If
If Not .Catraca Then
.EstadoAtual = ESTADO_ENVIAR_BIPCURTO
Else
.EstadoAtual = ESTADO_ENVIAR_MSG_OK
End If
Else
If (lngTempo >= .TempoPing) Then
.EstadoAtual = ESTADO_ENVIA_PING_ON_LINE
End If
End If

'//
******************************************************************************
'//ESTADO PING
ONLINE////////////////////////////////////////////////////////////
'//Este estado é responsável por indicar tanto ao software quanto ao
dispositivo
'//que o canal de comunicação esta OK, e que as mensagem continuam
trafegando
'//normalmente, este estado é também utilizado para ir para estado de
reconexão.
'//
******************************************************************************
Case ESTADO_ENVIA_PING_ON_LINE

'Testa a comunicação e mantem Inner online
Ret = PingOnLine(.Numero) '(nº do Inner)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.TempoPing = lngTempo + 5
.EstadoAtual = ESTADO_POLLING
Else
If MaximoNumeroTentativas Then
.TempoPing = lngTempo + 5
lblStatus.Caption = "Parou de comunicar. Tentando
reestabelecer a comunicação."
.EstadoAtual = ESTADO_AGUARDA_RETORNO_ON_LINE
End If
End If

'//
******************************************************************************
'//ESTADO AGUARDA RETORNO
ONLINE/////////////////////////////////////////////////
'//Este estado é responsável por reconectar um inner que parou de
responder Ping
'//Online por mais de 3 tentativas, ele utiliza também o método
PingOnline.
'//
******************************************************************************
Case ESTADO_AGUARDA_RETORNO_ON_LINE

If (lngTempo >= .TempoPing) Then
Ret = PingOnLine(.Numero)
If Ret = RET_COMANDO_OK Then
lblStatus.Caption = "Voltou para OnLine."
intTentativas = 0
.EstadoAtual = ESTADO_ENVIAR_MSG_PADRAO
'envia mensagem padrao Online
Ret = EnviarMensagemPadraoOnLine(.Numero, 1, "
Reconectando ") '(nº do Inner, Exibe data/hora, mensagem)
Else
.TempoPing = lngTempo + 1
End If
End If

'//
******************************************************************************
'//ESTADO ENVIAR BIP
CURTO///////////////////////////////////////////////////////
'//Este estado é responsável por enviar uma sinalização sonora ao
usuário,
'//acionando um bip curto no dispositivo através do método
AcionarBipCurto.
'//
******************************************************************************
Case ESTADO_ENVIAR_BIPCURTO

'aciona bip curto...
Ret = AcionarBipCurto(.Numero) '(nº do Inner)
If Ret = RET_COMANDO_OK Then
intTentativas = 0
.EstadoAtual = ESTADO_ENVIAR_MSG_OK
End If

'//
******************************************************************************
'//ESTADO ENVIAR MENSAGEM
OK/////////////////////////////////////////////////////
'//Este estado é responsável pelo envio de um aviso visual ao usuário
através da
'//exibição de uma mensagem no Display do dispositivo.Para realizar
esta exibição
'//utiliza-se o método EnviarMensagemPadraoOnline e realiza a
temporização da
'//mensagem via software utilizando a variável TempoMensagem.
'//
******************************************************************************
Case ESTADO_ENVIAR_MSG_OK

'envia mensagem padrao fixa
Ret = EnviarMensagemPadraoOnLine(.Numero, 0, " CARTAO OK!
") '(nº do Inner, nao exibe data/hora, mensagem)
If Ret = RET_COMANDO_OK Then
If .Catraca Then
.EstadoAtual = ESTADO_LIBERA_GIRO_CATRACA
Else
.EstadoAtual = ESTADO_CONFIGURAR_ENTRADAS_ONLINE
End If
End If

'//
******************************************************************************
'//ESTADO LIBERA GIRO DA
CATRACA/////////////////////////////////////////////////
'//Este estado é responsável por realizar a liberação da catraca em um
sentido,
'//ou até mesmo para ambos os sentidos.
'//
******************************************************************************
Case ESTADO_LIBERA_GIRO_CATRACA

'Libera a catraca para a entrada no sentido padrao Inner
Ret = LiberarCatracaEntrada(.Numero) '(nº do Inner)
If Ret = RET_COMANDO_OK Then
lblDados.Caption = "Entrada Liberada " & Val(Cartao)
Ret = AcionarBipLongo(.Numero)
'envia mensagem padrao fixa
Ret = EnviarMensagemPadraoOnLine(.Numero, 0, "
ENTRADA LIBERADA! ") '(nº Inner, nao exibe data/hora,
mensagem)
.EstadoAtual = ESTADO_MONITORA_GIRO_CATRACA
End If

'//
******************************************************************************
'//ESTADO LIBERA GIRO DA
CATRACA2/////////////////////////////////////////////////
'//Este estado é responsável por realizar a liberação da catraca em um
sentido.
'//
******************************************************************************
Case ESTADO_LIBERA_GIRO_CATRACA2

'libera a catrada para a saida no padrao Inner
Ret = LiberarCatracaSaida(.Numero) '(nº Inner)
If Ret = RET_COMANDO_OK Then
lblDados.Caption = "Saida Liberada " & Val(Cartao)
Ret = AcionarBipCurto(.Numero)
'envia mensagem padrao fixa
Ret = EnviarMensagemPadraoOnLine(.Numero, 0, "
SAIDA LIBERADA! ") '(nº Inner, nao exibe data/hora,
mensagem)
.EstadoAtual = ESTADO_MONITORA_GIRO_CATRACA
End If

'//
******************************************************************************
'//ESTADO MONITORA GIRO
CATRACA//////////////////////////////////////////////////
'//Este estado é responsável por realizar a monitoração do giro da
catraca após
'//sua liberação, este estado utiliza também o método
ReceberDadosOnline, porém
'//o bilhete é retornado com origem 5 quando a catraca não foi girada
ou 6 quando
'//Ocorreu o giro.
'//
******************************************************************************
Case ESTADO_MONITORA_GIRO_CATRACA

'coleta bilhete online
Ret = ReceberDadosOnLine(.Numero, Origem, Complemento, Cartao,
Dia, Mes, Ano, Hora, Minuto, Segundo)
If Ret = RET_COMANDO_OK Then
' se o retorno for 5, mostra mensagem que a catraca nao
girou
If Origem = 5 Then
lblDados.Caption = "Não girou a catraca!"
'envia mensagem padrao fixa
Ret = EnviarMensagemPadraoOnLine(.Numero, 1, " ON
LINE ") '(nº Inner, exibe data/hora, mensagem)
'se for 6, mensagem que catraca girou
ElseIf Origem = 6 Then
lblDados.Caption = "Girou a catraca!"
MsgBox Val(Complemento)
'envia mensagem padrao fixa
Ret = EnviarMensagemPadraoOnLine(.Numero, 1, " ON
LINE ") '(nº Inner, exibe data/hora, mensagem)
End If
.EstadoAtual = ESTADO_CONFIGURAR_ENTRADAS_ONLINE
End If

End Select
End With

lngInnerAtual = lngInnerAtual + 1
Sleep (1)
If lngInnerAtual > UBound(typInnersCadastrados) Then
lngInnerAtual = 1
End If
Wend
End Sub

Private Sub Timer1_Timer()
lngTempo = lngTempo + 1
End Sub

********************************************


On 14 feb, 17:26, Oscar Díaz <oscardi...@gmail.com> wrote:
> Y el SDK ? para ver que se puede aportar.
>
Reply all
Reply to author
Forward
0 new messages