home *** CD-ROM | disk | FTP | other *** search
- //please compile this project And Open windows
- //explorer and Click test.exe.
- //Because ▌f you run with Delphi and import record Key violation Error raised.
- //Firs time you do click export,after delete 2 or 3 record and click import.
- //Don't raise "key violation" error.
-
- unit NyBckTest;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- Db, StdCtrls, DBCtrls, Gauges, ExtCtrls, Grids, DBGrids, DBTables, NyBck;
-
-
-
- type
- TForm1 = class(TForm)
- Table1: TTable;
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- Table1Alphafield: TStringField;
- Table1Integerfield: TFloatField;
- DBNavigator1: TDBNavigator;
- Gauge1: TGauge;
- Label1: TLabel;
- DBMemo1: TDBMemo;
- Label2: TLabel;
- Memo1: TMemo;
- Label3: TLabel;
- Button1: TButton;
- Button2: TButton;
- SaveDialog1: TSaveDialog;
- OpenDialog1: TOpenDialog;
- NyBck1: TNyBck;
- Table1Alpha2: TStringField;
- Table1Memofield: TMemoField;
- Table1Calcfield: TStringField;
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure NyBck1AfterCloseTable(Sender: TObject);
- procedure NyBck1BeforeCloseTable(Sender: TObject);
- procedure NyBck1BeforeOpenTable(Sender: TObject);
- procedure NyBck1AfterOpenTable(Sender: TObject);
- procedure NyBck1AfterExport(Sender: TObject);
- procedure NyBck1AfterImport(Sender: TObject);
- procedure NyBck1BeforeExport(Sender: TObject);
- procedure NyBck1BeforeImport(Sender: TObject);
- procedure NyBck1AddRecord(Sender: TObject);
- procedure NyBck1ImportProgress(Sender: TObject; AProgress: Integer;
- var StopIt: Boolean);
- procedure NyBck1ExportProgress(Sender: TObject; AProgress: Integer;
- var StopIt: Boolean);
- procedure NyBck1ImportError(Sender: TObject; Mess: String;
- RecNo: Integer; var Response: TNyBckErrorResponse);
- procedure Table1CalcFields(DataSet: TDataSet);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
- Addyes, addno: integer;
-
- implementation
-
- {$R *.DFM}
-
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- table1.DatabaseName:=extractfilepath(application.exename);//program²n exe dosyas²n²n oldu≡u dizin.
- table1.Active:=true;
-
- end;
-
- procedure TForm1.FormDestroy(Sender: TObject);
- begin
- table1.Refresh;
- table1.close;
- end;
-
-
- procedure TForm1.Button1Click(Sender: TObject);
- label lab1;
- begin
- lab1:
- if Savedialog1.execute then
- begin
- if FileExists(SaveDialog1.FileName) then
- if MessageDlg(Format('%s file already exist. Do you want to replace them?', [SaveDialog1.FileName]),
- mtConfirmation, [mbyes,mbno], 0) <> idyes then goto lab1;
-
- addyes:=0; //reset
-
-
- table1.Close;
- gauge1.Visible:=True;
- label1.visible:=true;
- try
- NyBck1.TextFile:=Savedialog1.FileName;
- NyBck1.Exprt; //Dataset To Text file (and *.mem) file
-
- finally
- MessageDlg(IntToStr(Addyes) + ' Records exported. ', mtInformation, [mbOK], 0);
- label1.Visible:=false;
- gauge1.Visible:=false;
- end;
-
-
- table1.open;
- table1.First;
- end
- else //If you press Cancel button
-
- end;
-
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- if opendialog1.execute then
- begin
- addyes:=0;//reset
- addno :=0;//reset
- table1.Close;
- label1.Visible:=true;
- gauge1.Visible:=True;
- try
- NyBck1.TextFile:=opendialog1.FileName;
- NyBck1.imprt; //Text file to Dataset
- addyes:=addyes-addno;
- finally
- MessageDlg(IntToStr(Addyes) + ' Records imported, '+inttostr(addno)+' Record don"t imported because already in table.', mtInformation, [mbOK], 0);
- label1.visible:=false;
- gauge1.Visible:=false;
- end;
-
-
- table1.open;
- table1.First;
- end
- else // if you press cancel.
-
-
- end;
-
- procedure TForm1.NyBck1AfterCloseTable(Sender: TObject);
- begin
- memo1.lines.Add('After Close Table..OK');
- end;
-
- procedure TForm1.NyBck1BeforeCloseTable(Sender: TObject);
- begin
- memo1.lines.Add('Before Close Table..Ok');
- end;
-
- procedure TForm1.NyBck1BeforeOpenTable(Sender: TObject);
- begin
- memo1.lines.Add('Before Open Table..Ok');
- end;
-
- procedure TForm1.NyBck1AfterOpenTable(Sender: TObject);
- begin
- memo1.lines.Add('After Open Table..Ok');
- end;
-
- procedure TForm1.NyBck1AfterExport(Sender: TObject);
- begin
- memo1.lines.Add('After Export..Ok');
- end;
-
- procedure TForm1.NyBck1AfterImport(Sender: TObject);
- begin
- memo1.lines.Add('After import..Ok');
- end;
-
- procedure TForm1.NyBck1BeforeExport(Sender: TObject);
- begin
- gauge1.MaxValue:=NyBck1.TotalRecord;
- memo1.lines.Add('Before Export..Ok');
- end;
-
- procedure TForm1.NyBck1BeforeImport(Sender: TObject);
- begin
- gauge1.MaxValue:=NyBck1.TotalRecord;
- memo1.lines.Add('Before ▌mport..Ok');
- end;
-
- procedure TForm1.NyBck1AddRecord(Sender: TObject);
- begin
- Memo1.Lines.Add('Record added..Ok');
- end;
-
- procedure TForm1.NyBck1ImportProgress(Sender: TObject; AProgress: Integer;
- var StopIt: Boolean);
- begin
- Addyes:=Addyes+1;
- gauge1.Progress:=addyes-addno;//or =:aprogress;
- Memo1.Lines.Add('Import in progress ' + IntToStr(AProgress));
- end;
-
- procedure TForm1.NyBck1ExportProgress(Sender: TObject; AProgress: Integer;
- var StopIt: Boolean);
- begin
- Addyes:=Addyes+1;
- gauge1.Progress:=addyes;// or :=aprogress;
- Memo1.Lines.Add('Export in progress ' + IntToStr(AProgress));
- end;
-
- procedure TForm1.NyBck1ImportError(Sender: TObject; Mess: String;
- RecNo: Integer; var Response: TNyBckErrorResponse);
- begin
- if mess='Key violation.' then begin
- Response:=NyBckIgnore; //same record ignore
- Addno:=Addno+1;
- table1.Cancel;
- end
- else begin //key violation error don't
- if MessageDlg(Mess + ' @: ' + IntToStr(RecNo)+ 'press "Abort", or "ignore".',mtError,[mbAbort,mbIgnore],0) = mrAbort then
- Response:=NybckAbort
- else
- Response:=nybckIgnore;
- end;
- end;
-
- procedure TForm1.Table1CalcFields(DataSet: TDataSet);
- begin
- table1.FieldByName('Calcfield').asstring:=table1.Fields[0].AsString+'-->'+table1.Fields[1].AsString;
- end;
-
- end.
-