| |
// *******************************************************************
// 改ページ処理
// *******************************************************************
void App::EditNextPage()
{
int i;
if ( this->nRowCnt > this->nRowMax ) {
// 1ページあたりの最大行まで改行する
for( i = this->nRowCnt; i <= this->nRowParPage; i++ ) {
fprintf( this->fp, "\n" );
}
EditHeader( ); // ヘッダー印刷
}
}
// *******************************************************************
// ヘッダーの編集
// *******************************************************************
void App::EditHeader()
{
nPage++;
LboxString str = EditNumberFormat( nPage, 3 );
str.Insert( " ** 所属別支給額合計表 ** page:" );
fprintf( this->fp, "%s\n", str.szLboxString );
fprintf( this->fp, "\n" );
fprintf( this->fp, "%s\n", " CD 氏名 給与 手当" );
fprintf( this->fp, "%s\n", "-------------------------------------------" );
nRowCnt = 5;
}
// **********************************************************
// ブレイクヘッダーの編集
// **********************************************************
void App::EditBreakHeader( )
{
LboxString LWork;
this->Lview->GetColumnText( 1, LWork );
fprintf( this->fp, "所属:%s\n", LWork.szLboxString );
// 行カウントアップ
nRowCnt++;
}
// **********************************************************
// 明細の編集
// **********************************************************
void App::EditDetail( )
{
LboxString Line("");
LboxString LWork;
// 社員コード
this->Lview->GetColumnText( 2, LWork );
Line += " " + LWork;
Line += " ";
// 氏名
this->Lview->GetColumnText( 3, LWork );
Line += EditStringFormat( LWork, (long)7 );
Line += " ";
// 給与
this->Lview->GetColumnText( 4, LWork );
Line += EditNumberFormat( LWork, (long)9 );
Line += " ";
// 手当
this->Lview->GetColumnText( 5, LWork );
Line += EditNumberFormat( LWork, (long)9 );
fprintf( this->fp, "%s\n", Line.szLboxString );
// 行カウントアップ
nRowCnt++;
}
// **********************************************************
// 合計の編集
// **********************************************************
void App::EditSum( )
{
LboxString LWork;
LWork.Repeat( " ", 24 );
LWork += "合計:";
LWork += EditNumberFormat( nSum, 12 );
fprintf( this->fp, LWork );
nSum = 0;
// 行カウントアップ
nRowCnt++;
}
// **********************************************************
// 数値編集
// **********************************************************
LboxString App::EditNumberFormat( int nData, int nCol )
{
LboxString LWork;
LboxString LSpace;
LWork = nData;
LSpace.Repeat( " ", nCol );
LWork.NumberFormat( );
LWork.Insert( &LSpace );
LWork.Right( nCol );
return LWork;
}
LboxString App::EditNumberFormat( LboxString &sData, int nCol )
{
LboxString LWork;
LboxString LSpace;
LWork = sData;
LSpace.Repeat( " ", nCol );
LWork.NumberFormat( );
LWork.Insert( &LSpace );
LWork.Right( nCol );
return LWork;
}
// **********************************************************
// 文字列編集
// **********************************************************
LboxString App::EditStringFormat( LboxString &sData, int nCol )
{
LboxString LWork;
LboxString LSpace;
LWork = sData;
LWork.Replace( " ", " " );
LSpace.Repeat( " ", nCol );
LWork += LSpace;
LWork.Left( nCol * 2 );
return LWork;
}
| |