EduViggiano Posted December 10, 2014 Report Share Posted December 10, 2014 Bom Srs! Alguém sabe se é possível de alguma maneira gravar as movimentações de utilização do sistema? Sei que temos o camtasia e diversos softwares, mas será que existe alguma classe ou integração via DLL para fazermos isto dentro de nossas apps? Obrigado!! Michaelegot and Audreyfet 2 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 10, 2014 Report Share Posted December 10, 2014 Algo assim: http://forums.fivetechsupport.com/viewtopic.php?f=6&t=25275&p=137653&hilit=captura+de+pantalla#p137653 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=17947&p=93824&hilit=captura+de+pantalla#p93824 Ou no inter, busque por: Captura de pantalla abs Quote Link to comment Share on other sites More sharing options...
EduViggiano Posted December 10, 2014 Author Report Share Posted December 10, 2014 Opa, bom dia Kapi, obrigado! Vou dar uma fuçada nos links! Qualquer novidade posto aqui blz. vlw!!!! Quote Link to comment Share on other sites More sharing options...
gilmer Posted December 10, 2014 Report Share Posted December 10, 2014 Eduardo, Acredito que isto na irá servir, você quer gravar tudo que é feito no seu sistema (vídeo) e neste caso é para capturar imagem. Se for para realizar um vídeo, não existe nada semelhante nativo em [x]harbour+fivewin Quote Link to comment Share on other sites More sharing options...
Eduardo Bilato Posted December 12, 2014 Report Share Posted December 12, 2014 Bom dia Xará Não seria melhor o uso do bom e velho LOG ? Penso que necessitaria de uma capacidade muito grande de armazenamento em disco pra se registrar em video o uso do sistema. Além de ficar complicado de se encontrar o que deseja, imagina você tentar descobrir "a que horas o usuário mudou aquele parâmetro que ferrou com tudo no sistema" e ter que assistir o video todo pra talvez encontrar o que se busca... Usando o log, você grava as alterações feitas nos registros e necessitaria de muito menos espaço em disco( além, é claro, de ficar muito mais simples de encontrar o que se busca ) Acho que não entendi o propósito desse video, mas continuo afirmando que o log é melhor nessa situação( a menos que seja pra um sistema de segurança de câmeras de vigilância huahauha ) Quote Link to comment Share on other sites More sharing options...
rochinha Posted December 15, 2014 Report Share Posted December 15, 2014 Amiguinhos, Reforçando a tese do nosso amigo Eduardo Bilato o uso de LOG atua como um trace/debug de nossas aplicações. A diferença é que o trace/debug mostra o caminho percorrido pelo código e o log o caminho percorrido pelo usuário(causador do bug). Veja como implementei isto em meu sistema, mudando apenas um cabeçalho. #command APPEND BLANK => dbAppend( 0 ) ; dbCommitLog('I', PROCNAME(), PROCLINE() ) #command APPEND BLANK => dbAppend( ) #command APPEND TO <(file)> => AppendToFile( <(file)> ) #command APPEND REG FROM <(file)> => AppendFromFile( <(file)> ) #command PACK => __dbPack() ; dbCommitLog('E', PROCNAME(), PROCLINE()) #command ZAP => __dbZap() ; dbCommitLog('E', PROCNAME(), PROCLINE()) #command COMMIT => dbUnlock() ; dbCommitAll() #command SKIP 0 => dbUnlock() ; dbCommitAll() #command REGLOCK => dbRegLock( 0 ) ; dbCommitLog('M', PROCNAME(), PROCLINE()) #command REGLOCK => dbRLock( ) ; dbCommitLog('M', PROCNAME(), PROCLINE()) #command FILELOCK => dbFileLock( 0 ) ; dbCommitLog('M', PROCNAME(), PROCLINE()) #command FILELOCK => dbFileLock( ) ; dbCommitLog('M', PROCNAME(), PROCLINE()) #command DELETE => dbNetRegLock(0); dbDelete() ; dbCommitLog('E', PROCNAME(), PROCLINE()) #define LOG_USER Sou programador do tempo do COBOL 80 que exigia uma sintaxe completa e didática. Sou programador prá-lá de avançado mas nunca mostrei isto diretamente no código, sempre codifico os comandos em sua sintaxe total, sem comer letra. O final é um código entendível e de fácil aprendizado. O trecho acima faz modificações no curso dos comandos de forma que ele funcionarão normalmente na aplicação, mas farão ações extras. Como se vê, a função dbCommitLog() não é padrão da linguagem, mas é acionada em cada movimentação de registros. FUNCTION dbCommitLog( LOG_TIPO, PROCNAME, PROCLINE ) LOCAL ret_line := "chr(13)+chr(10)", errfile := "backup.log" IF LOG_TIPO = 'A' M->MINHA_INFO := 'ABERTURA' ELSEIF LOG_TIPO = 'I' M->MINHA_INFO := 'INCLUSAO' ELSEIF LOG_TIPO = 'E' M->MINHA_INFO := 'EXCLUSAO' ELSEIF LOG_TIPO = 'M' M->MINHA_INFO := 'MANUTENCAO' ENDIF M->MODULO := alltrim(PROCNAME)+" Linha: "+alltrim(strzero(PROCLINE,9)) IF !FILE(errfile) errhandle = FCREATE(errfile) FWRITE(errhandle,"Segue lista de processos detectados."+&ret_line.+&ret_line.) FWRITE(errhandle,"Data Hora Operador Processo"+&ret_line.) FWRITE(errhandle,replicate("-",80)+&ret_line.+&ret_line.) ELSE errhandle = FOPEN(errfile,1) length = FSEEK(errhandle,0,2) FSEEK(errhandle,length) ENDIF FWRITE(errhandle,DTOC(DATE())+" "+TIME()+" "+M->OPERADOR+" "+M->MODULO+" "+M->MINHA_INFO+&ret_line.) FCLOSE(errhandle) RETURN(.T.) Além disto é claro que ainda na intenção de manusear vídeos para o monitoramento haverá a necessidade você criar um aplicativo externo para tal já que se embutir em seu sistema e o peso deste trabalho quebrar a execução você estará sendo traído pelo seu segurança. O LOG como foi frisado é o seu maior aliado, leve, rápido e com as suas definições. Em adicional, vale dizer que o xHarbour tem comandos e funções próprias para este tipo de trabalho, mas não uso xHarbour, sendo elas: HB_InitStandardLog() HB_OpenStandardLog() HB_StandardLogAdd() HB_SetStandardLogStyle() HB_StandardLogName() HB_BldLogMsg() HB_LogDateStamp() Veja nos helps sobre tais funções. Caso não queira instalar estes aplicativos na maquina a ser monitorada voce pode usar o gravador de sessão do teamviewer. Voce instala ele na maquina que será acessada, configura pasta de gravação de sessão em configurações avançadas. A sessões são compactadas e só podem ser visualizadas pelo teamviewer. Mais uma dica é sobre uma modificação feita por amigos aqui no forum sobre o ErrSysW.prg que grava uma foto do erro ocorrido em formato .BMP e que talvez te ajude também. Pesquise aqui mesmo. Quote Link to comment Share on other sites More sharing options...
EduViggiano Posted December 16, 2014 Author Report Share Posted December 16, 2014 Opa Srs.! obrigado mesmo pelo retorno, Eu consegui detectar o problema utilizando uma pancada de LOG, exemplo cLOG += " ponto 1 " + Time() memowrit ... cLOG += " ponto 2 " + Time() memowrit ... até chegar no ponto, só que só acontecia se o meu cliente escolhia uma exata sequencia de trabalho até o erro, impressionante, por isso a idéia de "filmar", até pra ver casos que ele sai pelo "X" e não pelo "Sair", aqui tenho casos do famoso: "lá acontece e aqui não" rsrs Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.