unit Uprinc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, Grids, DBGrids, ExtCtrls, StdCtrls,DateUtils, jpeg,
  Calendar, ComCtrls;

type
  TFprinc = class(TForm)
    MainMenu1: TMainMenu;
    Fichier1: TMenuItem;
    Bus1: TMenuItem;
    Quitter1: TMenuItem;
    FicheBus1: TMenuItem;
    Commande1: TMenuItem;
    ypedebus2: TMenuItem;
    ypeoperation1: TMenuItem;
    Article1: TMenuItem;
    Cpville1: TMenuItem;
    Propritaire1: TMenuItem;
    Fournisseur1: TMenuItem;
    abledebase1: TMenuItem;
    Gestiondesbus1: TMenuItem;
    Gestiondeskm1: TMenuItem;
    RechercheBus1: TMenuItem;
    Image1: TImage;
    Listedescommandes1: TMenuItem;
    commandenonlivree1: TMenuItem;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    DBGrid1: TDBGrid;
    procedure Quitter1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ypeoperation1Click(Sender: TObject);
    procedure Article1Click(Sender: TObject);
    procedure ypedebus2Click(Sender: TObject);
    procedure RechercheBus1Click(Sender: TObject);
    procedure Gestiondeskm1Click(Sender: TObject);
    procedure CalculEntretienControle(Sender: TObject);
    procedure StringGrid1DblClick(Sender: TObject);
    procedure Propritaire1Click(Sender: TObject);
    procedure Cpville1Click(Sender: TObject);
    procedure Fournisseur1Click(Sender: TObject);
    procedure Listedescommandes1Click(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);


  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Fprinc: TFprinc;

implementation
{$R *.dfm}
 uses udata,ulistebus,ulisteanalyse,uarticle,uheader,ulistetypeoperation,ulistekm,
 ulistetypebus,
 udetailcommande,uproprietaire,ulisteentretien,udataquery, Ufichebusdetail,
  Ulistepro, Ucp, Ufichefou, Ulistefou;


procedure tFprinc.CalculEntretienControle(Sender: TObject);
 var i :integer;
begin
data.Tdemarage.Active:=false;
data.Tdemarage.EmptyTable;
data.Tdemarage.Active:=true;
data.Tbus.First;
while not data.Tbus.Eof do
begin
data.Tdemarage.Append;
data.TdemarageDE_BUSNUMP.AsString:=data.TbusBUS_NUMPL.AsString;
data.TdemarageDE_BUSNUMI.AsString:=data.TbusBUS_NUMID.AsString;
if data.Ttypebus.Locate('TYBU_ID',data.TbusBUS_TYBUID.AsInteger,[])
        then
                data.TdemarageDE_TYBUMOD.AsString:=data.TtypebusTYBU_MOD.AsString
        else
                data.TdemarageDE_TYBUMOD.AsString:= 'pas trouve modele';

if data.Tcontrole.Locate('cont_busid',data.TbusBUS_ID.AsInteger,[])
        then
           begin
//faire le if pour le controle
                data.Tcontrole.IndexName:='ICONT_PKD';
                data.TdemarageDE_CONTDTR.AsString:=data.TcontroleCONT_DTRE.AsString;
           end ;
       // else
         //       data.TdemarageDE_CONTDTR.AsDateTime:=null;

if data.Tkm.Locate('km_bus_id',data.TbusBUS_ID.AsInteger,[])
        then
                begin
                data.Tkm.IndexName:='ikm_date';
                data.TdemarageDE_KMKM.AsInteger:=data.TkmKM_KM.AsInteger;
                end
        else
                data.TdemarageDE_KMKM.AsInteger:= 0000000;

if data.Tbusoperation.Locate('bop_tybuid',data.TbusBUS_ID.AsInteger,[])
        and data.Tbusoperation.Locate('bop_tyopid',data.TtypeopTYOP_ID.AsInteger,[])
        then
                data.TdemarageDE_TYOPLIB.AsString:=data.TtypeopTYOP_LIB.AsString
        else
                data.TdemarageDE_TYOPLIB.AsString:= 'pas trouve operation';

data.tbus.next;

end;


 


end;


procedure TFprinc.Quitter1Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TFprinc.FormActivate(Sender: TObject);

begin
        fprinc.Left:=200;
        fprinc.Top:=200;

        data.Tanalyse.Active:=true;
        data.Tarticle.Active:=true;
        data.Tbus.Active:=true;
        data.Tbusoperation.Active:=true;
        data.Tcontrole.Active:=true;
        data.Tcpville.Active:=true;
        data.Tdetailcommande.Active:=true;
        data.Tentretien.Active:=true;
        data.Tfournisseur.Active:=true;
        data.Theader.Active:=true;
        data.Tkm.Active:=true;
        data.Toperation.Active:=true;
        data.Tproprietaire.Active:=true;
        data.Ttypebus.Active:=true;
        data.Ttypeop.Active:=true;
        data.Ttempo.Active:=true;
              

        Fprinc.CalculEntretienControle(Sender);

end;

procedure TFprinc.ypeoperation1Click(Sender: TObject);
begin
         Flistetypeoperation.showmodal;
end;

procedure TFprinc.Article1Click(Sender: TObject);
begin
         farticle.ShowModal;
end;

procedure TFprinc.ypedebus2Click(Sender: TObject);
begin
         flistetypebus.ShowModal;
end;

procedure TFprinc.RechercheBus1Click(Sender: TObject);
begin
        flistebus.ShowModal;
end;

procedure TFprinc.Gestiondeskm1Click(Sender: TObject);
begin
        flistekm.ShowModal;
end;

procedure TFprinc.StringGrid1DblClick(Sender: TObject);
begin
        Ffichebusdetail.ShowModal;
end;

procedure TFprinc.Propritaire1Click(Sender: TObject);
begin
flistepro.showmodal;

end;

procedure TFprinc.Cpville1Click(Sender: TObject);
begin
fcp.showmodal;
end;

procedure TFprinc.Fournisseur1Click(Sender: TObject);
begin
flistefou.showmodal;
end;

procedure TFprinc.Listedescommandes1Click(Sender: TObject);
begin
fheader.ShowModal;
end;

procedure TFprinc.DateTimePicker1Change(Sender: TObject);

begin

edit1.Text:= datetostr(datetimepicker1.DateTime);
end;

procedure TFprinc.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
Fprinc.CalculEntretienControle(Sender);
end;

end.
