Exemplo Regra processo
Exemplo prático em tela: Regra por Processo 747 - Antes de Gerar Teste Efetivo. Tem a função de apresentar ao usuário informações sobre o teste na Web, como por exemplo:
- objetivo do teste;
- quantidade de questões;
- níveis utilizados e sua pontuação;
- total de pontuação;
- tempo para realização, etc.
Essas informações serão gravadas no arquivo "trdtplcer.htm".
--------------------------------------------------------------------------
Definir Alfa DesPer;
Definir Alfa AbrEmp;
Definir Alfa AbrFil;
Definir Alfa AbrCar;
Definir Alfa AbrLoc;
Definir Alfa AbrTur;
Definir Alfa TipACa;
Definir Alfa CunPer;
Definir Alfa aQtdPer;
Definir Alfa aQtdPts;
Definir Alfa xQuebra;
Definir Alfa aTotPer;
Definir Alfa aTotPts;
Definir Alfa aTempo;
Definir Alfa xHTML;
Definir Alfa xStrHtml;
Definir Alfa xStrHtml2;
Definir Lista LstNiveis;
/* Definição de campos dentro da lista declarada acima */
LstNiveis.DefinirCampos();
LstNiveis.AdicionarCampo("GruPer", Numero);
LstNiveis.AdicionarCampo("CodNiv", Numero);
LstNiveis.AdicionarCampo("DesNiv", Alfa, 100);
LstNiveis.AdicionarCampo("QtdPer", Numero);
LstNiveis.AdicionarCampo("QtdPts", Numero);
LstNiveis.EfetivarCampos();
LstNiveis.Chave("GruPer;CodNiv");
/* Informações da autorização de teste */
xNumEmp = R131AUT.NumEmp;
xTipCol = R131AUT.TipCol;
xNumCad = R131AUT.NumCad;
xDatAut = R131AUT.DatAut;
xSeqAut = R131AUT.SeqAut;
xHorIni = R131AUT.HorIni;
xHorTer = R131AUT.HorTer;
xDatFim = R131AUT.DatFim;
RetornaAscII(13, xQuebra);
xStrHtml = "";
xStrHtml = xStrHtml + "<table width='100' border='0' cellspacing='1' cellpadding='1'
CLASS='TABELAGRID' align='CENTER'>" + xQuebra;
xStrHtml = xStrHtml + " <tr class='LINHACABECALHOGRID'>" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNACABECALHOGRID'>Nível</td>" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNACABECALHOGRID'>Qtde Questões" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNACABECALHOGRID'>Pontuação Máxima</td>" +
xQuebra;
xStrHtml = xStrHtml + " </tr>" + xQuebra;
/* Perguntas */
xRet = RetornaPerguntasTeste("I");
Se (xRet <> -1)
{
Enquanto (xRet = 0)
{
GruPer = R202PER.GruPer;
CodPer = R202PER.CodPer;
CunPer = R202PER.CunPer;
DesPer = R202PER.DesPer;
PesPer = R202PER.PesPer;
NotPer = R202PER.NotPer;
TemRes = R202PER.TemRes;
TReSim = R202PER.TReSim;
DatCri = R202PER.DatCri;
DatExt = R202PER.DatExt;
ConSis = R202PER.ConSim;
CodNiv = R202PER.CodNiv;
AbrEmp = R202PER.AbrEmp;
AbrFil = R202PER.AbrFil;
AbrCar = R202PER.AbrCar;
AbrLoc = R202PER.AbrLoc;
AbrTur = R202PER.AbrTur;
TipACa = R202PER.TipACa;
Se (CodNiv <> 0) {
LstNiveis.SetarChave();
LstNiveis.GruPer
= R202NIV.GruPer;
LstNiveis.CodNiv
= R202NIV.CodNiv;
Se (LstNiveis.VaiParaChave())
{
LstNiveis.Editar();
LstNiveis.DesNiv = R202NIV.DesNiv;
LstNiveis.QtdPer++;
LstNiveis.QtdPts = LstNiveis.QtdPts + R202NIV.PtsNiv;
}
Senao {
LstNiveis.Adicionar();
LstNiveis.GruPer = R202NIV.GruPer;
LstNiveis.CodNiv = R202NIV.CodNiv;
LstNiveis.DesNiv = R202NIV.DesNiv;
LstNiveis.QtdPer = 1;
LstNiveis.QtdPts = R202NIV.PtsNiv;
}
LstNiveis.Gravar();
}
xRet =
RetornaPerguntasTeste("P");
}
}
xTotPer = 0;
xTotPts = 0;
Tem = LstNiveis.Primeiro();
Enquanto (Tem = 1) {
xStrHtml = xStrHtml + " <tr class='LINHAGRID'>" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNAGRID'> " + LstNiveis.DesNiv
+ "</td>" + xQuebra;
xQtdPer = LstNiveis.QtdPer;
xTotPer = xTotPer + xQtdPer;
xQtdPts = LstNiveis.QtdPts;
xTotPts = xTotPts + xQtdPts;
IntParaAlfa(xQtdPer, aQtdPer);
IntParaAlfa(xQtdPts, aQtdPts);
xStrHtml = xStrHtml + " <td class='COLUNAGRID'> " + aQtdPer +
"</td>" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNAGRID'> " + aQtdPts +
"</td>" + xQuebra;
xStrHtml = xStrHtml + " </tr>";
Tem = LstNiveis.Proximo();
}
LstNiveis.Limpar();
xStrHtml = xStrHtml + "</table>";
xStrHtml2 = "";
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'>PAGINA INICIAL - BOAS
VINDAS</p>" + xQuebra;
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'>Bem vindo! Você está
prestes a realizar um Teste de Certificação. </p>" + xQuebra;
@ qtde de perguntas @
IntParaAlfa(xTotPer, aTotPer);
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'><u>No total você
responderá " + aTotPer + " questões</u></p>" + xQuebra;
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'>Sendo:</p>" + xQuebra;
xStrHtml = xStrHtml2 + xStrHtml;
xStrHtml = xStrHtml + xQuebra;
@ total de pontos @
IntParaAlfa(xTotPts, aTotPts);
@ tempo @
xTempo = TempoTeste;
ConverteMascara (4, xTempo, aTempo, "hh:mm");
xStrHtml = xStrHtml + "<br><br><div class='TEXTOSIMPLES' align='right'><u>Total
de pontos possíveis: " + aTotPts + "</u></div>" + xQuebra;
xStrHtml = xStrHtml + "<br><br><div class='TEXTOSIMPLES' align='center'>Portanto,
para você conseguir 100% de acertos no Teste,<br> você deverá
conseguir " + aTotPts + " pontos.</div>" + xQuebra;
xStrHtml = xStrHtml + "<br><br><div class='TEXTOSIMPLES' align='center'>O tempo
para a realização será de: " + aTempo + " minutos.</div>" +
xQuebra;
LstNiveis.Limpar();
xHTML = WEB_HTML;
WAdicionanoHTML(xStrHtml, xHTML, "<!--INSERE_TEXTO_TEMPLATE-->");
WEB_HTML = xHTML;
Resultado em Tela: