ComCtrls, DataModule, StdCtrls, DBCtrls, Grids, DBGrids ,, Series, ExtCtrls, TeeProcs, Chart, TeeTools, Printers;
=7;=8;
=record: String ;: Double ;: Double ;;=class (TForm): TStatusBar ;: TMainMenu ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TGroupBox ;: TStringGrid ;: TChart ;: TBarSeries ;: TBarSeries ;: TChart ;: TGridBandTool ;: TGroupBox ;: TStringGrid ;: TGroupBox ;: TGroupBox ;: TPieSeries ;: TMenuItem ;: TMenuItem;:TPrintDialog ;: TMenuItem; N4Click (Sender: TObject); N5Click (Sender: TObject); N6Click (Sender: TObject); N7Click (Sender: TObject); N9Click (Sender: TObject); FormDestroy (Sender: TObject); FormCreate ( Sender: TObject); StringGrid1DrawCell (Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); N11Click (Sender: TObject); PrintGrid (sGrid: TStringGrid; sTitle: string); N12Click (Sender: TObject) ; N2Click (Sender: TObject); NewProject; ClearPlanTable; Prepeare; PrepeareProductState; PrepeareFastNeed ;: array of TProductState ;;
: TFormMain;
{$ R * .dfm}
, FormProductDlg, FormPlanDlg, FormInvoiceDlg;
TFormMain. ClearPlanTable; .ADOCommand. CommandText:= DELETE FROM Plan raquo ;;. ADOCommand. Execute; .ADOTablePlan. Active:=False; .ADOTablePlan. Active:=True;
{}. ADOCommand. CommandText:= DELETE FROM Invoice raquo ;;. ADOCommand. Execute; .ADOTableInvoice. Active:=False; .ADOTableInvoice. Active:=True ;;
TFormMain. FormCreate (Sender: TObject) ;;;
TFormMain. FormDestroy (Sender: TObject); (ProductsState, 0) ;;
TFormMain.N11Click (Sender: TObject); PrintDialog. Execute then begin
PrintGrid (StringGrid, Стан реалізації обладнання );
end ;;
TFormMain.N12Click (Sender: TObject); PrintDialog. Execute then begin (StringGrid1, Терміновість реалізації ) ;;;
TFormMain.N2Click (Sender: TObject) ;;;
TFormMain.N4Click (Sender: TObject) ;;;;
TFormMain.N5Click (Sender: TObject) ;;;;
TFormMain.N6Click (Sender: TObject) ;;;;
TFormMain.N7Click (Sender: TObject); (False) ;;;
TFormMain.N9Click (Sender: TObject) ;;;;
TFormMain. NewProject; MessageDlg ( База даних по поточному планом буде очищених! Створити новий план? Raquo ;, mtWarning, mbOKCancel, 0)=1 then begin; (True) ;;;
TFormMain. Prepeare ;;;;
TFormMain. PrepeareFastNeed ;: Integer ;: String; .ADOQuery.SQL. Clear; .ADOQuery. Active:=False; .ADOQuery.SQL. Clear; .ADOQuery.SQL. Add ( SELECT * FROM Plan ORDER BY PlDate ) ;. ADOQuery. Active:=True;
{}. ColCount:=4 ;. RowCount:=DM.ADOQuery. RecordCount + 2 ;. Cells [0, 0]:= № raquo ;;. Cells [1, 0]:= Устаткування raquo ;;. Cells [2, 0]:= Кількість raquo ;;. Cells [3, 0]:= Крайній термін raquo ;;. ColWidths [0]:=25 ;. ColWidths [1]:=277 ;. ColWidths [2]:=80 ;. ColWidths [3]:=80; .ADOQuery. First; i:=0 to DM.ADOQuery. RecordCount - 1 do begin. Cells [0, i + 1]:=IntToStr (i + 1) ;. Cells [1, i + 1]:=DM.ADOQuery. FieldValues ??[ PlProduct ] ;. Cells [2, i + 1]:=DM.ADOQuery. FieldValues ??[ PlCount ] ;. Cells [3, i + 1]:=DM.ADOQuery. FieldValues ??[ PlDate ] ;. ADOQuery. Next ;;;
TFormMain. PrepeareProductState; IsFindProductPlan (aNameProduct: String): Integer ;: Integer;:=- 1; i:=0 to Length (ProductsState) - 1 doProductsState [i] .Product=aNameProduct then begin:=i ;;;;
, Indx: Integer ;, Sum2: Double; (ProductsState, 0) ;. ADOQuery. Active:=False; .ADOQuery.SQL. Clear; .ADOQuery.SQL. Add ( SELECT Invoice. IbProduct, Invoice. IbCount, Invoice. IbDate, ) ;. ADOQuery.SQL. Add ( Plan. PlProduct, Plan. PlCount, Plan. PlDate ) ;. ADOQuery.SQL. Add ( FROM Plan ) ;. ADOQuery.SQL. Add ( LEFT OUTER JOIN Invoice ON Invoice. IbProduct=Plan. PlProduct ) ;. ADOQuery. Active:=True;
{}. ADOQuery. First; i:=0 to DM.ADOQuery. RecordCount - 1 do beginIsFindProductPlan (DM.ADOQuery. FieldValues ??[ PlProduct ])=- 1 then begin (ProductsState, Length (ProductsState) +1); [Length (ProductsState) - 1] .Product:=DM.ADOQuery. FieldValues ??[ PlProduct ]; [Length (ProductsState) - 1] .PlanCount:=DM.ADOQuery. FieldValues ??[ PlCount ] ;;. ADOQuery. Next ;;. ADOQuery. First; i:=0 to DM.ADOQuery. RecordCount - 1 do beginDM.ADOQuery. FieldValues ??[ IbProduct ] lt; gt; NULL then begin:=IsFindProductPlan (DM.ADOQuery. FieldValues ??[ IbProduct ]); Indx lt; gt;- 1 then ProductsState [Indx] .InvoiceC...