C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 95 を表示中)
■57034 / )  コーディングルール(C#とは限らず)
□投稿者/ TAKE (11回)-(2011/02/09(Wed) 14:11:05)

分類:[C#] 

基本的に同じようなコードが何度も書かれているのは
好ましくないと思いますが
たとえば帳票を出力するプログラムがあったとします。
以下のようなイメージです。



//総ページ数を取得する
PageCnt = 1;
Gyo = 0;
for (int i = 0; i < data.Count; i++)
{
Gyo ++;
//改ページ判定(キーまたはページ内最大行超えたら)
if (oldkey != newkey || (gyo % 20) == 1)
{
gyo = 0;
PageCnt ++;
}
}
TotalPage = PageCnt;



//帳票を出力する
PageCnt = 1;
Gyo = 0;
for (int i = 0; i < data.Count; i++)
{
Gyo ++;

//改ページ判定(キーまたはページ内最大行超えたら)
if (oldkey != newkey || (gyo % 20) == 1)
{
gyo = 0;
PageCnt ++;
NewPage();
}

ReportPrint();
}


総ページ数が知りたいためだけに
帳票出力部分があるないだけが違う
ロジックを続けて使用しています。
こういう場合どのように書くのが望ましいでしょうか?
帳票出力ロジックでは
改ページなどの判定する必要がないように
データ加工をする方法がよいのでしょうか?



返信 編集キー/


管理者用

- Child Tree -