fstatselftel.cpp
来自「一套BCB6开发的电话管理系统」· C++ 代码 · 共 151 行
CPP
151 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "FStatSelfTel.h"
#include "DStatSelfTel.h"
#include "PStatSelfTel.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFrmStatSelfTel *FrmStatSelfTel;
//---------------------------------------------------------------------------
__fastcall TFrmStatSelfTel::TFrmStatSelfTel( TIniFile *pMessageIniFile,
TDMTelSys* pDMTelSys, TComponent* Owner)
: pMsgIniFile( pMessageIniFile), pDMTelSys( pDMTelSys), TForm(Owner)
{
TLocateOptions Options;
Options.Clear();
Options << loPartialKey;
if( pDMTelSys->UserRightQuery->Locate( "FormID", Variant( "FrmStatSelfTel"), Options)) {
if( pDMTelSys->UserRightQuery->FieldByName( "Write")->AsString == "No") {
PrintToolButton->Enabled = false;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TFrmStatSelfTel::StatSelfTelProcCalcFields(
TDataSet *DataSet)
{
/*
int second;
String TimeStr = StatSelfTelProc->FieldByName( "duration")->AsString;
int hIndex, mIndex;
hIndex = TimeStr.Pos( ":");
second = StrToInt( TimeStr.SubString( 1, hIndex - 1)) * 3600;
TimeStr = TimeStr.SubString( hIndex + 1, TimeStr.Length());
mIndex = TimeStr.Pos( ":");
second += StrToInt( TimeStr.SubString( 1, mIndex - 1)) * 60;
TimeStr = TimeStr.SubString( mIndex + 1, TimeStr.Length());
second += StrToInt( TimeStr);
StatSelfTelProc->FieldByName( "TDuration")->AsInteger = second;
StatSelfTelProc->FieldByName( "SDateTime")->AsDateTime
= StatSelfTelProc->FieldByName( "StartDate")->AsDateTime
+ StatSelfTelProc->FieldByName( "StartTime")->AsDateTime;
StatSelfTelProc->FieldByName( "Destination")->AsString
= StatSelfTelProc->FieldByName( "location")->AsString
+ StatSelfTelProc->FieldByName( "area")->AsString;
*/
}
//---------------------------------------------------------------------------
void __fastcall TFrmStatSelfTel::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action = caFree;
FrmStatSelfTel = NULL;
}
//---------------------------------------------------------------------------
void __fastcall TFrmStatSelfTel::FindToolButtonClick(TObject *Sender)
{
String Phone, SQLStr;
TDateTime BeginDate, EndDate;
DlgStatSelfTel = new TDlgStatSelfTel( SQLStr, BeginDate, EndDate, pDMTelSys, this);
if( DlgStatSelfTel->ShowModal() == mrOk){
CDSStatSelfTel->Close();
StatSelfTelQuery->Close();
StatSelfTelQuery->SQL->Clear();
StatSelfTelQuery->SQL->Add( SQLStr);
StatSelfTelQuery->Parameters->Clear();
StatSelfTelQuery->Parameters->ParseSQL( SQLStr, true);
StatSelfTelQuery->Parameters->ParamByName( "EndDate")->Value = EndDate;
StatSelfTelQuery->Parameters->ParamByName( "BeginDate")->Value = BeginDate;
StatSelfTelQuery->Open();
CDSStatSelfTel->Open();
DateStr = BeginDate.DateString() + "-" + EndDate.DateString();
}
}
//---------------------------------------------------------------------------
void __fastcall TFrmStatSelfTel::ExitToolButtonClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFrmStatSelfTel::StatSelfTelQueryCalcFields(
TDataSet *DataSet)
{
int second;
String TimeStr = StatSelfTelQuery->FieldByName( "duration")->AsString;
int hIndex, mIndex;
hIndex = TimeStr.Pos( ":");
second = StrToInt( TimeStr.SubString( 1, hIndex - 1)) * 3600;
TimeStr = TimeStr.SubString( hIndex + 1, TimeStr.Length());
mIndex = TimeStr.Pos( ":");
second += StrToInt( TimeStr.SubString( 1, mIndex - 1)) * 60;
TimeStr = TimeStr.SubString( mIndex + 1, TimeStr.Length());
second += StrToInt( TimeStr);
StatSelfTelQuery->FieldByName( "TDuration")->AsInteger = second; StatSelfTelQuery->FieldByName( "SDateTime")->AsDateTime
= StatSelfTelQuery->FieldByName( "StartDate")->AsDateTime
+ StatSelfTelQuery->FieldByName( "StartTime")->AsDateTime;
StatSelfTelQuery->FieldByName( "Destination")->AsString
= StatSelfTelQuery->FieldByName( "location")->AsString
+ StatSelfTelQuery->FieldByName( "area")->AsString;
}
//---------------------------------------------------------------------------
void __fastcall TFrmStatSelfTel::PrintToolButtonClick(TObject *Sender)
{
PrtStatSelfTel = new TPrtStatSelfTel( this);
PrtStatSelfTel->Visible = false;
if( CDSStatSelfTel->Aggregates->Items[0]->Value().IsNull() == false) {
int second = CDSStatSelfTel->Aggregates->Items[0]->Value().operator int();
int hour = second / 3600;
int minute = (second - hour * 3600) / 60;
second = second - hour * 3600 - 60 * minute;
String str = "";
if( hour < 10)
str = "0" ;
str += IntToStr( hour) + ":";
if( minute < 10)
str += "0";
str += IntToStr( minute) + ":";
if( second < 10)
str += "0";
str += IntToStr( second);
PrtStatSelfTel->QRLabel6->Caption = str;
}
if( CDSStatSelfTel->Aggregates->Items[1]->Value().IsNull() == false) {
float money = CDSStatSelfTel->Aggregates->Items[1]->Value().operator float();
PrtStatSelfTel->QRLabel7->Caption = FormatFloat( "##00.00", money);
}
PrtStatSelfTel->QRLabel5->Caption = DateStr;
if( pDMTelSys->GSNameQuery->Active == false) {
pDMTelSys->GSNameQuery->Open();
}
PrtStatSelfTel->ReportTitle->Caption = pDMTelSys->GSNameQuery->FieldByName( "coname")->AsString;
PrtStatSelfTel->QuickRep1->PreviewModal();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?