Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

создание файла   Найти похожие ветки 

 
Mashenka_84   (2007-03-01 13:54) [0]

Здравствуйте. Я программист начинающий, поэтому извините если вдруг совсем простое что то спрашиваю. Вопрос в Следующем:
У меня есть база данных, в которой я могу удалять добавлять и изменять данные. Мне нужно чтобы создался текстовый файл, в котором бы записывалось время, дата и то что произошло с моей базой.
Ну например чтобы в текстовом файле была таккая строка:
02.03.2005 13:44 добавлена запись в таблицу "test"
и чтобы автоматически все сохранялось и при этом чтобы можно было посмотреть данный файл без открытия всей программы.

Всем откликнувшимся, заранее большое спасибо.


 
Сергей М. ©   (2007-03-01 14:02) [1]

СУБД какая ?


 
mashenka_84   (2007-03-01 15:15) [2]

Может я конечно торможу а что такое СУБД?


 
Desdechado ©   (2007-03-01 15:16) [3]

> записывалось время, дата и то что произошло с моей базой.
Произошло из твоей программы или вообще из любой?


 
Сергей М. ©   (2007-03-01 15:21) [4]


> что такое СУБД?


Система Управления Базами Данных


 
mashenka_84   (2007-03-01 15:22) [5]

произошло из моей программы - то есть запустила дельфийский exe и там вношу изменения


 
Elen ©   (2007-03-01 15:23) [6]


> Mashenka_84

т.е. ты хочеш следить за тем кто что и когда добавляет в базу или редактирует или удаляет? Причем базой будут пользоваться одновременно несколько пользователеи?


 
mashenka_84   (2007-03-01 15:24) [7]

через компонет Table


 
Elen ©   (2007-03-01 15:25) [8]


> то есть запустила дельфийский exe и там вношу изменения

Ну так после операторов изменения в БД ставь writeln(FileOtchet,"Случилась запись").


 
mashenka_84   (2007-03-01 15:26) [9]

> Elen
да имеено так
По поводу колличества пользователей - пока только я
Может текст проги привети?


 
Elen ©   (2007-03-01 15:28) [10]


> Может текст проги привети?

Ненадо. Смотри, примерно так :


var     f:textfile;
 Form1: TForm1;

implementation

{$R *.dfm}
.................
procedure TForm1.Table1AfterEdit(DataSet: TDataSet);
begin
writeln(f,"Опа запись отредактированна");
end;
.............
procedure TForm1.FormCreate(Sender: TObject);
begin
  AssignFile (f,"otchet.txt");append(f);
end;
............
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile(f);
end;


Понятнышко?


 
mashenka_84   (2007-03-01 15:29) [11]

А при этом надо заводить какие либо константы, функции или процедуры? или все само сабой пишется в файл? Кстати еще вопрос а куда пишется то? Как указать путь и название?


 
Плохиш ©   (2007-03-01 15:32) [12]


> mashenka_84   (01.03.07 15:29) [11]

Может стоит начать с изучения основ программирования на интересуемом языке?


 
mashenka_84   (2007-03-01 15:34) [13]

Щас попробую


 
Elen ©   (2007-03-01 15:40) [14]


> mashenka_84   (01.03.07 15:34) [13]

Ну в принципе подучи матчасть по обычному паскалю (по теме файлы) + [12]


 
mashenka_84   (2007-03-01 16:12) [15]

>Elen
вставила вроде но не запускается почему то. Выводит ошибки в файле dpr  начиная со слов begin и до end ругается.


 
Elen ©   (2007-03-01 16:19) [16]


> вставила вроде но не запускается почему то. Выводит ошибки
> в файле dpr

Да ты что, это ж пример только !!!??? Тебе надо всего то создать в инспекторе нужные события для формы и ее компонента Ttable  (см. [10]) и прописать в них, а не вставлять все в dpr.


 
mashenka_84   (2007-03-01 16:57) [17]

нет ты не поняла вставила я в свои процедуры, различные сообщения типа удалено, добавлено изменено, при компиляции программы возникает ошибка


 
S@shka ©   (2007-03-01 17:01) [18]

Удалено модератором


 
mashenka_84   (2007-03-01 17:06) [19]

