{magclick}
{magclick}
/*
    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/08/28(Mon) No.071
    zMF 3820i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/
{magclick}

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

E\j[A
@\Ƃς܂BԂAVCXg傫̂
炢s]ƎvijBƃj[X\ɏ悤ɂ܂Bj[
X̃y[W̓qbgȂ̂ŁijB
@
EjQOqbgTN
@j`a|͂QOOONWQRɂQOqbgB
I@ɁAQOOONVłTN}܂B܂z[y[W
͎ʂ܂őCȂŁȂOɂ܂͖ڎwPOOqbgI
@Ȃ݂ɃJE^[́A\̈ԉɈړ܂ijBȂ茩
łӂB

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

2000/08/20 (Sun)
@Ȃɂ̂тerB ToHeart Ƃ̂Ȃ
lBbɏȂijB

2000/08/21 (Mon)
@lց`Bσer̍LʂĂ̂͐傾˂BėjB
SRCt񂩂ccB

2000/08/22 (Tue)
@fEWELbgT}[XyVQOOOOII@ł`II
V\`ro߁B̂͂σA˂B

2000/08/23 (Wed)
@܂ɍsAfEWELbgT}[XyVQOOO㔼
āAɐV\`AƂǂ߂ɒz܂ẨBvX̃n[hX
PW[łB

2000/08/24 (Thu)
@JSD ֗̕VтɁBFXccłȂijBvXHt
͎nȂBVh CD-RW hCuwijBƔ`B
z[y[WbfobNAbvɂB

2000/08/25 (Fri)
@V\I@óccB R Ă͈B Zip 
ijBvO~O͌\ρccB

2000/08/26 (Sat)
@hNGijBłƂ͎vȂ̂ɁccB
z[y[Wj[AȌƂBQ[͎ԂHccB


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

2000/08/20 (Sun)
x

2000/08/21 (Mon)
x

2000/08/22 (Tue)
x

2000/08/23 (Wed)
ւ
Ij[ǉƃANZ[^[
ANZ[^[Ȃ
ԂȂ
R}hhcǂ
j[́u Ctrl+X vƂ͎Iɂ͏܂Ȃ

2000/08/24 (Thu)
ւ
Ij[ǉƃANZ[^[
̂͑v
ANZ[^[e[u̒ǉ
TvR[h
TranslateAccelerator() ȂƂȂƃ_
MFC ɂ̋@\Ă
CDocument::GetDefaultAccelerator() I[o[Ch
̖߂l TranslateAccelerator() ɓnĂ

2000/08/25 (Fri)
̑
j[̓Iǉ
Codian ̕@Ɠ
I[o[Ch̉
CDocument::GetDefaultAccelerator()  TranslateAccelerator() 
TvR[h
\[XR[hȂƕȂdg

2000/08/26 (Sat)
ւ
cout  Label  Edit ɏo͂
BCB5 ĂȂ Label  Edit Ȃ
char zɃRs[łΑvȁH
std::strstream g΂
TvR[h
ꂪ cout ̑Ɏg
STL & iostream ̃R[h𗬗p


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

EǉPF
DDE vGvV vGveBu DIID RlNV|Cg
VN eEBhE gbvxEBhE ۉ ۉx
WAV RRg[ c[o[ c[o[Rg[
XV t@Co R\[obt@ ob` Autoexec.bat 
NCAg̈ NCAgEBhE `N Perl 
[U[C^[tFCX 

ET̂߂Ȃ
DLL t[Xbh}[V Launch as Interactive Ce[^[ 
fXNgbv GfBbgRg[ COM endian VXetbN
TabCtrl CxgO e t@CpX̎擾 Z}eBbN
rbgtO X^ rbg}bv }[VO volatile
~[ebNX NX toolbar LVS_EX_TRACKSELECT ur`lҐ
ĕ`ƍXV̈Ⴂ [hW[ Lbg AbvLXg
vNV |C^

ET̏󋵁F
@ŋ߂̗s COM ݂łijBccBƁuv
Ď苭łB͉肷Ƃ؂ɂR炢Pǉ
ႢȂB܁AT͖Z炻őςŁA
ȂȂłȁB


{magclick}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
w[A STL ijIႤx
uvAĕ邩v
wقHHx
@ĕ҂ĂȂȂ͍wǓo^B
http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]
{magclick}


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

@Version 5.06
ƃ|C^

u܂AOŌɌv
w֐Ă݂Ă݂ā[IIx

void GetLengthWithIndex()
{
    char chAry[] = "ABC";
    for( int iNo = 0; ; ++iNo )
    {
        if( chAry[iNo] == '\0' )
        {
            break;
        }
    }
    TRACE( "%d\n", iNo );
    // 3
}

wǂAǂǂHx
uAȂBłǂł邩ȁHv
wǂłHx
uƂ΁A chAry ̒gďȂłv
w[A΂ˁB̐邾x
uꍇ const ɂ΁AԈď邱ƂȂȂ邩
v

    const char chAry[] = "ABC";

wA const tƓIx
u const char ̔zAčlΑvłB const char ́Hv
w char ̒lςȂ́BĂƂ́A chAry[0] Ƃꂼς
ȂĂƂˁx
uB const ɂĂ΁v
w悤ƂG[ɂȂ񂾂ˁx
uBɂi߂Ă݂悤v
wHx
uł "ABC" ĒڏĂ邯ǁA֐̈ƂĎ󂯎
悤ɂƁAłg悤ɂȂłv
wāHx
uЂƂ̃vO̒ŁA ABC ׂ̒ĂƂ͂ȂłB
vÔȏAȕ̒𒲂ׂ悤ɂ
΁v
w͕֗ˁBƁAłĂƂ́ccx

void GetLengthWithIndex( const char p_chAry[] )

w݂ȁHx
uႤ񂾂ˁ[B{IɁAz͈ɂłȂčl
v
wǂāHx
uĂяoтɁAz̒ႤłBzĂӂɃt
LVuɎgȂ񂾂ˁv
wgÂ炢ĂƂȂ񂾁x
ȗɁA|C^g܂Bz񂩂 [] ƁHv
w|C^ɂȂIx
uv

void ArrayToPointer()
{
    const char chAry[] = "ABC";
    const char *pch = chAry;
    TRACE( "%s\n", pch );
    // ABC
}

uĂƂł܂v
w const char ̔z񂩂 []  const char ̃|C^ɂȂ
ˁBcc[IIx
uȁAȂɁHv
w sizeof _Č񂾁IIx
uƁB֐ɓnƂƂ̓|C^œnˁA
sizeof ͎gȂ킯v
wف[BĂƂ́x

void GetLengthWithIndex( const char *p_pch )

wɂ΂̂ȁBŁAg chAry  p_pch ɂ΂񂾂ˁx
uv
wAł҂āI@ꂶx

    GetLengthWithIndex( "ABC" );

wĂłȂIIx
uAꂪł񂾂ˁv
wցHx
u̕ӂ₱ĕGȂ񂾂ǁA "" ň͂񂾕āA char 
̃|C^^Ȃ񂾂v
wA炱njȂ́Hx
uAɂnjv

void StringPointer()
{
    const char *pch = "ABC";
    TRACE( "%s\n", pch );
    // ABC
}

wIH@ȁAȂ񂩕ςȂH@ĂAz̎́Az char
ЂƂЂƂɕꂽǁAꂾƁAǂɂ "ABC" ă|C
^gAȂ񂩁ccx
uAƂ͕B "ABC" ǂȂĂ邩Av
wAǁ[ȂẮHx
u "" ň͂񂾕ƂAɏ 100 ݂ȐƂqer
Č܂v
wA Ver 4.09 ( No.059 ) łˁx
ueRs[^[Ê̂ARɒu
B "ABC" AȊɃɒuĂ킯v
wAhX邩Ã|C^ĂƂȂ񂾁Ix
uƁB[I@̓_v

void ArrayToPointerBad()
{
    const char *pch = "ABC";
    const char chAry[] = pch;
    // error C2440: 
    // 'initializing' : 'const char *'  'const char []' 
    // ϊ邱Ƃ͂ł܂B
    // ̕ϊ\ȃReLXg͂܂B
}

wIH@ "ABC" ̓|C^ȂłHx
uGł傤BǁAzătLVuɂłĂȂ
񂾂ˁBz̃TCY߂ƂɁA "ABC" ƂSČ߂
񂾂ǁv
w|C^ƌ߂ȂHx
uB̕ӂ̓RpCƂ̂ƒmȂƕȂˁv
wĂ[RpCmȂx
uˁB̕ӂA|C^Č錴ȁv
w̑O󂿂ĂǁAǔz񂪓񂾂ˁx
uƂɂȂ邩B܁AɐiނƔzgƏȂȂ邵Bb
߂ƁHv
wA֐Ăr񂾂ˁBǁA̓|C^ɂ΂
񂾂ˁx
uBƂЂƂς镔B TRACE() ŃAEgvb
gɏoĂ邯ǁA߂lƂĕԂƂƁHv
wƁx

int GetLengthWithIndex( const char *p_pch )

w݂ɂȂ񂾂ˁBȂƁccx

int GetLengthWithIndexNew( const char *p_pch )
{
    for( int iNo = 0; ; ++iNo )
    {
        if( p_pch[iNo] == '\0' )
        {
            break;
        }
    }

    return iNo;
}

wĊɂȂāAgƁccx

void UseGetLengthWithIndexNew()
{
    TRACE( "%d\n", GetLengthWithIndexNew( "ABC" ) );
    // 3
}

wAȂ񂩂܂Ix
uŁA GetLengthWithIndexNew() ́q̒r𒲂ׂ֐
ȂȀgꍇłv
wĂяoΕ̒񂾁B "ABC" ƂĂ炻[[
̃_ˁ[x
uȊɁAOf[^󂯎āAŏāAʂԂv
w󂯎āAԂx
û֐̈Ԋ{IȌ`BӂɁA֐́q́r
Ɓqórl鎖q݌vrČ܂v
w݌vAȂ񂩌zp݂x
uۂȊˁB͈Ȃ炢񂾂ǁA
ƁAǂɈ邩Ƃ\dvv
wǂȂӁ[ɁHx
u͂܂xv
wԁ[x
uA֐̊O̖ʂɑ΂āA̕qrČ܂B
߂͉pŁqCvgrČv
w̉FlĂĂ[x
uHv
wAȂłȂBŁA݌vƎĕʁXȂ́Hx
uꂪzB܂֐NX̐݌vāÂƂ̒g
AĂ̂zIȕ@ˁv
wmɉƍƂĂˁccx
uȂ݂ɁA̎qvO~OrȂqR[fBOr
Ă񂾂肵܂v
wAR[fBOėǂtI@܂֐̒gƂR[
fBOČ񂾁x
uꉞˁv
wꉞHx
uȂ񂩃vOƁA܂vO~OR[fBOĎg
Ă邱Ƃ΂΁v
w[ӖȂx
uIɁAvO~OR[fBO̕ĂƂȂ
Ȃv
wāIx
uΔ́A֐킯BłA֐ōłdv
Ƃ܂Iv
włdvȂƁIH@ÁHx
uNĂ̂ȂA͍ȂƁv
wցHx
uāv

void ReplaceTo_strlen()
{
    TRACE( "%d\n", strlen( "ABC" ) );
    // 3
}

wccA strlen() ĂȂɁH@ꂪ邩炠̊֐͗v
Ȃ́IHx
uƂ킯łÂIv

/*
    Preview Next Story!
*/
whh`A̋J͂IHx
uł̋J͖ʂɂ͂ȂȂv
wAȋCxߗvȂ킢Ix
uȂāAƕ׋ɂȂJĂ񂾂v
wAȂ́Hx
uƂ킯Ŏv
 Version 5.07 C ^CCu 
wɂÂIx
ulȂ񂩁AǂꂾӖ̂ȂJĂccv
w͂͂A肪Ƃˁ[Accx


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

const o֐
#03 const NX^̃oϐ

@Óu const NX^ŌĂׂ̂ const o֐vČ
܂B́A const o֐ƃoϐ̊֌WB

class CForConst
{
    int m_i;

public:
    CForConst()
        : m_i( 100 )
    {}
// ɂƂŃo֐ǉB
};

@ꂪ const Ɏg֐̊{IȂ̂ˁBqi : m_i( 100 j
̕j͂ȂĂnjBŕKvȂ̂́AftHgRXgN^B
͂ȂƃG[oႤˁB
@āAł̃NXɃo֐ǉ܂BŒǉ̂́A
m_i ɒlZbg郁o֐ɂ܂傤B const ƂĎĝł
΁AR const o֐ɂKv܂B

    void SetData( int p_i ) const
    {
        m_i = p_i;    // G[B
    }

@Ƃ낪̓G[ɂȂłB́A const o֐̒ł
oϐ const ԂɂȂłB܂Ão֐̒ł́A
m_i  const int ^ȂłBl͕ς܂B
@傤ȂÃo֐͔ const ɂ𓾂܂B

    void SetData( int p_i )
    {
        m_i = p_i;
    }

@ȂG[o܂Bł const o֐Ȃ const
CForConst ƌĂяo܂B

    const CForConst cForConst;
    cForConst.SetData( 100 );    // G[B

@ł͓RBāAĂׂ cForConst ̒lꂿ
āA const ̈ӖȂȂႤȂB̐邽߂ɁA
ȂӂɌȂĂłB
@̕ӏdvABˁB


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

EXV\Ȃij
@ÂƂ\ȂłBAĂ邵A\ƕς
ĂAFX\͂ŁAȂ񂩂ł񂶂Ȃȁ[Bł
Ȃ炻̓hNĜijB


/*                          Ӂ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!!                      */


