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

    KAB-studio.h


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

    MF 2001/07/02(Mon) No.114
    zMF 3780 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

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

EV\ǎoI
@PAV\ǎłBĂƌ琅ł傤B[
AO()B_E[h CG Gallery ɂāB
[CG Gallery]
http://www.kab-studio.com/CG/Gallery/


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

2001/06/24 (Sun)
@Z̗̎FľցBIyVeBł񂾂ǁA݂
؂^CvB̂()BȊŃerĂȂłB
ĂlL[{[hƓ̃cbR~B

2001/06/25 (Mon)
@{iIɎdŃvO~OBłACtAĂ̓Av邱
Ƃy񂶂ȂAvÔ̂邱Ƃŷ
ƁccBŌ͍̃cbR~B

2001/06/26 (Tue)
@Ђł̓c[̃}jA쐬Ax݂ Java }KAAĂ
̓CXg`A͂͋ʎqThBoGeBLH

2001/06/27 (Wed)
@NT T[rX쐬BeXgĂ MFC ɑgݍ݁BłȂƎv
ȒPH@Ĉ݉B

2001/06/28 (Thu)
@T[rX̃ubVAbvɃ}jABēdŏIBx^
ۂ̂ɓȃAjccB ATL T[rX͂ǂH

2001/06/29 (Fri)
@\dꂽ[A Java }Ki܂ȂccŁAƂłȂ
Ƃo()BAɉlŃ[HׂčzĖh^ CD-R
āBăUEX Linux  COM  .NET B

2001/06/30 (Sat)
@V\ǎI@͐Ń[AOłH@`
BėL}Kւ̔MzA KAB-studio.h L̉eccB
Ƃ̓EiMƂ╔̕ЕtB


////////////////////////////////////////////////////////////////////
/*                         A                             */
http://www.kab-studio.com/Novel/Fuga/

@́@\Ɖ^@|V|

uႠx݂ȁccv
@𑖂Ă鋐Ȍ́AL̕ǂɂЂтȂ瑖ĂB
܂邱ƂłȂ炵ÂŏrYxȂ̓
łǂ邱Ƃ͂ȂB
ułAԂ̖ˁv
@͐UAڂ̑ỎɂݕtB
uIv
@Ol͐UB
u݂Ȃ͓āIv
@SOɁAOl͂̂܂ܓĂBpɏ܂ŁArY͌
SzȊĂBāAB
uƂؑN䂵ĂȂĂA̑͂łȂłv
@́A̖ڂ̑Oŗ~܂B̎͂Ă̂A
ƂA^[QbgȂ̂B
@Ȃ̗RP͂ȂB҂̍cc̏N
vԁB
@́AЂƂߑB𗎂ƂAʏɍsA֌P
B
@p𐳂AzA~߂BOɌ아\B֌AA
ƁǍɁAoāAB
w䂱ɔO瞂͂ɓZ߉䂪͂̎ʐgƐIx
@̐Ƌɐ悭oȂ̂ݍ񂾁B
uMqAIIv
@ɂĂ͗\Ȃf̂āA͑OAꂾŐ
SL͂ł낤U~낵B
w͉䂪OɁIx
@߂̂悤ɂȂĂuɕǂƂȂĕ̓𕢂BO
֓˂݁AĖƋɂɈ߂BɕƑN
Ԃ̐B
uɂyȑ肶Ȃccv
@̕ǂɗ􂯖ڂÅIɂB̔ԂɁA̗ꂪ
܂B͏߂̌아oAzɓ\B
w₵䂪Ɂcc̗AɏAɋx߁x
@̌t̗~߂BA͔MA̗͂͑zȏɏ
ĂBrA̐𗐂قǂB
uƋx͂Ƃ̂ɂȁccQ߂ȁHv
@˔\ł͏ĂȂBɂ򂪂炷͂ɂ͌E\\^
ڂɏCĂ΁ǍE͑傫グ邱Ƃł͂
B
@ӂĂBĂBłAȏuԂƂ͎vȂB
AȂłȂƂŐĂ񂾂낤B
@cɑ傫L{uԁAO̎D΂Aʉ߂
ɐBOp`̐{eA͑傫ւƒԁB
@ƌ̖ڂB͋΂BǂR悤ƁA͂邩
炱ĂB킦邩炱AɂB
uȂ񂾂񂾌ĂAčDIˁv
@͈uジA{A܂LɈBāA͘L
Ɍ아𓊂tBǂALɐ̑˂h肻
Č͑߂BđĐ˂hĂAƋ
ɕƌ̋͗ĂB
@Ɋ|鐅ւƂނɎL΂BeԊWƋɌꂽA
߂ꂽB
wɂM铹AȂ𑢂グA̒eۂ䂪OɏWx
@ɑ΂ĔgɂȂ镑B̑OɎO̗ւÄԌɐ
̐W܂ĂBAŖiĂBĂ̂
ȂB
w킷鑓M䂪OɌAɑƐĉ
͂̈̑傳m炵߂IIx
@̐Lɋ킽Aڂ̑O̐``ȂgłU
B̐Ug܂ōZɑŜh炵Ă邩̂悤ɋCk
AB
@ƖiẮAӂBڊ|ĈCɘL𑖂
A̋̂̓ŘLhBꂾőKXhق
B
@A͉ȂBёނ̂̂Aꂩg\
͂זȂ̋邽߂Bz΂͏\B
@̂͐mB肪N낤Ɖ҂낤Ɗ֌WȂA̖
ȁAmBꡂÑ̈╨ˁccB
@΂An𗧂ĂĔĂыʂɂݕtB
wAāx
@̒ႢB̉͋痑ƂȂA悪ׂȂČ아̗
ʂ蔲ĂƎvuԁA͋z܂ĂBu
ԁA܂ɑMƂłĂׂ꒼ׂ̍̌猢̌܂
͂AĊтB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wҁAς؂`ÂƉЂ߂Ix
uȁAẮHv
w҂n߂ABႤ̂IHx
u܂ႻǁA߂Ȃłv
wЁHx
un̕BЂ낤ǂˁv
wȂłȊmḾHx
uAIɍXVĂ̂āHv
wcc̃}KAP̕ǎAƂ܂ǂSR}ƂHx
uOɔׂ炮ƌĂ킯Łv
ŵ̊Ǘ͂łĂĂƁHx
u܂ȂA܂炵ĂłAǎƂՂƂƂv
wǂ̂Ix
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 6.14
I[o[t[ɗvӁI

úAȎ̂悤ȂȂ悤ȁv
wx
úqI[o[t[rĖɂďЉ񂾂ǂꂪO
̉Zq֌WƏȂ炸֌W񂾂ˁv
wł΂֌WĂAĂ킯łȂ̂ˁx
u䂱ƁB܂̓I[o[t[̗Ⴉ猩Ă炢܂傤v

void CDebugDlg::OnButton1() 
{
    char ch = 10;
    for( int i = 0; i < 10; i++ )
    {
        TRACE( "%d ", ch );
        ch *= 10;
    }
    // 10 100 -24 16 -96 64 -128 0 0 0 
}

w[ƁA 10 ₵ĂcclςɂȂĂˁx
uA char ̏ 127 𒴂Bqϐ̏
邱ƁrqI[o[t[rČ܂B{ꂾƁqrB
overflow Č̂́qrĈӖv
wCɓ炨΁[AĊˁBłÃG[ē
OȂx
uOȂ񂾂ǁA炱CtȂƁBƂ΁v

char Plus( char p_chLh, char p_chRh )
{
    return p_chLh + p_chRh;
}

uĊ֐̂ƂlĂ݂āB char ̏ 127 B p_chLh  
127 A p_chRh ɂ 127 ĂHv
wA߂lňꂿႤˁx
uϐƂǂȒlĂ邩킩ȂAƂ
ˁv
ŵ char Ȃ񂶂Ȃ́H@int v
ǁx
uA int ƈS͑AǁA\͂ȂȂȂB
΂ for ݂ȗBƃ~X 100 񃋁[vA
while Ȃ񂩂ł̓sx[v񐔂ႤƂȂ񂩂Ɂv
w薳ꒃ[v肵炱ȂႤ킯ˁx
uA̎ނ̃I[o[t[́AړIȖ͂Ȃȁv
wȂ́H@̂AI[o[ĂƂ́A̕ϐuĂ郁
Ƃɏ񂶂肵ȂHx
uA͂Ȃ񂾂ˁBsƂɂ char ɓ悤
؂߂ꂿႤBƂ킩v
w TRACE ŃAhXāAāccx
uȂɖȂAĂ̂͐eƕ₷v

void CDebugDlg::OnButton1() 
{
    char ch = 1000000000;
    // warning C4305: 
    // 'initializing' : 'const int'  'char' ֐؂l߂܂B
}

wAG[x
uG[ȂA͌xBlςɂȂĂ܂[ċĂ
邾ŁARpC͒ʂĂ킯v
wĂƂ́ÂĂȂɊȂȂHx
uꉞˁBrbgۂRł킴ƂƂ邱Ƃ邵B
łږȂĂŁAԐړIɖɂȂ邱Ƃ͑v
wႻAςȒlɂȂႤ񂾂́x
uƂ킯ŁAڂĂ܂傤BI[o[t[ɂȂ
\̂́AȂƌĂlZv
wZƂ͂ȂȂǁHx
u char ɓƂ 127 - ( -127 ) Hv
wA -  -  + ˁx@@@@@@@@@@@@@@@@@@@@@@
ulZƂɂ́AI[o[t[̉\ɋCɂ
ˁBו́AȊv

void CDebugDlg::OnButton1() 
{
    char ch1 = 100;
    char ch2 = 100;
    if( ( 127 - ch1 ) < ch2 )
    {
        TRACE( "I[o[t[܂B\n" );
    }
}

w[ƁA 127  char ̍ő吔ˁBAꂩ΁Ac
񂾁x
uA΁q]Ắ͈r邩Aɓ邩ǂ
`FbN΂킯v
wccłA͂ČvZ邽тɂꂷ̑ςHx
uۂˁBȂƁAʂ int Ƃ̂x傫ȃTCY
ϐgĂāAƂ͏ʂiă`FbN銴ȁv
wʂĂǂȁHx
u܂͂ for Ƃ̃[vnv
w 10  100 ɕςĂȂႤˁx
uɕGȌvZBł͂܂Ȃv
wȂ́Hx
u int Ȃ double Ď^gˁv
w double Ă܎gƂȂccx
uƏdvȂ͓̂͌nv
w͂ČƁA_CAO{bNXƂɁHx
uBGfBbg{bNX\tē͂Ă炤B
Ȃz肵ĂĂAgĂlĂ킴ƂƂő傫Ȑ
ꂿv
w܂ˁx
u܁A MFC ɂ͎`FbN̋@\Ă񂾂ǁB_
CAOGfB^ŃGfBbg{bNX\tāÃoϐN
XEBU[hōĂ݂āBϐ͓KAyϐ̃^Cvz int v
wقBAy MFC ClassWizard z̉̕ɁyŏlzƁyőlz
Ă̂łBŏƉ߂́Hx
uBƂ肠Őł邩B̂gĖhƂɂ
邩ȁv
wI[o[t[̂͂ȊȂȂˁBH@Ȃ㩂̗\
B΂q̎ނ̃I[o[t[́rƂĂˁx
uA͑ɁA댯ȃ^CṽI[o[t[łB́A
|C^zgƂ̃I[o[t[B܂̗͂v

void CDebugDlg::OnButton1() 
{
    char ch[3];
    TRACE( "%X\n", ch );
    strcpy( ch, "123456789!" );
}

wrhĎsAAG[x

nhĂȂO Debug.exe (MFC42D.DLL)ɂ܂B
0xC000005: Access ViolationB@

wĂ[A strcpy() āARs[郉^CˁB
 3 ȂƂ 10 Ă񂾂AG[ɂ
̓Ô悤ȁccx
uAmۂĂTCY𒴂ď񂶂Ă܂BAhX\
Ă̂́AۂɃ̂̕ė~v
wAB Ver 4.02 ( No.052 ) Ƃł̂ˁBu[N|C
guăAhXEBhEɓă^[x

0064F4F4 31 32 33 34 35 36 37 38 39 21 00 00 9C 74 43 5F 9C F7 64 00
         123456789!..tC_d.

w[[Av͂ݏoāccAꂪI[o[t[
Hx
u䂱ƁBۂ̔z̃TCY𒴂ď񂶂Ⴄ̂I[o[t
[̈Łqobt@I[o[t[rČ܂v
wobt@Ăǂŕ悤ȁccx
u buffer ́qɏՍށrĈӖŁAƂ肠l󂯎邽߂̕ϐA
ĈӖBłۂ́A󂯎z񂾂qobt@rČ
Ƃȁv
wTvƂĂAz buf ĕϐɂȂĂ邱Ƒ
ǁAHx
uBЂƂtƁAz𒴂ɃANZX邱
I[o[Č܂v
w̓tc[ȗpꂾˁx
u܁ÂˁBŁÃobt@I[o[t[͐Ή
ႢȂBɁA^G[ɂȂȂƂāA
Ȃꍇ񂾂ˁv
wG[oނK^Hx
u܁[K^Ă[ccۂɂ̓G[oOɉȂƂˁB
obt@I[o[t[́q킴ƁrN邱Ƃ邩v
w킴ƁHHx
uobt@I[o[t[̑΍ĂȂƁA킴ƂȂ[͂
āAŕʂ̕ϐƂAvO𓮂̂ɏdvȕϐƂ
ꂿႤƂ񂾂ˁv
wAĂȂ胄oȂHx
u΂BAobt@I[o[t[̑΍͐΂Ȃƃ_v
w΍Ă[ƁÃTCY𒲂ׂ΂񂾂ˁx
uBݐ̔zA̗Ⴞ ch ˁÃTCYĂ
ΑẴTCYɓ؂邩ׂ΂킯v
wA΂ǁA|C^ƂɂȂĂĕȂƂ́Hx
uȂAEgBA悤ɂKvłB
Ƃ΁ccˁA CDebugDlg::OnButton1() ̒ɁA_CAÕ^
Cg char zŎ󂯎 TRACE() ŏo͂R[hāv
wققA GetWindowText() ˃EBhE^Cg擾
āB CDebugDlg  CWnd ̂g邩Â܂܌ĂŁccA
[x

void CDebugDlg::OnButton1() 
{
    char ch[256];
    GetWindowText( ch, 255 );
    TRACE( "%s\n", ch );
}

w֐ɓnƂ́Az̃TCYn񂾁B΂͂ݏo邱ƂȂ
ˁx
u䂱ƁBԂ悤Ȋ֐鎞Ƃ͂悤ɂˁv
wĂȂ strcpy() Ƃ́Hx
ugɃTCỸ`FbNBĂ[ÃI[o[t[
̎ƓŁAʂɐ؂̂Ăꂽ炢Ă񂶂Ȃłv
wA GetWindowText() łAI[o[ĂȂĐ
̂ĂĂ_ˁx
u܁AʏʂňĂ邯ǁA̗Ⴞ GetWindowTextLength() 
 API āv
wց[Aŕ̃TCY󂯎񂾁Błz񂶂ǁ[[
Ȃx
u܂ĂȂǁARɃTCY߂Ĕzǂ邱Ƃł
邩AŎ󂯎΂njB̋@\Ă̂ CString v
w CString Ȃ strcpy() gȂẴRs[ł
ˁx
u̕Ԃ̂łA CString ͈QƂʂĂ߂
lƂĕԂ邩A̕S֗ˁv
wǂ͂֗Ȃ̂gĘbˁx
u䂱Ɓv

/*
    Preview Next Story!
*/
w΃obt@I[o[t[Ă悭ˁx
uȂ΍ĂȂAvĂˁv
wLȂ̑ˁBꂪĂ킴ƂȂ񂩂ꂿႤHx
u䂱Ɓv
w\ĂƁ[ȍȂ̑̂ˁ[x
uƂ킯Ŏv
 Version 6.15 oORpC^CG[ŖhI 
wɂÂIx
ułLAvāÂƂv
wvȂ[x


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

EXVȂ
@XV̎͂x݁BłAȁ[񂩃}K֌WłccH


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

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.com/nikki2/
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://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.com/Freeware/index.html#MailMagazine


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

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




