|
// *********************************************************
// コンストラクタ
// *********************************************************
App_01::App_01( HWND hDlg )
{
// ダイアログオブジェクト作成
Dlg = new LboxDlg( hDlg );
Dlg->ChangeStyle( WS_MINIMIZEBOX | WS_SYSMENU, 0 );
Dlg->ChangeExStyle( WS_EX_APPWINDOW, 0 );
Dlg->StatusCreate( 0 );
// プログラムID
Dlg->EditSetText( IDC_PROGID, "HP710" );
// 項目属性設定
// ページあたりの行数
this->nRowMax = 30;
// IE 印刷オブジェクト
IEPrt = new LboxIEPrint();
}
App_01::App_01()
{
}
App_01::~App_01()
{
delete IEPrt;
delete Dlg;
}
// *********************************************************
// 出力実行
// *********************************************************
BOOL App_01::DataOut( void )
{
BOOL bRet;
BOOL bFirst;
LboxString FilePath;
if ( !CurDb->Connect() ) {
Dlg->MsgOk("データベースの接続に失敗しました ");
return false;
}
// ドキュメント名(HTML) を指定して印字開始
IEPrt->StartDoc( "商品分類一覧" );
Query->operator = ("select * from 商品分類マスタ order by 商品分類");
bRet = CurDb->Query( Query );
bFirst = true;
while( bRet ) {
if ( bFirst ) {
bFirst = false;
this->HeadPrint();
}
if ( this->nRow > this->nRowMax ) {
IEPrt->NextPage(); // 改ページ
this->HeadPrint();
}
this->DetailPrint();
bRet = CurDb->Query( );
}
// 印字終了
IEPrt->EndDoc();
CurDb->DisConnect();
// ドキュメント名(HTML) を指定して印刷プレビュー
IEPrt->ReportPreview( "商品分類一覧" );
return true;
}
// *********************************************************
// タイトル部出力
// *********************************************************
void App_01::HeadPrint( void )
{
// 1行目
Work->Repeat( " ", 26 );
Buff->operator = (Work);
Buff->operator += ("** 商品分類一覧 **");
Buff->operator += ("\n");
IEPrt->Write( Buff ); // 出力
// 2行目
Buff->operator = ("\n");
IEPrt->Write( Buff ); // 出力
// 3行目
Buff->operator = ("商品分類 名 称");
Buff->operator += ("\n");
IEPrt->Write( Buff ); // 出力
// 4行目
Work->Repeat( "-", 53 );
Buff->operator = (Work);
Buff->operator += ("\n");
IEPrt->Write( Buff ); // 出力
// 次に出力する行
this->nRow = 5;
}
// *********************************************************
// 明細部出力
// *********************************************************
void App_01::DetailPrint( void )
{
CurDb->GetText( "商品分類", Item );
Buff->operator = (Item);
Work->Repeat( " ", 8 );
Buff->operator += (Work);
CurDb->GetText( "名称", Item );
Buff->operator += (Item);
Buff->operator += ("\n");
IEPrt->Write( Buff ); // 出力
(this->nRow)++;
}
| |