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

    (C)KAB-studio ALL RIGHTS RESERVED.
        http://www2.justnet.ne.jp/~kabstudio/
        kab-studio@multimedia.design.co.jp

    MF 1999/08/23(Mon) No.020
    zMF 2660i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

/*                        T́uǂHv                    */

uÂւv
wǂɏZł铽]񂩂BqobNio[܂Ƃ߂đ
~Irāx
uɂ܂܂̂ƁAAvƂgȂƂȁv
wŁI@̂O獡̂QO܂łЂƂ܂Ƃ߁Ix
http://www2.justnet.ne.jp/~kabstudio/Freeware/start.html#MailMagazine
w_E[hĂˁx
uꂩPO炢ł܂Ƃ߂Ă\łv
wԃX^ł͊F̂ӌ]z҂Ă܂I@́x
http://www2.justnet.ne.jp/~kabstudio/Info/MailMagazine/Impression/
ũy[WőĂv
w҂Ă܁[Ix


/*            PXXXNWPUij̍XV                */

Eu悤vj[AII
@悤j`a|ցIj[AI@ECg_N
Vy[WReXgŏDƂ\قǂ̏of
AԂBȂ݂ɑt@CTCYłijBށ[B

EuvO~OvړB
@܂܂łbɂuvO~Ov𕪗AЂƂ
Recɂ܂BłꂾijB

Eu҂ɂāvXVB
@҂ɂĂXV܂B{̑̏dƑ̎b̂̂
ύXATOTOɐHו֌WǉAɐVL[{[hmyShade
ǉ܂B


/*            PXXXNWQRij̍XV                */

ENǉB
@NWɃNǉ܂BL̏AA邤́u
邤̐S̕vłBl`bf肵܂B

EbfǉB
@bfM[ɂbfQǉI
@P͂邤̐S̕ւ̃MtgbfBҏ̃MtgbfłB
P͏̂RcbfiBƂ肠ĂB

EKAB-studio.h ̃A[JCuoB
@KAB-studio.h ̂OQO܂łЂƂɂ܂Ƃ߂kłoI
@#pragma twice ̏kł܂B_E[h̓t[EFAC
tH[V[ɂāB

EbItCłXVB
@bׂĂ܂Ƃ߂uItCŁvXV܂BȂ
Ɂuv͓Ă܂B_E[h̓t[EFACtH[
V[ɂāB



/*                `[ʂȓL                */

PXXXNWWijF
@NڎwƂ䂤uŋ̂悤vB̓֓ݍ񂾒ĵ
남n܂II

PXXXNWXijF
@ĂȂ̂ق݂͂܂łB܂B

PXXXNWPOi΁jF
@ɏƂȂBœL藧ł낤II@Ȃ
ႤB

PXXXNWPPijF
@̖ɍs肵ăwwBɉĂȂ́B

PXXXNWPQi؁jF
@ur_CG[Ă܂܂II@h[Ⴟ[I@
XQ[II@Đ̏I@͂Aꂪ싅łˁB

PXXXNWPRijF
@ĖBuIHvƁuHIv͂ǂႤH@ǂgׂH@
{̒ŁI

PXXXNWPSiyjF
@NĂ܂[hobGLX|̋G߁I@N͂̂ƂI
t~݂ȂƂ񂾂ǁAN̓pXۂijBԃwb_[
ǎ҂̊F͂ǁ[v܂H

PXXXNWPTijF
@uŋ̂悤vI@ď̂bfMtgI@Al
bf`ւ̊Ki܂ccB

PXXXNWPUijF
@ō̂bfɂāBݎs뒆BC폜ȂĂB

PXXXNWPVi΁jF
@aI@ăGSǑʂɋII@䂪l^
ے肷邻̌ʂƂ́II

PXXXNWPWijF
@p\RɏڂFlw̎̐}BqbgQROB
ės肾GSOBĂ[sɓ݊ccB

PXXXNWPXi؁jF
@ɃGSOBȂ݂ URL 
http://www.taisei-e.co.jp/seikaku/index.shtml łBNsɏx
OɂЁII

PXXXNWQOijF
@ςj̓AjȂˁB̂قA҂̃__Ԃ肪
ՂB

PXXXNWQPiyjF
@3DCGA͒QȋBłłi͂ႿBȂˁB


/*                    ؂̗JT                        */

PXXXNWWijF
STL ɂ
֐IuWFNgĝȂASY
std::generate() A std::for_each() A std::transform() ݂̂
TvR[h
std::for_each() ͊֐IuWFNgɔz̊evfnASY
TvR[h
Ӗ̕ɂ[vӖ̕uASYvɒu
ւ
^C}[ƃAj[V
WM_TIMER ̐
}`fBA^C}[

PXXXNWXijF
STL ɂ
std::find() 
TvR[h
Ce[^[
++  != Ȃǂ̉Zqĝ̂
ւ
valarray ̃G[
Win32 ̃}N
ւ
̃^C}[ɂ
CCAZug@

PXXXNWPOi΁jF
STL ɂ
TvR[h
CString ̔zp̃Ce[^[
TvR[h
std::find() ̎Ɠ
NXCe[^[̓ASYƑΏە̒ɂȂ
ւ
Undo 
Č\
Command p^[
uIWivƌ݂܂ł̃R}h̃Xg΂ǁcc

PXXXNWPPijF
STL ɂ
TvR[h
CStringArray pCe[^[
TvR[h
 std::find() ̎Ɠ

PXXXNWPQi؁jF
STL ɂ
TvR[h
EBhECe[^[
TvR[h
ւ
rbg}bv{^ƃRg[o[

PXXXNWPRijF
STL ɂ
TvR[h
Rei
ւ
̑
CDialogBar ̓_CAONXȂ
TvR[h
ւ
tbNɂ
TvR[h
ŏ͊ȒPȂ̂

PXXXNWPSiyjF
STL ɂ
TvR[h
std::string 
CString Ƃ̈Ⴂ
TvR[h
ASYƂ̘Ag
ׂƈႤ

PXXXNWPTijF
STL ɂ
܂Ƃ
rsk̍́uASYv
Pȃ[vӖ̂֐uASYvɒu邱Ƃł
u֐IuWFNgvƁuCe[^[ṽT|[g

PXXXNWPUijF
NGXg҂Ă܂
LXgɂ
TvR[h
ϊ@\̌Ăяo
TvR[h
̕ϊ

PXXXNWPVi΁jF
b{{́uLXgZqv
static_cast A const_cast A reinterpret_cast A dynamic_cast 
LXgZq́u肳ꂽLXgv邱Ƃł
const_cast 
u const ^ւ̃|C^QƂ𕁒ʂ̃|C^QƂɃLXgv
TvR[h
const 𔍂
|C^QƂłȂƃ_
g

PXXXNWPWijF
LXgɂ
reinterpret_cast
u|C^瑼̃|C^ւ̃LXgv
u|C^琮lւ̃LXgvł
TvR[h
LXgł͈͂L
ԎgႢȂ
const_cast łł邱Ƃ reinterpret_cast ł͂łȂ

PXXXNWPXi؁jF
LXgɂ
static_cast 
const_cast  reinterpret_cast łł邱ƈȊÕLXgł
TvR[h
ԈSȃLXgZq
static_cast  const_cast Areinterpret_cast g
bg
LXg̈Ӗ
₷
ԈLXgĂRpC`FbNĂ
fbg
ÂRpCŎgȂ
R[h̗ʂ
bX^C̃LXg force_cast 

PXXXNWQOijF
LXgɂ
p֌W̃|C^̃LXg
TvR[h
qNXւ̃|C^͐eNXւ̃|C^ւƊi[ł
|[tBY
TvR[h
eNXւ̃|C^qNX̃|C^ɓ邱Ƃ͋Ȃ
TvR[h
qeq̓RpCG[
^CŁuLXgĂǂvׂȂႢȂ
ւ
܂

PXXXNWQPiyjF
LXgɂ
dynamic_cast
TvR[h
ueqvւ̃LXg
uqeAqɖ߂v̂͂nj
ueqv̊ԈLXg NULL Ԃ
dynamic_cast ͈̊֐Ƃċ@\
typeid ȂĉZq
ւ
t@C̃ACR̎擾{glbN
VFGNXeVgׂ
ITEMIDLIST AVXeC[WXgA}`Xbh


/*                    #pragma twice                        */


@Version 2.9
csI

uƁA܂łɌĂ̂́ccv
wJԂ while ƁA΂킯 if x
u́ÂӂΏ\BA̖ʓ|炱̂
łv
wƂāA̐lvOǂނƂǂ́[ȂČ
łx
u܁AˁBłǂ while  if ̔hĊAvƎv
B܂ do-while Ă݂悤v

void CCalcDlg::OnBEqual() 
{
    do
    {
        TRACE( "do - while ̒łB\n" );
    }while( 0 );
}

wA while ɗĂBƁArhĎsƁx

do - while ̒łB

wAPx\ꂽx
u while ͍ŏɃ`FbNĂǁA do - while ͒JbRs
ƂɃ`FbN܂BAȂ炸x͒JbR̒s
Ă킯v
wPxĂƂˁx
uBȂ݂ɂȊO while ƓB[Ȃ߂āAȊOȂ
JԂAĂƁv
wǵHx
uƂ肠Px͎sƂv
w܂܂ˁx
u܁A while  if ƌڂȂႤAlIɂ͍D
ȂǂˁBAA for Ă݂悤v
wςύsˁx
u͂ǂȃvOHv

void CCalcDlg::OnBEqual() 
{
    int iBox
        = 1;
    while( iBox < 6 )
    {
        TRACE( "%d ", iBox );
        ++iBox;
    }
}

wƂˁ[A܂ iBox ĕϐāAɂPāAŁAwhile 
`FbNAccx
uiBox U菭ȂȂ iBox < 6 ͂PɂȂAPƁv
wJbR̒sBɓāA܂P\āAP₵ĂQɂ
āAɖ߂ while ̃`FbNA܂U菭ȂӂђJb
R̒ɁccŁAT\āAP₵ĂUAx iBox < 6 [
Ȃ邩AŏIBĂƂ́APT܂ŕ\ĂƂˁx
u͂Bꂳ܁v
w܁[ˁ[x
uŁAvOƂɂ͂qPȌJԂr悭邩
A while Ȃ for Ă̂ŌJԂ悤ɂȂĂ܂v
wӂ[Hx

void CCalcDlg::OnBEqual() 
{
    for( int iBox = 1; iBox < 6; ++iBox )
    {
        TRACE( "%d ", iBox );
    }
}

wrhĎsBAʓIx
u for ĝƁA while ͂܂ӖBfor
𕪉Ɓccv

    for( 
        int iBox = 1;     //while ̑OB
        iBox < 6;         //while ̏JbR̒B
        ++iBox )        // while ɖ߂钼OB

wwhile ̂ƂɒXƏĂĂ̂APsɋl܂ĂƂȂ̂ˁx
uƁBJԂƂɂ́Afor ̕ȁv
wȂŁHx
uϐ̊֌WȁB iBox ͌JԂ̌vZɎgĂ킯łBꂪ
while ƁAϐ̂AP₷̂ʁXv
wfor ȂPsɂ܂Ƃ܂Ă̂ˁx
uƁBAŌ switch ɂāv
wAˁx

void CCalcDlg::OnBEqual() 
{
    int iBox = 1;
    
    switch( iBox )
    {
    case 0:
        TRACE( "[łB\n" );
        break;
    case 1:
        TRACE( "PłB\n" );
        break;
    default:
        TRACE( "ȊOłB\n" );
        break;
    }
}

wrhĎsx

PłB

wA if ɎẮHx
uB switch ́AJbR̒̐𒲂ׂāAJbR̒ case 
̐ɓ̂邩ǂׂāA炻ɔŎsBȂ
 default ɔт܂v
wcase  else if A default  else ƓĂƂˁx
uȂ񂾂ǁA܂ȂĂ킯łȂ񂾂ˁv

void CCalcDlg::OnBEqual() 
{
    int iBox = 0;
    
    switch( iBox )
    {
    case iBox:    //G[I
        TRACE( "ȂłB\n" );
        break;
    default:
        TRACE( "܂B\n" );
        break;
    }
}

wH@rhG[oHx
uif ƈāA switch ́qrƂׂȂ񂾂BϐƂ
rłȂĂ킯v
wց`x
uɁA if ̂Ƃ < Ƃ != ƂgĂȔrł
Bł switch ͂łȂ񂾂v
wRxႢĂƂˁBA΂A break ĂȂɁHx
uAbreak KvȂ񂾂ˁBꎎĂ݂āv

void CCalcDlg::OnBEqual() 
{
    int iBox = 1;
    
    switch( iBox )
    {
    case 0:
        TRACE( "[łB\n" );
    case 1:
        TRACE( "PłB\n" );
    default:
        TRACE( "ȊOłB\n" );
    }
}

wrhĎsƁx
PłB
ȊOłB
wH@if qȊOłr͂Ȃˁx
uB switch ͂̕ӂIɂ͂ĂȂ񂾂ˁBA
case 1 sƁȂ̂悯͂Ă܂BŁA 
break Ă̂g܂v
wԂ[Aˁx
u whileA do-while A for A switch ̒JbRЂƂO
oĂ܂BAȎgłv

void CCalcDlg::OnBEqual() 
{
    int iBox
        = 0;

    while( 1 )
    {
        ++iBox;
        TRACE( "%d\n", iBox );
        if( iBox == 5 )
        {
            break;
        }
    }
}

wH@while ă[ȊOƃ[vłH@ꂶI
Ȃx
uB̂q[vrĂ܂BŁÃ[v甲
̂ break gĂ킯v
wHH@ƁAȂǂ[vāA i TɂȂ if ̎̍s
sāAŁA break Łcc if ̊OցHx
uA break  if ɂ͌ȂÂƂ while ̊Oɏo
ƂɂȂ킯v
wAJԂƎ~܂񂾁Bccł do-while
ƈꏏȂHx
u܁AǂˁB܁A₷̈Ⴂȁv
w do-while AgĂƁx
u܁AȂƂȁBŁIv
wŁHx
u܂ŏoĂqJԂ╪r̂̒ŁAĝ if A 
forA while ݂̂ŏ\v
w if ŕAfor  while ŌJԂĂƂˁx
uƁv



/*
    Preview Next Story!
*/
wς݂Ă܂Ł`Hx
uƂQ񂭂炢ȁv
wH@\ˁx
u܂ōs΁AFXł悤ɂȂ邩v
wƂ킯Ŏx
 Version 2.10 ֐낤I 
uɂÂIIv
wFXĂǂȁHiNNjx
uccA͉łȂ񂾂Azgccv
w󂿂A̖ڂČĂ݂ȁ`Hx




/*            PXXXNWROij̍XV\                */

EijB
@܂I

EQUi؁jAQVijFLx݁B
@̂QUi؁jƂQVij́Aҗŝ߁AXVĂ
؂̗JTƃ`[ʂȓLx݂܂B䗹B
@Ȃ݂ɁAA͂QWiyjȂ̂ŁA̓̍XV͒x邩BƂ
̌j̍XV͑؂Ȃs\B肾ǁijB


/*                        ӁII                        */

Ẽ[ԐMȂłB
Ez͉̃y[W瑗ĂB
http://www2.justnet.ne.jp/~kabstudio/Info/MailMagazine/Impression/
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://www2.justnet.ne.jp/~kabstudio/Freeware/start.html#MailMagazine

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

    (C)KAB-studio ALL RIGHTS RESERVED.
        http://www2.justnet.ne.jp/~kabstudio/
        kab-studio@multimedia.design.co.jp
*/


/*                    See you next week!!                    */


