Форум: "Начинающим";
Текущий архив: 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