Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.033 c
15-1171568690
Johnmen
2007-02-15 22:44
2007.03.25
Что Вам мешает купить Windows?


9-1145744242
Алгоритм
2006-04-23 02:17
2007.03.25
Кто из мастеров знает GLScnene?


2-1172676429
Slimer
2007-02-28 18:27
2007.03.25
TQuery


2-1172733688
Riply
2007-03-01 10:21
2007.03.25
Индекс объекта, возвращаемого MsgWaitForMultipleObjects


1-1170495138
Medved_
2007-02-03 12:32
2007.03.25
StringGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский