Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Запись всех действии юзера,


Автор: ADAM83 28.11.2006, 15:30
Здравствуйте, у меня такой вопрос:
как сделать так, чтоб все действия (события, напр., щелчок по такой-то кнопке, изменение такой-то таблицы, выбор по комбобоксу и тд.) записывались куда-то (по-моему, можно в ListBox и потом сохранить в какой-то файл), с датой и временем, и чтоб потом этот файл можно просмотреть? 
Может вопрос не корректный, но я считаю что всем будет понятен сам суть вопроса. Если у кого есть примерчик буду рад и благодарен. Спасибо заранее.

Автор: Rodman 28.11.2006, 15:41
ADAM83, обрабатывай событие компонента OnChange... и в таком случае просто в файл записуй (или куда угодно можешь записывать)...

Автор: ADAM83 28.11.2006, 15:47
Rodman, немножко не понятно, ты можешь на примере показать, если не трудно?!

Автор: Rodman 28.11.2006, 15:58
а так понятно???
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    ComboBox1: TComboBox;
    procedure Edit1Change(Sender: TObject);
    procedure Memo2Change(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
Memo1.Lines.Add('User worked with Edit1 at '+DateToStr(Now));
end;

procedure TForm1.Memo2Change(Sender: TObject);
begin
  Memo1.Lines.Add('User worked with Memo2 at '+DateToStr(Now));
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
   Memo1.Lines.Add('User worked with Combobox1 at '+DateToStr(Now));
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Memo1.Lines.SaveToFile('User.txt');
end;

end.

Автор: ADAM83 28.11.2006, 16:02
Rodman, ну так то понятно, но я не думал что так все просто, спасибо еще раз.
Ну даже если этот метод не подойдет, сам тогда постараюсь выкрутиться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)