The Delphi 8 Windows Form - book_note, Text Codes
 
 
 

       
      Return



  The Form -  agenda ...

 
 

 The codes  corresponding ...
   
    
   The text Code is red color, the codes added manuel
 
 
unit book_note;

interface

uses
System.Drawing, System.Collections, System.ComponentModel,
System.Windows.Forms, System.Data, System.Data.Common, System.Data.OleDb,
System.Resources, book_dsetUnit, System.Globalization, SysUtils;

type
Tbook_note = class(System.Windows.Forms.Form)


 

Designer Manger code


 strict protected
/// <summary>
/// Clean up any resources being used.
/// </summary>
procedure Dispose(Disposing: Boolean); override;
private
{ Private Declarations }
procedure LoadDataSet();
procedure sub_load(v_field: string);
procedure NavFirst;
procedure book_dset_PositionChanged;
procedure visible_control(bval: boolean);
procedure NavigationNL(bval: boolean);
procedure NavigationFP(bval: boolean);
procedure Enabled_CFP(bval: boolean);
procedure Enabled_AMS(bval: boolean);
procedure sub_showphoto;
procedure sub_addphoto;
procedure sub_removephoto;
procedure NavPrev;
procedure NavNext;
procedure NavLast;
procedure sub_add;
procedure sub_modify;
procedure sub_modifyok;
procedure sub_Update;
procedure sub_updateok(v_name:string; v_first: string ; v_father: string);
procedure UpdateDataSource(ChangedRows: System.Data.DataSet);
procedure UpdateDataSet;
procedure sub_Cancel;
procedure sub_find;
procedure sub_Searchedit;
procedure Searchedit_cancel;
procedure sub_findok;
procedure sub_print;

public
constructor Create;
class function Showbook_note: System.Windows.Forms.DialogResult;
class function booknote_type: string;
class function booknote_width: Integer;
class function booknote_left: Integer;
class function booknote_top: Integer;

end;

[assembly: RuntimeRequiredAttribute(TypeOf(Tbook_note))]

implementation
uses
mainform, book_search;
var
vselect1: System.Data.OleDb.OleDbCommand;
vda1: System.Data.OleDb.OleDbDataAdapter;
vdset1: System.Data.DataSet;

mbaddflag: Boolean;
mbeditflag: Boolean;
booknotetype: string;
Selfwidth: Integer;
Selfleft: Integer;
Selftop: Integer;

 

      Windows Form Designer generated code

procedure Tbook_note.Dispose(Disposing: Boolean);
begin
if Disposing then
begin
if Components <> nil then
Components.Dispose();
end;
inherited Dispose(Disposing);
end;

constructor Tbook_note.Create;
begin
inherited Create;
//
// Required for Windows Form Designer support
//
InitializeComponent;
//
// TODO: Add any constructor code after InitializeComponent call
//
//move
Self.editphoto_photo.Top := -Self.editphoto_photo.Height;

//resize
Self.lblNavLocation.Top := (Self.Panel1.Height - Self.lblNavLocation.Height) div 2;
Self.lblNavLocation.Left := (((Self.Panel1.Width) div 2) - Self.lblNavLocation.Width) div 2;
Self.lboperation.Top := (Self.Panel1.Height - Self.lboperation.Height) div 2;
Self.lboperation.Left := (((Self.Panel1.Width) div 2) - Self.lboperation.Width) div 2;

try
//load the dataset.
LoadDataSet();
except
on e: InvalidCastException do
// Display error message
System.Windows.Forms.MessageBox.Show(e.Message);
end;


end;


class function Tbook_note.booknote_width: Integer;
begin
Result := Selfwidth;
end;

class function Tbook_note.booknote_left: Integer;
begin
Result := Selfleft;
end;

class function Tbook_note.booknote_top: Integer;
begin
Result := Selftop;
end;

procedure Tbook_note.Tbook_note_Load(sender: System.Object; e: System.EventArgs);
begin
Selfwidth := Self.Width;
Selfleft := Self.Left;
Selftop := Self.Top;

