2003/10/20 (月) 19:54:22 みく  
INCM1.23a
[3271] コード簡略化計画

CEditView_Command.cpp:8574行目
bSPACE = _tcschr( m_pcEditDoc->GetFilePath(), SPACE ) ? TRUE : FALSE;

2004/1/10 (土) 21:58:02 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3351] コード簡略化計画2
CShareData_new.cpp
CShareData::ShareData_IO_2() の MRU 読み書き部

char szKeyNameTop[64];
for(省略){
  wsprintf( szKeyNameTop, "MRU[%02d].", i );
  strcpy( szKeyName, szKeyNameTop );
  strcat( szKeyName, "nViewTopLine" );
  cProfile.IOProfileData(省略);
  strcpy( szKeyName, szKeyNameTop );
  strcat( szKeyName, "nViewLeftCol" );
  cProfile.IOProfileData(省略);
  ...
}



for(省略){
  wsprintf( szKeyName, "MRU[%02d].nViewTopLine", i );
  cProfile.IOProfileData(省略);
  wsprintf( szKeyName, "MRU[%02d].nViewLeftCol", i );
  cProfile.IOProfileData(省略);
  ...
}

2004/1/11 (日) 02:09:38 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3352] コード簡略化計画2-2
CProfile::IOProfileData()の第5引数 lpDataSrc を char*型 → void*型

理由:
CShareData::ShareData_IO_2() で int* や BOOL* は char* にキャストして渡しているが,CProfile::IOProfileData()で元の型に再びキャストしているので。
効果:
CShareData::ShareData_IO_2() で IOProfileData() を使用する際,(char*)が必要無くなる。(一部 const_cast は必要だが)

DIFF差分
http://www2.wbs.ne.jp/~dskoba/sakura/1434_to_dsk20040110.diff

ついでに CProfile::IOProfileData() で bool が扱えるようになってます。

2004/1/11 (日) 02:20:31 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3353] Re:コード簡略化計画2-2
ファイル間違えました。
DIFF差分
http://www2.wbs.ne.jp/~dskoba/sakura/1434_to_dsk20040110.lzh

2004/1/11 (日) 17:48:41 もか  
INCM1.23a
[3355] Re2:コード簡略化計画2-2
>CProfile::IOProfileData()の第5引数 lpDataSrc を char*型 → void*型
>(char*)が必要無くなる。

ついでにこういうのはどうでしょう?
(可能なら)第4引数のREGCNV_***の指定をなくしたものを型ごとに定義します。
intなどの参照型でも書き換えられるものは、最後の引数も無くします。
CProfile::IOProfileData( BOOL, LPCTSTR, LPCTSTR, char*, int );
CProfile::IOProfileData( BOOL, LPCTSTR, LPCTSTR, int* );
...
新設した関数群は、従来のまたはlpDataSrcをvoid*に変更したCProfile::IOProfileDataに処理を依頼する。

2004/1/12 (月) 01:35:58 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3357] コード簡略化計画2-3
▼ もかさん
> (可能なら)第4引数のREGCNV_***の指定をなくしたものを型ごとに定義します。
> intなどの参照型でも書き換えられるものは、最後の引数も無くします。


以前作った STL 版 CProfile に組み込んでみました。

1.4.3.4からのDIFF差分
http://www2.wbs.ne.jp/~dskoba/sakura/1434_to_dsk20040111.lzh


これを組み込まないとして,修正箇所。
CShareData_new.cpp の IOProfileData()の引数。
・&m_pShareData->m_Types[i].m_szHokanFile
・&m_pShareData->m_Types[i].m_szKeyWordHel

pFile
・&m_pShareData->m_Types[i].m_szKinsokuHea
d
・&m_pShareData->m_Types[i].m_szKinsokuTai
l
先頭の&を削除。

・&m_pShareData->m_Types[i].m_cLineTermCha
r
で使っている nRegCnvID。REG_BINARY (CProfile で未定義) から REGCNV_CHAR2SZ に変更。

2004/1/14 (水) 00:10:36 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3358] Re:コード簡略化計画2-4
1.4.3.4からのDIFF差分
http://www2.wbs.ne.jp/~dskoba/sakura/1434_to_dsk20040113.lzh
・1434_to_dsk20040113.diff
元々のCProfileで作成。ただしBOOLはboolに変更されている。
・1434_to_dsk20040113stl.diff
STL版のCProfile。例外処理を入れてみました。

修正はこれで止めておきます。

>REG_BINARY (CProfile で未定義)
訂正:REG_BINARY (REGCNV_CHAR2SZ と値が等しい)

2004/1/25 (日) 14:36:41 げんた  
INCM1.23c
[3369] Re2:コード簡略化計画2-4
STL版取り込んでみました.

他にも何カ所かSTL使っているところがあるのですがバイナリサイズがどんどん大きくなってしまうのが悩みの種です.
mapが結構おおきいのかなぁ.

2004/1/25 (日) 21:32:58 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3371] バイナリサイズ
▼ げんたさん
> 他にも何カ所かSTL使っているところがあるのですがバイナリサイズがどんどん大きくなってしまうのが悩みの種です.
> mapが結構おおきいのかなぁ.


自分で書いておいてなんですが sstream,fstream はやめた方が良いですね。
CProfile でしか使っていないですし。

2004/1/18 (日) 00:20:30 dskoba  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[3363] コード簡略化計画3 CCommandLine
CCommandLine の private メンバ関数が static になっていて,メンバ変数に引数経由でアクセスしていたので static をやめてメンバ変数を直接扱うように変更。

1.4.3.4 からの diff
http://www2.wbs.ne.jp/~dskoba/sakura/ccommandline_dsk20040117.lzh

INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.010]