|
Exemplo Urna Eletronica feita com WINDEV 27
Esse exemplo é para demonstrar como fazer um aplicativo de votacao para associacao de clubes para escolher um presidente para uma associação de moradores, clubes, diretores de colegios e outras finalidades.
O codigo é open source e tem tecnicas que garante que o documento nao seja lido para saber quem votou em quem, estando criptografado o titulo, o campo do tipo PASSWORD É ILEGIVEL E NAO TEM COMO DESCRIPTOGRAFAR, sendo algo incrivel e altamente seguro para garantir o anonimato do voto.
Pode ser usado em eleições de síndico, associação de moradores, presidente de clubes... so alterar o gonte como achar mrlhor
https://youtu.be/p6laSZwOogc
Prezados,
Se você usa e gosta do nosso atendimento e pode contribuir com as nossas atividades de suporte aqui no grupo de forma expontanea e mensal e queira fazer uma contribuição de qualquer valor para melhorarmos o nosso atendimento e manutenção dos nossos servidores, segue abaixo o link para fazer a sua doação:
https://www.paypal.com/donate/?hosted_button_id=JU7GAW6Q8YY42 |
| |
| |
| Illustrations, copies d'écran |
|
| |
(Pour noter la ressource, cliquez sur Ecrire un avis) |
| |
pour pouvoir poster un avis |
| | |
| | |
Aucun avis ou commentaire ? Soyez le premier ! |
CODIGO FONTE
// Summary: <specify the procedure action> // Syntax: // EVENTO_VOTACAO () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_VOTACAO()
LOC_ZONA = EDT_Zona LOC_SESSAO = EDT_Sessao LOC_CANDIDATO = EDT_Candidato LOC_TITULOELITOR = EDT_Titulo
IF contador = 0 IF (LOC_CANDIDATO = "") OR (LOC_CANDIDATO = 0) OR (LOC_CANDIDATO = 0) OR (LOC_CANDIDATO <> 13 AND LOC_CANDIDATO <> 22) LOC_CANDIDATO = 1 //NULLO É UM 1 contador+=1 MyWindow..Plane = NULLO_EMBRANCO_PLANE EVENTO_SOM_ERRO() RETURN END END
IF GLO_COM_TITULO = True IF LOC_TITULOELITOR = "" OR Length(LOC_TITULOELITOR) < 9 THEN Info("TITULO INVÁLIDO, TENTE NOVAMENTE") LOC_TITULOELITOR = "" EVENTO_SOM_ERRO() RETURN END ELSE GLO_COM_TITULO = DateSys()+TimeSys() //USA A DATA E HORA E SEGUNDO PARA REGISTRAR O TITULO AUTOMATICAMENTE END
IF LOC_ZONA = "" OR Length(LOC_ZONA) <= 0 THEN Info("ZONA INVÁLIDA, TENTE NOVAMENTE") LOC_ZONA = "" EVENTO_SOM_ERRO() RETURN END
IF LOC_SESSAO = "" OR Length(LOC_SESSAO) <= 0 THEN Info("SESSAO INVÁLIDA, TENTE NOVAMENTE") LOC_SESSAO = "" EVENTO_SOM_ERRO() RETURN END
GLO_VALIDA_ZONA_SESSAO = INIRead("CONFIG","VALIDAR_ZONA_SESSAO","",fCurrentDir()+fSep()+"Config.ini")
IF GLO_VALIDA_ZONA_SESSAO = True THEN IF EVENTO_VALIDA_ZONA_SESSAO() = False THEN MyWindow..Plane = ZONA_SESSAO_INVALIDA_PLANE EVENTO_SOM_ERRO() RETURN END END
// SE TUDO OK ENTAO....
Votacao.REGISTRO_VOTO = GetUUID() Votacao.DataHora = DateSys()+TimeSys() Votacao.NumTitulo = LOC_TITULOELITOR Votacao.Zona = LOC_ZONA Votacao.Sessao = LOC_SESSAO Votacao.Candidato = LOC_CANDIDATO
IF HAdd(Votacao) = True THEN VOTOS is int = 0 QRY_Totalizacao.ParamCandidato = Votacao.Candidato QRY_Totalizacao.ParamZona = Votacao.Zona QRY_Totalizacao.ParamSessao = Votacao.Sessao IF HExecuteQuery(QRY_Totalizacao,hQueryDefault) = True THEN FOR EACH QRY_Totalizacao VOTOS = QRY_Totalizacao.Total_Votacao END END ACAO is string HReset(Totalizacao) IF HReadSeek(Totalizacao,KeyUnico,[EDT_Zona,EDT_Sessao,EDT_Candidato],hIdentical) = False THEN ACAO = "INCLUIR" ELSE ACAO = "ALTERAR" END Totalizacao.REGISTRO_TOTALIZACAO = GetUUID() Totalizacao.DataHora = DateSys()+TimeSys() Totalizacao.Zona = Votacao.Zona Totalizacao.Sessao = Votacao.Sessao Totalizacao.Votos = VOTOS Totalizacao.Candidado = Votacao.Candidato IF ACAO = "INCLUIR" HAdd(Totalizacao) EVENTO_SOM_GRAVOU_VOTO() ELSE IF ACAO = "ALTERAR" HModify(Totalizacao) EVENTO_SOM_GRAVOU_VOTO() END MyWindow..Plane = FIM_PLANE ELSE Info(HErrorInfo()+ErrorInfo()) END
contador=0
//-------------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: //[ <Result> = ] EVENTO_VERIFICA_JA_VOTOU () // // Parameters: // None // Example: // <Specify a usage example> // // Return value: PROCEDURE EVENTO_VERIFICA_JA_VOTOU()
HReset(Votacao)
IF HReadSeek(Votacao,NumTitulo,EDT_Titulo,hIdentical) = True THEN RESULT True ELSE RESULT False END
//------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: //[ <Result> = ] EVENTO_VALIDA_ZONA_SESSAO () // // Parameters: // None // Example: // <Specify a usage example> // // Return value: PROCEDURE EVENTO_VALIDA_ZONA_SESSAO()
IF GLO_VALIDA_ZONA_SESSAO = True THEN HReset(ZonasSessoes) IF HReadSeek(ZonasSessoes,KeyUnico,[EDT_Zona,EDT_Sessao],hIdentical) = True THEN RESULT True ELSE RESULT False END END
//-----------------------------------------------------
// Summary: <specify the procedure action> // Syntax: //EVENTO_SOM_GRAVOU_VOTO () // // Parameters: // None // Example: // <Specify a usage example> // // Return value: PROCEDURE EVENTO_SOM_GRAVOU_VOTO()
IF GLO_COM_SOM = True MyFileMp3 is string = fCurrentDir()+fSep()+"UrnaDigitouConfirma.wav" IF fFileExist(MyFileMp3) = True IF MultimediaPlay(MM_Play_urna, MyFileMp3) = False THEN Error("Error arquivo UrnaDigitouConfirma.wav não localizado") END ELSE Error("Error arquivo UrnaDigitouConfirma.wav não localizado") END END
//------------------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_SOM_ERRO () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_SOM_ERRO()
IF GLO_COM_SOM = True THEN MyFileMp3 is string = fCurrentDir()+fSep()+"Erro.mp3" IF fFileExist(MyFileMp3) = True IF MultimediaPlay(MM_Play_urna, MyFileMp3) = False THEN Error("Error arquivo Erro.mp3 não localizado") END ELSE Error("Error arquivo Erro.mp3 não localizado") END END
//------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_SOM_DIGITACAO () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_SOM_DIGITACAO()
IF GLO_COM_SOM = True THEN MyFileMp3 is string = fCurrentDir()+fSep()+"UrnaDigitacao.wav" IF fFileExist(MyFileMp3) = True IF MultimediaPlay(MM_Play_urna, MyFileMp3) = False THEN Error("Error arquivo UrnaDigitacao.wav não localizado") END ELSE Error("Error arquivo UrnaDigitacao.wav não localizado") END END
//---------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_NOVO_VOTO () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_NOVO_VOTO()
HReset(Votacao) HReset(Totalizacao)
GLO_VALIDA_ZONA_SESSAO = INIRead("CONFIG","VALIDAR_ZONA_SESSAO","",fCurrentDir()+fSep()+"Config.ini")
GLO_COM_SOM = INIRead("CONFIG","COM_SOM","",fCurrentDir()+fSep()+"Config.ini")
GLO_COM_TITULO = INIRead("CONFIG","COM_TITULO","",fCurrentDir()+fSep()+"Config.ini")
EDT_Titulo = "" EDT_Zona = "" EDT_Sessao = "" EDT_Candidato = ""
LOC_ZONA = 0 LOC_SESSAO = 0 LOC_CANDIDATO = 0 LOC_TITULOELITOR = 0
IMG_CANDIDATO = IMG_PEOPLE STC_NOME_PRESIDENTE = ""
IF GLO_COM_TITULO = True MyWindow..Plane = INICIAR_PLANE SetFocus(EDT_Titulo) ELSE MyWindow..Plane = VOTAR_PLANE SetFocus(EDT_Zona) END
//----------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_INICIALIZAR () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_INICIALIZAR()
GLO_VALIDA_ZONA_SESSAO = INIRead("CONFIG","VALIDAR_ZONA_SESSAO","",fCurrentDir()+fSep()+"Config.ini")
GLO_COM_SOM = INIRead("CONFIG","COM_SOM","",fCurrentDir()+fSep()+"Config.ini")
GLO_COM_TITULO = INIRead("CONFIG","COM_TITULO","",fCurrentDir()+fSep()+"Config.ini")
IF GLO_COM_TITULO = True MyWindow..Plane = INICIAR_PLANE SetFocus(EDT_Titulo) ELSE MyWindow..Plane = VOTAR_PLANE SetFocus(EDT_Zona) END
STC_NOME_PRESIDENTE = ""
//--------------------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_FOTO () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_FOTO()
IF EDT_Candidato = 13 THEN IMG_CANDIDATO = IMG_LULA STC_NOME_PRESIDENTE = "LUIS INACIO LULA DA SILVA" ELSE IF EDT_Candidato = 22 IMG_CANDIDATO = IMG_BOLSONARO STC_NOME_PRESIDENTE = "JAIR MESSIAS BOLSONARO" ELSE IMG_CANDIDATO = IMG_PEOPLE STC_NOME_PRESIDENTE = "VOTO NULO" END
//--------------------------------------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_DADOS_INVALIDOS () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_DADOS_INVALIDOS()
EDT_Zona = "" EDT_Sessao = "" EDT_Candidato = ""
LOC_ZONA = 0 LOC_SESSAO = 0 LOC_CANDIDATO = 0
IMG_CANDIDATO = IMG_PEOPLE
STC_NOME_PRESIDENTE = ""
SetFocus(EDT_Zona)
MyWindow..Plane = VOTAR_PLANE
//---------------------------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: // EVENTO_CORRIGE () // // Parameters: // None // Return value: // None // // Example: // <Specify a usage example> // PROCEDURE EVENTO_CORRIGE()
EDT_Zona = "" EDT_Sessao = "" EDT_Candidato = ""
LOC_ZONA = 0 LOC_SESSAO = 0 LOC_CANDIDATO = 0
IMG_CANDIDATO = IMG_PEOPLE
STC_NOME_PRESIDENTE = ""
SetFocus(EDT_Zona)
//--------------------------------------------------------------------
// Summary: <specify the procedure action> // Syntax: //DATA_HORA_ATUAL () // // Parameters: // None // Example: // <Specify a usage example> //// Automatic procedure: // The procedure is executed manually, during a call in the code // It will be repeated in a loop, with a timeout set to 1 second between each call // Each following call runs the procedure once, without timer //
PROCEDURE DATA_HORA_ATUAL()
STC_DATAHORAATUAL = DateSys() + TimeSys()
//---------------------------------------------------------------------------------
OS DEMAIS COIDOGOS ESTAO NO FONTE NO BOTAO AMARELO DOWNLOAD / TELECHARGER |
| | |
|