Народ я все конечно понимаю, что смешно...но туплю да, но не понимаю оюъясните
вот тескт проги
текст других юнитов не буду приводить
unit Proba;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, ComCtrls,
 StdCtrls, CheckLst, Buttons, Unit2, Unit3, Unit4, Unit5;

type
 TForm1 = class(TForm)
   TableTovar: TTable;
   DataSource1: TDataSource;
   DataSource2: TDataSource;
   TableModeli: TTable;
   Panel1: TPanel;
   Panel2: TPanel;
   Splitter1: TSplitter;
   ButtonCLOSE: TButton;
   DBGrid3: TDBGrid;
   Panel3: TPanel;
   DBGrid1: TDBGrid;
   Panel4: TPanel;
   Button_Edit_Tovar: TButton;
   Button_Add_Tovar: TButton;
   Button_Delete_Tovar: TButton;
   ButtonUP_Tovar: TButton;
   ButtonDOWN_Tovar: TButton;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   Label4: TLabel;
   ButtonUP_Modeli: TButton;
   ButtonDOWN_Modeli: TButton;
   Button_Edit_Modeli: TButton;
   Button_Add_Modeli: TButton;
   Button_Delete_Modeli: TButton;
   procedure Button_Edit_TovarClick(Sender: TObject);
   procedure ButtonCLOSEClick(Sender: TObject);
   procedure Button_Add_TovarClick(Sender: TObject);
   procedure Button_Delete_TovarClick(Sender: TObject);
   procedure ButtonUP_TovarClick(Sender: TObject);
   procedure ButtonDOWN_TovarClick(Sender: TObject);
   procedure ButtonUP_ModeliClick(Sender: TObject);
   procedure ButtonDOWN_ModeliClick(Sender: TObject);
   procedure Button_Edit_ModeliClick(Sender: TObject);
   procedure Button_Add_ModeliClick(Sender: TObject);
   procedure Button_Delete_ModeliClick(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 Log:TextFile;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 AssignFile (f,"otchet.txt");append(f);
end;

procedure TForm1.Button_Edit_TovarClick(Sender: TObject);
var k:String;
begin
 k:= TableTovar.FieldByName("Tovar").AsString;
 Form2.Caption:= "Èçìåíåíèå òîâàðà";
 Form2.Edit1.Text:= k;
 Form2.ShowModal;
end;

procedure TForm1.ButtonCLOSEClick(Sender: TObject);
begin
 CloseFile(Log);
 Form1.Close;
end;

procedure TForm1.Button_Add_TovarClick(Sender: TObject);
begin
 Form3.Caption:= "Äîáàâëåíèå òîâàðà";
 Form3.ShowModal;
 Form3.Edit1.Clear;
end;

procedure TForm1.Button_Delete_TovarClick(Sender: TObject);
var n:longint;
begin
 if TableTovar.RecordCount = 0 then exit;
 if MessageDlg("Óäàëèòü çàïèñü?", mtConfirmation, [mbYes, mbNo], 0) = mrYes
 then begin
   TableModeli.Last;
   for n :=1 to Tablemodeli.RecordCount do TableModeli.Delete;
 TableTovar.Delete;
 writeln(Log,"Çàïèñü óäàëåíà èç òàáëèôû "Tovar"");
 end;
end;

procedure TForm1.ButtonUP_TovarClick(Sender: TObject);
begin
 TableTovar.Prior;
end;

procedure TForm1.ButtonDOWN_TovarClick(Sender: TObject);
begin
 TableTovar.Next;
end;

procedure TForm1.ButtonUP_ModeliClick(Sender: TObject);
begin
 TableModeli.Prior;
end;

procedure TForm1.ButtonDOWN_ModeliClick(Sender: TObject);
begin
 TableModeli.Next;
end;

procedure TForm1.Button_Edit_ModeliClick(Sender: TObject);
var  d, e: String;
    f: Integer;
begin
try
 d:= Form1.TableTovar.FieldByName("Tovar").AsString;
 e:= Form1.TableModeli.FieldByName("S_name").AsString;
 f:= Form1.TableModeli.FieldByName("Cena").AsInteger;
 Form4.Caption:= "Èçìåíåíèå íàçâàíèÿ";
 Form4.Edit1.Text:=d;
 Form4.Edit2.Text:=e;
 Form4.Edit3.Text:=IntToStr(f);
 Form4.ShowModal;
 except
   on Exception do
     ShowMessage("Error");
 end;
end;

procedure TForm1.Button_Add_ModeliClick(Sender: TObject);
var m: String;
begin
 Form5.Caption:= "Äîáàâëåíèå òîâàðà";
 m:= TableTovar.FieldByName("Tovar").AsString;
 Form5.Edit1.Text:=m;
 Form5.ShowModal;
 Form5.EditS_name.Clear;
 Form5.EditCena.Clear;
end;

procedure TForm1.Button_Delete_ModeliClick(Sender: TObject);
begin
 if MessageDlg("Óäàëèòü çàïèñü?", mtConfirmation, [mbYes, mbNo], 0) = mrYes
 then TableModeli.Delete;
 writeln(Log,"Çàïèñü óäàëåíà èç òàáëèôû "Modeli"");
end;

end.


 
Johnmen ©   (2007-03-01 17:09) [20]

Так вот ты какой, батонокидатель...


 
Vlad Oshin ©   (2007-03-01 17:19) [21]

гдето сверху, перед всеми процедурами, пишется такая:

procedure Log(s:string);
begin
assignfile(f,"c:\myIlog.txt"); filemode:=2;
if fileexists("c:\myIlog.txt") then reset(f) else rewrite(f); append(f);
writeln(f, s);
closefile(f);
end;

далее во всех местах, где надо протоколировать пишется

Log("бла-бла-бла");


 
Elen ©   (2007-03-01 17:25) [22]


> при компиляции программы возникает ошибка

А довести эту ошибку до нас ты не хочеш? или предлагаеш включить телепатор, которого после праздника бодун бодает?


 
Плохиш ©   (2007-03-01 17:40) [23]

Пальцы так и тянуться написать про три "К"


 
mashenka_84   (2007-03-01 17:43) [24]

>
[Error] Gotovoe.dpr(13): Identifier expected but "BEGIN" found
[Error] Gotovoe.dpr(14): Undeclared identifier: "Application"

и так далее
такое ощущение что просто где то не стоит знака препинания
текст Gotovoe
program Gotovoe;

uses
 Forms,
 Proba in "Proba.pas" {Form1},
 Unit2 in "Unit2.pas" {Form2},
 Unit3 in "Unit3.pas" {Form3},
 Unit4 in "Unit4.pas" {Form4},
 Unit5 in "Unit5.pas" {Form5},

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.CreateForm(TForm3, Form3);
 Application.CreateForm(TForm4, Form4);
 Application.CreateForm(TForm5, Form5);
 Application.Run;
end.


 
Игорь Шевченко ©   (2007-03-01 17:48) [25]


> program Gotovoe;


еще не готовое


 
Плохиш ©   (2007-03-01 17:55) [26]


> такое ощущение что просто где то не стоит знака препинания

Стоит, но не у того...


 
Германн ©   (2007-03-01 18:00) [27]


> Unit5 in "Unit5.pas" {Form5},


> Unit5 in "Unit5.pas" {Form5},


 
Плохиш ©   (2007-03-01 18:01) [28]


> Германн ©   (01.03.07 18:00) [27]

Фи...


 
mashenka_84   (2007-03-01 18:30) [29]

Всем спасибо, пока ничего не получилось, но может просто уже голова не варит. Завтра все прочитаю еще раз и надеюсь, что получится. :)


 
MikePetrichenko ©   (2007-03-01 18:39) [30]

LOL
Вместо
Unit5 in "Unit5.pas" {Form5},

должно быть

Unit5 in "Unit5.pas" {Form5};


 
Ega23 ©   (2007-03-01 18:41) [31]

Удалено модератором


 
mashenka_84   (2007-03-04 13:16) [32]

Народ всем помогавшим спасибо. На следующий день посмотрела на здоровую голову и все нормально. Все получилось.



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.029 c
1-1170236513
MadSnake
2007-01-31 12:41
2007.03.25
изменение формата строки даты для фунцкции StrToDateTime


2-1172849058
Магедон
2007-03-02 18:24
2007.03.25
Как предотвратить н-й запуск приложения?


15-1172401016
Slimer
2007-02-25 13:56
2007.03.25
Проблема с клавой


2-1172906780
Windows
2007-03-03 10:26
2007.03.25
Piette компоненты


2-1172939940
Roman_S
2007-03-03 19:39
2007.03.25
Как узнать размер каталога по пути?