/*
    KAB-studio.h
        @j`a|ŐTXVe
        i[ꂽwb_[t@Cłi΁jB

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    MF 2000/12/18(Mon) No.087
    zMF 3840i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

/*              NNn̂m点                                */
@KAB-studio.h̔NŏIsi܂莟j͂PQQSɂȂ܂B
Nnŏ̔s͂PWɂȂ܂B
@ STL & iostream ̔NŏIs͂PQQVɂȂ܂BNn
ŏ̔s͂PPOɂȂ܂B
@z[y[W̍XV͑؂Ȃs܂BLɔNn̈AɗĂ
ƂꂵI


/*              QOOONPQPWij̍XV                */
http://www.kab-studio.com/

Ej[o[vn
@܂ŖڎƂċ@\Ăj[o[iz[y[W̏㕔ɂ
t[j蕥܂BuEU Java XNvg̐ݒŎg
Ȃ悤Ȃ̂ŁB
@̂߂ԃX^Sy[W኱܂B\͂P{B
܂ł̊ԁAꂵ邩܂񂪌䗹̒B
[ `[ʂȓLQOOONPQX ]
http://www.kab-studio.com/nikki2/n12_12a.html#20001209


/*                        `[ʂȓL                        */
http://www.kab-studio.com/nikki2/

2000/12/10 (Sun)
@vԂɍZ̗̎FlBƐHׂ{[OBȂ񂩍
łˁAYBȂ񂩓BāAIt~͂Ԃ񂵂Ȃ()B

2000/12/11 (Mon)
@} CGI ̑gݒI@xbm  GIF ւ̕ϊςρ[ƁB
CD-R ̏Ă݂ɎԎA{[Oƃ{EÖႢƂȂ
ςˁB

2000/12/12 (Tue)
@̂т肵ĂQTqbgBăn[gII@Ȃ_c
Nn[gɁI

2000/12/13 (Wed)
@ɍsĖ{܂BR~bNX⌴W𔃂AƑ_p
{TBĂɐオn[gI@ł悤
Ȗ肶Ȃ()B

2000/12/14 (Thu)
@Ă܂Ah[LXgŃMeBMA[NXII@āA{
̎ĂȂ̂ɁijB{́{VM{WCXeBbNłRA
͂̓ccB

2000/12/15 (Fri)
@g[jOn߂܂BCXg`܂BSp{p͌Âł()B

2000/12/16 (Sat)
@TCgɃX^[gBN܂uNUԂv̂P
OE㔼Bčӂ̓fEWELbg`I


/*                         L̗JT                             */
http://www.kab-studio.com/Programing/KabuU/


2000/12/10 (Sun)
ւ
ATL/WTL ̃[OXg
http://www.freeml.com/ml_view.php?ml=wtl&pg=1

2000/12/11 (Mon)
k̋tAt@CTCY傫ASY͂Ȃ̂
Rs[h~ɖ𗧂
ւ
bZ[W{bNX\Ȃꍇɂ́H
bZ[W{bNX_CAÕEBhENX #32770 
VXetbNƂ CBT tbNZbg
WM_CLOSE Ε邩
ւ
uVK쐬ṽj[̍́H
IShellFolder::GetUIObjectOf()  IContextMenu ᖳ
C:\WINDOWS\ShellNew tH_ɂt@C
WXg HKEY_CLASSES_ROOT gq̒ ShellNew 

2000/12/12 (Tue)
Perl ̘b
NN6  xbm \łȂ
xbm 摜tH[}bg C `̍\
GIF ̓tH[}bg𒼐ڑ삷͖̂ʓ|
Codian ̂̂ Perl ɈڐA
binmode  foreach( <hFile> ) { print; } 邾
C łł邱Ƃ Perl łǂ΂̂
@OneData = split( //, $CountData ); łP

2000/12/13 (Wed)
x

2000/12/14 (Thu)
vO~O
CX^Xnh 0x00400000 ̈Ӗ
x[XAhX\
ς VC ͓

2000/12/15 (Fri)
ՂƂ폑
Spy++ ɂ

2000/12/16 (Sat)
ق߂ԍ
͋C͋ VB 
c[o[̃{^Ń_CAO\^\
c[o[̃{^uςȂvɂɂ TB_CHECKBUTTON
WTL  CToolBarCtrl NX
c[o[̃EBhEnh
CMainFrame::OnCreate()  CreateSimpleToolBarCtrl() Ăяo
ATL/WTL ̓EBhEnhƂ̊֌WƕG


/*             vO~OET̒ǉP                 */
http://www.kab-studio.com/Programing/Dictionary/

EǉPF
0x DirectInput x[XAhX [hACg

ET̏󋵁F
@͂SPł()BĂȂA̒ł
u܂[vB܁ATˁB


/*                       ؂̗JT                           */
http://www.kab-studio.com/Programing/KanaU/

ev[g
#07 ev[g̑̌^Ƃ̃I[o[[h

@ÓAev[g̐ŃI[o[[hłĂƂЉ
܂B́uႤ^vł̃I[o[[hɂďЉ܂B
@uev[gȂ񂾂A^̈ႢŃI[o[[hł킯Ȃv
ĎvȂǁA͂łłBƂ΂ȂӂɁB

template< class type_Normal >
void PointerOverLoad( type_Normal p_ )
{
    printf( "type_Normal: %d\n", p_ );
}

template< class type_Pointer >
void PointerOverLoad( type_Pointer *p_p )
{
    printf( "type_Pointer: %X\n", p_p );
}

@ȂӂɁAʂ̌^ƁA|C^^ƂŃI[o[[h邱Ƃ
łBǂĂԂ́AĂяoƂɓnŌł܂B

    int i = 100;
    PointerOverLoad( i );    // type_Normal: 100
    PointerOverLoad( &i );    // type_Pointer: 64FDF0

@ɂA const ̂ȂƂłI[o[[hł܂B̎dg
݂́uNX烁o֐ĂтāA|C^^牉Zq
ŏv݂ȂƂƂɎg܂B
@cc̗A VC6 u܂ŃI[o[[hłȂv
ăG[ɂȂႤˁB gcc  bcc Ȃ炤܂̂ɁBہAe
v[g֌W VC6 ƎgȂ@\̂ˁB
@A VC6 łg@\B̃I[o[[h́A֐ev[g
Ȃ֐AłłłB

void PointerOverLoad( double p_d )
{
    printf( "double: %f\n", p_d );
}

@Ăʂ̊֐ꍇɁA

    PointerOverLoad( 1.1 );    // double: 1.100000

@ČĂяo΂̊֐Ăяo܂B֐ev[g͗̕D
ʂƂĂƂˁB̂܂gƂŁǍ^ɓ
ꉻł悤ɂȂ܂BT̓CX^XɂĂӂсB
ˁB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wց[Aj[\ɗ񂾂ˁBtIx
uΔ͂ƂƂāA͎g₷̂ȁHv
w͎gɂȁ[B[j[o[֗x
ul Java XNvg؂Ă邩A̕v
w󂿂̂x
uׂAʂɂRv
włA܂Ńj[̑z[y[Wˁx
u悤ATCg}bvAɕ\̃j[āv
wx@\tłBłGȂ炢ˁx
uǂƁHv
wKw[ȂBy[WɂQARNbNōsłx
u͂ˁAʂȂyvOzłPy[W񂾂낤ǁv
w\̈ԍŏɃj[Ă̂ÂȂ̂ȁx
uΔ̕\CXg̕ɂȂǂˁv
włSgSɂ̊炪̂āAȂ񂩂[x
u΁Iv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/

@Version 5.22
NX

uāAubVAbv҂ŏIłv
wAƏIccŁÁHx
u܂ԂƂɂȂ邯ǁv

    char chDest[256];

w while ̊Oɏo΂񂶂Ȃ́Hx
u͂BƂ͕ʂɁAł char ̔zgĂ邯ǁA
@gĂ݂܂傤v
wĂ CString ̂ƁHx
uA܂łxgĂ邱̃NXv
w Ver 5.19 ( No.084 ) łgˁx
u܂ݍŒĂقǉΔxȂv
w[x
u͂肭炢ŁB܂Å{ char chDest[256]; 
̔zB CString łς܂v
wςȂ́Hx
uςȂłB CWnd ̒ HWND m_hWnd ẲĂHv
wEBhEnhˁBA CString ̒ɂ͂̔z񂪓
ĂĂƂȂ񂾁x
uƁB[Áqʂ̔zrƁA肪܂v
wH@ATCYςȂIIx
u䂱ƁB̗Ⴞ 256 Ȃˁv
włA char chDest[i]; ƂĂ̂̓_Ȃ񂾂ˁx
uAʂ̕@g܂Bt@CgƂɂƐGꂽ
ƎvǁAϐDȂƂɍčDȂƂɍ폜@v
wI@A fopen()  fclose() ݂ȁx
udg݂ C++ ɂ͔Ă܂B new  delete v

    int i;
    char *pchDest = new char[256];    // ƁB
    while( 1 )
    {
        cIFStrm
            >> i;
        if( cIFStrm.eof() )
        {
            break;
        }

        if( cIFStrm.fail() )
        {
            MessageError( IDS_E_NONINT );
            return;
        }
        sprintf( pchDest, "%d", i );
        m_cDataLstBox.AddString( pchDest );
    }
    delete[] pchDest;    // B

w܂ĂƂȂςˁx

    char *pchDest = new char[256];    // ƁB

w = ̍͂ƓAPɃ|C^Ă邾ˁx
uE new ́A C++ ̉Zq̂ЂƂv
wZqȂ́Hx
uA sizeof ZqłBƓv
w Ver 5.07 ( No.072 ) łȂƌĂˁx
u new ͂̏łȂϐ邱Ƃł܂BƂ΂̗
 char ^̕ϐQTU؂ɍႢ܂v
wꂪzƂĎgĂƁHx
uAꂽϐ̓ɂƕłAăC[Wȁv
w|C^Ŏ󂯎񂾁x
u̗ႾƕɂAЂƂȒPȗЉƁv

    int *pi = new int;

wA int ^ϐccPẮHx
uA [] Ȃ΂PBŁA|C^Ŏ󂯎Ă
v
w󂯎Ăx
uvoāAt@C|C^v
w|C^Ix
uqϐ̓IrƂɂ́Aɂ̕ϐ̗̈
mۂāÃ|C^󂯎Ăő삷AČ`ʁv
wȂŁHx
uϐqȂȂƂr\Ȃv
wHHx
uʂ̕ϐȂA肢łǂłgłv
wˁAɂȂȂȂˁB fclose() łȂÂƂ͎g
Ȃ񂾂ccI@A NULL ΂񂾁Ix
u䂱ƁB|C^ƂĎĂāAA NULL āq
Ă܂rĂƂɂł킯B Ver 5.11 ( No.076 ) łˁv
wƂɕ֗Ȃ񂾁x
uɁAqTCYςrꍇɂ͓AhXɂȂȂƂ
v
wǂ䂱ƁHx
uPQWTCŸ̗ATCYȂȂAQTUTCY̗
ăRs[APQWTCY̕폜v
wPQWTCỸAhXƂQTUTCỸAhX͈ႤA|C^
̒̃AhXu邱ƂɂȂႤ񂾁x
uƁB|C^v
wɊmۂāA|C^ƂĎ󂯎AŃ|C^őA
ˁx
uĝ̓|C^ƂĂ̂܂܉CȂg܂v
wAgĂˁBɕz̓|C^ƂĎgقƂǓx
uŁAŌɉB delete Zqł܂v

    delete[] pchDest;    // B

w delete ̂Ƃ [] ́Hx
uQȏmۂ [] t邫܂ɂȂĂ邩BAP́v

    int *pi = new int;

ȕꍇɂ́v

    delete pi;

ułnjv
wȂ񂩂Ƃ₱ccǁA͂ĂȓȂ
Hx
uꂾȂˁBƂ΁v

    char *pch2 = pchDest;

uă|C^Rs[āv

    delete pch2;

wQx폜ႤIIx
u䂱ƁBɁÅ֐NX𒴂Ďg悤ɂȂƁccv
w܂AǗςĂƂȂ̂ˁ[x
u CString ĝłIIv
wIx
uŊǗ̂͑ρAǗpNXɔCႤ
ĂƁv
wȂقǁ[x
uŁAȊɂȂ܂BŌゾ֐ŚIv

void CFileTestDlg::OnBtnShow() 
{
    m_cDataLstBox.ResetContent();

    std::ifstream cIFStrm;
    cIFStrm.open( "Data.txt" );
    if( cIFStrm.fail() )
    {
        MessageError( IDS_E_NOFILE );
        return;
    }

    int i;
    CString cDestStr;
    while( 1 )
    {
        cIFStrm
            >> i;
        if( cIFStrm.eof() )
        {
            break;
        }

        if( cIFStrm.fail() )
        {
            MessageError( IDS_E_NONINT );
            return;
        }
        cDestStr.Format( "%d", i );
        m_cDataLstBox.AddString( cDestStr );
    }
}

w CString ^̕ϐ cDestStr ATCY߂ȂẮHx
u CString ͎IɃTCY߂ĂłBƂ΁v

    cDestStr = "ABC";

uĂS̃TCYɂĂłv
w[I@ Format() ăo֐́A sprintf() Ɠ@\Hx
uA CString ɂ͕֗ȃo֐ĂāÂЂƂv
wt@XƂςˁB operator = āHx
u operator Ă̂̓NXɉZq́v
w͂A std::ifstream Ŏg << ĂHx
uƁB = ZqccAA "ABC" 
̂̉Zqgv
wA[Ȃ񂾁BĂƂ́Aʂ̃NX͂ƂłȂ
ƁHx
u䂱ƁBł悤ɂɂ operator gȂƂȂ킯v
w͂ɓccx
uƁcc CListBox::AddString() ̃t@XĂ݂āv
wق F1 BA󂯎^ LPCTSTR Ȃ̂ CString nĂAđO
ɂƂˁx
uAŁA܂ CString ̃o֐ꗗāA operator LPCTSTR 
Ăłv
wAȂ񂩂ɂĊIx
u LPCTSTR ^߂Ă܂ł悤 operator Ő
肳ĂĂƁv
w CString n񂾁x
u LPCTSTR ߂ꂽ璆̕ւ̃|C^Ԃ悤ɂȂĂ
A܂킯v
wف[x
uف[āA玩łꂭ炢悤ɂȂĂ炤
v
wIx

/*
    Preview Next Story!
*/
wƂ肠ubVAbvII@ŁÁHx
u̓EBhEɂāv
wEBhE͂\Ǝv񂾂ǁx
uƂ낪EBhEY̐E͉[񂾂ˁccv
wƂ킯Ŏx
 Version 5.23 EBhENX 
uɂÂIv
wقƁAĂĂLȂĊˁx
u񂾂EBhEYvO~Oςď؋v


/*            QOOONPQQTij̍XV\              */
http://www.kab-studio.com/

EKAB-studio TCgX^[gI
@KAB-studio Ɋ܂܂cȃy[W̑ST[rXX^[g
܂I
@ google ̂𗘗pĂ炤ǁijBłŕKv
y[WȒPɒTo悤ɂȂ͂B֗ł`B


/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.com/nikki2/
EvO~OɊւ鎿[L̗JT]ɂ肭B
http://www.kab-studio.com/Programing/KabuU/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
http://www.pubzine.com/detail.asp?id=000590
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198
http://www.kab-studio.com/Freeware/

/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/


/*                      See you next week!!                      */