booknotetype := '';

mbeditflag := False;
mbaddflag := False;

sub_load('name');
sub_load('first');
sub_load('father');
sub_load('city');
sub_load('civil_status');


Self.ltoday.Text := DateTime.Today.ToLongDateString();
NavFirst();
end;

procedure Tbook_note.LoadDataSet();
begin
// Turn off constraint checking before the dataset is filled.
Self.book_dset1.EnforceConstraints := False;
try
// Open the connection.
self.oleDbConnection1.Open();
// Attempt to fill the dataset through the OleDbDataAdapter1.
self.OleDbDataAdapter1.Fill(book_dset1);
finally
// Turn constraint checking back on.
self.book_dset1.EnforceConstraints := True;
// Close the connection
self.oleDbConnection1.Close();
end;
end;

//add data to comboboxes
procedure Tbook_note.sub_load(v_field: string);
var
i: Integer;
begin

vselect1 := System.Data.OleDb.OleDbCommand.Create;
vda1 := System.Data.OleDb.OleDbDataAdapter.Create;
vdset1 := System.Data.DataSet.Create;

if (v_field = 'name') then
vselect1.CommandText := 'SELECT DISTINCT Trim(name) AS vname FROM book WHERE (Trim(name) <> "") ORDER BY Trim(name)';
if (v_field = 'first') then
vselect1.CommandText := 'SELECT DISTINCT Trim(first_name) AS vfirst FROM book WHERE (Trim(first_name) <>"")ORDER BY Trim(first_name)';
if (v_field = 'father') then
vselect1.CommandText := 'SELECT DISTINCT Trim(father_name) AS vfather FROM book WHERE (Trim(father_name) <>"")ORDER BY Trim(father_name)';
if (v_field = 'city') then
vselect1.CommandText := 'SELECT DISTINCT Trim(city) AS vcity FROM book WHERE (Trim(city)<>"")ORDER BY Trim(city)';
if (v_field = 'civil_status') then
vselect1.CommandText := 'SELECT DISTINCT Trim(civil_status) AS vcivil FROM book WHERE (Trim(civil_status) <>"")ORDER BY Trim(civil_status)';

vselect1.Connection := Self.OleDbConnection1;
vda1.SelectCommand := vselect1;
vdset1.EnforceConstraints := False;
Try
//Open the connection.
Self.OleDbConnection1.Open();
vda1.Fill(vdset1, 'book');
finally
//Turn constraint checking back on.
vdset1.EnforceConstraints := True;
//Close the connection
Self.OleDbConnection1.Close();
end;

if (vdset1.Tables['book'].Rows.Count > 0) then
begin
for i := 0 to (vdset1.Tables['book'].Rows.Count - 1) do
begin

if (v_field = 'name') then
Self.cmbname.Items.Add(vdset1.Tables['book'].Rows[i]['vname'].ToString().Trim());
if (v_field = 'first') then
Self.cmbfirst_name.Items.Add(vdset1.Tables['book'].Rows[i]['vfirst'].ToString().Trim());
if (v_field = 'father') then
Self.cmbfather_name.Items.Add(vdset1.Tables['book'].Rows[i]['vfather'].ToString().Trim());
if (v_field = 'city') then
Self.cmbcity.Items.Add(vdset1.Tables['book'].Rows[i]['vcity'].ToString().Trim());
if (v_field = 'civil_status') then
Self.cmbcivil_status.Items.Add(vdset1.Tables['book'].Rows[i]['vcivil'].ToString().Trim());

end;
end;
end;

procedure Tbook_note.ToolBar1_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar1.Buttons.IndexOf(e.button) of
0: NavFirst; //first
1: NavPrev; //preview

end
end;

procedure Tbook_note.ToolBar2_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar2.Buttons.IndexOf(e.button) of
0: NavNext; //next
1: NavLast; //last

end
end;

procedure Tbook_note.ToolBar3_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar3.Buttons.IndexOf(e.button) of
0: sub_Add; //add.
end
end;


procedure Tbook_note.ToolBar4_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar4.Buttons.IndexOf(e.button) of
0: sub_modify; //modify
end
end;

procedure Tbook_note.ToolBar5_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar5.Buttons.IndexOf(e.button) of
0: sub_Update; //save
end
end;

procedure Tbook_note.ToolBar6_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar6.Buttons.IndexOf(e.button) of
0: sub_Cancel; //cancel
end
end;

procedure Tbook_note.ToolBar7_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar7.Buttons.IndexOf(e.button) of
0: sub_find; //search
end
end;

procedure Tbook_note.ToolBar8_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar8.Buttons.IndexOf(e.button) of
0: sub_print; //print
end
end;

procedure Tbook_note.ToolBar9_ButtonClick(sender: System.Object; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
begin
case self.ToolBar9.Buttons.IndexOf(e.button) of
0: Close; //close form
end
end;

//book_note navigation events ... *****************************

procedure Tbook_note.NavFirst;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position := 0;
Self.book_dset_PositionChanged();
end;

procedure Tbook_note.book_dset_PositionChanged;
label ptbl;
begin
Self.editbirth.Text := System.Convert.ToString(Self.DateTime_birth.Value.Month) + '/' + System.Convert.ToString(Self.DateTime_birth.Value.Day) + '/' + System.Convert.ToString(Self.DateTime_birth.Value.Year);
Self.lblNavLocation.Text := (((System.Convert.ToString(self.BindingContext.Item[self.book_dset1, 'book'].Position + 1)) + ' of ')
+ self.BindingContext.Item[self.book_dset1, 'book'].Count.ToString());

if ((mbaddflag = False) and (mbeditflag = False)) then
begin
visible_control(False);

// Navigation controls enabled
if ((self.BindingContext.Item[self.book_dset1, 'book'].Position + 1) = 1) then
if ((mbaddflag = False) and (mbeditflag = False)) then
begin
NavigationFP(False);
NavigationNL(True);
goto ptbl;
end;

if ((self.BindingContext.Item[self.book_dset1, 'book'].Position +1) = (self.BindingContext.Item[self.book_dset1, 'book'].Count)) then
if ((mbaddflag = False) and (mbeditflag = False)) then
begin
NavigationFP(True);
NavigationNL(False);
goto ptbl;
end
else
begin
NavigationFP(True);
NavigationNL(True);
goto ptbl;
end;
ptbl:
if (Self.ToolBaradd.Enabled = False) then
Enabled_AMS(True);
if (Self.ToolBarsearch.Enabled = False) then
Enabled_CFP(True);

//show photo
sub_showphoto();

Self.lblNavLocation.Focus();

end

else
begin
if ((mbaddflag = True) or (mbeditflag = True)) then
begin
if (mbaddflag = true) then
lboperation.Text := 'add operation';
if (mbeditflag = true) then
Self.lboperation.Text := 'mudify operation';

visible_control(True);

NavigationFP(False);
NavigationNL(False);
Enabled_AMS(False);
Enabled_CFP(False);

//show photo
sub_showphoto();

Self.lblNavLocation.Focus();
exit;
end;
end;

end;

procedure Tbook_note.visible_control(bval: boolean);
begin
Self.cmbname.Visible := bval;
Self.cmbfirst_name.Visible := bval;
Self.cmbfather_name.Visible := bval;
Self.DateTime_birth.Visible := bval;
Self.cmbsex.Visible := bval;
Self.cmbcivil_status.Visible := bval;
Self.cmbcountry.Visible := bval;
Self.cmbcity.Visible := bval;

Self.editname.Visible := not bval;
Self.editfirst_name.Visible := not bval;
Self.editfather_name.Visible := not bval;
Self.editbirth.Visible := not bval;
Self.editcivil_status.Visible := not bval;
Self.editsex.Visible := not bval;
Self.editcountry.Visible := not bval;
Self.editcity.Visible := not bval;

Self.editname.Left := Self.cmbname.Left;
Self.editname.Width := Self.cmbname.Width;
Self.editname.Top := Self.cmbname.Top;

Self.editfirst_name.Left := Self.cmbfirst_name.Left;
Self.editfirst_name.Width := Self.cmbfirst_name.Width;
Self.editfirst_name.Top := Self.cmbfirst_name.Top;

Self.editfather_name.Left := Self.cmbfather_name.Left;
Self.editfather_name.Width := Self.cmbfather_name.Width;
Self.editfather_name.Top := Self.cmbfather_name.Top;

Self.editbirth.Left := Self.DateTime_birth.Left;
Self.editbirth.Width := Self.DateTime_birth.Width;
Self.editbirth.Top := Self.DateTime_birth.Top;

Self.editsex.Left := Self.cmbsex.Left;
Self.editsex.Width := Self.cmbsex.Width;
Self.editsex.Top := Self.cmbsex.Top;

Self.editcivil_status.Left := Self.cmbcivil_status.Left;
Self.editcivil_status.Width := Self.cmbcivil_status.Width;
Self.editcivil_status.Top := Self.cmbcivil_status.Top;

Self.editcountry.Left := Self.cmbcountry.Left;
Self.editcountry.Width := Self.cmbcountry.Width;
Self.editcountry.Top := Self.cmbcountry.Top;

Self.editcity.Left := Self.cmbcity.Left;
Self.editcity.Width := Self.cmbcity.Width;
Self.editcity.Top := Self.cmbcity.Top;
end;

procedure Tbook_note.NavigationFP(bval: boolean);
begin
Self.ToolBarfirst.Enabled := bval;
Self.ToolBarpreview.Enabled := bval;

end;

procedure Tbook_note.NavigationNL(bval: boolean);
begin
Self.ToolBarnext.Enabled := bval;
Self.ToolBarlast.Enabled := bval;
end;

procedure Tbook_note.Enabled_AMS(bval: boolean);
begin
Self.ToolBaradd.Enabled := bval;
Self.ToolBarmodify.Enabled := bval;
Self.ToolBarsave.Enabled := not bval;
Self.ToolBarcancel.Enabled := bval;
Self.lblNavLocation.Enabled := bval;
end;

procedure Tbook_note.Enabled_CFP(bval: boolean);
begin
//Self.ToolBarcancel.Enabled := bval;
Self.ToolBarsearch.Enabled := bval;
Self.ToolBarprint.Enabled := bval;

end;

//show photo
procedure Tbook_note.sub_showphoto;
Label PP2;
begin

if (mbaddflag = false) then
begin

if (Self.editphoto_photo.Text.Trim.Length > 0) then
begin
if (SysUtils.FileExists(Self.editphoto_photo.Text.Trim()) = true) then
begin
Self.Panel_photo.BorderStyle := BorderStyle.None;
Self.Pic_photo.Image := Image.FromFile(Self.editphoto_photo.Text.Trim());
Self.Pic_photo.Left := (Self.Panel_photo.Width - Self.Pic_photo.Width) div 2;
Self.Pic_photo.Top := (Self.Panel_photo.Height - Self.Pic_photo.Height) div 2;
Self.Btnphoto_del.Enabled := false;
Self.Btnphoto_new.Enabled := false;

if (mbeditflag = true) then
begin
Self.Btnphoto_del.Enabled := true;
Self.Btnphoto_new.Enabled := true;
end;
end
else
begin
goto PP2;
end;
end
else
begin
PP2:
Self.Pic_photo.Image := nil; //nothing

Self.Panel_photo.BorderStyle := BorderStyle.FixedSingle;
if (mbeditflag = true) then
begin
Self.Btnphoto_new.Enabled := true;
end
else
begin
Self.Btnphoto_new.Enabled := false;
end;
Self.Btnphoto_del.Enabled := false;
Exit;
end;
end;
end;

procedure Tbook_note.NavPrev;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position := (self.BindingContext.Item[self.book_dset1, 'book'].Position - 1);
Self.book_dset_PositionChanged();
end;

procedure Tbook_note.NavNext;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position := (self.BindingContext.Item[self.book_dset1, 'book'].Position + 1);
Self.book_dset_PositionChanged();

end;

procedure Tbook_note.NavLast;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position := (Self.book_dset1.Tables['book'].Rows.Count - 1);
Self.book_dset_PositionChanged();
end;

//book_note Add event ... *****************************

procedure Tbook_note.sub_add;
begin
Self.cmbname.SelectedIndex := -1;
Self.cmbfirst_name.SelectedIndex := -1;
Self.cmbfather_name.SelectedIndex := -1;
Self.cmbsex.SelectedIndex := -1;
Self.cmbcivil_status.SelectedIndex := -1;
Self.cmbcountry.SelectedIndex := -1;
Self.cmbcity.SelectedIndex := -1;
try
begin
// Clear out the current edits
self.BindingContext.Item[self.book_dset1, 'book'].EndCurrentEdit();
self.BindingContext.Item[self.book_dset1, 'book'].AddNew();

end;
except
on e: InvalidCastException do
// Display error message, if any.
System.Windows.Forms.MessageBox.Show(e.Message);
end;
mbaddflag := True;

//show photo ...
Self.Btnphoto_del.Enabled := false;
Self.Btnphoto_new.Enabled := true;

Self.book_dset_PositionChanged();

end;

//show photo, add or remove/delete photo '''''''''''''''''''''
procedure Tbook_note.Btnphoto_new_Click(sender: System.Object; e: System.EventArgs);
begin
if ((mbaddflag = true) or (mbeditflag = true)) then
begin
//OpenFileDialog control, displays the Photo corresponding and save it ...
sub_addphoto();
end;
end;

//OpenFileDialog control, displays the Photo corresponding and save it ...
procedure Tbook_note.sub_addphoto;
var
vfilename: string;
begin

Self.OpenFileDialog1.Title := 'Book note, Select Picture';
Self.OpenFileDialog1.Filter := 'All Files|*.*|JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif';
Self.OpenFileDialog1.FilterIndex := 3;

// Show the Dialog, if the user clicked in the dialog and a picture file was selected, open it.
if (OpenFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.ok) then
begin
//add record to table per_appphoto
vfilename := OpenFileDialog1.FileName;
Self.Panel_photo.BorderStyle := BorderStyle.None;
Self.Pic_photo.Image := Image.FromFile(OpenFileDialog1.FileName);

Self.Pic_photo.Left := (Self.Panel_photo.Width - Self.Pic_photo.Width) div 2;
Self.Pic_photo.Top := (Self.Panel_photo.Height - Self.Pic_photo.Height) div 2;

Self.editphoto_photo.Text := vfilename;

Self.Btnphoto_del.Enabled := true;

end;
end;

procedure Tbook_note.Btnphoto_del_Click(sender: System.Object; e: System.EventArgs);
begin
if(( mbaddflag = true) or (mbeditflag = true)) then
begin
//remove/delete photo and clear the file photo name corresponding
sub_removephoto();
end;
end;

// remove/delete photo and clear the file photo name corresponding
procedure Tbook_note.sub_removephoto;
var
response: System.Windows.Forms.DialogResult;
msg_inf: string;
begin
msg_inf := 'are you sure want to remove the photo of - ' + Self.editfirst_name.Text + ' ' + Self.editname.Text;
response := MessageBox.Show(msg_inf, mainform.Tmainform.Title, MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Information);

//Gets the result of the MessageBox display.
if (response = System.Windows.Forms.DialogResult.Yes) then
begin
//clear photo ...
Panel_photo.BorderStyle := BorderStyle.FixedSingle;
Pic_photo.Image.Dispose();
Pic_photo.Image := nil; //nothing
editphoto_photo.Text := '';
Btnphoto_del.Enabled := false;
Exit;
end;
if (response = System.Windows.Forms.DialogResult.No) then
begin
Exit;
end;
end;

//book_note Activated event ... *****************************

//book_note Activated event (responses from book_search form)
procedure Tbook_note.Tbook_note_Activated(sender: System.Object; e: System.EventArgs);
begin
if (book_search.Tbook_search.book_findedit_Flag = 'ok') then
begin
if (booknotetype = 'find') then
begin
sub_findok();
exit;
end;
if (booknotetype = 'edit') then
begin
sub_modifyok();
exit;
end;
end;
if (book_search.Tbook_search.book_findedit_Flag = 'cancel') then
begin
Searchedit_cancel();
exit;
end;
end;

//book_note modify/edit event ... *****************************

procedure Tbook_note.sub_modify;
begin
booknotetype := 'edit';
mbeditflag := True;
sub_Searchedit();
book_search.Tbook_search.Showbooksearch();
end;

class function Tbook_note.booknote_type: string;
begin
Result := booknotetype;
end;

procedure Tbook_note.Panel12_Paint(sender: System.Object; e: System.Windows.Forms.PaintEventArgs);
begin

end;


procedure Tbook_note.sub_modifyok;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position := book_search.Tbook_search.book_v_recno;
Self.book_dset_PositionChanged();

Self.cmbname.Text := Self.editname.Text;
Self.cmbfirst_name.Text := Self.editfirst_name.Text;
Self.cmbfather_name.Text := Self.editfather_name.Text;
Self.DateTime_birth.Text := Self.editbirth.Text;
Self.cmbsex.Text := Self.editsex.Text;
Self.cmbcivil_status.Text := Self.editcivil_status.Text;
Self.cmbcountry.Text := Self.editcountry.Text;
Self.cmbcity.Text := Self.editcity.Text;

end;

//book_note update/save event ... *****************************

procedure Tbook_note.sub_Update;
var
response: System.Windows.Forms.DialogResult;
begin


//convert, comboboxes to textboxes
Self.editname.Text := Self.cmbname.Text;
Self.editfirst_name.Text := Self.cmbfirst_name.Text;
Self.editfather_name.Text := Self.cmbfather_name.Text;
Self.editbirth.Text := Self.DateTime_birth.Text;
Self.editsex.Text := Self.cmbsex.Text;
Self.editcivil_status.Text := Self.cmbcivil_status.Text;
Self.editcountry.Text := Self.cmbcountry.Text;
Self.editcity.Text := Self.cmbcity.Text;
Self.editoriginalfirst_name.Text := Self.cmbfirst_name.Text;
Self.editbirth_d.Text := System.Convert.ToString(Self.DateTime_birth.Value.Day);
Self.editbirth_m.Text := System.Convert.ToString(Self.DateTime_birth.Value.Month);
Self.editbirth_y.Text := System.Convert.ToString(Self.DateTime_birth.Value.Year);

if ((mbeditflag = True) or (mbaddflag = True)) then
begin

if ((Self.editname.Text = '') or (Self.editfirst_name.Text = '') or (Self.editfather_name.Text = '')) then
begin
response := MessageBox.Show('save operation aborted - name box, first name box or father name box empty(ies) ...', mainform.Tmainform.Title, MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Information);

if (response = System.Windows.Forms.DialogResult.Yes) then
exit;
if (response = System.Windows.Forms.DialogResult.No) then
begin
sub_Cancel();
exit;
end;
end
else
begin
sub_updateok(Self.editname.Text.Trim(), Self.editfirst_name.Text.Trim(), Self.editfather_name.Text.Trim());

try
// Attempt to update the datasource.
self.UpdateDataSet;
except
on e: InvalidCastException do
// Display error message, if any.
System.Windows.Forms.MessageBox.Show(e.Message);
end;

mbeditflag := False;
mbaddflag := False;
Self.book_dset_PositionChanged();
end;
end;

end;

//add data to comboboxes
procedure Tbook_note.sub_updateok(v_name:string; v_first: string ; v_father: string);
var
v_ord: Integer;
begin

vselect1 := System.Data.OleDb.OleDbCommand.Create;
vda1 := System.Data.OleDb.OleDbDataAdapter.Create;
vdset1 := System.Data.DataSet.Create;

vselect1.CommandText := 'SELECT bookid, name, first_name, originalfirst_name, Photo, father_name FROM book WHERE ((name := "' + v_name + '") And (originalfirst_name := "' + v_first + '") And (father_name := "' + v_father + '")) ORDER BY bookid';
vselect1.Connection := Self.OleDbConnection1;
vda1.SelectCommand := vselect1;
vdset1.EnforceConstraints := False;
Try
//Open the connection.
self.OleDbConnection1.Open();
vda1.Fill(vdset1, 'book');
finally
//Turn constraint checking back on.
vdset1.EnforceConstraints := True;
//Close the connection
self.OleDbConnection1.Close();
end;

if (vdset1.Tables['book'].Rows.Count > 0) then
begin
v_ord := (vdset1.Tables['book'].Rows.Count - 1);
Self.editfirst_name.Text := Self.editoriginalfirst_name.Text.Trim() + System.Convert.ToString(v_ord).Trim();
end;

end;

procedure Tbook_note.UpdateDataSet;
var
objDataSetChanges: System.Data.DataSet;
begin
// Create a new dataset
objDataSetChanges := System.Data.DataSet.Create;;
// Stop any current edits.
self.BindingContext.Item[self.book_dset1,'book'].EndCurrentEdit;
// Get the changes that have been made to the main dataset.
objDataSetChanges.Merge(self.book_dset1.GetChanges());
// Check to see if any changes have been made.
// Check to see if any changes have been made.
if ((objDataSetChanges <> nil)) then
begin
try
//update method and passing the dataset
self.UpdateDataSource(objDataSetChanges);
book_dset1.Merge(objDataSetChanges);
book_dset1.AcceptChanges();
except
on e: InvalidCastException do
end;
end;

end;

procedure Tbook_note.UpdateDataSource(ChangedRows: System.Data.DataSet);
begin
try
// The data source only needs to be updated
if ((ChangedRows <> nil)) then
begin
// Open the connection.
self.OleDbConnection1.Open();

// Attempt to update the data source.
self.OleDbDataAdapter1.Update(ChangedRows);
end;
finally
//Close the connection
self.OleDbConnection1.Close();
end;
end;

//book_note Cancel event ... *****************************

procedure Tbook_note.sub_Cancel;
begin
mbeditflag := False;
mbaddflag := False;
Self.book_dset1.RejectChanges();
self.BindingContext.Item[self.book_dset1, 'book'].CancelCurrentEdit();
Self.book_dset_PositionChanged();
end;

//book_note find/search event ... *****************************


procedure Tbook_note.sub_find;
begin
booknotetype := 'find';
sub_Searchedit();
book_search.Tbook_search.Showbooksearch();

end;

procedure Tbook_note.sub_Searchedit;
begin
NavigationFP(False);
NavigationNL(False);
Enabled_AMS(False);
Enabled_CFP(False);
Self.ToolBarsave.Enabled := False;
Self.ToolBarcancel.Enabled := False;
end;

procedure Tbook_note.Searchedit_cancel;
begin
mbeditflag := False;
book_dset_PositionChanged();
end;

procedure Tbook_note.sub_findok;
begin
self.BindingContext.Item[self.book_dset1, 'book'].Position := book_search.Tbook_search.book_v_recno;
Self.book_dset_PositionChanged();

end;

procedure Tbook_note.sub_print;
begin


end;




end.

   
  
 



 

      Return