Advertisement
Guest User

Untitled

a guest
Feb 12th, 2012
2,639
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 88.11 KB | None | 0 0
  1. unit Unit4;
  2.  
  3. interface
  4.  
  5. uses
  6.  
  7.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  8.   Dialogs, ActnMenus, RibbonActnMenus, ToolWin, ActnMan, ActnCtrls, Ribbon,
  9.   ActnList, RibbonObsidianStyleActnCtrls, cxGraphics, cxControls,
  10.   cxLookAndFeels, cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore,
  11.   dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
  12.   dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian,
  13.   dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins,
  14.   dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
  15.   dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
  16.   dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinPumpkin, dxSkinSeven,
  17.   dxSkinSharp, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
  18.   dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, cxTextEdit,
  19.   cxMaskEdit, cxDropDownEdit, cxBlobEdit, cxDBEdit, ExtCtrls, dxGDIPlusClasses,
  20.   StdCtrls, Mask, Grids,  cxClasses, cxCustomData,
  21.   cxStyles, cxCustomPivotGrid, cxDBPivotGrid, DBCtrls, DB, ABSMain, cxGroupBox,
  22.   DBGrids, cxCalendar, dxRibbon, dxStatusBar, dxRibbonStatusBar, dblookup,
  23.   spdbctrls, SkinGrids, spDBGrids, SkinCtrls, GIFImg,  jpeg,
  24.   dxBar, Menus, SkinMenus, SkinBoxCtrls, SkinExCtrls ,TABPGDLG, ImgList,
  25.   IWImageList, dxSkinsForm, spSkinShellCtrls, ComCtrls, SkinTabs,Unit1, DBCGrids,
  26.   spTrayIcon, DynamicSkinForm, StdActns, ScreenTips, HDDInfo;
  27.  
  28.   type
  29.  
  30.   TForm4 = class(TForm)
  31.     ActionManager1: TActionManager;
  32.     DBEdit1: TDBEdit;
  33.     DBEdit2: TDBEdit;
  34.     DBImage1: TDBImage;
  35.     DataSourceMaster: TDataSource;
  36.     Master: TABSTable;
  37.     ABSDatabase1: TABSDatabase;
  38.     Detail: TABSTable;
  39.     spSkinPanel1: TspSkinPanel;
  40.     DataSourceDetail: TDataSource;
  41.     Image6: TImage;
  42.     Q_Search: TDataSource;
  43.     ABSTable1: TABSTable;
  44.     Ds_Customer: TDataSource;
  45.     Customer: TABSTable;
  46.     CustomerCust_ID: TAutoIncField;
  47.     CustomerCust_Nom: TStringField;
  48.     CustomerCust_Prenom: TStringField;
  49.     CustomerCust_Photo: TGraphicField;
  50.     CustomerCust_Date_Naissan: TDateField;
  51.     CustomerTelephone: TIntegerField;
  52.     Customerexclu: TBooleanField;
  53.     CustomerDate_Add: TDateField;
  54.     CustomerEmail: TStringField;
  55.     CustomerAdres: TStringField;
  56.     Open_Picture: TspSkinOpenPictureDialog;
  57.     Tb_Book_NFil: TABSTable;
  58.     Ds_Book_NFil: TDataSource;
  59.     CustomerNbr_Emprute: TIntegerField;
  60.     CustomerNbr_Emprute_Now: TIntegerField;
  61.     Action1: TAction;
  62.     Acces_Img: TImageList;
  63.     Ds_List_Book_User: TDataSource;
  64.     CustomerEmprute_Fois: TIntegerField;
  65.     Control_Img: TImageList;
  66.     List_Book_User: TABSTable;
  67.     CD_Table: TABSTable;
  68.     Ds_CD: TDataSource;
  69.     Administration: TspSkinPageControl;
  70.     Book_List: TspSkinTabSheet;
  71.     Image5: TImage;
  72.     Label1: TLabel;
  73.     spSkinDBLookupComboBox1: TspSkinDBLookupComboBox;
  74.     spSkinGroupBox1: TspSkinGroupBox;
  75.     spSkinDBGrid1: TspSkinDBGrid;
  76.     Add_Book: TspSkinTabSheet;
  77.     spSkinPanel3: TspSkinPanel;
  78.     spSkinDBLookupComboBox2: TspSkinDBLookupComboBox;
  79.     spSkinDBDateEdit1: TspSkinDBDateEdit;
  80.     spSkinDBSpinEdit1: TspSkinDBSpinEdit;
  81.     spSkinDBSpinEdit2: TspSkinDBSpinEdit;
  82.     spSkinLabel5: TspSkinLabel;
  83.     spSkinLabel7: TspSkinLabel;
  84.     spSkinLabel8: TspSkinLabel;
  85.     spSkinLabel9: TspSkinLabel;
  86.     spSkinLabel10: TspSkinLabel;
  87.     spSkinLabel11: TspSkinLabel;
  88.     spSkinLabel12: TspSkinLabel;
  89.     spSkinLabel13: TspSkinLabel;
  90.     spSkinEdit1: TspSkinEdit;
  91.     spSkinEdit2: TspSkinEdit;
  92.     spSkinEdit3: TspSkinEdit;
  93.     spSkinEdit4: TspSkinEdit;
  94.     DBEdit3: TDBEdit;
  95.     spSkinDBSpinEdit3: TspSkinDBSpinEdit;
  96.     GroupBox13: TGroupBox;
  97.     spSkinButton2: TspSkinButton;
  98.     spSkinXFormButton1: TspSkinXFormButton;
  99.     spSkinButton1: TspSkinButton;
  100.     spSkinDBSpinEdit4: TspSkinDBSpinEdit;
  101.     spSkinLabel21: TspSkinLabel;
  102.     spSkinDateEdit1: TspSkinDateEdit;
  103.     Search_Book: TspSkinTabSheet;
  104.     GroupBox12: TGroupBox;
  105.     Label10: TLabel;
  106.     Label12: TLabel;
  107.     Label13: TLabel;
  108.     Label11: TLabel;
  109.     DBEdit12: TDBEdit;
  110.     DBEdit14: TDBEdit;
  111.     DBEdit15: TDBEdit;
  112.     DBEdit13: TDBEdit;
  113.     User_List: TspSkinTabSheet;
  114.     spSkinGroupBox3: TspSkinGroupBox;
  115.     Label2: TLabel;
  116.     Label3: TLabel;
  117.     Label4: TLabel;
  118.     Label5: TLabel;
  119.     Label6: TLabel;
  120.     Label7: TLabel;
  121.     Label8: TLabel;
  122.     Label9: TLabel;
  123.     DBEdit4: TDBEdit;
  124.     DBImage3: TDBImage;
  125.     GroupBox7: TGroupBox;
  126.     R_Num: TRadioButton;
  127.     R_Nom: TRadioButton;
  128.     spSkinEdit5: TspSkinEdit;
  129.     GroupBox8: TGroupBox;
  130.     User_Admin: TspSkinTabSheet;
  131.     GroupBox6: TGroupBox;
  132.     spSkinTextLabel1: TspSkinTextLabel;
  133.     spSkinLabel6: TspSkinLabel;
  134.     Cus_Date: TspSkinDateEdit;
  135.     spSkinGroupBox2: TspSkinGroupBox;
  136.     DBImage2: TDBImage;
  137.     Cus_Nom: TspSkinEdit;
  138.     Cus_Prenom: TspSkinEdit;
  139.     spSkinLabel16: TspSkinLabel;
  140.     Cus_Tel: TspSkinNumericEdit;
  141.     Add_User: TspSkinXFormButton;
  142.     spSkinLabel17: TspSkinLabel;
  143.     Cus_Date_N: TspSkinLabel;
  144.     spSkinLabel15: TspSkinLabel;
  145.     Cus_Email: TspSkinEdit;
  146.     spSkinLabel18: TspSkinLabel;
  147.     Cus_Add_Jour: TspSkinDateEdit;
  148.     spSkinLabel14: TspSkinLabel;
  149.     Nbr_Emprute: TspSkinSpinEdit;
  150.     spSkinLabel4: TspSkinLabel;
  151.     Cus_Adres: TspSkinMemo;
  152.     spSkinTabSheet1: TspSkinTabSheet;
  153.     GroupBox10: TGroupBox;
  154.     spSkinTextLabel2: TspSkinTextLabel;
  155.     GroupBox14: TGroupBox;
  156.     spSkinButtonLabel2: TspSkinButtonLabel;
  157.     spSkinDBLookupComboBox3: TspSkinDBLookupComboBox;
  158.     spSkinEdit9: TspSkinEdit;
  159.     spSkinMemo1: TspSkinMemo;
  160.     GroupBox15: TGroupBox;
  161.     spSkinButtonLabel1: TspSkinButtonLabel;
  162.     spSkinDBLookupComboBox4: TspSkinDBLookupComboBox;
  163.     spSkinEdit8: TspSkinEdit;
  164.     spSkinMemo2: TspSkinMemo;
  165.     spSkinLabel23: TspSkinLabel;
  166.     GroupBox16: TGroupBox;
  167.     spSkinLabel20: TspSkinLabel;
  168.     Date_Apre: TspSkinDateEdit;
  169.     spSkinLabel19: TspSkinLabel;
  170.     Date_Repre: TspSkinDateEdit;
  171.     spSkinTabSheet2: TspSkinTabSheet;
  172.     GroupBox17: TGroupBox;
  173.     spSkinTextLabel3: TspSkinTextLabel;
  174.     GroupBox19: TGroupBox;
  175.     spSkinButtonLabel3: TspSkinButtonLabel;
  176.     spSkinEdit11: TspSkinEdit;
  177.     spSkinMemo3: TspSkinMemo;
  178.     GroupBox20: TGroupBox;
  179.     spSkinButtonLabel4: TspSkinButtonLabel;
  180.     spSkinEdit12: TspSkinEdit;
  181.     spSkinMemo4: TspSkinMemo;
  182.     spSkinLabel27: TspSkinLabel;
  183.     GroupBox21: TGroupBox;
  184.     spSkinLabel28: TspSkinLabel;
  185.     spSkinLabel29: TspSkinLabel;
  186.     Time_Apre: TspSkinTimeEdit;
  187.     Time_Repre: TspSkinTimeEdit;
  188.     spSkinDBLookupComboBox5: TspSkinDBLookupComboBox;
  189.     spSkinDBLookupComboBox6: TspSkinDBLookupComboBox;
  190.     CustomerMot_Fois: TIntegerField;
  191.     GroupBox22: TGroupBox;
  192.     spSkinDBGrid3: TspSkinDBGrid;
  193.     spSkinTabSheet3: TspSkinTabSheet;
  194.     Image1: TImage;
  195.     Label14: TLabel;
  196.     Add_Mot: TButton;
  197.     GroupBox28: TGroupBox;
  198.     GroupBox25: TGroupBox;
  199.     spSkinEdit7: TspSkinEdit;
  200.     spSkinLabel3: TspSkinLabel;
  201.     spSkinEdit14: TspSkinEdit;
  202.     spSkinLabel32: TspSkinLabel;
  203.     GroupBox9: TGroupBox;
  204.     spSkinEdit6: TspSkinEdit;
  205.     spSkinLabel1: TspSkinLabel;
  206.     spSkinLabel22: TspSkinLabel;
  207.     spSkinEdit10: TspSkinEdit;
  208.     List_Book_UserBib_ID: TIntegerField;
  209.     List_Book_UserBook_ID: TAutoIncField;
  210.     List_Book_UserISBN: TStringField;
  211.     List_Book_UserType: TStringField;
  212.     List_Book_UserCust_Nom: TStringField;
  213.     List_Book_UserCust_ID: TIntegerField;
  214.     List_Book_UserBook_Nom: TStringField;
  215.     List_Book_UserContiter: TIntegerField;
  216.     List_Book_UserValable: TBooleanField;
  217.     List_Book_UserDate_Apre: TDateField;
  218.     List_Book_UserDate_Repre: TDateField;
  219.     List_Book_UserBook_Auteur: TStringField;
  220.     List_Book_UserAne_publication: TDateField;
  221.     List_Book_UserEdition_N: TIntegerField;
  222.     List_Book_UserNombre_Page: TIntegerField;
  223.     List_Book_UserNombre_Partie: TIntegerField;
  224.     List_Book_UserDate_Add_book: TDateField;
  225.     List_Book_UserHome_Pub: TStringField;
  226.     List_Book_UserEmprute_Fois: TIntegerField;
  227.     List_Book_UserState: TStringField;
  228.     List_Book_UserMot_Fois: TIntegerField;
  229.     List_Book_UserCust_Prenom: TStringField;
  230.     List_Book_UserMot_Apre: TTimeField;
  231.     List_Book_UserMot_Repre: TTimeField;
  232.     List_Book_UserCust_Rotard: TBooleanField;
  233.     GroupBox29: TGroupBox;
  234.     GroupBox18: TGroupBox;
  235.     spSkinLabel24: TspSkinLabel;
  236.     spSkinLabel25: TspSkinLabel;
  237.     spSkinEdit15: TspSkinEdit;
  238.     spSkinEdit16: TspSkinEdit;
  239.     GroupBox26: TGroupBox;
  240.     spSkinLabel33: TspSkinLabel;
  241.     spSkinLabel34: TspSkinLabel;
  242.     spSkinEdit17: TspSkinEdit;
  243.     spSkinEdit18: TspSkinEdit;
  244.     GroupBox30: TGroupBox;
  245.     GroupBox24: TGroupBox;
  246.     spSkinDBText1: TspSkinDBText;
  247.     spSkinDBLookupComboBox7: TspSkinDBLookupComboBox;
  248.     spSkinLabel31: TspSkinLabel;
  249.     GroupBox23: TGroupBox;
  250.     spSkinLabel30: TspSkinLabel;
  251.     spSkinEdit13: TspSkinEdit;
  252.     spSkinScrollBar3: TspSkinScrollBar;
  253.     spSkinGroupBox4: TspSkinGroupBox;
  254.     spSkinGroupBox5: TspSkinGroupBox;
  255.     spSkinDBGrid5: TspSkinDBGrid;
  256.     spSkinScrollBar4: TspSkinScrollBar;
  257.     Image9: TImage;
  258.     List_Book_UserBook_Partie_Nbr: TIntegerField;
  259.     spSkinDBLookupComboBox8: TspSkinDBLookupComboBox;
  260.     spSkinLabel40: TspSkinLabel;
  261.     Button2: TButton;
  262.     Button3: TButton;
  263.     DetailBib_ID: TIntegerField;
  264.     DetailBook_ID: TAutoIncField;
  265.     DetailISBN: TStringField;
  266.     DetailType: TStringField;
  267.     DetailCust_Nom: TStringField;
  268.     DetailCust_ID: TIntegerField;
  269.     DetailBook_Nom: TStringField;
  270.     DetailContiter: TIntegerField;
  271.     DetailValable: TBooleanField;
  272.     DetailDate_Apre: TDateField;
  273.     DetailDate_Repre: TDateField;
  274.     DetailBook_Auteur: TStringField;
  275.     DetailAne_publication: TDateField;
  276.     DetailEdition_N: TIntegerField;
  277.     DetailNombre_Page: TIntegerField;
  278.     DetailNombre_Partie: TIntegerField;
  279.     DetailDate_Add_book: TDateField;
  280.     DetailHome_Pub: TStringField;
  281.     DetailEmprute_Fois: TIntegerField;
  282.     DetailState: TStringField;
  283.     DetailMot_Fois: TIntegerField;
  284.     DetailCust_Prenom: TStringField;
  285.     DetailMot_Apre: TTimeField;
  286.     DetailMot_Repre: TTimeField;
  287.     DetailCust_Rotard: TBooleanField;
  288.     DetailBook_Partie_Nbr: TIntegerField;
  289.     spSkinButton4: TButton;
  290.     spSkinButton3: TButton;
  291.     spSkinButton6: TButton;
  292.     spSkinButton5: TButton;
  293.     Button4: TButton;
  294.     spSkinTabSheet4: TspSkinTabSheet;
  295.     CategoryPanelGroup1: TCategoryPanelGroup;
  296.     CategoryPanel1: TCategoryPanel;
  297.     CategoryPanel2: TCategoryPanel;
  298.     CategoryPanel3: TCategoryPanel;
  299.     GroupBox31: TGroupBox;
  300.     spSkinDBLookupComboBox9: TspSkinDBLookupComboBox;
  301.     DBEdit16: TDBEdit;
  302.     GroupBox32: TGroupBox;
  303.     Image10: TImage;
  304.     Label16: TLabel;
  305.     Label17: TLabel;
  306.     Label18: TLabel;
  307.     Label19: TLabel;
  308.     CD_Type: TspSkinComboBox;
  309.     CD_Nom: TspSkinEdit;
  310.     CD_Contiter: TspSkinSpinEdit;
  311.     ISBN_CD: TspSkinEdit;
  312.     Button5: TButton;
  313.     Button6: TButton;
  314.     CD_TableBiblio_ID: TIntegerField;
  315.     CD_TableType: TStringField;
  316.     CD_TableCD_Nom: TStringField;
  317.     CD_TableCD_Contiter: TIntegerField;
  318.     CD_TableCD_ID: TAutoIncField;
  319.     spSkinLabel41: TspSkinLabel;
  320.     spSkinDBLookupComboBox10: TspSkinDBLookupComboBox;
  321.     GroupBox33: TGroupBox;
  322.     GroupBox34: TGroupBox;
  323.     GroupBox37: TGroupBox;
  324.     GroupBox38: TGroupBox;
  325.     spSkinDBGrid6: TspSkinDBGrid;
  326.     spSkinEdit19: TspSkinEdit;
  327.     spSkinEdit20: TspSkinEdit;
  328.     spSkinScrollBar6: TspSkinScrollBar;
  329.     CD_Detail: TABSTable;
  330.     Ds_CD_Detail: TDataSource;
  331.     GroupBox35: TGroupBox;
  332.     Label22: TLabel;
  333.     DBEdit19: TDBEdit;
  334.     CD_TableValable: TBooleanField;
  335.     CD_TableISBN_CD: TIntegerField;
  336.     Button7: TButton;
  337.     Button8: TButton;
  338.     spSkinPageControl1: TspSkinPageControl;
  339.     spSkinTabSheet5: TspSkinTabSheet;
  340.     spSkinTabSheet6: TspSkinTabSheet;
  341.     Button9: TButton;
  342.     GroupBox36: TGroupBox;
  343.     GroupBox39: TGroupBox;
  344.     spSkinLabel42: TspSkinLabel;
  345.     spSkinLabel43: TspSkinLabel;
  346.     GroupBox40: TGroupBox;
  347.     spSkinLabel44: TspSkinLabel;
  348.     spSkinLabel45: TspSkinLabel;
  349.     GroupBox41: TGroupBox;
  350.     spSkinTextLabel4: TspSkinTextLabel;
  351.     GroupBox42: TGroupBox;
  352.     spSkinButtonLabel5: TspSkinButtonLabel;
  353.     GroupBox43: TGroupBox;
  354.     spSkinButtonLabel6: TspSkinButtonLabel;
  355.     GroupBox44: TGroupBox;
  356.     spSkinLabel47: TspSkinLabel;
  357.     spSkinLabel48: TspSkinLabel;
  358.     spSkinDBLookupComboBox11: TspSkinDBLookupComboBox;
  359.     spSkinDBLookupComboBox12: TspSkinDBLookupComboBox;
  360.     spSkinEdit23: TspSkinEdit;
  361.     spSkinEdit24: TspSkinEdit;
  362.     spSkinEdit25: TspSkinEdit;
  363.     spSkinEdit26: TspSkinEdit;
  364.     Date_Apre_CD: TspSkinDateEdit;
  365.     Date_Repre_CD: TspSkinDateEdit;
  366.     spSkinLabel49: TspSkinLabel;
  367.     spSkinMemo5: TspSkinMemo;
  368.     spSkinMemo6: TspSkinMemo;
  369.     spSkinEdit21: TspSkinEdit;
  370.     spSkinEdit22: TspSkinEdit;
  371.     Button10: TButton;
  372.     CD_Emprute: TABSTable;
  373.     Ds_CD_Emprute: TDataSource;
  374.     CD_TableDate_Ajout: TDateField;
  375.     CD_TableState: TStringField;
  376.     GroupBox45: TGroupBox;
  377.     GroupBox47: TGroupBox;
  378.     spSkinLabel51: TspSkinLabel;
  379.     spSkinLabel52: TspSkinLabel;
  380.     GroupBox48: TGroupBox;
  381.     spSkinTextLabel5: TspSkinTextLabel;
  382.     GroupBox50: TGroupBox;
  383.     spSkinButtonLabel8: TspSkinButtonLabel;
  384.     GroupBox51: TGroupBox;
  385.     spSkinLabel54: TspSkinLabel;
  386.     spSkinLabel55: TspSkinLabel;
  387.     GroupBox46: TGroupBox;
  388.     spSkinLabel46: TspSkinLabel;
  389.     spSkinLabel50: TspSkinLabel;
  390.     GroupBox49: TGroupBox;
  391.     spSkinButtonLabel7: TspSkinButtonLabel;
  392.     spSkinDBLookupComboBox13: TspSkinDBLookupComboBox;
  393.     spSkinDBLookupComboBox14: TspSkinDBLookupComboBox;
  394.     Time_Apre_CD: TspSkinTimeEdit;
  395.     Time_Repre_CD: TspSkinTimeEdit;
  396.     spSkinEdit27: TspSkinEdit;
  397.     spSkinEdit28: TspSkinEdit;
  398.     spSkinEdit29: TspSkinEdit;
  399.     spSkinEdit30: TspSkinEdit;
  400.     spSkinEdit32: TspSkinEdit;
  401.     spSkinEdit31: TspSkinEdit;
  402.     spSkinMemo7: TspSkinMemo;
  403.     spSkinMemo8: TspSkinMemo;
  404.     Button11: TButton;
  405.     spSkinLabel53: TspSkinLabel;
  406.     spSkinDBLookupComboBox15: TspSkinDBLookupComboBox;
  407.     spSkinLabel56: TspSkinLabel;
  408.     spSkinDBLookupComboBox16: TspSkinDBLookupComboBox;
  409.     spSkinLabel57: TspSkinLabel;
  410.     spSkinDBLookupComboBox17: TspSkinDBLookupComboBox;
  411.     spSkinLabel58: TspSkinLabel;
  412.     spSkinDBLookupComboBox18: TspSkinDBLookupComboBox;
  413.     spSkinLabel60: TspSkinLabel;
  414.     List_CD_User: TABSTable;
  415.     Ds_List_CD_User: TDataSource;
  416.     Image8: TImage;
  417.     spSkinGroupBox6: TspSkinGroupBox;
  418.     Image14: TImage;
  419.     spSkinTabSheet7: TspSkinTabSheet;
  420.     Label21: TLabel;
  421.     Label23: TLabel;
  422.     Label24: TLabel;
  423.     Label25: TLabel;
  424.     Label26: TLabel;
  425.     Label27: TLabel;
  426.     Label28: TLabel;
  427.     Label29: TLabel;
  428.     Label30: TLabel;
  429.     Label31: TLabel;
  430.     Label32: TLabel;
  431.     Label33: TLabel;
  432.     Label35: TLabel;
  433.     Label36: TLabel;
  434.     Label37: TLabel;
  435.     Label38: TLabel;
  436.     Label39: TLabel;
  437.     Ds_User_Rotard: TDataSource;
  438.     Les_Rotard: TABSQuery;
  439.     CustomerNbr_Rotard: TIntegerField;
  440.     Ds_List__Book: TDataSource;
  441.     CustomerRotard: TBooleanField;
  442.     User_Retard: TABSQuery;
  443.     Ds_Book_Rot_Emp: TDataSource;
  444.     Ds_Book_Rot_Mot: TDataSource;
  445.     Ds_CD_Rot_Emp: TDataSource;
  446.     Ds_CD_Rot_Mot: TDataSource;
  447.     Book_Rot_Emp: TABSQuery;
  448.     Book_Rot_Mot: TABSQuery;
  449.     CD_Rot_Emp: TABSQuery;
  450.     CD_Rot_Mot: TABSQuery;
  451.     GroupBox54: TGroupBox;
  452.     GroupBox55: TGroupBox;
  453.     GroupBox56: TGroupBox;
  454.     GroupBox57: TGroupBox;
  455.     GroupBox58: TGroupBox;
  456.     GroupBox59: TGroupBox;
  457.     spSkinDBGrid9: TspSkinDBGrid;
  458.     spSkinDBGrid10: TspSkinDBGrid;
  459.     spSkinDBGrid11: TspSkinDBGrid;
  460.     spSkinDBGrid12: TspSkinDBGrid;
  461.     Timer1: TTimer;
  462.     Ribbon1: TRibbon;
  463.     RibbonPage1: TRibbonPage;
  464.     RibbonGroup1: TRibbonGroup;
  465.     Image7: TImage;
  466.     RibbonPage2: TRibbonPage;
  467.     RibbonGroup3: TRibbonGroup;
  468.     Image4: TImage;
  469.     Label40: TLabel;
  470.     Label41: TLabel;
  471.     Label42: TLabel;
  472.     Label43: TLabel;
  473.     Label44: TLabel;
  474.     Label45: TLabel;
  475.     spSkinLabel26: TLabel;
  476.     spSkinLabel35: TLabel;
  477.     spSkinLabel38: TLabel;
  478.     spSkinLabel36: TLabel;
  479.     spSkinLabel37: TLabel;
  480.     spSkinLabel39: TLabel;
  481.     RibbonGroup2: TRibbonGroup;
  482.     Image3: TImage;
  483.     Image2: TImage;
  484.     Image16: TImage;
  485.     RibbonGroup4: TRibbonGroup;
  486.     Image12: TImage;
  487.     RibbonPage3: TRibbonPage;
  488.     RibbonGroup5: TRibbonGroup;
  489.     Image15: TImage;
  490.     Image17: TImage;
  491.     RibbonGroup6: TRibbonGroup;
  492.     Image18: TImage;
  493.     RibbonPage4: TRibbonPage;
  494.     RibbonGroup8: TRibbonGroup;
  495.     RibbonGroup7: TRibbonGroup;
  496.     Image19: TImage;
  497.     Image20: TImage;
  498.     User_EM_State: TABSTable;
  499.     Ds_User_EM_State: TDataSource;
  500.     SQL: TABSQuery;
  501.     SQL_DS: TDataSource;
  502.     User_EM_StateEmp_Mois: TIntegerField;
  503.     User_EM_StateMot_Mois: TIntegerField;
  504.     User_EM_StateCust_ID: TIntegerField;
  505.     User_EM_StateMois: TIntegerField;
  506.     User_EM_StateYears: TIntegerField;
  507.     User_EM_StateCust_Nom: TStringField;
  508.     User_EM_StateCust_Prenom: TStringField;
  509.     Add_Emprute: TspSkinButton;
  510.     GroupBox27: TGroupBox;
  511.     Image13: TImage;
  512.     Label15: TLabel;
  513.     Button1: TButton;
  514.     GroupBox52: TGroupBox;
  515.     spSkinDBGrid7: TspSkinDBGrid;
  516.     spSkinScrollBar7: TspSkinScrollBar;
  517.     GroupBox53: TGroupBox;
  518.     spSkinDBGrid4: TspSkinDBGrid;
  519.     spSkinScrollBar2: TspSkinScrollBar;
  520.     TrayIcon1: TTrayIcon;
  521.     spDynamicSkinForm1: TspDynamicSkinForm;
  522.     spSkinFrame1: TspSkinFrame;
  523.     Timer2: TTimer;
  524.     Action2: TAction;
  525.     WindowMinimizeAll1: TWindowMinimizeAll;
  526.     WindowClose1: TWindowClose;
  527.     Action3: TAction;
  528.     WindowClose2: TWindowClose;
  529.     RibbonPage5: TRibbonPage;
  530.     RibbonGroup9: TRibbonGroup;
  531.     Image11: TImage;
  532.     Image21: TImage;
  533.     User_RetardCust_ID: TAutoIncField;
  534.     User_RetardCust_Nom: TStringField;
  535.     User_RetardCust_Prenom: TStringField;
  536.     User_RetardEmail: TStringField;
  537.     User_RetardAdres: TStringField;
  538.     User_RetardTelephone: TIntegerField;
  539.     GroupBox1: TGroupBox;
  540.     GroupBox3: TGroupBox;
  541.     Edit1: TEdit;
  542.     GroupBox4: TGroupBox;
  543.     Edit2: TEdit;
  544.     GroupBox5: TGroupBox;
  545.     Edit3: TEdit;
  546.     GroupBox2: TGroupBox;
  547.     Edit4: TEdit;
  548.     GroupBox11: TGroupBox;
  549.     spSkinDBGrid2: TspSkinDBGrid;
  550.     spSkinScrollBar9: TspSkinScrollBar;
  551.     spSkinGroupBox7: TspSkinGroupBox;
  552.     spSkinDBCheckRadioBox1: TspSkinDBCheckRadioBox;
  553.     DBGrid3: TspSkinDBGrid;
  554.     spSkinDBSpinEdit5: TspSkinDBSpinEdit;
  555.     spSkinTextLabel6: TspSkinTextLabel;
  556.     spSkinGroupBox8: TspSkinGroupBox;
  557.     spSkinStringGrid1: TspSkinStringGrid;
  558.     DBEdit7: TspSkinDBDateEdit;
  559.     DBEdit9: TspSkinDBDateEdit;
  560.     spSkinScrollBar1: TspSkinScrollBar;
  561.     DBEdit10: TspSkinDBEdit;
  562.     DBEdit6: TspSkinDBEdit;
  563.     DBEdit11: TspSkinDBEdit;
  564.     DBEdit8: TspSkinDBEdit;
  565.     DBEdit5: TspSkinDBEdit;
  566.  
  567.  
  568.     procedure Image2Click(Sender: TObject);
  569.     procedure Image9Click(Sender: TObject);
  570.     procedure Image8Click(Sender: TObject);
  571.               procedure spSkinXFormButton1Click(Sender: TObject);
  572.     procedure spSkinButton1Click(Sender: TObject);
  573.     procedure Image5Click(Sender: TObject);
  574.      procedure Edit1Change(Sender: TObject);
  575.     procedure Edit2Change(Sender: TObject);
  576.     procedure Edit3Change(Sender: TObject);
  577.     procedure spSkinButton4Click(Sender: TObject);
  578.     procedure spSkinButton3Click(Sender: TObject);
  579.     procedure Add_UserClick(Sender: TObject);
  580.     procedure FormCreate(Sender: TObject);
  581.      procedure Add_MotClick(Sender: TObject);
  582.     procedure spSkinEdit5Change(Sender: TObject);
  583.     procedure DBImage2Click(Sender: TObject);
  584.      procedure spSkinButton2Click(Sender: TObject);
  585.     procedure spSkinDBLookupComboBox4Change(Sender: TObject);
  586.     procedure Add_EmpruteClick(Sender: TObject);
  587.     procedure spSkinDBLookupComboBox3Change(Sender: TObject);
  588.     procedure Edit4Change(Sender: TObject);
  589.     procedure spSkinButton5Click(Sender: TObject);
  590.     procedure spSkinButton6Click(Sender: TObject);
  591.     procedure spSkinEdit7Change(Sender: TObject);
  592.     procedure spSkinEdit6Change(Sender: TObject);
  593.     procedure spSkinEdit10Change(Sender: TObject);
  594.     procedure spSkinDBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
  595.       DataCol: Integer; Column: TspColumn; State: TGridDrawState);
  596.     procedure spSkinDBLookupComboBox5Change(Sender: TObject);
  597.     procedure spSkinDBLookupComboBox6Change(Sender: TObject);
  598.      procedure spSkinEdit13Change(Sender: TObject);
  599.     procedure spSkinEdit14Change(Sender: TObject);
  600.     procedure spSkinEdit18Change(Sender: TObject);
  601.     procedure spSkinEdit17Change(Sender: TObject);
  602.     procedure spSkinEdit16Change(Sender: TObject);
  603.     procedure spSkinEdit15Change(Sender: TObject);
  604.     procedure Button1Click(Sender: TObject);
  605.     procedure spSkinDBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
  606.       DataCol: Integer; Column: TspColumn; State: TGridDrawState);
  607.     procedure spSkinDBLookupComboBox1Change(Sender: TObject);
  608.     procedure Button2Click(Sender: TObject);
  609.     procedure Button3Click(Sender: TObject);
  610.     procedure User_ListExit(Sender: TObject);
  611.     procedure spSkinTabSheet1Exit(Sender: TObject);
  612.     procedure spSkinTabSheet2Exit(Sender: TObject);
  613.     procedure spSkinTabSheet1Enter(Sender: TObject);
  614.     procedure spSkinTabSheet2Enter(Sender: TObject);
  615.     procedure spSkinTabSheet3Enter(Sender: TObject);
  616.     procedure spSkinTabSheet3Exit(Sender: TObject);
  617.      procedure Search_BookExit(Sender: TObject);
  618.     procedure Search_BookEnter(Sender: TObject);
  619.     procedure User_ListEnter(Sender: TObject);
  620.     procedure Button4Click(Sender: TObject);
  621.     procedure Button5Click(Sender: TObject);
  622.     procedure Button6Click(Sender: TObject);
  623.     procedure spSkinEdit19Change(Sender: TObject);
  624.     procedure spSkinEdit20Change(Sender: TObject);
  625.     procedure Button7Click(Sender: TObject);
  626.     procedure Button8Click(Sender: TObject);
  627.     procedure Button9Click(Sender: TObject);
  628.     procedure spSkinEdit23Change(Sender: TObject);
  629.     procedure spSkinEdit24Change(Sender: TObject);
  630.     procedure spSkinEdit25Change(Sender: TObject);
  631.     procedure spSkinEdit26Change(Sender: TObject);
  632.     procedure Button10Click(Sender: TObject);
  633.     procedure spSkinDBLookupComboBox11Change(Sender: TObject);
  634.     procedure spSkinDBLookupComboBox12Change(Sender: TObject);
  635.     procedure Image5MouseEnter(Sender: TObject);
  636.     procedure Image5MouseLeave(Sender: TObject);
  637.     procedure spSkinDBLookupComboBox13Change(Sender: TObject);
  638.     procedure spSkinDBLookupComboBox14Change(Sender: TObject);
  639.     procedure Button11Click(Sender: TObject);
  640.     procedure spSkinEdit30Change(Sender: TObject);
  641.     procedure spSkinEdit29Change(Sender: TObject);
  642.     procedure spSkinEdit28Change(Sender: TObject);
  643.     procedure spSkinEdit27Change(Sender: TObject);
  644.     procedure spSkinTabSheet6Exit(Sender: TObject);
  645.     procedure spSkinTabSheet5Exit(Sender: TObject);
  646.     procedure spSkinPageControl1Exit(Sender: TObject);
  647.     procedure AdministrationExit(Sender: TObject);
  648.     procedure Button1MouseEnter(Sender: TObject);
  649.     procedure Button1MouseLeave(Sender: TObject);
  650.     procedure spSkinDBLookupComboBox7Change(Sender: TObject);
  651.     procedure H1Click(Sender: TObject);
  652.     procedure N2Click(Sender: TObject);
  653.     procedure N3Click(Sender: TObject);
  654.     procedure Timer1Timer(Sender: TObject);
  655.     procedure spSkinTabSheet7Enter(Sender: TObject);
  656.     procedure Book_ListEnter(Sender: TObject);
  657.     procedure Add_BookEnter(Sender: TObject);
  658.     procedure spSkinTabSheet2ContextPopup(Sender: TObject; MousePos: TPoint;
  659.       var Handled: Boolean);
  660.     procedure spSkinTabSheet3ContextPopup(Sender: TObject; MousePos: TPoint;
  661.       var Handled: Boolean);
  662.     procedure Image16Click(Sender: TObject);
  663.     procedure Image7Click(Sender: TObject);
  664.     procedure Image12Click(Sender: TObject);
  665.     procedure Image4Click(Sender: TObject);
  666.     procedure Image17Click(Sender: TObject);
  667.     procedure Image15Click(Sender: TObject);
  668.     procedure Image19Click(Sender: TObject);
  669.     procedure spSkinButton7Click(Sender: TObject);
  670.     procedure spSkinButton8Click(Sender: TObject);
  671.     procedure N5Click(Sender: TObject);
  672.     procedure N1Click(Sender: TObject);
  673.     procedure Timer2Timer(Sender: TObject);
  674.     procedure Image20Click(Sender: TObject);
  675.     procedure Image18Click(Sender: TObject);
  676.     procedure Image21Click(Sender: TObject);
  677.  
  678.   private
  679.     { Déclarations privées }
  680.   public
  681.     { Déclarations publiques }
  682.   end;
  683.  
  684. var
  685.   Form4: TForm4;
  686.   s:TMemoryStream;
  687.   DateEtHeure : TSystemTime;
  688.   filename :string;
  689. implementation
  690.  
  691. uses Unit3, Unit5, Unit6;
  692.  
  693. {$R *.dfm}
  694.  
  695.  
  696.  
  697.  
  698. procedure TForm4.Add_BookEnter(Sender: TObject);
  699. begin
  700. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  701. end;
  702.  
  703. procedure TForm4.Add_EmpruteClick(Sender: TObject);
  704. var
  705. emprute_Now:integer;
  706.     Cust_ID:integer;
  707.     Cust_Nom,Cust_Prenom:string;
  708.    begin
  709. if is_Emprute(Ds_Customer) = true and is_Valable(Ds_Book_NFil)= true then
  710. begin
  711.  
  712.  if (Date_Apre.Text <> '') and (Date_Repre.Text <> '') then
  713.  begin
  714.  If Date_Apre.Text >= Date_Repre.Text then
  715.  begin
  716. ShowMessage('خطأ في إدخال التاريخ');
  717.  end else
  718.  begin
  719.   Ds_Book_NFil.Edit;
  720.        Ds_Customer.Edit;
  721.  
  722.          // Book Invalable
  723.       Ds_Book_NFil.DataSet.FieldByName('Valable').AsBoolean := false;
  724.      //increment Emprute fois Pour User
  725.  
  726. Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger :=
  727. Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger +1;
  728.     //increment Emprute Fois Pour Book
  729. Ds_Book_NFil.DataSet.FieldByName('Emprute_Fois').AsInteger :=
  730. Ds_Book_NFil.DataSet.FieldByName('Emprute_Fois').AsInteger +1;
  731.  //  Set The state of book  To مستعار
  732. Ds_Book_NFil.DataSet.FieldByName('State').AsString := 'تم إستعارته';
  733.  
  734.    // Incremant The Number Of Books For The User
  735.  
  736.  emprute_Now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  737. Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger := emprute_Now+1;
  738.  
  739.   // Get Cust_ID and Set It On Book_List.Cust_ID
  740.  Cust_ID := Ds_Customer.DataSet.FieldByName('Cust_ID').AsInteger;
  741.  Ds_Book_NFil.DataSet.FieldByName('Cust_ID').AsInteger := Cust_ID;
  742.  // Get Cust_Nom And Set It On Book_List.Cust_Nom
  743.  Cust_Nom := Ds_Customer.DataSet.FieldByName('Cust_Nom').AsString;
  744.  Ds_Book_NFil.DataSet.FieldByName('Cust_Nom').AsString := Cust_Nom;
  745.   // Get Cust_Prenom
  746.  Cust_Prenom := Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  747.  Ds_Book_NFil.DataSet.FieldByName('Cust_Prenom').AsString := Cust_Prenom;
  748.  
  749.  sql.Close;
  750. sql.SQL.Text := 'select * from User_Emp_Mot where Cust_ID = '+IntToStr(Cust_ID);
  751.  sql.Open;
  752.   SQL_DS.DataSet.Edit;
  753.  SQL_DS.DataSet.FieldByName('Emp_Mois').AsInteger :=
  754.  SQL_DS.DataSet.FieldByName('Emp_Mois').AsInteger +1;
  755. SQL_DS.DataSet.Post;
  756.  
  757.  
  758.  // Set Date Of Date_Apre & Date_Repre
  759.  
  760.  Ds_Book_NFil.DataSet.FieldByName('Date_Apre').AsDateTime := StrToDate(Date_Apre.Text);
  761.  Ds_Book_NFil.DataSet.FieldByName('Date_Repre').AsDateTime := StrToDate(Date_Repre.Text);
  762.  
  763.  Add_Emprute.Enabled := false;
  764. Date_Apre.Enabled := False;
  765. Date_Repre.Enabled := False;
  766.  
  767. spSkinDBLookupComboBox4.Refresh;
  768. spSkinDBLookupComboBox3.Refresh;
  769.  
  770.  end;
  771. // Post All This
  772.  
  773.  end;
  774.  
  775.  end  else
  776. begin
  777. Add_Emprute.Enabled := false;
  778. Date_Apre.Enabled := False;
  779. Date_Repre.Enabled := False;
  780. ShowMessage(' لا يمكنك الإستعارة لأنك تجوازت الحد الأقصى أو  الكتاب غير متاح حاليا');
  781. end;
  782.  
  783.  
  784. end;
  785.  
  786. procedure TForm4.Add_UserClick(Sender: TObject);
  787. begin
  788. GetSystemTime(DateEtHeure);
  789.  
  790. if Cus_prenom.Text='' then
  791.   showmessage('ضع لقب للمنخرط')
  792. else
  793. if Cus_Nom.Text ='' then
  794. ShowMessage('أعط إسم للمنخرط')
  795. else
  796. if  StrToInt(Nbr_Emprute.Text) <=0 then
  797. ShowMessage('أدخل  عدد صحيح للإعارات')
  798. else
  799. if Cus_Date.Date > date then
  800.   showmessage('أدخل تاريخ ميلاد صحيح')
  801. else
  802. begin
  803. Ds_User_EM_State.DataSet.Insert;
  804. Ds_Customer.DataSet.Insert;
  805. Ds_Customer.DataSet.FieldByName('Cust_Nom').AsString:=Cus_Nom.Text;
  806. Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString:=Cus_Prenom.Text;
  807. Ds_Customer.DataSet.FieldByName('nbr_Emprute').AsInteger :=  strtoint(Nbr_Emprute.text);
  808. Ds_Customer.DataSet.FieldByName('Date_Add').Value:=Cus_Add_Jour.Date;
  809. Ds_Customer.DataSet.FieldByName('Cust_Date_Naissan').Value:=Cus_Date.date;
  810. Ds_Customer.DataSet.FieldByName('Telephone').Value:= Cus_Tel.Text;
  811. Ds_Customer.DataSet.FieldByName('Email').Value:=Cus_Email.Text;
  812. Ds_Customer.DataSet.FieldByName('Adres').Value:=Cus_Adres.Text;
  813. if filename <> '' then
  814. begin
  815.    TBlobField(Ds_Customer.DataSet.FieldByName('Cust_Photo')).
  816.         LoadFromFile(FileName);
  817.                    end;
  818. Ds_Customer.DataSet.post;
  819. Ds_Customer.DataSet.Last;
  820.  
  821.  
  822. Ds_User_EM_State.DataSet.FieldByName('Years').AsInteger := DateEtHeure.wYear;
  823. Ds_User_EM_State.DataSet.FieldByName('Mois').AsInteger := DateEtHeure.wMonth;
  824. Ds_User_EM_State.DataSet.FieldByName('Cust_ID').AsInteger :=
  825. Ds_Customer.DataSet.FieldByName('Cust_ID').AsInteger;
  826. Ds_User_EM_State.DataSet.FieldByName('Cust_Nom').AsString :=
  827. Ds_Customer.DataSet.FieldByName('Cust_Nom').AsString;
  828. Ds_User_EM_State.DataSet.FieldByName('Cust_Prenom').AsString :=
  829. Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  830.  
  831. Ds_User_EM_State.DataSet.post;
  832.  
  833. ShowMessage('تم التسجيل بنجاح !');
  834. Cus_Email.Text := '';
  835.  Cus_Adres.Text := '';
  836.  Cus_Nom.Text  := '';
  837.   Cus_Tel.Text  := '';
  838.    Cus_Prenom.Text  := '';
  839.    Nbr_Emprute.text  := '';
  840. end;
  841.  
  842.  
  843.  
  844.  
  845.  
  846. end;
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853. procedure TForm4.AdministrationExit(Sender: TObject);
  854. begin
  855. Customer.Filtered := false;
  856.  CD_Detail.Filtered := false;
  857.  
  858.  
  859. end;
  860.  
  861. procedure TForm4.Book_ListEnter(Sender: TObject);
  862. begin
  863. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  864. end;
  865.  
  866. procedure TForm4.Button10Click(Sender: TObject);
  867. var
  868. emprute_Now:integer;
  869.     Cust_ID:integer;
  870.     Cust_Nom,Cust_Prenom:string;
  871.    begin
  872. if is_Emprute(Ds_Customer) = true and is_Valable(Ds_CD_Detail)= true then
  873. begin
  874.  
  875. if Date_Apre_CD.Text >= Date_Repre_CD.Text then
  876. begin
  877.  ShowMessage('أدخل تاريخ إرجاع أكبر من تاريخ الإعارة');
  878.  
  879. end else
  880. begin
  881.  
  882.  Ds_CD_Detail.DataSet.Edit;
  883.        Ds_Customer.DataSet.Edit;
  884.  
  885.          // CD Invalable
  886.       Ds_CD_Detail.DataSet.FieldByName('Valable').AsBoolean := false;
  887.      //increment Emprute fois Pour User
  888. Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger :=
  889. Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger +1;
  890.     //increment Emprute Fois Pour CD
  891. Ds_CD_Detail.DataSet.FieldByName('Emprute_Fois').AsInteger :=
  892. Ds_CD_Detail.DataSet.FieldByName('Emprute_Fois').AsInteger +1;
  893.  //  Set The state of CD  To مستعار
  894. Ds_CD_Detail.DataSet.FieldByName('State').AsString := 'تم إستعارته';
  895.  
  896.    // Incremant The Number Of cd For The User
  897.  
  898.  emprute_Now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  899. Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger := emprute_Now+1;
  900.  
  901.   // Get Cust_ID and Set It On Book_List.Cust_ID
  902.  Cust_ID := Ds_Customer.DataSet.FieldByName('Cust_ID').AsInteger;
  903.  Ds_CD_Detail.DataSet.FieldByName('Cust_ID').AsInteger := Cust_ID;
  904.  // Get Cust_Nom And Set It On Book_List.Cust_Nom
  905.  Cust_Nom := Ds_Customer.DataSet.FieldByName('Cust_Nom').AsString;
  906.  Ds_CD_Detail.DataSet.FieldByName('Cust_Nom').AsString := Cust_Nom;
  907.   // Get Cust_Prenom
  908.  Cust_Prenom := Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  909.  Ds_CD_Detail.DataSet.FieldByName('Cust_Prenom').AsString := Cust_Prenom;
  910.  
  911.  
  912.  sql.Close;
  913. sql.SQL.Text := 'select * from User_Emp_Mot where Cust_ID = '+IntToStr(Cust_ID);
  914.  sql.Open;
  915.  
  916.   SQL_DS.DataSet.Edit;
  917.  SQL_DS.DataSet.FieldByName('Emp_Mois').AsInteger :=
  918.  SQL_DS.DataSet.FieldByName('Emp_Mois').AsInteger +1;
  919. SQL_DS.DataSet.Post;
  920.  
  921.  
  922.  
  923.  
  924.  // Set Date Of Date_Apre & Date_Repre
  925.  
  926.  Ds_CD_Detail.DataSet.FieldByName('Date_Apre').AsDateTime := StrToDate(Date_Apre_CD.Text);
  927.  Ds_CD_Detail.DataSet.FieldByName('Date_Repre').AsDateTime := StrToDate(Date_Repre_CD.Text);
  928.  
  929. // Post All This
  930.  Ds_CD_Detail.DataSet.Post;
  931.        Ds_Customer.DataSet.Post;
  932.  
  933.        Button10.Enabled := false;
  934. Date_Apre_CD.Enabled := False;
  935. Date_Repre_CD.Enabled := False;
  936.  
  937. spSkinDBLookupComboBox11.Refresh;
  938. spSkinDBLookupComboBox12.Refresh;
  939.  
  940. end;
  941.  
  942.  
  943. end  else
  944. begin
  945. Button10.Enabled := false;
  946. Date_Apre_CD.Enabled := False;
  947. Date_Repre_CD.Enabled := False;
  948. ShowMessage('لا يمكن الإستعارة ');
  949. end;
  950.  
  951.  
  952. end;
  953.  
  954. procedure TForm4.Button11Click(Sender: TObject);
  955. var
  956. emprute_Now:integer;
  957.     Cust_ID:integer;
  958.     Cust_Nom,Cust_Prenom:string;
  959.    begin
  960.  
  961.    if is_Emprute(Ds_Customer) = true and is_Valable(Ds_CD_Detail)= true then
  962. begin
  963. if Time_Apre_CD.Text >= Time_Repre_CD.Text then
  964. begin
  965.     ShowMessage('أدخل وقت إرجاع أكبر من وقت الإعارة');
  966. end else
  967. begin
  968.  Ds_CD_Detail.Edit;
  969.        Ds_Customer.Edit;
  970.  
  971.          // Book Invalable
  972.       Ds_CD_Detail.DataSet.FieldByName('Valable').AsBoolean := false;
  973.      //increment Emprute fois Pour User
  974. Ds_Customer.DataSet.FieldByName('Mot_Fois').AsInteger :=
  975. Ds_Customer.DataSet.FieldByName('Mot_Fois').AsInteger +1;
  976.     //increment مطالعة Fois Pour Book
  977. Ds_CD_Detail.DataSet.FieldByName('Nbr_Mot').AsInteger :=
  978. Ds_CD_Detail.DataSet.FieldByName('Nbr_Mot').AsInteger +1;
  979.  //  Set The state of book  To للمطالعة
  980. Ds_CD_Detail.DataSet.FieldByName('State').AsString := 'مطالعة';
  981.  
  982.    // Incremant The Number Of Books For The User
  983.  
  984.  emprute_Now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  985. Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger := emprute_Now+1;
  986.  
  987.   // Get Cust_ID and Set It On Book_List.Cust_ID
  988.  Cust_ID := Ds_Customer.DataSet.FieldByName('Cust_ID').AsInteger;
  989.  Ds_CD_Detail.DataSet.FieldByName('Cust_ID').AsInteger := Cust_ID;
  990.  // Get Cust_Nom And Set It On Book_List.Cust_Nom
  991.  Cust_Nom := Ds_Customer.DataSet.FieldByName('Cust_Nom').AsString;
  992.  Ds_CD_Detail.DataSet.FieldByName('Cust_Nom').AsString := Cust_Nom;
  993.   // Get Cust_Prenom
  994.  Cust_Prenom := Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  995.  Ds_CD_Detail.DataSet.FieldByName('Cust_Prenom').AsString := Cust_Prenom;
  996.  
  997.  
  998.  sql.Close;
  999. sql.SQL.Text := 'select * from User_Emp_Mot where Cust_ID = '+IntToStr(Cust_ID);
  1000.  sql.Open;
  1001.  SQL_DS.DataSet.Edit;
  1002.  SQL_DS.DataSet.FieldByName('Mot_Mois').AsInteger :=
  1003.  SQL_DS.DataSet.FieldByName('Mot_Mois').AsInteger +1;
  1004. SQL_DS.DataSet.Post;
  1005.  
  1006.  
  1007.  // Set Date Of Date_Apre & Date_Repre
  1008.  
  1009.  Ds_CD_Detail.DataSet.FieldByName('Mot_Apre').AsFloat := StrToTime(Time_Apre.Text);
  1010.  Ds_CD_Detail.DataSet.FieldByName('Mot_Repre').AsFloat := strtotime(Time_Repre.Text);
  1011.  
  1012. // Post All This
  1013.  
  1014. Button11.Enabled := false;
  1015. Time_Apre_CD.Enabled := False;
  1016. Time_Repre_CD.Enabled := False;
  1017. Customer.Refresh;
  1018. CD_Detail.Refresh;
  1019. spSkinDBLookupComboBox14.Refresh;
  1020. spSkinDBLookupComboBox13.Refresh;
  1021.  
  1022. end;
  1023.  end  else
  1024. begin
  1025. Button11.Enabled := false;
  1026. Time_Apre_CD.Enabled := False;
  1027. Time_Repre_CD.Enabled := False;
  1028. ShowMessage(' لا يمكنك المطالعة لأنك تجاوزت العدد المخصص لك أو القرص غير متاح ');
  1029. end;
  1030.  
  1031. end;
  1032.  
  1033. procedure TForm4.Button1Click(Sender: TObject);
  1034. begin
  1035.  
  1036.  
  1037.   Ds_List_Book_User.DataSet.First;
  1038.   while Not Ds_List_Book_User.DataSet.Eof do
  1039.   begin
  1040.  
  1041.        if Ds_List_Book_User.DataSet.FieldByName('Valable').AsBoolean = true  then
  1042.  begin
  1043.   Ds_List_Book_User.DataSet.Edit;
  1044.    Ds_List_Book_User.DataSet.FieldByName('State').asstring := 'متاح';
  1045.    Ds_List_Book_User.DataSet.FieldByName('Cust_Nom').AsString := '';
  1046.      Ds_List_Book_User.DataSet.FieldByName('Cust_Prenom').AsString := '';
  1047.    Ds_List_Book_User.DataSet.FieldByName('Cust_ID').asinteger := -1;
  1048.      Ds_List_Book_User.DataSet.FieldByName('Date_Apre').AsDateTime := Date;
  1049.   Ds_List_Book_User.DataSet.FieldByName('Date_Repre').AsDateTime := date;
  1050.    Ds_List_Book_User.DataSet.FieldByName('Mot_Apre').AsFloat := StrToTime('00:00:00');
  1051.    Ds_List_Book_User.DataSet.FieldByName('Mot_Repre').AsFloat := StrToTime('00:00:00');
  1052.     Ds_List_Book_User.DataSet.FieldByName('Cust_Rotard').AsBoolean := False;
  1053.     Ds_List_Book_User.DataSet.FieldByName('Valable').AsBoolean := true;
  1054.   Ds_List_Book_User.DataSet.Post;
  1055.  
  1056.   Ds_Customer.DataSet.Edit;
  1057.   Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger :=
  1058.   Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger - 1;
  1059.   Ds_Customer.DataSet.Post;
  1060.  end;
  1061.  Ds_List_Book_User.DataSet.Next;
  1062.  end;
  1063.  
  1064. Ds_List_CD_User.DataSet.First;
  1065.   while Not Ds_List_CD_User.DataSet.eof  do
  1066.   begin
  1067.      if Ds_List_CD_User.DataSet.FieldByName('Valable').AsBoolean = true then
  1068.      begin
  1069.      Ds_List_CD_User.DataSet.Edit;
  1070.          Ds_List_CD_User.DataSet.FieldByName('State').asstring := 'متاح';
  1071.    Ds_List_CD_User.DataSet.FieldByName('Cust_Nom').AsString := '';
  1072.      Ds_List_CD_User.DataSet.FieldByName('Cust_Prenom').AsString := '';
  1073.    Ds_List_CD_User.DataSet.FieldByName('Cust_ID').asinteger := -1;
  1074.      Ds_List_CD_User.DataSet.FieldByName('Date_Apre').AsDateTime := Date;
  1075.   Ds_List_CD_User.DataSet.FieldByName('Date_Repre').AsDateTime := date;
  1076.    Ds_List_CD_User.DataSet.FieldByName('Mot_Apre').AsFloat := StrToTime('00:00:00');
  1077.    Ds_List_CD_User.DataSet.FieldByName('Mot_Repre').AsFloat := StrToTime('00:00:00');
  1078.     Ds_List_CD_User.DataSet.FieldByName('Cust_Rotard').AsBoolean := False;
  1079.     Ds_List_CD_User.DataSet.FieldByName('Valable').AsBoolean := true;
  1080.   Ds_List_CD_User.DataSet.Post;
  1081.  
  1082.     Ds_Customer.DataSet.Edit;
  1083.   Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger :=
  1084.   Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger - 1;
  1085.     Ds_Customer.DataSet.Post;
  1086.  
  1087.  
  1088.      end;
  1089.    Ds_List_CD_User.DataSet.Next;
  1090.  
  1091.  
  1092.   end;
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101. end;
  1102.  
  1103. procedure TForm4.Button1MouseEnter(Sender: TObject);
  1104. begin
  1105. Image13.Visible := true;
  1106. Label15.Visible := true;
  1107.  
  1108. end;
  1109.  
  1110. procedure TForm4.Button1MouseLeave(Sender: TObject);
  1111. begin
  1112.     Image13.Visible := False;
  1113. Label15.Visible := False;
  1114. end;
  1115.  
  1116. procedure TForm4.Button2Click(Sender: TObject);
  1117. begin
  1118. DBEdit12.ReadOnly := False;
  1119. DBEdit13.ReadOnly := False;
  1120. DBEdit14.ReadOnly := False;
  1121. DBEdit15.ReadOnly := False;
  1122. Button3.Enabled := true;
  1123. spSkinDBGrid2.ReadOnly := false;
  1124. Q_Search.DataSet.Edit;
  1125. end;
  1126.  
  1127. procedure TForm4.Button3Click(Sender: TObject);
  1128. begin
  1129. Q_Search.DataSet.Post;
  1130. DBEdit12.ReadOnly := True;
  1131. DBEdit13.ReadOnly := True;
  1132. DBEdit14.ReadOnly := true;
  1133. DBEdit15.ReadOnly := True;
  1134. Button3.Enabled := false;
  1135.  
  1136. spSkinDBGrid2.ReadOnly := True;
  1137. end;
  1138.  
  1139. procedure TForm4.Button4Click(Sender: TObject);
  1140. begin
  1141.  
  1142.  
  1143. Ds_Customer.DataSet.Post;
  1144. DBEdit5.ReadOnly := True;
  1145. DBEdit6.ReadOnly := True;
  1146. DBEdit7.ReadOnly := True;
  1147. DBEdit8.ReadOnly := True;
  1148. DBEdit9.ReadOnly := True;
  1149. DBEdit10.ReadOnly := True;
  1150. DBEdit11.ReadOnly := True;
  1151. spSkinDBSpinEdit5.ReadOnly := True;
  1152. spSkinDBCheckRadioBox1.ReadOnly := true;
  1153. Button4.Enabled := false;
  1154.  
  1155. end;
  1156.  
  1157. procedure TForm4.Button5Click(Sender: TObject);
  1158. var
  1159. CD_Contite,i:integer;
  1160. begin
  1161.    CD_Contite := strtoint(CD_Contiter.Text);
  1162.      if CD_Contite >= 1 then
  1163.      begin
  1164.         for i:=1 to CD_Contite do
  1165. begin
  1166. Ds_CD.DataSet.Insert;
  1167. Ds_CD.DataSet.FieldByName('Biblio_ID').AsInteger := StrToInt(DBEdit16.Text);
  1168. Ds_CD.DataSet.FieldByName('Type').asstring := CD_Type.Text;
  1169. Ds_CD.DataSet.FieldByName('CD_Nom').AsString := CD_Nom.Text;
  1170. Ds_CD.DataSet.FieldByName('CD_Contiter').AsInteger := CD_Contite;
  1171. Ds_CD.DataSet.FieldByName('ISBN_CD').AsInteger := strtoint(ISBN_CD.Text);
  1172. Ds_CD.DataSet.FieldByName('Date_Ajout').AsDateTime := date;
  1173. Ds_CD.DataSet.Post;
  1174. end;
  1175.      end else
  1176.      begin
  1177.      ShowMessage('قم بإدخال الكمية بشكل صحيح');
  1178.  
  1179.      end;
  1180.  
  1181.  ShowMessage('تم إظافة القرص بنجاح');
  1182.  
  1183.  
  1184. end;
  1185.  
  1186. procedure TForm4.Button6Click(Sender: TObject);
  1187. begin
  1188.  
  1189. CD_Type.Text := '';
  1190. CD_Nom.Text := '';
  1191. ISBN_CD.Text := '';
  1192. CD_Contiter.Text := '';
  1193.  
  1194. end;
  1195.  
  1196. procedure TForm4.Button7Click(Sender: TObject);
  1197. begin
  1198. Ds_CD_Detail.DataSet.Edit;
  1199.  
  1200. dbedit19.ReadOnly := false;
  1201. Button8.Enabled := true;
  1202.  
  1203. end;
  1204.  
  1205. procedure TForm4.Button8Click(Sender: TObject);
  1206. begin
  1207. Ds_CD_Detail.DataSet.Post;
  1208. dbedit19.ReadOnly := True;
  1209. Button8.Enabled := False;
  1210. end;
  1211.  
  1212. procedure TForm4.Button9Click(Sender: TObject);
  1213. begin
  1214. Ds_CD_Detail.DataSet.Delete;
  1215. end;
  1216.  
  1217.  
  1218.  
  1219. procedure TForm4.DBImage2Click(Sender: TObject);
  1220.  
  1221. begin
  1222.  
  1223. Open_Picture.Filter:='BMP|*.bmp';
  1224.     if Open_Picture.Execute then
  1225.       begin
  1226.       DBImage2.Picture.LoadFromFile(Open_Picture.FileName);
  1227.       filename := Open_Picture.FileName;
  1228.           end;
  1229. end;
  1230.  
  1231. procedure TForm4.Edit1Change(Sender: TObject);
  1232. begin
  1233.      if Edit1.Text <> '' then
  1234.          begin
  1235.        Detail.Filter := 'Book_Nom ='+QuotedStr(Edit1.Text+'*');
  1236.  Detail.Filtered := true;
  1237.  
  1238.          end else
  1239.   begin
  1240.   Detail.Filtered := false;
  1241.   end;
  1242.  
  1243.  
  1244. end;
  1245.  
  1246. procedure TForm4.Edit2Change(Sender: TObject);
  1247. begin
  1248.  if Edit2.Text <> '' then
  1249.          begin
  1250.        Detail.Filter := 'Book_Auteur ='+QuotedStr(Edit2.Text+'*');
  1251.  Detail.Filtered := true;
  1252.  
  1253.          end else
  1254.    begin
  1255.      Detail.Filtered := false;
  1256.    end;
  1257.  
  1258. end;
  1259.  
  1260.  
  1261.  
  1262. procedure TForm4.Edit3Change(Sender: TObject);
  1263. begin
  1264.  if Edit3.Text <> '' then
  1265.          begin
  1266.        Detail.Filter := 'Home_Pub ='+QuotedStr(Edit3.Text+'*');
  1267.  Detail.Filtered := true;
  1268.  
  1269.          end else
  1270. begin
  1271.   Detail.Filtered := false;
  1272. end;
  1273.  
  1274. end;
  1275.  
  1276. procedure TForm4.Edit4Change(Sender: TObject);
  1277. begin
  1278.  if Edit4.Text <> '' then
  1279.          begin
  1280.        Detail.Filter := 'ISBN ='+QuotedStr(Edit4.Text+'*');
  1281.  Detail.Filtered := true;
  1282.  
  1283.          end else
  1284. begin
  1285.   Detail.Filtered := false;
  1286. end;
  1287.  
  1288.  
  1289.  
  1290. end;
  1291.  
  1292.  
  1293.  
  1294. procedure load_data();
  1295. begin
  1296.   Form4.ABSDatabase1.DatabaseFileName := ExtractFilePath(Application.ExeName)+'masdjid.ABS' ;
  1297.   Form4.ABSDatabase1.Connected := true;
  1298.   form4.Master.Active := true;
  1299.  form4.Detail.Active := true;
  1300.  form4.Customer.Active := true;
  1301.  
  1302.  form4.ABSTable1.Active := true;
  1303.  form4.List_Book_User.Active := true;
  1304.  form4.CD_Emprute.Active := true;
  1305.  form4.List_CD_User.Active := true;
  1306.  form4.CD_Detail.Active := true;
  1307.  form4.Book_Rot_Mot.Active := true;
  1308.  form4.User_Retard.Active := true;
  1309.  form4.Book_Rot_Emp.Active := true;
  1310.  form4.CD_Rot_Mot.Active := true;
  1311.  form4.CD_Rot_Emp.Active := true;
  1312.  form4.CD_Table.Active := true;
  1313.  form4.User_EM_State.Active := true;
  1314.  form4.Tb_Book_NFil.Active := true;
  1315.  
  1316.  Form5.SQL.Active := true;
  1317.  form5.SQL1.Active := true;
  1318.  
  1319.  form3.ABSTable1.Active := true;
  1320.  TABPGDLG.PagesDlg.ABSTable1.Active := true;
  1321.  
  1322.  
  1323. end;
  1324.  
  1325.  
  1326.  
  1327.  
  1328. procedure TForm4.FormCreate(Sender: TObject);
  1329. var B_Val,B_All,Res_B:integer;
  1330.    CD_Val,CD_All,Res_Cd:integer;
  1331.  
  1332. a,b,c,d:integer;
  1333.  
  1334. begin
  1335. a := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').asinteger;
  1336. b := Ds_Customer.DataSet.FieldByName('Emprute_Fois').asinteger;
  1337. c := Ds_Customer.DataSet.FieldByName('Mot_Fois').asinteger;
  1338. d := Ds_Customer.DataSet.FieldByName('Nbr_Rotard').asinteger;
  1339.  
  1340. spSkinStringGrid1.Cells[1,0] := IntToStr(a);
  1341. spSkinStringGrid1.Cells[1,1] := IntToStr(b);
  1342. spSkinStringGrid1.Cells[1,2] := IntToStr(c);
  1343. spSkinStringGrid1.Cells[1,3] := IntToStr(d);
  1344.  
  1345. spSkinStringGrid1.Cells[0,0] := 'الإعارات الحالية :';
  1346. spSkinStringGrid1.Cells[0,1] := 'الإعارات الكلية :';
  1347. spSkinStringGrid1.Cells[0,2] := 'المطالعات الحالية :';
  1348. spSkinStringGrid1.Cells[0,3] := 'التأخرات : ';
  1349.  
  1350. //load_data();
  1351. //if HDDInfo1.Serial = 'E132145N' then
  1352. //begin
  1353.      B_Val := Nbr_Book_Or_Cd_Valable(DataSourceDetail);
  1354.    B_All := DataSourceDetail.DataSet.RecordCount ;
  1355.    Res_B := B_All-B_Val;
  1356.  
  1357. spSkinLabel26.Caption := IntToStr(B_Val);
  1358. spSkinLabel35.Caption := IntToStr(B_All);
  1359. spSkinLabel38.Caption  := inttostr(Res_B);
  1360.  
  1361. CD_Val := Nbr_Book_Or_Cd_Valable(Ds_CD);
  1362. CD_All := Ds_CD.DataSet.RecordCount;
  1363. Res_Cd := CD_All - CD_Val;
  1364.  
  1365. spSkinLabel37.Caption := IntToStr(CD_Val);
  1366. spSkinLabel36.Caption := IntToStr(CD_All);
  1367. spSkinLabel39.Caption  := inttostr(Res_Cd);
  1368.  
  1369. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  1370. verifier_date(Ds_User_EM_State);
  1371. //end else
  1372. ///begin
  1373. //Application.Terminate;
  1374. //end;
  1375.  
  1376.  
  1377. end;
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384. procedure TForm4.Image12Click(Sender: TObject);
  1385. begin
  1386. Administration.ActivePage := User_List;
  1387. end;
  1388.  
  1389. procedure TForm4.Image15Click(Sender: TObject);
  1390. begin
  1391. Administration.ActivePage :=   spSkinTabSheet1;
  1392. end;
  1393.  
  1394. procedure TForm4.Image16Click(Sender: TObject);
  1395. begin
  1396. Administration.ActivePage := Search_Book;
  1397. end;
  1398.  
  1399. procedure TForm4.Image17Click(Sender: TObject);
  1400. begin
  1401. Administration.ActivePage := spSkinTabSheet2;
  1402. end;
  1403.  
  1404. procedure TForm4.Image18Click(Sender: TObject);
  1405. begin
  1406. Administration.ActivePage :=  spSkinTabSheet4;
  1407. CategoryPanel3.Collapsed := true;
  1408. CategoryPanel1.Collapsed := true;
  1409. CategoryPanel2.Collapsed := false;
  1410.  
  1411. end;
  1412.  
  1413. procedure TForm4.Image19Click(Sender: TObject);
  1414. begin
  1415. form5.show;
  1416. end;
  1417.  
  1418. procedure TForm4.Image20Click(Sender: TObject);
  1419. begin
  1420. Administration.ActivePage := spSkinTabSheet7;
  1421. end;
  1422.  
  1423. procedure TForm4.Image21Click(Sender: TObject);
  1424. begin
  1425. Form6.Show;
  1426. end;
  1427.  
  1428. procedure TForm4.Image2Click(Sender: TObject);
  1429. begin
  1430. Administration.ActivePage :=  Add_Book;
  1431. end;
  1432.  
  1433.  
  1434. procedure TForm4.Image4Click(Sender: TObject);
  1435. begin
  1436.  Administration.ActivePage :=  User_Admin;
  1437. end;
  1438.  
  1439. procedure TForm4.Image5Click(Sender: TObject);
  1440. begin
  1441. PagesDlg.Show;
  1442.  
  1443. end;
  1444.  
  1445.  
  1446. procedure TForm4.Image5MouseEnter(Sender: TObject);
  1447. begin
  1448. Label14.Visible := true;
  1449. image1.Visible := true;
  1450.  
  1451.  
  1452. end;
  1453.  
  1454. procedure TForm4.Image5MouseLeave(Sender: TObject);
  1455. begin
  1456. Label14.Visible := false;
  1457. image1.Visible := false;
  1458.  
  1459.  
  1460. end;
  1461.  
  1462. procedure TForm4.Image7Click(Sender: TObject);
  1463. begin
  1464. Administration.ActivePage := spSkinTabSheet4;
  1465. end;
  1466.  
  1467. procedure TForm4.Image8Click(Sender: TObject);
  1468. begin
  1469.  
  1470.   Image6.Visible := false;
  1471. end;
  1472.  
  1473. procedure TForm4.Image9Click(Sender: TObject);
  1474. begin
  1475.   Image6.Visible := false;
  1476.  
  1477.  
  1478.  
  1479. end;
  1480.  
  1481.  
  1482. procedure TForm4.H1Click(Sender: TObject);
  1483. begin
  1484.   Form4.Hide;
  1485. end;
  1486.  
  1487. procedure TForm4.N1Click(Sender: TObject);
  1488. begin
  1489. Application.MainForm.Show;
  1490. end;
  1491.  
  1492. procedure TForm4.N2Click(Sender: TObject);
  1493. begin
  1494. Application.MainForm.Hide;
  1495. end;
  1496.  
  1497. procedure TForm4.N3Click(Sender: TObject);
  1498. begin
  1499. Exit;
  1500. end;
  1501.  
  1502. procedure TForm4.N5Click(Sender: TObject);
  1503. begin
  1504.  Application.Terminate;
  1505. end;
  1506.  
  1507. procedure TForm4.Search_BookEnter(Sender: TObject);
  1508. begin
  1509.      if Edit1.Text <> '' then
  1510.          begin
  1511.        Detail.Filter := 'Book_Nom ='+QuotedStr(Edit1.Text+'*');
  1512.  Detail.Filtered := true;
  1513.  
  1514.          end else
  1515.   begin
  1516.   Detail.Filtered := false;
  1517.   end;
  1518.  
  1519.        if Edit2.Text <> '' then
  1520.          begin
  1521.        Detail.Filter := 'Book_Nom ='+QuotedStr(Edit2.Text+'*');
  1522.  Detail.Filtered := true;
  1523.  
  1524.          end else
  1525.   begin
  1526.   Detail.Filtered := false;
  1527.   end;
  1528.  
  1529.        if Edit3.Text <> '' then
  1530.          begin
  1531.        Detail.Filter := 'Book_Nom ='+QuotedStr(Edit3.Text+'*');
  1532.  Detail.Filtered := true;
  1533.  
  1534.          end else
  1535.   begin
  1536.     Detail.Filtered := false;
  1537.   end;
  1538.  
  1539.        if Edit4.Text <> '' then
  1540.          begin
  1541.        Detail.Filter := 'Book_Nom ='+QuotedStr(Edit4.Text+'*');
  1542.  Detail.Filtered := true;
  1543.  
  1544.          end else
  1545.   begin
  1546.   Detail.Filtered := false;
  1547.   end;
  1548.  
  1549.  
  1550.  
  1551. end;
  1552.  
  1553. procedure TForm4.Search_BookExit(Sender: TObject);
  1554. begin
  1555. Detail.Filtered := false;
  1556. end;
  1557.  
  1558. procedure TForm4.spSkinButton1Click(Sender: TObject);
  1559. begin
  1560.      spSkinButton1.Enabled := false;
  1561.      spSkinXFormButton1.Enabled := true;
  1562.  
  1563.  spSkinDBSpinEdit4.Enabled := true;
  1564.  spSkinDBSpinEdit4.Text := '';
  1565.  
  1566.  spSkinDateEdit1.Enabled := true;
  1567.  spSkinDateEdit1.Text := '';
  1568.  
  1569.  dbedit3.Enabled := true;
  1570.  dbedit3.Text := '';
  1571.  
  1572.  spskinedit1.Enabled := true;
  1573.  spskinedit1.Text := '';
  1574.  
  1575. spskinedit2.Enabled := true;
  1576. spskinedit2.Text := '';
  1577.  
  1578. spskinedit3.Enabled := true;
  1579. spskinedit3.Text := '';
  1580.  
  1581. spskinedit4.Enabled := true;
  1582. spskinedit4.Text := '';
  1583.  
  1584.    spSkinDBSpinEdit1.Enabled := true;
  1585.    spSkinDBSpinEdit1.Text := '';
  1586.   spSkinDBSpinEdit2.Enabled := true;
  1587.   spSkinDBSpinEdit2.Text := '';
  1588.  
  1589.     spSkinDBSpinEdit3.Enabled := true;
  1590.     spSkinDBSpinEdit3.Text := '';
  1591.     spSkinDBDateEdit1.Enabled := true;
  1592.  
  1593. end;
  1594.  
  1595.  
  1596.  
  1597. procedure TForm4.spSkinButton2Click(Sender: TObject);
  1598. begin
  1599. dbedit3.Enabled := false;
  1600. spskinedit1.Enabled := false;
  1601. spskinedit2.Enabled := false;
  1602. spskinedit3.Enabled := false;
  1603. spskinedit4.Enabled := false;
  1604.  
  1605.  spSkinDateEdit1.Enabled := false;
  1606.  
  1607.  
  1608.    spSkinDBSpinEdit1.Enabled := false;
  1609.   spSkinDBSpinEdit2.Enabled := false;
  1610.     spSkinDBSpinEdit3.Enabled := false;
  1611.     spSkinDBDateEdit1.Enabled := false;
  1612.       spSkinXFormButton1.Enabled := false;
  1613.       spSkinDBSpinEdit4.Enabled := false;
  1614.  
  1615.      spSkinButton1.Enabled := true;
  1616. end;
  1617.  
  1618. procedure TForm4.spSkinButton3Click(Sender: TObject);
  1619. begin
  1620. Ds_Customer.DataSet.Delete;
  1621. end;
  1622.  
  1623. procedure TForm4.spSkinButton4Click(Sender: TObject);
  1624. begin
  1625. Button4.Enabled := true;
  1626. spSkinDBCheckRadioBox1.ReadOnly := false;
  1627. DBEdit5.ReadOnly := false;
  1628. DBEdit6.ReadOnly := false;
  1629. DBEdit7.ReadOnly := false;
  1630. DBEdit8.ReadOnly := false;
  1631. DBEdit9.ReadOnly := false;
  1632. DBEdit10.ReadOnly := false;
  1633. DBEdit11.ReadOnly := false;
  1634. spSkinDBSpinEdit5.ReadOnly := false;
  1635. Ds_Customer.DataSet.Edit;
  1636. end;
  1637.  
  1638.  
  1639.  
  1640. procedure TForm4.spSkinButton5Click(Sender: TObject);
  1641. var
  1642. a,b,c,d:integer;
  1643. begin
  1644. Ds_Customer.DataSet.Next;
  1645. a := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').asinteger;
  1646. b := Ds_Customer.DataSet.FieldByName('Emprute_Fois').asinteger;
  1647. c := Ds_Customer.DataSet.FieldByName('Mot_Fois').asinteger;
  1648. d := Ds_Customer.DataSet.FieldByName('Nbr_Rotard').asinteger;
  1649.  
  1650. spSkinStringGrid1.Cells[1,0] := IntToStr(a);
  1651. spSkinStringGrid1.Cells[1,1] := IntToStr(b);
  1652. spSkinStringGrid1.Cells[1,2] := IntToStr(c);
  1653. spSkinStringGrid1.Cells[1,3] := IntToStr(d);
  1654.  
  1655. end;
  1656.  
  1657. procedure TForm4.spSkinButton6Click(Sender: TObject);
  1658. var
  1659. a,b,c,d:integer;
  1660.  
  1661. begin
  1662. Ds_Customer.DataSet.Prior;
  1663. a := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').asinteger;
  1664. b := Ds_Customer.DataSet.FieldByName('Emprute_Fois').asinteger;
  1665. c := Ds_Customer.DataSet.FieldByName('Mot_Fois').asinteger;
  1666. d := Ds_Customer.DataSet.FieldByName('Nbr_Rotard').asinteger;
  1667.  
  1668. spSkinStringGrid1.Cells[1,0] := IntToStr(a);
  1669. spSkinStringGrid1.Cells[1,1] := IntToStr(b);
  1670. spSkinStringGrid1.Cells[1,2] := IntToStr(c);
  1671. spSkinStringGrid1.Cells[1,3] := IntToStr(d);
  1672.  
  1673. end;
  1674.  
  1675. procedure TForm4.spSkinButton7Click(Sender: TObject);
  1676. begin
  1677. Ds_User_Rotard.DataSet.Next;
  1678. end;
  1679.  
  1680. procedure TForm4.spSkinButton8Click(Sender: TObject);
  1681. begin
  1682.   Ds_User_Rotard.DataSet.Prior;
  1683. end;
  1684.  
  1685. procedure TForm4.spSkinDBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
  1686.   DataCol: Integer; Column: TspColumn; State: TGridDrawState);
  1687. begin
  1688.  
  1689.    spSkinDBGrid3.Columns[0].Title.Caption := 'إسم المنخرط';
  1690.    spSkinDBGrid3.Columns[1].Title.Caption := 'لقب المنخرط ';
  1691.       spSkinDBGrid3.Columns[2].Title.Caption := 'عنوان الكتاب';
  1692.  spSkinDBGrid3.Columns[3].Title.Caption := 'تاريخ الإعارة';
  1693.  spSkinDBGrid3.Columns[4].Title.Caption := 'تاريخ الإسترجاع';
  1694.  
  1695. end;
  1696.  
  1697. procedure TForm4.spSkinDBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
  1698.   DataCol: Integer; Column: TspColumn; State: TGridDrawState);
  1699. begin
  1700.      spSkinDBGrid4.Columns[0].Title.Caption := 'إسم المنخرط';
  1701.    spSkinDBGrid4.Columns[1].Title.Caption := 'لقب المنخرط';
  1702.       spSkinDBGrid4.Columns[2].Title.Caption := 'عنوان الكتاب';
  1703.  
  1704.  spSkinDBGrid4.Columns[3].Title.Caption := 'حالة الكتاب';
  1705.  spSkinDBGrid4.Columns[4].Title.Caption := 'التأخر';
  1706. spSkinDBGrid4.Columns[5].Title.Caption := 'إسترجاع';
  1707.  
  1708. end;
  1709.  
  1710.  
  1711.  
  1712. procedure TForm4.spSkinDBLookupComboBox11Change(Sender: TObject);
  1713. begin
  1714.  
  1715.   Date_Apre_CD.Text := DateTimeToStr(date);
  1716. if is_Valable(Ds_CD_Detail) = true then
  1717. begin
  1718. spSkinEdit21.Text := 'هدا القرص متاح';
  1719. end else
  1720. begin
  1721. spSkinEdit21.Text := 'هدا القرص غير متاح';
  1722. end;
  1723. spSkinMemo5.Text := '';
  1724. spSkinMemo5.Lines.Add('حالة القرص : ' + Ds_CD_Detail.DataSet.FieldByName('State').AsString);
  1725. spSkinMemo5.Lines.Add('عدد الإعارات : '+ IntToStr(Ds_CD_Detail.DataSet.FieldByName('Emprute_Fois').AsInteger));
  1726. spSkinMemo5.Lines.Add('عدد المطالعات : ' + inttostr(Ds_CD_Detail.DataSet.FieldByName('Nbr_Mot').asinteger));
  1727.  
  1728. if spSkinEdit21.Text = 'هدا القرص متاح' then
  1729. begin
  1730.     if   spSkinEdit22.Text = 'تستطيع الإستعارة' then
  1731.     begin
  1732.       Button10.Enabled := true;
  1733. Date_Apre_CD.Enabled := True;
  1734. Date_Repre_CD.Enabled := True;
  1735.     end;
  1736. end else
  1737. begin
  1738. Button10.Enabled := false;
  1739. Date_Apre_CD.Enabled := False;
  1740. Date_Repre_CD.Enabled := False;
  1741. end;
  1742.  
  1743.  
  1744. if  spSkinEdit22.Text = 'تستطيع الإستعارة' then
  1745. begin
  1746.     if  spSkinEdit21.Text =  'هدا القرص متاح'  then
  1747.     begin
  1748.       Button10.Enabled := true;
  1749. Date_Apre_CD.Enabled := True;
  1750. Date_Repre_CD.Enabled := True;
  1751.     end;
  1752. end else
  1753. begin
  1754. Button10.Enabled := false;
  1755. Date_Apre_CD.Enabled := False;
  1756. Date_Repre_CD.Enabled := False;
  1757. end;
  1758.  
  1759.  
  1760. end;
  1761.  
  1762. procedure TForm4.spSkinDBLookupComboBox12Change(Sender: TObject);
  1763. var
  1764. nbr_emprute,nbr_emprute_now,emprute_fois:integer;
  1765.  
  1766. begin
  1767. nbr_emprute := Ds_Customer.DataSet.FieldByName('Nbr_Emprute').AsInteger;
  1768. nbr_emprute_now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  1769. emprute_fois := Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger;
  1770.  
  1771.  
  1772.   Date_Apre_CD.Text := DateTimeToStr(date);
  1773.  
  1774. if is_exclu(Ds_Customer) = true  then
  1775. begin
  1776.  spSkinMemo6.Lines.Text := '';
  1777.  spSkinMemo6.Lines.Add('حالة المنخرط : معاقب');
  1778. if is_Emprute(Ds_Customer) = false then
  1779. begin
  1780. spSkinEdit22.Text := 'لا تستطيع الإستعارة';
  1781. spSkinMemo6.Lines.Add('حالة الإستعارة : تجاوز العدد المخصص له');
  1782. end;
  1783.  
  1784. if is_Emprute(Ds_Customer) = true then
  1785. begin
  1786. spSkinEdit22.Text := 'لا تستطيع الإستعارة';
  1787. end;
  1788.  
  1789. end else
  1790. begin
  1791.  spSkinMemo6.Lines.Text := '';
  1792.  spSkinMemo6.Lines.Add('حالة المنخرط : غير معاقب');
  1793. if is_Emprute(Ds_Customer) = false then
  1794. begin
  1795. spSkinEdit22.Text := 'لا تستطيع الإستعارة';
  1796. spSkinMemo6.Lines.Add('حالة الإستعارة : تجاوز الحد المخصص له');
  1797. end;
  1798.  
  1799.  if is_Emprute(Ds_Customer) = true then
  1800. begin
  1801. spSkinEdit22.Text := 'تستطيع الإستعارة';
  1802. end;
  1803.  
  1804. end;
  1805.    spSkinLabel49.Caption := 'لقب المنخرط : '+ Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  1806.  
  1807.  
  1808. spSkinMemo6.Lines.Add('عدد الإعارات الكلي :'+IntToStr(emprute_fois));
  1809. spSkinMemo6.Lines.Add('عدد الإعارات الحالية :'+IntToStr(nbr_emprute_now));
  1810. spSkinMemo6.Lines.Add('عدد الإعارات المسموح بها :'+IntToStr(nbr_emprute));
  1811. spSkinMemo6.Lines.Add('عدد الإعارات المتبقية :'+IntToStr(nbr_emprute-nbr_emprute_now));
  1812.  
  1813.  
  1814.  
  1815. if spSkinEdit21.Text = 'هدا القرص متاح' then
  1816. begin
  1817.     if   spSkinEdit22.Text = 'تستطيع الإستعارة' then
  1818.     begin
  1819. Button10.Enabled := true;
  1820. Date_Apre_CD.Enabled := True;
  1821. Date_Repre_CD.Enabled := True;
  1822.     end;
  1823. end else
  1824. begin
  1825. Button10.Enabled := false;
  1826. Date_Apre_CD.Enabled := False;
  1827. Date_Repre_CD.Enabled := False;
  1828. end;
  1829.  
  1830.  
  1831. if  spSkinEdit22.Text = 'تستطيع الإستعارة' then
  1832. begin
  1833.     if  spSkinEdit21.Text =  'هدا القرص متاح'  then
  1834.     begin
  1835.       Button10.Enabled := true;
  1836. Date_Apre_CD.Enabled := True;
  1837. Date_Repre_CD.Enabled := True;
  1838.     end;
  1839. end else
  1840. begin
  1841. Button10.Enabled := false;
  1842. Date_Apre_CD.Enabled := False;
  1843. Date_Repre_CD.Enabled := False;
  1844. end;
  1845.  
  1846. end;
  1847.  
  1848. procedure TForm4.spSkinDBLookupComboBox13Change(Sender: TObject);
  1849. begin
  1850. Time_Apre_CD.Text := DateTimeToStr(time);
  1851. if is_Valable(Ds_CD_Detail) = true then
  1852. begin
  1853. spSkinEdit31.Text := 'هدا القرص متاح';
  1854. end else
  1855. begin
  1856. spSkinEdit31.Text := 'هدا القرص غير متاح';
  1857. end;
  1858. spSkinMemo7.Text := '';
  1859. spSkinMemo7.Lines.Add('حالة القرص : ' + Ds_CD_Detail.DataSet.FieldByName('State').AsString);
  1860. spSkinMemo7.Lines.Add('عدد الإعارات : '+ IntToStr(Ds_CD_Detail.DataSet.FieldByName('Emprute_Fois').AsInteger));
  1861. spSkinMemo7.Lines.Add('عدد المطالعات : ' + inttostr(Ds_CD_Detail.DataSet.FieldByName('Nbr_Mot').asinteger));
  1862.  
  1863.  
  1864. if spSkinEdit31.Text = 'هدا القرص متاح' then
  1865. begin
  1866.     if   spSkinEdit32.Text = 'تستطيع المطالعة' then
  1867.     begin
  1868.       Button11.Enabled := true;
  1869. Time_Apre_CD.Enabled := True;
  1870. Time_Repre_CD.Enabled := True;
  1871.     end;
  1872. end else
  1873. begin
  1874. Button11.Enabled := false;
  1875. Time_Apre_CD.Enabled := False;
  1876. Time_Repre_CD.Enabled := False;
  1877. end;
  1878.  
  1879.  
  1880. if  spSkinEdit32.Text = 'تستطيع المطالعة' then
  1881. begin
  1882.     if  spSkinEdit31.Text =  'هدا القرص متاح'  then
  1883.     begin
  1884.  Button11.Enabled := true;
  1885. Time_Apre_CD.Enabled := True;
  1886. Time_Repre_CD.Enabled := True;
  1887.     end;
  1888. end else
  1889. begin
  1890. Button11.Enabled := false;
  1891. Time_Apre_CD.Enabled := False;
  1892. Time_Repre_CD.Enabled := False;
  1893. end;
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899. end;
  1900.  
  1901. procedure TForm4.spSkinDBLookupComboBox14Change(Sender: TObject);
  1902. var
  1903. nbr_emprute,nbr_emprute_now,emprute_fois:integer;
  1904.  
  1905. begin
  1906. nbr_emprute := Ds_Customer.DataSet.FieldByName('Nbr_Emprute').AsInteger;
  1907. nbr_emprute_now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  1908. emprute_fois := Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger;
  1909. Time_Apre_CD.Text := DateTimeToStr(time);
  1910.  
  1911. if is_exclu(Ds_Customer) = true  then
  1912. begin
  1913.  spSkinMemo8.Lines.Text := '';
  1914.  spSkinMemo8.Lines.Add('حالة المنخرط : معاقب');
  1915. if is_Emprute(Ds_Customer) = false then
  1916. begin
  1917. spSkinEdit32.Text := 'لا تستطيع المطالعة';
  1918. spSkinMemo8.Lines.Add('حالة الإستعارة : تجاوز العدد المخصص له');
  1919. end;
  1920.  
  1921. if is_Emprute(Ds_Customer) = true then
  1922. begin
  1923. spSkinEdit32.Text := 'لا تستطيع المطالعة';
  1924. end;
  1925.  
  1926. end else
  1927. begin
  1928.  spSkinMemo8.Lines.Text := '';
  1929.  spSkinMemo8.Lines.Add('حالة المنخرط : غير معاقب');
  1930. if is_Emprute(Ds_Customer) = false then
  1931. begin
  1932. spSkinEdit32.Text := 'لا تستطيع المطالعة';
  1933. spSkinMemo8.Lines.Add('حالة الإستعارة : تجاوز الحد المخصص له');
  1934. end;
  1935.  
  1936.  if is_Emprute(Ds_Customer) = true then
  1937. begin
  1938. spSkinEdit32.Text := 'تستطيع المطالعة';
  1939. end;
  1940.  
  1941. end;
  1942.    spSkinLabel60.Caption := 'لقب المنخرط : '+ Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  1943.  
  1944.  
  1945. spSkinMemo8.Lines.Add('عدد الإعارات الكلي :'+IntToStr(emprute_fois));
  1946. spSkinMemo8.Lines.Add('عدد الإعارات الحالية :'+IntToStr(nbr_emprute_now));
  1947. spSkinMemo8.Lines.Add('عدد الإعارات المسموح بها :'+IntToStr(nbr_emprute));
  1948. spSkinMemo8.Lines.Add('عدد الإعارات المتبقية :'+IntToStr(nbr_emprute-nbr_emprute_now));
  1949.  
  1950.  
  1951.  
  1952. if spSkinEdit31.Text = 'هدا القرص متاح' then
  1953. begin
  1954.     if   spSkinEdit32.Text = 'تستطيع المطالعة' then
  1955.     begin
  1956.       Button11.Enabled := true;
  1957. Time_Apre_CD.Enabled := True;
  1958. Time_Repre_CD.Enabled := True;
  1959.     end;
  1960. end else
  1961. begin
  1962. Button11.Enabled := false;
  1963. Time_Apre_CD.Enabled := False;
  1964. Time_Repre_CD.Enabled := False;
  1965. end;
  1966.  
  1967.  
  1968. if  spSkinEdit32.Text = 'تستطيع المطالعة' then
  1969. begin
  1970.     if  spSkinEdit31.Text =  'هدا القرص متاح'  then
  1971.     begin
  1972.  Button11.Enabled := true;
  1973. Time_Apre_CD.Enabled := True;
  1974. Time_Repre_CD.Enabled := True;
  1975.     end;
  1976. end else
  1977. begin
  1978. Button11.Enabled := false;
  1979. Time_Apre_CD.Enabled := False;
  1980. Time_Repre_CD.Enabled := False;
  1981. end;
  1982. end;
  1983.  
  1984. procedure TForm4.spSkinDBLookupComboBox1Change(Sender: TObject);
  1985. var B_Val,B_All,Res_B:integer;
  1986.    CD_Val,CD_All,Res_Cd:integer;
  1987. begin
  1988.   B_Val := Nbr_Book_Or_Cd_Valable(DataSourceDetail);
  1989.    B_All := DataSourceDetail.DataSet.RecordCount ;
  1990.    Res_B := B_All-B_Val;
  1991. spSkinLabel26.Caption := IntToStr(B_Val);
  1992. spSkinLabel35.Caption := IntToStr(B_All);
  1993. spSkinLabel38.Caption  := inttostr(Res_B);
  1994.  
  1995. CD_Val := Nbr_Book_Or_Cd_Valable(Ds_CD);
  1996. CD_All := Ds_CD.DataSet.RecordCount;
  1997. Res_Cd := CD_All - CD_Val;
  1998.  
  1999. spSkinLabel37.Caption := IntToStr(CD_Val);
  2000. spSkinLabel36.Caption := IntToStr(CD_All);
  2001. spSkinLabel39.Caption  := inttostr(Res_Cd);
  2002.  
  2003.    Timer2.Enabled := true;
  2004.  
  2005. end;
  2006.  
  2007. procedure TForm4.spSkinDBLookupComboBox3Change(Sender: TObject);
  2008. var
  2009.  
  2010.    date_apren,date_repren : TDateTime;
  2011.      Book_emprute_fois:integer;
  2012.    time_apren,time_repren:TTime;
  2013.     Book_Partie_Nbr:integer;
  2014. begin
  2015. Date_Apre.Text := DateToStr(date);
  2016.   Book_Partie_Nbr := Ds_Book_NFil.DataSet.FieldByName('Book_Partie_Nbr').AsInteger;
  2017. if is_Valable(Ds_Book_NFil) = true then
  2018. begin
  2019. spSkinEdit9.Text := 'هدا الكتاب متاح';
  2020. spSkinMemo1.Lines.Text := '';
  2021. spSkinMemo1.Lines.Add('حالة الكتاب :'+Ds_Book_NFil.DataSet.FieldByName('State').AsString);
  2022. spSkinMemo1.Lines.Add('------------');
  2023. Book_emprute_fois := Ds_Book_NFil.DataSet.FieldByName('Emprute_Fois').Asinteger;
  2024. spSkinMemo1.Lines.Add('عدد إستعارات الكتاب : '+IntToStr(Book_emprute_fois));
  2025. spSkinMemo1.Lines.Add('------------');
  2026. spSkinMemo1.Lines.Add('الجزء رقم :  '+IntToStr(Book_Partie_Nbr));
  2027. end else
  2028. begin
  2029. spSkinEdit9.Text := 'هدا الكتاب غير متاح';
  2030.  spSkinMemo1.Lines.Text := '';
  2031.  spSkinMemo1.Lines.Add('حالة الكتاب :'+Ds_Book_NFil.DataSet.FieldByName('State').AsString);
  2032. date_apren := Ds_Book_NFil.DataSet.FieldByName('Date_Apre').AsDateTime;
  2033.  date_repren := Ds_book_NFil.DataSet.FieldByName('Date_Repre').AsDateTime;
  2034.  time_apren :=  Ds_Book_NFil.DataSet.FieldByName('Mot_Apre').Value;
  2035. time_repren := Ds_book_Nfil.dataset.FieldByName('Mot_Repre').Value;
  2036.  
  2037.   if Ds_Book_NFil.DataSet.FieldByName('State').AsString = 'تم إستعارته' then
  2038.        begin
  2039.         spSkinMemo1.Lines.Add('تم إستعارة هدا الكتاب في تاريخ :');
  2040.   spSkinMemo1.Lines.Add(DateToStr(date_apren));
  2041.   spSkinMemo1.Lines.Add('سيتم إرجاعه في تاريخ :');
  2042.     spskinMemo1.Lines.Add(DateToStr(date_repren));
  2043.        end;
  2044.    if Ds_Book_NFil.DataSet.FieldByName('State').AsString = 'مطالعة' then
  2045.      begin
  2046.   spSkinMemo1.Lines.Add('تم أخده للمطالعة على الساعة :');
  2047.   spSkinMemo1.Lines.Add(TimeToStr(time_apren));
  2048.   spSkinMemo1.Lines.Add('سيتم إرجاعه على الساعة :');
  2049.   spskinMemo1.Lines.Add(TimeToStr(time_repren));
  2050.      end;
  2051.  spSkinMemo1.Lines.Add('------------');
  2052. spSkinMemo1.Lines.Add('الجزء رقم :  '+ IntToStr(Book_Partie_Nbr));
  2053. spSkinMemo1.Lines.Add('------------');
  2054. Book_emprute_fois := Ds_Book_NFil.DataSet.FieldByName('Emprute_Fois').Asinteger;
  2055. spSkinMemo1.Lines.Add('عدد إستعارات الكتاب : '+IntToStr(Book_emprute_fois));
  2056.  
  2057.  
  2058. end;
  2059.  
  2060. if spSkinEdit9.Text = 'هدا الكتاب متاح' then
  2061. begin
  2062.     if   spSkinEdit8.Text = 'تستطيع الإستعارة' then
  2063.     begin
  2064.       Add_Emprute.Enabled := true;
  2065. Date_Apre.Enabled := True;
  2066. Date_Repre.Enabled := True;
  2067.     end;
  2068. end else
  2069. begin
  2070. Add_Emprute.Enabled := false;
  2071. Date_Apre.Enabled := False;
  2072. Date_Repre.Enabled := False;
  2073. end;
  2074.  
  2075.  
  2076. if  spSkinEdit8.Text = 'تستطيع الإستعارة' then
  2077. begin
  2078.     if  spSkinEdit9.Text = 'هدا الكتاب متاح'  then
  2079.     begin
  2080.       Add_Emprute.Enabled := true;
  2081. Date_Apre.Enabled := True;
  2082. Date_Repre.Enabled := True;
  2083.     end;
  2084. end else
  2085. begin
  2086. Add_Emprute.Enabled := false;
  2087. Date_Apre.Enabled := False;
  2088. Date_Repre.Enabled := False;
  2089. end;
  2090. end;
  2091.  
  2092.  
  2093. procedure TForm4.spSkinDBLookupComboBox4Change(Sender: TObject);
  2094. var
  2095. nbr_emprute,nbr_emprute_now,emprute_fois:integer;
  2096.  
  2097. begin
  2098. nbr_emprute := Ds_Customer.DataSet.FieldByName('Nbr_Emprute').AsInteger;
  2099. nbr_emprute_now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  2100. emprute_fois := Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger;
  2101.  
  2102.  
  2103. Date_Apre.Text := Datetostr(date);
  2104.  
  2105. if is_exclu(Ds_Customer) = true  then
  2106. begin
  2107.  spSkinMemo2.Lines.Text := '';
  2108.  spSkinMemo2.Lines.Add('حالة المنخرط : معاقب');
  2109. if is_Emprute(Ds_Customer) = false then
  2110. begin
  2111. spSkinEdit8.Text := 'لا تستطيع الإستعارة';
  2112. spSkinMemo2.Lines.Add('حالة الإستعارة : تجاوز العدد المخصص له');
  2113. end;
  2114.  
  2115. if is_Emprute(Ds_Customer) = true then
  2116. begin
  2117. spSkinEdit8.Text := 'لا تستطيع الإستعارة';
  2118. end;
  2119.  
  2120. end else
  2121. begin
  2122.  spSkinMemo2.Lines.Text := '';
  2123.  spSkinMemo2.Lines.Add('حالة المنخرط : غير معاقب');
  2124. if is_Emprute(Ds_Customer) = false then
  2125. begin
  2126. spSkinEdit8.Text := 'لا تستطيع الإستعارة';
  2127. spSkinMemo2.Lines.Add('حالة الإستعارة : تجاوز الحد المخصص له');
  2128. end;
  2129.  
  2130.  if is_Emprute(Ds_Customer) = true then
  2131. begin
  2132. spSkinEdit8.Text := 'تستطيع الإستعارة';
  2133. end;
  2134.  
  2135. end;
  2136.    spSkinLabel23.Caption := 'لقب المنخرط : '+ Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  2137.  
  2138.  
  2139. spSkinMemo2.Lines.Add('عدد الإعارات الكلي :'+IntToStr(emprute_fois));
  2140. spSkinMemo2.Lines.Add('عدد الإعارات الحالية :'+IntToStr(nbr_emprute_now));
  2141. spSkinMemo2.Lines.Add('عدد الإعارات المسموح بها :'+IntToStr(nbr_emprute));
  2142. spSkinMemo2.Lines.Add('عدد الإعارات المتبقية :'+IntToStr(nbr_emprute-nbr_emprute_now));
  2143.  
  2144.  
  2145.  
  2146. if spSkinEdit9.Text = 'هدا الكتاب متاح' then
  2147. begin
  2148.     if   spSkinEdit8.Text = 'تستطيع الإستعارة' then
  2149.     begin
  2150.       Add_Emprute.Enabled := true;
  2151. Date_Apre.Enabled := True;
  2152. Date_Repre.Enabled := True;
  2153.     end;
  2154. end else
  2155. begin
  2156. Add_Emprute.Enabled := false;
  2157. Date_Apre.Enabled := False;
  2158. Date_Repre.Enabled := False;
  2159. end;
  2160.  
  2161.  
  2162. if  spSkinEdit8.Text = 'تستطيع الإستعارة' then
  2163. begin
  2164.     if spSkinEdit9.Text = 'هدا الكتاب متاح'   then
  2165.     begin
  2166.       Add_Emprute.Enabled := true;
  2167. Date_Apre.Enabled := True;
  2168. Date_Repre.Enabled := True;
  2169.     end;
  2170. end else
  2171. begin
  2172. Add_Emprute.Enabled := false;
  2173. Date_Apre.Enabled := False;
  2174. Date_Repre.Enabled := False;
  2175. end;
  2176. end;
  2177.  
  2178.  
  2179.  
  2180. procedure TForm4.spSkinDBLookupComboBox5Change(Sender: TObject);
  2181. var
  2182.  
  2183.     time_apren,time_repren :TTime;
  2184.     Book_Partie_Nbr,Book_emprute_fois,book_mot_Fois:integer;
  2185.      state,Empruteur_Nom,Empruteur_Prenom:string;
  2186.  
  2187. begin
  2188. Time_Apre.Text := DateTimeToStr(time);
  2189.  
  2190.  
  2191. state := Ds_Book_NFil.DataSet.FieldByName('State').AsString;
  2192. book_mot_Fois := Ds_Book_NFil.DataSet.FieldByName('Mot_Fois').AsInteger;
  2193. Book_emprute_fois := Ds_Book_NFil.DataSet.FieldByName('Emprute_Fois').Asinteger;
  2194. Empruteur_Nom := Ds_Book_NFil.DataSet.FieldByName('Cust_Nom').AsString;
  2195. Empruteur_Prenom := Ds_Book_NFil.DataSet.FieldByName('Cust_Prenom').AsString;
  2196. time_apren :=  Ds_Book_NFil.DataSet.FieldByName('Mot_Apre').Value;
  2197. time_repren := Ds_book_Nfil.dataset.FieldByName('Mot_Repre').Value;
  2198.  
  2199.  Book_Partie_Nbr :=  Ds_Book_NFil.DataSet.FieldByName('Book_Partie_Nbr').AsInteger;
  2200.  
  2201. if is_Valable(Ds_Book_NFil) = true then
  2202. begin
  2203. spSkinEdit11.Text := 'هدا الكتاب متاح';
  2204. spSkinMemo3.Lines.Text := '';
  2205. spSkinMemo3.Lines.Add('حالة الكتاب :'+state);
  2206. spSkinMemo3.Lines.Add('------------');
  2207.  spSkinMemo3.Lines.Add('الجزء رقم :  '+ IntToStr(Book_Partie_Nbr));
  2208. spSkinMemo3.Lines.Add('------------');
  2209. spSkinMemo3.Lines.Add('عدد إستعارات الكتاب : '+IntToStr(Book_emprute_fois));
  2210. spSkinMemo3.Lines.Add('عدد مرات مطالعة الكتاب : '+IntToStr(book_mot_Fois));
  2211. if state = 'مطالعة' then
  2212. begin
  2213. spSkinMemo3.Lines.Add('------------');
  2214. spSkinMemo3.Lines.Add('المنخرط الدي يطالع في الكتاب :' + Empruteur_Nom + ' - ' +Empruteur_Prenom);
  2215. spSkinMemo3.Lines.Add('أخده على الساعة :' +TimeToStr(time_apren));
  2216. spSkinMemo3.Lines.Add('سيعيده على الساعة :'+TimeToStr(time_repren));
  2217. end;
  2218. end else
  2219. begin
  2220. spSkinEdit11.Text := 'هدا الكتاب غير متاح';
  2221. spSkinMemo3.Lines.Text := '';
  2222. spSkinMemo3.Lines.Add('حالة الكتاب :'+state);
  2223. spSkinMemo3.Lines.Add('------------');
  2224.  spSkinMemo3.Lines.Add('الجزء رقم :  '+ IntToStr(Book_Partie_Nbr));
  2225. spSkinMemo3.Lines.Add('------------');
  2226. spSkinMemo3.Lines.Add('عدد إستعارات الكتاب : '+IntToStr(Book_emprute_fois));
  2227. spSkinMemo3.Lines.Add('عدد مرات مطالعة الكتاب : '+IntToStr(book_mot_Fois));
  2228.  
  2229. if state = 'مطالعة' then
  2230. begin
  2231. spSkinMemo3.Lines.Add('------------');
  2232. spSkinMemo3.Lines.Add('الجزء رقم :  '+ IntToStr(Book_Partie_Nbr));
  2233. spSkinMemo3.Lines.Add('------------');
  2234. spSkinMemo3.Lines.Add('المنخرط الدي يطالع في الكتاب :' + Empruteur_Nom + ' - ' +Empruteur_Prenom);
  2235. spSkinMemo3.Lines.Add('أخده على الساعة :'+   DateTimeToStr(time_apren));
  2236. spSkinMemo3.Lines.Add('سيعيده على الساعة :'+DateTimeToStr(time_repren));
  2237. end;
  2238.  
  2239.  
  2240. end;
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246. if spSkinEdit11.Text = 'هدا الكتاب متاح' then
  2247. begin
  2248.     if   spSkinEdit12.Text = 'تستطيع المطالعة' then
  2249.     begin
  2250.       Add_Mot.Enabled := true;
  2251. time_apre.Enabled := True;
  2252. time_repre.Enabled:= True;
  2253.     end;
  2254. end else
  2255. begin
  2256. Add_Mot.Enabled := false;
  2257. time_apre.Enabled := False;
  2258. time_repre.Enabled := False;
  2259. end;
  2260.  
  2261.  
  2262. if  spSkinEdit12.Text = 'تستطيع المطالعة' then
  2263. begin
  2264.     if  spSkinEdit11.Text = 'هدا الكتاب متاح'  then
  2265.     begin
  2266. Add_Mot.Enabled := true;
  2267. time_apre.Enabled := True;
  2268. time_repre.Enabled := True;
  2269.     end;
  2270. end else
  2271. begin
  2272. Add_Mot.Enabled := false;
  2273. time_apre.Enabled := False;
  2274. time_repre.Enabled := False;
  2275. end;
  2276.  
  2277.  
  2278.  
  2279.  
  2280. end;
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286. procedure TForm4.spSkinDBLookupComboBox6Change(Sender: TObject);
  2287. var
  2288. nbr_emprute,nbr_emprute_now,emprute_fois,Mot_Fois:integer;
  2289.  
  2290. begin
  2291. nbr_emprute := Ds_Customer.DataSet.FieldByName('Nbr_Emprute').AsInteger;
  2292. nbr_emprute_now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  2293. emprute_fois := Ds_Customer.DataSet.FieldByName('Emprute_Fois').AsInteger;
  2294. Mot_Fois := Ds_Customer.DataSet.FieldByName('Mot_Fois').AsInteger;
  2295.  
  2296. Time_Apre.Text := DateTimeToStr(time);
  2297.  
  2298. if is_exclu(Ds_Customer) = true  then
  2299. begin
  2300.  spSkinMemo4.Lines.Text := '';
  2301.  spSkinMemo4.Lines.Add('حالة المنخرط : معاقب');
  2302. if is_Emprute(Ds_Customer) = false then
  2303. begin
  2304. spSkinEdit12.Text := 'لا تستطيع المطالعة';
  2305. spSkinMemo4.Lines.Add('حالة الإستعارة : تجاوز العدد المخصص له');
  2306. end;
  2307.  
  2308. if is_Emprute(Ds_Customer) = true then
  2309. begin
  2310. spSkinEdit12.Text := 'لا تستطيع المطالعة';
  2311. end;
  2312.  
  2313. end else
  2314. begin
  2315.  spSkinMemo4.Lines.Text := '';
  2316.  spSkinMemo4.Lines.Add('حالة المنخرط : غير معاقب');
  2317. if is_Emprute(Ds_Customer) = false then
  2318. begin
  2319. spSkinEdit12.Text := 'لا تستطيع المطالعة';
  2320. spSkinMemo4.Lines.Add('حالة الإستعارة : تجاوز  الحد المخصص له');
  2321. end;
  2322.  
  2323.  if is_Emprute(Ds_Customer) = true then
  2324. begin
  2325. spSkinEdit12.Text := 'تستطيع المطالعة';
  2326. end;
  2327.  
  2328. end;
  2329.    spSkinLabel27.Caption := 'لقب المنخرط : '+ Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  2330.  
  2331.  
  2332. spSkinMemo4.Lines.Add('عدد الإعارات الكلي :'+IntToStr(emprute_fois));
  2333. spSkinMemo4.Lines.Add('عدد الإعارات الحالية :'+IntToStr(nbr_emprute_now));
  2334. spSkinMemo4.Lines.Add('عدد الإعارات المسموح بها :'+IntToStr(nbr_emprute));
  2335. spSkinMemo4.Lines.Add('عدد الإعارات المتبقية :'+IntToStr(nbr_emprute-nbr_emprute_now));
  2336. spSkinMemo4.lines.Add('عدد مطالعات الكتاب :'+IntToStr(Mot_Fois));
  2337.  
  2338.  
  2339. if spSkinEdit11.Text = 'هدا الكتاب متاح' then
  2340. begin
  2341.     if   spSkinEdit12.Text = 'تستطيع المطالعة' then
  2342.     begin
  2343.       Add_Mot.Enabled := true;
  2344. time_apre.Enabled := True;
  2345. time_repre.Enabled:= True;
  2346.     end;
  2347. end else
  2348. begin
  2349. Add_Mot.Enabled := false;
  2350. time_apre.Enabled := False;
  2351. time_repre.Enabled := False;
  2352. end;
  2353.  
  2354.  
  2355. if  spSkinEdit12.Text = 'تستطيع المطالعة' then
  2356. begin
  2357.     if  spSkinEdit11.Text = 'هدا الكتاب متاح'  then
  2358.     begin
  2359. Add_Mot.Enabled := true;
  2360. time_apre.Enabled := True;
  2361. time_repre.Enabled := True;
  2362.     end;
  2363. end else
  2364. begin
  2365. Add_Mot.Enabled := false;
  2366. time_apre.Enabled := False;
  2367. time_repre.Enabled := False;
  2368. end;
  2369.  
  2370. end;
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376. procedure TForm4.spSkinDBLookupComboBox7Change(Sender: TObject);
  2377.   var
  2378.   nbr_book_all,nbr_book_mota,nbr_book_emprute,nbr_cd_all,nbr_cd_mota,nbr_cd_emprute:integer;
  2379.  
  2380.   book_retard,cd_retard:integer;
  2381. begin
  2382.     // initialisation
  2383. nbr_book_all := List_Book_User.RecordCount;
  2384. nbr_cd_all := List_CD_User.RecordCount;
  2385. nbr_book_mota := 0;
  2386. nbr_book_emprute := 0;
  2387. nbr_cd_mota := 0;
  2388. nbr_cd_emprute := 0;
  2389. book_retard := 0;
  2390. cd_retard := 0;
  2391.  
  2392.  
  2393. while not Ds_List_Book_User.DataSet.eof do
  2394. begin
  2395. if Ds_List_Book_User.DataSet.FieldByName('State').AsString = 'تم إستعارته' then
  2396. begin
  2397.     nbr_book_emprute := nbr_book_emprute +1;
  2398. end;
  2399. if Ds_List_Book_User.DataSet.FieldByName('State').AsString = 'مطالعة' then
  2400. begin
  2401.     nbr_book_mota := nbr_book_mota +1;
  2402. end;
  2403.  if Ds_List_Book_User.DataSet.FieldByName('Cust_Rotard').AsBoolean = true then
  2404.  begin
  2405.    book_retard := book_retard +1;
  2406.  end;
  2407.  
  2408.  
  2409.   Ds_List_Book_User.DataSet.Next;
  2410. end;
  2411.  
  2412.  
  2413. while not Ds_List_CD_User.DataSet.eof do
  2414. begin
  2415. if Ds_List_CD_User.DataSet.FieldByName('State').AsString = 'تم إستعارته' then
  2416. begin
  2417.     nbr_cd_emprute := nbr_cd_emprute +1;
  2418. end;
  2419. if Ds_List_CD_User.DataSet.FieldByName('State').AsString = 'مطالعة' then
  2420. begin
  2421.     nbr_cd_mota := nbr_cd_mota +1;
  2422.  
  2423. end;
  2424.  
  2425. if Ds_List_CD_User.DataSet.FieldByName('Cust_Rotard').AsBoolean = true then
  2426. begin
  2427. cd_retard := cd_retard +1;
  2428.  
  2429. end;
  2430.  
  2431.   Ds_List_CD_User.DataSet.Next;
  2432. end;
  2433.  
  2434.  
  2435. label28.caption := IntToStr(nbr_book_emprute);
  2436. Label29.Caption := IntToStr(nbr_book_mota);
  2437. label30.Caption := IntToStr(nbr_book_all);
  2438.  
  2439. label31.Caption := IntToStr(nbr_cd_emprute);
  2440. label32.Caption := IntToStr(nbr_cd_mota);
  2441. Label33.Caption := IntToStr(nbr_cd_all);
  2442.  
  2443. label38.Caption := IntToStr(book_retard);
  2444. Label39.Caption := IntToStr(cd_retard);
  2445.  
  2446. end;
  2447.  
  2448. procedure TForm4.spSkinEdit10Change(Sender: TObject);
  2449. begin
  2450.  if spSkinEdit10.Text <> '' then
  2451.     begin
  2452.     Tb_Book_NFil.Filter := 'ISBN ='+QuotedStr(spSkinEdit10.Text+'*');
  2453.     Tb_Book_NFil.Filtered := true;
  2454.     end else
  2455.     begin
  2456.     Tb_Book_NFil.Filtered := false;
  2457.     end;
  2458. end;
  2459.  
  2460.  
  2461.  
  2462. procedure TForm4.spSkinEdit13Change(Sender: TObject);
  2463. begin
  2464.   if spSkinEdit13.Text <> '' then
  2465.      begin
  2466.      Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit13.Text+'*');
  2467.      Customer.Filtered := true;
  2468.      end else
  2469.      begin
  2470.      Customer.Filtered := false;
  2471.      end;
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480. end;
  2481.  
  2482. procedure TForm4.spSkinEdit14Change(Sender: TObject);
  2483. begin
  2484.  
  2485.      if spSkinEdit14.Text <> '' then
  2486.      begin
  2487.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit14.Text+'*');
  2488.      Customer.Filtered := true;
  2489.      end else
  2490.      begin
  2491.      Customer.Filtered := false;
  2492.      end;
  2493.  
  2494.  
  2495.  
  2496. end;
  2497.  
  2498. procedure TForm4.spSkinEdit15Change(Sender: TObject);
  2499. begin
  2500.  if spSkinEdit15.Text <> '' then
  2501.     begin
  2502.     Tb_Book_NFil.Filter := 'ISBN ='+QuotedStr(spSkinEdit15.Text+'*');
  2503.     Tb_Book_NFil.Filtered := true;
  2504.     end else
  2505.     begin
  2506.     Tb_Book_NFil.Filtered := false;
  2507.     end;
  2508. end;
  2509.  
  2510. procedure TForm4.spSkinEdit16Change(Sender: TObject);
  2511. begin
  2512.   if spSkinEdit16.Text <> '' then
  2513.     begin
  2514.     Tb_Book_NFil.Filter := 'Book_Nom ='+QuotedStr(spSkinEdit16.Text+'*');
  2515.     Tb_Book_NFil.Filtered := true;
  2516.     end else
  2517.     begin
  2518.     Tb_Book_NFil.Filtered := false;
  2519.     end;
  2520.  
  2521. end;
  2522.  
  2523. procedure TForm4.spSkinEdit17Change(Sender: TObject);
  2524. begin
  2525.  if spSkinEdit17.Text <> '' then
  2526.     begin
  2527.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit17.Text+'*');
  2528.     Customer.Filtered := true;
  2529.     end else
  2530.     begin
  2531.     Customer.Filtered := false;
  2532.     end;
  2533. end;
  2534.  
  2535. procedure TForm4.spSkinEdit18Change(Sender: TObject);
  2536. begin
  2537.  
  2538.      if spSkinEdit18.Text <> '' then
  2539.      begin
  2540.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit18.Text+'*');
  2541.      Customer.Filtered := true;
  2542.      end else
  2543.      begin
  2544.      Customer.Filtered := false;
  2545.      end;
  2546.  
  2547. end;
  2548.  
  2549. procedure TForm4.spSkinEdit19Change(Sender: TObject);
  2550. begin
  2551.      if spSkinEdit19.Text <> '' then
  2552.      begin
  2553.      CD_Detail.Filter := 'CD_Nom ='+QuotedStr(spSkinEdit19.Text+'*');
  2554.      CD_Detail.Filtered := true;
  2555.      end else
  2556.      begin
  2557.      CD_Detail.Filtered := false;
  2558.      end;
  2559.  
  2560.  
  2561. end;
  2562.  
  2563. procedure TForm4.spSkinEdit20Change(Sender: TObject);
  2564. begin
  2565.  
  2566.  
  2567.    if spSkinEdit20.Text <> '' then
  2568.      begin
  2569.      CD_Detail.Filter := 'ISBN_CD ='+QuotedStr(spSkinEdit20.Text+'*');
  2570.      CD_Detail.Filtered := true;
  2571.      end else
  2572.      begin
  2573.      CD_Detail.Filtered := false;
  2574.      end;
  2575. end;
  2576.  
  2577. procedure TForm4.spSkinEdit23Change(Sender: TObject);
  2578. begin
  2579.     if spSkinEdit23.Text <> '' then
  2580.          begin
  2581.      CD_Detail.Filter := 'ISBN_CD ='+QuotedStr(spSkinEdit23.Text+'*');
  2582.  CD_Detail.Filtered := true;
  2583.  
  2584.          end else
  2585.   begin
  2586.   CD_Detail.Filtered := false;
  2587.   end;
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593. end;
  2594.  
  2595. procedure TForm4.spSkinEdit24Change(Sender: TObject);
  2596. begin
  2597.  if spSkinEdit24.Text <> '' then
  2598.          begin
  2599.        CD_Detail.Filter := 'CD_Nom ='+QuotedStr(spSkinEdit24.Text+'*');
  2600.  CD_Detail.Filtered := true;
  2601.  
  2602.          end else
  2603.   begin
  2604.   CD_Detail.Filtered := false;
  2605.   end;
  2606.  
  2607.  
  2608.  
  2609. end;
  2610.  
  2611. procedure TForm4.spSkinEdit25Change(Sender: TObject);
  2612. begin
  2613.   if spSkinEdit25.Text <> '' then
  2614.     begin
  2615.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit25.Text+'*');
  2616.     Customer.Filtered := true;
  2617.     end else
  2618.     begin
  2619.     Customer.Filtered := false;
  2620.     end;
  2621. end;
  2622.  
  2623. procedure TForm4.spSkinEdit26Change(Sender: TObject);
  2624. begin
  2625.      if spSkinEdit26.Text <> '' then
  2626.      begin
  2627.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit26.Text+'*');
  2628.      Customer.Filtered := true;
  2629.      end else
  2630.      begin
  2631.      Customer.Filtered := false;
  2632.      end;
  2633.  
  2634.  
  2635. end;
  2636.  
  2637. procedure TForm4.spSkinEdit27Change(Sender: TObject);
  2638. begin
  2639.     if spSkinEdit27.Text <> '' then
  2640.          begin
  2641.      CD_Detail.Filter := 'ISBN_CD ='+QuotedStr(spSkinEdit27.Text+'*');
  2642.  CD_Detail.Filtered := true;
  2643.  
  2644.          end else
  2645.   begin
  2646.   CD_Detail.Filtered := false;
  2647.   end;
  2648. end;
  2649.  
  2650. procedure TForm4.spSkinEdit28Change(Sender: TObject);
  2651. begin
  2652.  if spSkinEdit28.Text <> '' then
  2653.          begin
  2654.        CD_Detail.Filter := 'CD_Nom ='+QuotedStr(spSkinEdit28.Text+'*');
  2655.  CD_Detail.Filtered := true;
  2656.  
  2657.          end else
  2658.   begin
  2659.   CD_Detail.Filtered := false;
  2660.   end;
  2661. end;
  2662.  
  2663. procedure TForm4.spSkinEdit29Change(Sender: TObject);
  2664. begin
  2665.  if spSkinEdit29.Text <> '' then
  2666.     begin
  2667.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit29.Text+'*');
  2668.     Customer.Filtered := true;
  2669.     end else
  2670.     begin
  2671.     Customer.Filtered := false;
  2672.     end;
  2673. end;
  2674.  
  2675. procedure TForm4.spSkinEdit30Change(Sender: TObject);
  2676. begin
  2677.     if spSkinEdit30.Text <> '' then
  2678.      begin
  2679.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit30.Text+'*');
  2680.      Customer.Filtered := true;
  2681.      end else
  2682.      begin
  2683.      Customer.Filtered := false;
  2684.      end;
  2685.  
  2686. end;
  2687.  
  2688. procedure TForm4.spSkinEdit5Change(Sender: TObject);
  2689.   begin
  2690.  
  2691. if R_Num.Checked then
  2692. begin
  2693.      if spSkinEdit5.Text <> '' then
  2694.      begin
  2695.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit5.Text+'*');
  2696.      Customer.Filtered := true;
  2697.      end else
  2698.      begin
  2699.      Customer.Filtered := false;
  2700.      end;
  2701.  
  2702. end;
  2703.  
  2704.  
  2705.  
  2706. if R_Nom.Checked then
  2707. begin
  2708. if spSkinEdit5.Text <> '' then
  2709.     begin
  2710.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit5.Text+'*');
  2711.     Customer.Filtered := true;
  2712.     end else
  2713.     begin
  2714.     Customer.Filtered := false;
  2715.     end;
  2716. end;
  2717.  
  2718. end;
  2719.  
  2720. procedure TForm4.spSkinEdit6Change(Sender: TObject);
  2721. begin
  2722.    if spSkinEdit6.Text <> '' then
  2723.     begin
  2724.     Tb_Book_NFil.Filter := 'Book_Nom ='+QuotedStr(spSkinEdit6.Text+'*');
  2725.     Tb_Book_NFil.Filtered := true;
  2726.     end else
  2727.     begin
  2728.     Tb_Book_NFil.Filtered := false;
  2729.     end;
  2730.  
  2731.  
  2732.  
  2733.  
  2734. end;
  2735.  
  2736. procedure TForm4.spSkinEdit7Change(Sender: TObject);
  2737. begin
  2738.     if spSkinEdit7.Text <> '' then
  2739.     begin
  2740.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit7.Text+'*');
  2741.     Customer.Filtered := true;
  2742.     end else
  2743.     begin
  2744.     Customer.Filtered := false;
  2745.     end;
  2746. end;
  2747.  
  2748.  
  2749.  
  2750. procedure TForm4.spSkinPageControl1Exit(Sender: TObject);
  2751. begin
  2752. Customer.Filtered := false;
  2753.  CD_Detail.Filtered := false;
  2754. end;
  2755.  
  2756. procedure TForm4.spSkinTabSheet1Enter(Sender: TObject);
  2757. begin
  2758. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  2759.  if spSkinEdit10.Text <> '' then
  2760.     begin
  2761.     Tb_Book_NFil.Filter := 'ISBN ='+QuotedStr(spSkinEdit10.Text+'*');
  2762.     Tb_Book_NFil.Filtered := true;
  2763.     end else
  2764.     begin
  2765.     Tb_Book_NFil.Filtered := false;
  2766.     end;
  2767.  
  2768.        if spSkinEdit6.Text <> '' then
  2769.     begin
  2770.     Tb_Book_NFil.Filter := 'Book_Nom ='+QuotedStr(spSkinEdit6.Text+'*');
  2771.     Tb_Book_NFil.Filtered := true;
  2772.     end else
  2773.     begin
  2774.     Tb_Book_NFil.Filtered := false;
  2775.     end;
  2776.  
  2777.     if spSkinEdit7.Text <> '' then
  2778.     begin
  2779.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit7.Text+'*');
  2780.     Customer.Filtered := true;
  2781.     end else
  2782.     begin
  2783.     Customer.Filtered := false;
  2784.     end;
  2785.  
  2786.          if spSkinEdit14.Text <> '' then
  2787.      begin
  2788.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit14.Text+'*');
  2789.      Customer.Filtered := true;
  2790.      end else
  2791.      begin
  2792.      Customer.Filtered := false;
  2793.      end;
  2794.  
  2795.     Date_Apre.Text := DateToStr(date);
  2796.  
  2797.  
  2798. end;
  2799.  
  2800.  
  2801.  
  2802.  
  2803. procedure TForm4.spSkinTabSheet1Exit(Sender: TObject);
  2804. begin
  2805.    Tb_Book_NFil.Filtered := false;
  2806.      Customer.Filtered := false;
  2807. end;
  2808.  
  2809. procedure TForm4.spSkinTabSheet2ContextPopup(Sender: TObject; MousePos: TPoint;
  2810.   var Handled: Boolean);
  2811. begin
  2812. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  2813. end;
  2814.  
  2815. procedure TForm4.spSkinTabSheet2Enter(Sender: TObject);
  2816. begin
  2817.  if spSkinEdit15.Text <> '' then
  2818.     begin
  2819.     Tb_Book_NFil.Filter := 'ISBN ='+QuotedStr(spSkinEdit15.Text+'*');
  2820.     Tb_Book_NFil.Filtered := true;
  2821.     end else
  2822.     begin
  2823.     Tb_Book_NFil.Filtered := false;
  2824.     end;
  2825.  
  2826.   if spSkinEdit16.Text <> '' then
  2827.     begin
  2828.     Tb_Book_NFil.Filter := 'Book_Nom ='+QuotedStr(spSkinEdit16.Text+'*');
  2829.     Tb_Book_NFil.Filtered := true;
  2830.     end else
  2831.     begin
  2832.     Tb_Book_NFil.Filtered := false;
  2833.     end;
  2834.  
  2835.  if spSkinEdit17.Text <> '' then
  2836.     begin
  2837.     Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit17.Text+'*');
  2838.     Customer.Filtered := true;
  2839.     end else
  2840.     begin
  2841.     Customer.Filtered := false;
  2842.     end;
  2843.  
  2844.      if spSkinEdit18.Text <> '' then
  2845.      begin
  2846.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit18.Text+'*');
  2847.      Customer.Filtered := true;
  2848.      end else
  2849.      begin
  2850.      Customer.Filtered := false;
  2851.      end;
  2852.  
  2853.  
  2854. end;
  2855.  
  2856. procedure TForm4.spSkinTabSheet2Exit(Sender: TObject);
  2857. begin
  2858.  Tb_Book_NFil.Filtered := false;
  2859.   Customer.Filtered := false;
  2860.  
  2861. end;
  2862.  
  2863. procedure TForm4.spSkinTabSheet3ContextPopup(Sender: TObject; MousePos: TPoint;
  2864.   var Handled: Boolean);
  2865. begin
  2866. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  2867. end;
  2868.  
  2869. procedure TForm4.spSkinTabSheet3Enter(Sender: TObject);
  2870.  
  2871. begin
  2872.   if spSkinEdit13.Text <> '' then
  2873.      begin
  2874.      Customer.Filter := 'Cust_Prenom ='+QuotedStr(spSkinEdit13.Text+'*');
  2875.      Customer.Filtered := true;
  2876.      end else
  2877.      begin
  2878.      Customer.Filtered := false;
  2879.      end;
  2880.  Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  2881.  
  2882.  
  2883.  
  2884.  
  2885. end;
  2886.  
  2887. procedure TForm4.spSkinTabSheet3Exit(Sender: TObject);
  2888. begin
  2889.   Customer.Filtered := false;
  2890. end;
  2891.  
  2892. procedure TForm4.spSkinTabSheet5Exit(Sender: TObject);
  2893. begin
  2894. Customer.Filtered := false;
  2895.  CD_Detail.Filtered := false;
  2896. end;
  2897.  
  2898. procedure TForm4.spSkinTabSheet6Exit(Sender: TObject);
  2899. begin
  2900. Customer.Filtered := false;
  2901.  CD_Detail.Filtered := false;
  2902. end;
  2903.  
  2904. procedure TForm4.spSkinTabSheet7Enter(Sender: TObject);
  2905. begin
  2906.  
  2907. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  2908.  
  2909. end;
  2910.  
  2911. procedure TForm4.spSkinXFormButton1Click(Sender: TObject);
  2912. var
  2913. nbr,i,j,nbr_partie:integer;
  2914.  
  2915.  
  2916. begin
  2917. nbr := strtoint(spSkinDBSpinEdit1.Text);
  2918. nbr_partie := StrToInt(spSkinDBSpinEdit2.Text);
  2919.    for j:=1 to nbr_partie do
  2920.      begin
  2921.  for i:=1 to nbr do
  2922.  begin
  2923. datasourcedetail.DataSet.Insert;
  2924. datasourcedetail.DataSet.FieldByName('Bib_ID').Value := dbedit3.Text;
  2925. datasourcedetail.DataSet.FieldByName('ISBN').Value := spskinedit1.Text;
  2926. datasourcedetail.DataSet.FieldByName('Book_Nom').AsString := spskinedit2.Text ;
  2927. datasourcedetail.DataSet.FieldByName('Book_Auteur').AsString := spskinedit3.Text;
  2928. datasourcedetail.DataSet.FieldByName('Home_Pub').AsString := spskinedit4.Text;
  2929. datasourcedetail.DataSet.FieldByName('Contiter').AsInteger := strtoint(spSkinDBSpinEdit1.Text);
  2930. datasourcedetail.DataSet.FieldByName('Nombre_Partie').Value := spSkinDBSpinEdit2.Text;
  2931. datasourcedetail.DataSet.FieldByName('Edition_N°').Value := spSkinDBSpinEdit3.text;
  2932. datasourcedetail.DataSet.FieldByName('Date_Add_book').Value := spSkinDBDateEdit1.text;
  2933. datasourcedetail.DataSet.FieldByName('Nombre_Page').AsInteger := strtoint(spSkinDBSpinEdit4.text);
  2934. datasourcedetail.DataSet.FieldByName('Ane_publication').AsDateTime := StrToDate(spSkinDateEdit1.Text);
  2935. datasourcedetail.DataSet.FieldByName('Book_Partie_Nbr').AsInteger := j;
  2936. datasourcedetail.DataSet.Post;
  2937. end;
  2938.    end;
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944. dbedit3.Enabled := false;
  2945. spskinedit1.Enabled := false;
  2946. spskinedit2.Enabled := false;
  2947. spskinedit3.Enabled := false;
  2948. spskinedit4.Enabled := false;
  2949.    spSkinDBSpinEdit1.Enabled := false;
  2950.   spSkinDBSpinEdit2.Enabled := false;
  2951.     spSkinDBSpinEdit3.Enabled := false;
  2952.     spSkinDBDateEdit1.Enabled := false;
  2953.       spSkinXFormButton1.Enabled := false;
  2954.      spSkinButton1.Enabled := true;
  2955.  
  2956.  
  2957. end;
  2958.  
  2959. procedure TForm4.Timer1Timer(Sender: TObject);
  2960. begin
  2961. Les_Rotar_Exclu(Ds_Customer,Ds_List__Book,Ds_CD_Emprute,Les_Rotard);
  2962. end;
  2963.  
  2964. procedure TForm4.Timer2Timer(Sender: TObject);
  2965. begin
  2966. DataSourceDetail.DataSet.first;
  2967. Ds_CD.DataSet.First;
  2968. Timer2.Enabled := false;
  2969. end;
  2970.  
  2971. procedure TForm4.User_ListEnter(Sender: TObject);
  2972. begin
  2973.  
  2974.  
  2975.      if spSkinEdit5.Text <> '' then
  2976.      begin
  2977.      Customer.Filter := 'Cust_ID ='+QuotedStr(spSkinEdit5.Text+'*');
  2978.      Customer.Filtered := true;
  2979.      end else
  2980.      begin
  2981.      Customer.Filtered := false;
  2982.      end;
  2983.  
  2984. if spSkinEdit5.Text <> '' then
  2985.     begin
  2986.     Customer.Filter := 'Cust_Nom ='+QuotedStr(spSkinEdit5.Text+'*');
  2987.     Customer.Filtered := true;
  2988.     end else
  2989.     begin
  2990.     Customer.Filtered := false;
  2991.     end;
  2992.  
  2993. end;
  2994.  
  2995. procedure TForm4.User_ListExit(Sender: TObject);
  2996. begin
  2997.  Customer.Filtered := false;
  2998. end;
  2999.  
  3000. procedure TForm4.Add_MotClick(Sender: TObject);
  3001. var
  3002. emprute_Now:integer;
  3003.     Cust_ID:integer;
  3004.     Cust_Nom,Cust_Prenom:string;
  3005.    begin
  3006. if is_Emprute(Ds_Customer) = true and is_Valable(Ds_Book_NFil)= true then
  3007. begin
  3008.  
  3009. if Time_Apre.Text >= Time_Repre.Text then
  3010. begin
  3011.      ShowMessage('قم بإدخال وقت إرجاع صحيح');
  3012. end else
  3013. begin
  3014.  Ds_Book_NFil.Edit;
  3015.        Ds_Customer.Edit;
  3016.  
  3017.          // Book Invalable
  3018.       Ds_Book_NFil.DataSet.FieldByName('Valable').AsBoolean := false;
  3019.      //increment Emprute fois Pour User
  3020. Ds_Customer.DataSet.FieldByName('Mot_Fois').AsInteger :=
  3021. Ds_Customer.DataSet.FieldByName('Mot_Fois').AsInteger +1;
  3022.     //increment مطالعة Fois Pour Book
  3023. Ds_Book_NFil.DataSet.FieldByName('Mot_Fois').AsInteger :=
  3024. Ds_Book_NFil.DataSet.FieldByName('Mot_Fois').AsInteger +1;
  3025.  //  Set The state of book  To للمطالعة
  3026. Ds_Book_NFil.DataSet.FieldByName('State').AsString := 'مطالعة';
  3027.  
  3028.    // Incremant The Number Of Books For The User
  3029.  
  3030.  emprute_Now := Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger;
  3031. Ds_Customer.DataSet.FieldByName('Nbr_Emprute_Now').AsInteger := emprute_Now+1;
  3032.  
  3033.   // Get Cust_ID and Set It On Book_List.Cust_ID
  3034.  Cust_ID := Ds_Customer.DataSet.FieldByName('Cust_ID').AsInteger;
  3035.  Ds_Book_NFil.DataSet.FieldByName('Cust_ID').AsInteger := Cust_ID;
  3036.  // Get Cust_Nom And Set It On Book_List.Cust_Nom
  3037.  Cust_Nom := Ds_Customer.DataSet.FieldByName('Cust_Nom').AsString;
  3038.  Ds_Book_NFil.DataSet.FieldByName('Cust_Nom').AsString := Cust_Nom;
  3039.   // Get Cust_Prenom
  3040.  Cust_Prenom := Ds_Customer.DataSet.FieldByName('Cust_Prenom').AsString;
  3041.  Ds_Book_NFil.DataSet.FieldByName('Cust_Prenom').AsString := Cust_Prenom;
  3042.  
  3043.  
  3044.  
  3045.  sql.Close;
  3046. sql.SQL.Text := 'select * from User_Emp_Mot where Cust_ID = '+IntToStr(Cust_ID);
  3047.  sql.Open;
  3048.  SQL_DS.DataSet.Edit;
  3049.  SQL_DS.DataSet.FieldByName('Mot_Mois').AsInteger :=
  3050.  SQL_DS.DataSet.FieldByName('Mot_Mois').AsInteger +1;
  3051. SQL_DS.DataSet.Post;
  3052.  
  3053.  
  3054.  // Set Date Of Date_Apre & Date_Repre
  3055.  
  3056.  Ds_Book_NFil.DataSet.FieldByName('Mot_Apre').AsFloat := StrToTime(Time_Apre.Text);
  3057.  Ds_Book_NFil.DataSet.FieldByName('Mot_Repre').AsFloat := strtotime(Time_Repre.Text);
  3058.  
  3059. // Post All This
  3060. Add_Mot.Enabled := false;
  3061. Time_Apre.Enabled := False;
  3062. Time_Repre.Enabled := False;
  3063. Customer.Refresh;
  3064. Tb_Book_NFil.Refresh;
  3065. spSkinDBLookupComboBox6.Refresh;
  3066. spSkinDBLookupComboBox5.Refresh;
  3067.  
  3068. end;
  3069.  
  3070.  
  3071.  
  3072. end  else
  3073. begin
  3074. Add_Mot.Enabled := false;
  3075. Time_Apre.Enabled := False;
  3076. Time_Repre.Enabled := False;
  3077. ShowMessage(' لا يمكنك المطالعة لأنك تجاوزت الحد المخصص لك أو الكتاب غير متاح حاليا ');
  3078.  
  3079. end;
  3080.  
  3081.  
  3082. end;
  3083.  
  3084. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement