Resultados 1 a 3 de 3

Hybrid View

  1. #1
    Developer C++ tiagoassis's Avatar

    Data de Ingresso
    Jan 2015
    Posts
    126
    Thanks Thanks Given 
    72
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts
    Mencionado
    54 Post(s)
    MEU HUMOR
    Cool
    País
    Brazil
    Citação Originally Posted by PS Sistemas Ver Post
    Se a intenção futura é criar um sistema de log então o código do button2 deve ser corrigido para:



    Assim funcionando como um sistema de log.
    Realmente, até me esqueci de fazer um exemplo de sistema de log k Obrigado manin PS.

    Salvando conteúdo/variáveis em um arquivo de texto

    Um outro exemplo que pode ser feito é o seguinte: Perante um erro do sistema o projeto automaticamente salvar tal log... Aqui abaixo vai um exemplo:

    Crie um novo projeto no Delphi e adicione somente um Button1 (Paleta Standard).

    Vamos supor que esse button tem a intenção de checar se existe determinado aquivo para o funcionamento do sistema. Nesse caso, se ele não encontrar o arquivo ele irá gerar o erro acompanhado de um log e logo após encerrará o sistema.

    Para isso, precisamos criar uma procedure para o log que poderá ser utilizada facilmente. Aqui vai o exemplo:

    Pressione F12 no seu form para acessar o código-fonte do mesmo e crie a seguinte função:

    Código:
    implementation
    
    {$R *.dfm}
    
    {
      # Declare as seguintes variáveis Globais:
      # Log: TextFile;
      # Data: TDateTime;
    
      # OBS, para ser uma variável Global, crie ela acima da palavra implementation.
    }
    procedure CriaLog(FileName, Msg: String);
    begin
    AssignFile(Log, FileName);
      // Verifica se já existe o arquivo Log_erro
      if not FileExists(FileName) then begin
        Rewrite(Log); // Caso não existir o arquivo Log_Erro ele escreverá um novo arquivo
      end
      else begin
        Append(Log); // Caso exista o arquivo Log_Erro ele continuará a inserção de dados no arquivo existente
      end;
    Data:=Now;
    Writeln(Log, DateTimeToStr(Data)+' = '+Msg); // Adiciona a linha com a data, hora e a mensagem do log
    CloseFile(Log); // Fecha o arquivo de Log
    
    {
      # DateTimeToStr = Fará a conversão da variável DateTime para String.
    }
    Após inserir essa procedure, pressione F12 novamente, vá para o Evento Onclick do Button1 e adicione o seguinte comando:

    Código:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      // verifica se existe o arquivo
      if not FileExists(ExtractFilePath(ParamStr(0))+'\Config.txt') then begin // Caso não existir o arquivo
        ShowMessage('Arquivo não encontrado'); // mostra a mensagem que o arquivo não existe
        CriaLog(ExtractFilePath(ParamStr(0))+'\Log_Erro.txt', 'Arquivo não encontrado'); // Cria o Log com o caminho e a mensagem do mesmo (Procedure CriaLog)
        ExitProcess(0); // Sai da aplicação
      end;
    end;
    Agora vai da criatividade de vocês em tratar os erros de seus softwares com um sistema de log, pois a procedure pode ser utilizada a qualquer momento. Também o exemplo acima fala sobre log de erros, porém vocês poderão adaptar da forma que desejar como por exemplo, log de acompanhamento de atividades do usuário, log de ações do sistema, etc.

    Download do Exemplo: [Somente membros podem ver os links. ]

    Novamente um muito obrigado ao PS Sistema pela mão aqui
    Last edited by tiagoassis; 18/02/2017 at 10:08 AM.

    Tiago Assis Softwares

Tags para este Tópico

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais