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

    KAB-studio.h


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

    MF 2003/05/05(Mon) No.205
    zMF 3180 ( Mag2 + Pubzine )
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

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

ET\ǎB
@PAV\łB͂܏oǂȂccB
@_E[h CG GalleryɂāB
[ CG Gallery ]
http://www.kab-studio.com/CG/Gallery/


EقƂ́[PbǉI
@Ol̃zbgn[uɂPbǉBUJnccB
[ Ol̃zbgn[u ]
http://www.kab-studio.com/Comic/HotHerb/


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

2003/04/27 (Sun)
@ߑO͐ƂBقƂ́[BnIVI͕ʂ̐lłBE
|ʔccBČyL[{[hBȂĔH

2003/04/28 (Mon)
@VB łQz𓮓IɁBANV|tH[Ԃ̊֌W JSP ɓ\
ttH[̂̂Ɋ֌WĂ̂B AirH" Bi[S킢
ccBS[fEB[N̗\B\ǎɋCꂽB

2003/04/29 (Tue)
@Ȃ񂩃YႤBقƂ́[`Bʂ̃L[{[hgÂ炢BU
k@cucBănIVI͂`oH@ DOM 
IuWFNg̊֌WāH@DOM  HTML ̓p[VOłȂ̂łB

2003/04/30 (Wed)
@̂тBՂƂPbƕ\ǎ̃tB}KƃCXg͑S
RႤBVhsĈ݁B JavaScript ƃf[^x[XB document 
̈ႢɒӁB

2003/05/01 (Thu)
@\ǎĂȂccBȂ̗͒DB Making V
ȂBJChX^[ʔBN[ԁH@ .Net  
InterDev B DreamWeaver ̕B

2003/05/02 (Fri)
@܂\ǎȂB\ELo[Q̃NBqbg
ccBčRBăf[^x[XƌB WEB ł
ꍇ̃fbgƂׂȂ񂶂B

2003/05/03 (Sat)
@T\ǎccǁAóccBƌEccB 
Apache 𗧂ĂǓ͂ȂccBL[{[h̔́B ActiveX 
 VB BO[oϐ͂߂āccB


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

@掵́@@|U|

uA͂̔Ԃȁv
@Er\B
uȂAꔭڂ͊Oȁv
uccv
@͒vIB͉MāAhɗB
uXv
@Eɓ̂́AB̉ErU邤B
uAMbv
@r̋OՂ̉ɔʂ܂A̍߂Bw̋Ԃ
OՒʂɒfB
@ĂłL̒A͂̌ꏊBC̏Ԃ
MʂǂݎAƌ񂾁B
@B
uAx͓ĂĂˁv
@͗rU邢Aʂ̐̂܂𕑂B
u]v
u₾v
uȂ猂Ȃv
uႠ炢IIv
@rUĐԁBʂ͐̔ł͂ȂB
uAd˂ȁI@ʂ񂶂˂Iv
@̌́AɂłB
uAv
@Er\A
uMbIv
@U邤B
uIIv
@rÛŌɕ̎pB̕ǂ܂ƓɊ
BCkACɕςAƋɔMB
@艞́AȂB
uccÂ߂v
@䍁ɂׂĂCĂȀԂŊ̂ЂƂ
B䍁΁AvĂ܂}B
@łB
uvˁ[v
@̂̂т肵ŉ͎߂B~݂钆A
ɎweBCɐAnʂɋɓ|Ă镑
̎pB
uAASRv˂낤v
û͓ȂǁA葫͓v
@mFāAł͋NȂB
u悤ɔU悤Ƃ̂Hv
u͂ǁÃVbNłꂶˁBłv
@͉ErL΂B
úASɎ~߂邩v
uȂ玩ŋNv
@͂ՂƂۂA͂ԁ[ƂȂB
                                                              ()


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wA܂ɕ`ꂽccx
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 11.05
signed char  unsigned char

u signed  unsigned ɂĐ܂v
wꎩ̂͑OɂˁB̂ƂȂ̂āx
u Version 4.06 ( No.056 ) Ő悤ɁA signed A 
unsigned Ȃłv
włAĂ܊֌WȂƎv񂾂ǁBĕłHx
uꂪȂłB܂A singed Ƃy[Wɂ
R[hxĂ݂܂v

void Compare()
{
    char ch = -1;
    unsigned char uch = ch;

    if( ch < uch )
    {
        TRACE( "%d < %u\n", ch, uch );
    }
}
// -1 < 255

utĂȂ signed ƓA ch ̕ signed łBŁA
 unsigned rƁv
wA -1 łA unsigned  255 ɂȂႤ񂾂ˁx
uAłႢȂŗ~񂾂ǁArbgIɂ ch  uch 
 0xFF ˁv
wAȂ́Hx

    unsigned char uch = ch;

uĂɂ́Aۂɂ͉NĂ܂BȂāv

    if( ch < uch )

ûƂA ch  0xFF  -1 A uch  0xFF  255 Ă݂Ȃāv
wŔrႤ킯ˁx
uƁA < ̋@\ĂƂv
w@\HHx
uB <  signed  unsigned ׂāAɐlɕϊ
ĔrĂĂƁv
w@\ĂccHx
u̕ӂ͂ƓˁBZqĂvZ邾Ȃ
āAȋ@\łB̂̂ЂƂĂƂ납ȁv
w[ccx
u܂͍͒uĂāAdvȂ̂ signed  unsigned Ŕr
Ƃ̌ʂςႤĂƁv
wďdvȂ́Hx
udvBđOA Shift JIS ̃[hoCg͈̔͂ƃgC
oCg͈̔͂Čłv
w[III@A͈̔͂ɓĂ邩ǂāAr
ȂႢȂ킯ccx
uł͎ۂɎĂ݂܂B[hoCgǂʂ֐ signed 
gقv

bool IsReadByte_bad( signed char p_ch )
{
    if(
        ( ( 0x81 <= p_ch ) && ( p_ch <= 0x9F ) ) ||
        ( ( 0xE0 <= p_ch ) && ( p_ch <= 0xFC ) )
        )
    {
        // [hoCgłB
        return true;
    }

    return false;
}

û悤Ȋ֐Ăт܂v

void Use_IsReadByte_bad()
{
    const signed char pchStr[] = "";
    bool bResult = IsReadByte_bad( pchStr[0] );
    if( bResult == true )
    {
        TRACE( "[hoCgłB" );
    }
    else
    {
        TRACE( "gCoCgłB" );
    }
    // gCoCgłB
}

u "" ̃[hoCgnĂ񂾂A΂Ƀ[hoCgɂȂ
Ȃ񂾂ǁv
wAsgCoCgČꂽx
u "" ̕R[h 0x82 0xA0 v
w͈͂ɂ͓Ă˂x
ułv

    0x81 <= p_pch

u p_pch ɂ 0x82 Ă킯AʂɔrƁv

    0x81 <= 0x82

w炠Ă͂ˁx
uƂ낪A p_pch  signed 畄BȂƁA݂ɕ
̔rɂȂ܂B̏ꍇv

    -127 <= -126

uƂȂ邽߁AĂ͂܂ȂȂĂ܂łv
wccIx
u͂Δv
w 0x81  -127 ƂĂǂ΂킩Hx
u͂Ăv

    TRACE( "%d\n", 0xFFFFFF81 );
    // -127

wAȂ F x
u -127 oĂ܂v
wȂ F ȂႢȂ́Hx
uhcc͂ȁ[獡xv
wh[ccAЂƂx
u͂Δv
w signed ŔrƋtɂȂǁAĂPUiƑ傫
̂ɂPOiƏĂƂˁBȂ񂩕ςȂHx
ũy[WŋłB -1  11111111 A܂ 0xFF v
wAAtɂȂ񂾁x
uAۂɂ͂Ȋv

PUi : 0x00 - 0x7F - 0x80 - 0xFF
signed   :    0    127   -128     -1
unsigned :    0    127    128    255

u signed ƁA 0x7F  0xF8 ŋtɂȂčlĂv
wށ[A₱ccx
u܂킯ŁA 0x7F ȏ̐g̏ꍇA signed 
vZƂ܂܂BȂ̂ŁA unsigned g܂v

bool IsReadByte( unsigned char p_ch )
{
    if(
        ( ( 0x81u <= p_ch ) && ( p_ch <= 0x9Fu ) ) ||
        ( ( 0xE0u <= p_ch ) && ( p_ch <= 0xFCu ) )
        )
    {
        // [hoCgłB
        return true;
    }

    return false;
}

// g܂B
void Use_IsReadByte()
{
    const unsigned char pchStr[] = "";
    bool bResult = IsReadByte( pchStr[0] );
    if( bResult == true )
    {
        TRACE( "[hoCgłB" );
    }
    else
    {
        TRACE( "gCoCgłB" );
    }
    // [hoCgłB
}

wAȂ炿ƃ[hoCgďox
uƁA͏ȗ邯ǁAǂ̕̕傫AĂ̂
rƂɂ֌W邩v
w̑傫Hx
uƂ΁v

ABC
BBC

uĂꍇAɕׂƂ͂̏Ԃłv
w傫Hx
uB A < B ݂Ȕr킯ǁv
w unsigned ȂƂ܂Ȃ킯ˁx
uāA܂ł𓥂܂āAꂩ炷₱b܂v
whAȁAȂɁHx
u悤ɁA char  unsigned char ƂSłv
u unsigned ɂƏofbg͂Ȃ́Hv
w܂x
uȂ炻킯ccˁv
wȂ񂾂ǁA܂x
u₱ƂȂ񂾁BȂŁHv
u[AԂ̗R͊IɂA炩ȁB unsigned tȂ 
char gȂAĂ̂ʂAɂȂ͕̂̔r
lZƂ炢A̎LXg΂v
wccԖڂ̗ŔHx
úA char  signed Ƃ͌܂ĂȂłv
wցHx
u char ۂɂ signed  unsigned ͊JɂĈႤ
B Visual C++  char  signed B unsigned Ȃ̂邵AŐV
VC .Net ͍DȕIׂ邵ˁv
wȂςA unsigned ɂׂȂ񂶂ȂHx
umɂȂ񂾂ǂˁccꂪƍő̗RȂ񂾂ǁA 
unsigned char  char ւ̓LXgKvȂ񂾂ǁA^CƂ 
API Ƃ́v
wBAʂ char AnтɃLXgȂႢȂ
񂾁ccx
u͂܂ɂςAȂƌǁv
wtȂ char gȂĂ킯ˁccx

/*
    Preview Next Story!
*/
wȂ񂾂AIccx
u邩v
wے肵Ȃ́[IHx
uƂ͔hƖȂv
włČfŔl荇ƂɂȂ񂾁ccԂԂx
uƂ킯Ŏv
 Version 11.06 Unicode 
wɂÂIx
ux܂̂ccv
w܂IHx


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

EقƂ́[ǉ\
@Ol̃zbgn[uɂPbǉ\BTɂS͂͏I点ł
ˁ[B


////////////////////////////////////////////////////////////////////
/*                          Ӂ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 - 2003 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/
////////////////////////////////////////////////////////////////////

