対象ファイルの中の文字列を検索

  処理部分を別関数にする



宣言
  
// このコード モジュールに含まれる関数の前宣言:
ATOM			MyRegisterClass( HINSTANCE hInstance );
BOOL			InitInstance( HINSTANCE, int );
LRESULT CALLBACK	WndProc( HWND, UINT, WPARAM, LPARAM );
LRESULT CALLBACK	About( HWND, UINT, WPARAM, LPARAM );
DWORD WINAPI SearchFunc( LPVOID lpParameter );
void StringSearch( LboxString *Path, LboxString *Target );
  

呼び出し
  
			   if ( Fs.IsText( &Path ) ) {
					LboxString Target;
					Target.operator = ("=");
					StringSearch(
						&Path,
						&Target
					);
			   }
  

本体
  
void StringSearch( LboxString *Path, LboxString *Target )
{
	Lview2->AddRow();
	Lview2->SetColumnPrintf( 0, "%4lu", Lview2->Count() );
	Lview2->SetColumnText( 1, Path );
}
  



  StringSearch 関数に処理を実装



  
void StringSearch( LboxString *Path, LboxString *Target )
{
	LboxTextFile Txt;
	LboxString Buffer;
	Buffer.Resize( 10000 );
	int nRow;

	if ( !(Txt.ReadOpen( Path )) ) {
		return;
	}
	nRow = 0;

	while( Txt.Get( &Buffer ) ) {
		nRow++;
		if ( Buffer.Search( Target ) ) {
			Lview2->AddRow();
			Lview2->SetColumnPrintf( 0, "%lu", nRow );
			Lview2->SetColumnText( 1, Path );
		}
	}

	Txt.Close();

}
  



  ヒットした行のテキストを表示

  
			Lview2 = new LboxListview(
				hWnd,
				LBOX_LISTVIEW_CREATE
			);
			Lview2->Grid( );
			Lview2->SetFont( 0, 10, false );
			Lview2->AddColumn( "" );
			Lview2->AddColumn( "テキスト" );
			Lview2->AddColumn( "ファイル名" );
			Lview2->Fit();
  

  
	while( Txt.Get( &Buffer ) ) {
		nRow++;
		if ( Buffer.Search( Target ) ) {
			Lview2->AddRow();
			Lview2->SetColumnPrintf( 0, "%lu", nRow );
			Lview2->SetColumnText( 1, &Buffer );
			Lview2->SetColumnText( 2, Path );
		}
	}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