📄 buoni.pas
字号:
unit buoni;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, ComCtrls, ActnList, ToolWin, StdCtrls, ExtCtrls, RxLookup, Mask,
Grids, DBGrids, Db, DBTables, ToolEdit, RxDBComb, DBGridEh, RXDBCtrl,
ppStrtch, ppMemo, ppPrnabl, ppClass, ppCtrls, ppDB, ppBands,
ppProd, ppReport, ppComm, ppRelatv, ppCache, ppDBPipe, ppDBBDE, ppVar;
type
TBuoni_Form = class(TForm)
Panel1: TPanel;
dsBuoni: TDataSource;
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBMemo1: TDBMemo;
RxDBLookupCombo1: TRxDBLookupCombo;
Nominativo: TLabel;
Label4: TLabel;
DBEdit3: TDBEdit;
DBRadioGroup1: TDBRadioGroup;
DBCheckBox1: TDBCheckBox;
ActionList1: TActionList;
Chiudi: TAction;
ToolBar1: TToolBar;
DBNavigator1: TDBNavigator;
ToolButton1: TToolButton;
Inserisci: TAction;
DBRadioGroup2: TDBRadioGroup;
Panel2: TPanel;
filtro: TRadioGroup;
TTBuoni: TTable;
TTBuoniId: TAutoIncField;
TTBuoniData: TDateField;
TTBuoniCliente: TStringField;
TTBuoniDescrizione: TMemoField;
TTBuoniImporto: TCurrencyField;
TTBuoniValuta: TStringField;
TTBuoniUsato: TBooleanField;
TTBuoniNominativo: TStringField;
TTBuoniTipo: TStringField;
TTBuoniIdGiornale: TStringField;
datafiltro: TDateEdit;
Label5: TLabel;
Label6: TLabel;
IgnoraCliente: TCheckBox;
IgnoraGiorno: TCheckBox;
ScegliCliente: TRxDBLookupCombo;
Usati: TRadioGroup;
TTBuoniImportoE: TCurrencyField;
TTBuoniImportoL: TCurrencyField;
TTValute: TTable;
TTValuteValuta: TStringField;
TTValuteCambioL: TCurrencyField;
TTValuteCambioE: TCurrencyField;
TTValuteIdGiornale: TStringField;
elBuoni: TDBGridEh;
DBDateEdit1: TDBDateEdit;
Stampa: TAction;
ToolButton2: TToolButton;
PipeBuoni: TppBDEPipeline;
PrintBuoni: TppReport;
ppHeaderBand1: TppHeaderBand;
ppDetailBand1: TppDetailBand;
ppFooterBand1: TppFooterBand;
ppDBText1: TppDBText;
ppDBMemo1: TppDBMemo;
ppDBText2: TppDBText;
ppDBText3: TppDBText;
ppDBText4: TppDBText;
ppDBText5: TppDBText;
ppDBText6: TppDBText;
ppLabel1: TppLabel;
ppSystemVariable1: TppSystemVariable;
ppSystemVariable2: TppSystemVariable;
ppLine1: TppLine;
ppSummaryBand1: TppSummaryBand;
ppDBCalc1: TppDBCalc;
ppDBCalc2: TppDBCalc;
ppLabel2: TppLabel;
ppVariable1: TppVariable;
procedure ChiudiExecute(Sender: TObject);
procedure dsBuoniStateChange(Sender: TObject);
procedure InserisciExecute(Sender: TObject);
procedure filtroClick(Sender: TObject);
procedure TTBuoniAfterInsert(DataSet: TDataSet);
procedure TTBuoniAfterPost(DataSet: TDataSet);
procedure TTBuoniBeforeDelete(DataSet: TDataSet);
procedure datafiltroChange(Sender: TObject);
procedure IgnoraGiornoClick(Sender: TObject);
procedure ScegliClienteChange(Sender: TObject);
procedure IgnoraClienteClick(Sender: TObject);
procedure UsatiClick(Sender: TObject);
procedure TTBuoniCalcFields(DataSet: TDataSet);
procedure StampaExecute(Sender: TObject);
private
{ Private declarations }
public
procedure Filtra;
{ Public declarations }
end;
var
Buoni_Form: TBuoni_Form;
implementation
uses main;
{$R *.DFM}
procedure TBuoni_Form.ChiudiExecute(Sender: TObject);
begin
if (TTbuoni.State = dsEdit) or (TTBuoni.State = dsInsert) then
if MessageDlg('Salvare le modifiche ?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
TTbuoni.post ;
TTBuoni.Close ;
tTValute.CLose ;
Release ;
end;
procedure TBuoni_Form.dsBuoniStateChange(Sender: TObject);
begin
if Main_form.TTBuoni.State = dsInsert then
dbEdit2.SetFocus ;
end;
procedure TBuoni_Form.InserisciExecute(Sender: TObject);
begin
Main_form.TTBuoni.Insert ;
end;
procedure TBuoni_Form.filtroClick(Sender: TObject);
begin
Filtra ;
end;
procedure TBuoni_Form.TTBuoniAfterInsert(DataSet: TDataSet);
begin
TTBuoniIdGiornale.asString := Main_form.LogI(TTBuoni.TableName) ;
TTBuoniValuta.AsString := Main_form.TTconfigValutaStandard.AsString ;
TTBuoniData.asDateTime := Now ;
TTBuoniImporto.AsFloat := 0 ;
TTBuoniTipo.asString := 'B' ;
end;
procedure TBuoni_Form.TTBuoniAfterPost(DataSet: TDataSet);
begin
Main_form.LogM(TTBuoniIdGiornale.asString,TTBuoni.TableName) ;
end;
procedure TBuoni_Form.TTBuoniBeforeDelete(DataSet: TDataSet);
begin
Main_form.LogC(TTBuoniIdGiornale.asString,TTBuoni.TableName) ;
end;
procedure TBuoni_Form.Filtra;
var
ss : string ;
begin
// Tipo
case filtro.ItemIndex of
0 : TTBuoni.Filter := 'Tipo = ''B''' ;
1 : TTBuoni.Filter := 'Tipo = ''P''' ;
2 : TTBuoni.Filter := 'Tipo = ''R''' ;
3 : TTBuoni.Filter := 'Tipo = ''O''' ;
4 : TTBuoni.Filter := '' ;
end ;
// Usati
case Usati.ItemIndex of
0 : ss := 'Usato=''TRUE''' ;
1 : ss := 'Usato=''FALSE''' ;
2 : ss := '' ;
end ;
if ss <> '' then
begin
if TTbuoni.Filter <> '' then ss := ' and ' + ss ;
TTBuoni.Filter := TTBuoni.Filter + ss ;
end;
// Data
If not IgnoraGiorno.Checked then
if TTBuoni.Filter <> '' then
TTBuoni.Filter := TTBuoni.Filter + ' and Data=''' + DateToStr(datafiltro.Date)+ ''''
else
TTBuoni.Filter := 'Data=''' + DateToStr(datafiltro.Date)+ '''' ;
// Cliente
if not IgnoraCliente.Checked then
if TTBuoni.Filter <> '' then
TTBuoni.Filter := TTBuoni.Filter + ' and Cliente=''' + ScegliCliente.Value + ''''
else
TTBuoni.Filter := 'Cliente=''' + ScegliCliente.Value + '''' ;
TTBuoni.Filtered := (TTBuoni.Filter <> '') ;
end;
procedure TBuoni_Form.datafiltroChange(Sender: TObject);
begin
IgnoraGiorno.Checked := False ;
Filtra ;
end;
procedure TBuoni_Form.IgnoraGiornoClick(Sender: TObject);
begin
Filtra ;
end;
procedure TBuoni_Form.ScegliClienteChange(Sender: TObject);
begin
IgnoraCliente.Checked := False;
Filtra ;
end;
procedure TBuoni_Form.IgnoraClienteClick(Sender: TObject);
begin
Filtra ;
end;
procedure TBuoni_Form.UsatiClick(Sender: TObject);
begin
Filtra ;
end;
procedure TBuoni_Form.TTBuoniCalcFields(DataSet: TDataSet);
begin
if TTValute.FindKey([TTbuoniValuta.asString]) then
begin
TTbuoniImportoL.asCurrency := TTBuoniImporto.asCurrency * TTValuteCambioL.asCurrency ;
TTBuoniImportoE.AsCurrency := TTBuoniImporto.asCurrency * TTValuteCambioE.AsCurrency ;
end;
end;
procedure TBuoni_Form.StampaExecute(Sender: TObject);
begin
PrintBuoni.Print;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -