// 头文件包含的
TfrxDesigner *frxdsgnr1;
TfrxDBDataset *frxds;
TfrxReport *frReport;
//设计报表响应函数
void __fastcall TfrmMain::miDesignReportClick(TObject *Sender)
{
frReport->LoadFromFile(ExtractFilePath(ParamStr(0)) + "Report.fr3");
frReport->DesignReport();
}
//打印单条记录。
if(MessageBox(Handle,
String().sprintf("确定要打印单据号为 %s 的这条记录吗? ",
qryOrder->FieldByName("fBillNumber")->AsString).c_str(),
g_strAppName.c_str(),
MB_YESNO | MB_ICONQUESTION) == IDYES)
{
frReport->LoadFromFile(ExtractFilePath(ParamStr(0)) + "Report.fr3");
((TfrxMemoView *)frReport->FindObject("mmoTitle"))->Memo->Text =
qryOrder->FieldByName("fTitle")->AsString; // + " ";;
((TfrxMemoView *)frReport->FindObject("mmoBillNumber"))->Memo->Text =
qryOrder->FieldByName("fBillNumber")->AsString; // + " ";;
((TfrxMemoView *)frReport->FindObject("mmoClient"))->Memo->Text =
qryOrder->FieldByName("fClient")->AsString; // + " ";;
((TfrxMemoView *)frReport->FindObject("mmoGenBillDate"))->Memo->Text =
FormatDateTime("yyyy-mm-dd",
qryOrder->FieldByName("fGenBillDate")->AsDateTime);
((TfrxMemoView *)frReport->FindObject("mmoOpera"))->Memo->Text =
qryOrder->FieldByName("fOpera")->AsString; // + " ";
((TfrxMemoView *)frReport->FindObject("mmoBillAuthor"))->Memo->Text =
qryOrder->FieldByName("fBillAuthor")->AsString; // + " ";
((TfrxMemoView *)frReport->FindObject("mmoDiscount"))->Memo->Text =
String("让利 ¥") + FormatFloat("#0.00#",
qryOrder->FieldByName("fDiscount")->AsFloat);
((TfrxMemoView *)frReport->FindObject("Memo30"))->Memo->Text =
qryOrder->FieldByName("fAddress")->AsString;
((TfrxMemoView *)frReport->FindObject("Memo32"))->Memo->Text =
qryOrder->FieldByName("fTel")->AsString;
((TfrxMemoView *)frReport->FindObject("Memo34"))->Memo->Text =
qryOrder->FieldByName("fGath")->AsString;
((TfrxMemoView *)frReport->FindObject("Memo36"))->Memo->Text =
qryOrder->FieldByName("fIssue")->AsString;
((TfrxMemoView *)frReport->FindObject("Memo38"))->Memo->Text =
qryOrder->FieldByName("fCheck")->AsString;
((TfrxMemoView *)frReport->FindObject("Memo40"))->Memo->Text =
qryOrder->FieldByName("fHotLine")->AsString;
float fSumValue = 0.0;
qryDetail->First();
for(int i=0; i<qryDetail->RecordCount; i++)
{
fSumValue += qryDetail->FieldByName("fSum")->AsFloat;
qryDetail->Next();
}
((TfrxMemoView *)frReport->FindObject("mmoSumValue"))->Memo->Text =
FormatFloat("#0.00#", fSumValue);
((TfrxMemoView *)frReport->FindObject("mmoRMBStr"))->Memo->Text =
NumToRMBStr(fSumValue);
qryDetail->First();
frReport->ShowReport();
}