////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    MF 2005/03/14(Mon) No.298
    zMF 1975
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
/*                QOOTNRPSij̍XV                */
http://www.kab-studio.biz/index.html

EItC~[eBOI
@ItC~[eBO܂[Bڍׂ͂储ʂȓLRPR
ɂāB
[ 储ʂȓLQOOTNRPR ]
http://www.kab-studio.biz/nikki2/n17_03a.html#20050313

EقƂ́[O`RɂPy[Wǉ
@Ol̃zbgn[u O`R P.09 ǉI
[ Ol̃zbgn[u O`R y^V  LNz ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html


////////////////////////////////////////////////////////////////////
/*                        储ʂȓL                        */
http://www.kab-studio.biz/nikki2/index.html

2005/03/06 (Sun)
@ߑO͂[ƁBߌ͂ՂƂ̍XVƂ̂ƁAobNAb
vBقƂ́[O`R`ĖÔŃhoVX֕ĂB
radiance łƒdDVD-RzCg[xwBT
uGJava{vɎt܂BȂ̉񓚂͍B܂ł
ȂŗDŁB

2005/03/07 (Mon)
@x̓pXBߑO͒PǉBߌR玕҂Ő_o𔲂BA
Ă͖GJava{̃LNBTLƂ܂BSōs܂B
kab-studio.com p~ŃqbgĂccBďłĂH@{
ȂȂ񂾂ǁBă}WJI[vB

2005/03/08 (Tue)
@QȎɌBߑO͒PǉAߌ́uGJava{vcc
ȂBׂ̃ACfBAԁBAmazon A\VGCgg
EFuT[rXBvO~OɕCccBĉԕǂƐE
PB

2005/03/09 (Wed)
@ȂBߑO͂̂тAߌ͉lցBCȂBC
ɂH@ẮB Amazon A\VGCgĂ܂Bŋ
B

2005/03/10 (Thu)
@ߑO͐󂵂ăV[тāBߌォX܂ Machician B
łDȍiB Machician ܂肪΂Ă݂悤ȁB
|WVg[NB

2005/03/11 (Fri)
@ɑ̒ȂBNƓǏBAR͕sB
͂܂܂[hŁBa@܂sȂB JavaA2Z ̃oOB OR 
 AND BS玕ҁBAĂPǉBAE
BvŁBG^[eCgn Machician ƔŌ̂ŁB

2005/03/12 (Sat)
@BXɋNăV[тĂ͂Hׂ JavaA2Z 
̒PǉČߌ͂̂т肵ĉlsăohtH[XGO[
\񂵂ċARveB[Nǂ referer ̃`FbNāBl
sĂԂ Machician ̃ACfBAāBĉtƃ^ubgB

////////////////////////////////////////////////////////////////////
/*                         A                             */
http://www.kab-studio.biz/Novel/Fuga/index.html

@\́@z鑶݁@|R|

uȂŏĂȂ̂ȁccv
@PK̃RrjŃpIԏNA̘eŃVlsB
uƂ͊ȒPAĉ_A͑SʍUv
uŋ߁AȂ񂶂ȂĎv񂾂ǁv
u܂v
uȂƂ_͂łȂƎvB䍁ɔv
uccĝĂȂBS͂œ悤ɂȂ
΁ccv
uƍ{IɈႤƎvv
uHv
@ȂB
@Ȃ̂ɁAqĂB
u̗͂́ABƂَ͈AāAv
u܂v
@Ztǂނ悤ɂܓB
ul͂`oB͐lԂB̍͑傫v
uB͐lԂȂ́Hv
u搶ČĂȂBB`o͈`qqgƂ͈قȂ
񂾂v
u͂Ȃ菊ƂĂ邾ŁA{IɕKvȎł͂ȂA
Ắv
uVlv
@NɂށB
ucc܂ȂƂĂ߂ȂBA܂v
@Wł𕥂ĂARrjoB
ůC̒ɒł́AVlHv
u~iN[ĝƁH@ƔׂAꂱ`o̓qgȊỎ҂
Ȃ́BB͉y΂Ȃ񂾂v
uccv
uF߂Ȃ͕̂邯ǁBłABƓxƂĂAy
Ƃ͎vĂȂBv
@Vl͂ԂB
u΂āA𒴂v
                                                              ()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wAǂśHx
@ѓc͓ȂB
wHx
wccccx
wccx
@ڂB

Machician Tb ҈Ƃ D]AڒI
[ Machician ]
http://d.hatena.ne.jp/kab_studio/20040823#1093276416
[ Machician{ݒ ŐVꗗ ]
http://d.hatena.ne.jp/kab_studio/searchdiary?word=*%5BMachician
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
/*                           JavaA2Z                              */
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

ǉEXVP
new
Q
CX^X
boolean

ftHgl
l
toString
K\
u
compareTo
==
==Zq
equals
񃊃e
e

String
z
Hashtable
nbVR[h
Vector
vf
CfbNXio[
List

////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

@Version 14.31
Xbh_CAOɕ\

uāA͎ĉRv

EΏۃtH_̕\
Eʂ̕\
EIɃLZ_CAO@\

ûRCɉ܂v
whAȊȒPɂł́Hx
umIɂ͂܂ł̂̂p邾ˁBAׂƂ
͋CtȂႢȂǁccāA܂̓\[XR[h炢
Ă SearchDlgDlg.cpp ͂̕Ȋv

// SearchDlgDlg.cpp
//  ...

// CountMatchFile()  StartCountMatchFile() ͍폜B

void CSearchDlgDlg::OnSearchStart() 
{
    // yz_CAO\܂B
    CSearchingDlg cDlg;
    cDlg.DoModal();
    // ʂo͂܂B
    m_cMatchNumStr.Format( "%d", GetMatchNum() );
    UpdateData( FALSE );
}

wccցH@폜Hx
uB@\{̂́A SearchDlgDlg.cpp ̕Ɉڂ܂v
wAȂŁHx
uꂩǉ@\̂v

EΏۃtH_̕\
EIɃLZ_CAO@\

úyz_CAOA܂ SearchDlgDlg.cpp ̕v
wt@C̕₷ĂƁHx
uƁBꂵȂƁȂO݂Ɋ֐ČĂяoĂ
ȂႢȂv
wA߂ǂccx
uŁA SearchDlgDlg.cpp v

// _CAÕEBhEnhB
HWND g_hSearchingDlgWnd = NULL;

// GfBbg{bNX̃EBhEnhB
HWND g_hEditFolderWnd = NULL;

// Xgbp[B
bool g_bIsStop = false;
// ̃Xgbp[Iɂ֐B
void SetStopOn()
{
    g_bIsStop = true;
}

// vB
int g_iMatchNum = 0;
// v擾܂B
int GetMatchNum()
{
    return g_iMatchNum;
}

/*
    w肵tH_t@C܂B
    ߂lƂĈvԂ܂B
 */
int CountMatchFile
    ( const char * const p_pchFolderPath
    , const char * const p_pchFileName 
    )
{
    int iNum = 0;

    // Xgbv|CgPB
    if( g_bIsStop == true )
    {
        return 0;
    }

    // tH_JgfBNgɂ܂B
    BOOL bRes;
    bRes = SetCurrentDirectory( p_pchFolderPath );
    if( bRes == FALSE )
    {
        // tH_݂܂B
        return -1;
    }

    // tH_݂̂ŃEBhE^CgZbg܂B
    if( ::IsWindow( g_hEditFolderWnd ) )
    {
        // EBhÊ݂ŕ\܂B
        ::SetWindowText( g_hEditFolderWnd, p_pchFolderPath );
    }

    CStringArray cFolderStrAry;

    // ŏ̃t@C擾܂B
    WIN32_FIND_DATA stWin32FindData;
    HANDLE hHandle = NULL;
    hHandle = FindFirstFile( "*", &stWin32FindData );
    do
    {
        // Xgbv|CgQB
        if( g_bIsStop == true )
        {
            return iNum;
        }

        if( stWin32FindData.dwFileAttributes 
                & FILE_ATTRIBUTE_DIRECTORY )
        {
            // tH_Ȃ̂ŎĂ܂B
            cFolderStrAry.Add( stWin32FindData.cFileName );
        }
        else if( _stricmp
                ( stWin32FindData.cFileName
                , p_pchFileName 
                ) == 0 )
        {
            // t@Cv܂B
            ++iNum;
            TRACE( "%s\n", p_pchFolderPath );
        }

        // ̃t@C擾܂B
    }while( FindNextFile( hHandle, &stWin32FindData ) );

    // nh܂B
    FindClose( hHandle );

    // tH_ɑ΂čċAĂяo܂B
    for( int iF1 = 0; iF1 < cFolderStrAry.GetSize(); ++iF1 )
    {
        if    (
            ( cFolderStrAry.GetAt( iF1 ) == "." ) ||
            ( cFolderStrAry.GetAt( iF1 ) == ".." )
            )
        {
            // .  .. ̓XLbv܂B
            continue;
        }

        // tH_A܂B
        CString cPathStr = p_pchFolderPath;
        if    (
            ( cPathStr.GetAt
                ( cPathStr.GetLength() - 1 ) != '\\' ) ||
            (
                ( cPathStr.GetAt
                    ( cPathStr.GetLength() - 1 ) == '\\' ) &&
                ( _mbsbtype
                    ( (const unsigned char *)(LPCTSTR)cPathStr
                    , cPathStr.GetLength() - 1 
                    ) == 2 )
            )
            )
        {
            // Ō \ Ȃ΂܂B
            cPathStr += "\\";
        }
        cPathStr += cFolderStrAry.GetAt( iF1 );
        // ċAĂяo܂B
        iNum += CountMatchFile( cPathStr, p_pchFileName );
    }

    return iNum;
}

void StartCountMatchFile( void *p_p )
{
    // Jn܂B
    g_bIsStop = false;
    int iCount = 0;
    iCount = CountMatchFile( "D:\\", "readme.txt" );

    // ʂZbg܂B
    g_iMatchNum = iCount;

    // _CAO܂B
    if( ::IsWindow( g_hSearchingDlgWnd ) )
    {
        // EBhÊ݂ŕ܂B
        ::SendMessage
            ( g_hSearchingDlgWnd
            , WM_COMMAND
            , MAKEWPARAM( IDCANCEL, 0 )
            , 0
            );
    }
}

void CSearchingDlg::OnCancel() 
{
    // Xgbv܂B
    SetStopOn();

    CDialog::OnCancel();
}

BOOL CSearchingDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();

    // _CAÕEBhEnhZbg܂B
    g_hSearchingDlgWnd = GetSafeHwnd();
    
    // GfBbg{bNX̃EBhEnhZbg܂B
    g_hEditFolderWnd = ::GetDlgItem( GetSafeHwnd(), IDC_E_FOLDER );

    // Jn܂B
    HANDLE hThread;
    hThread
        = (HANDLE)_beginthread( StartCountMatchFile, 0, NULL );

    return TRUE;
}

wIx
uɁA SearchDlgDlg.h Ɋ֐錾ЂƂǉv

// SearchDlgDlg.h
// ...

class CSearchingDlg : public CDialog
{
// ...
};

// ̉̍sǉB
int GetMatchNum();

w[ȂÕt@CĂяoăcˁx
uƂ킯ŎɑIv
wIHx

/*
    Preview Next Story!
*/
wR[h̏Љ[Hx
uꂾȂ̂ɁAsȂI[o[Ă邵v
wȂ񂩌v搫Ȃˁ[x
u߂ccv
wƂ킯Ŏx
 Version 14.32 Xbh_CAOɕ\Ȃ 
uɂÂIv
w܁A͐ooĂƂˁx
u䂱Ɓv

////////////////////////////////////////////////////////////////////
/*                QOOTNRQPij̍XV                */
http://www.kab-studio.biz/index.html

EقƂ́[O`RɂPy[Wǉ
@Ol̃zbgn[u O`R P.10 ǉ\B

////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.biz/nikki2/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

