/*
    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/10/16(Mon) No.078
    zMF 3840i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

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

EKAB-studio.h ̍LB
@[}KW KAB-studio.h ̂܂܂oRł̔zMɑ}Ă
LAPOPU̔zM߂邱Ƃɂ܂B
@R͊ȒPALijBXAE폜\
ŁAꂪȂĂ̂ƁB


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

2000/10/08 (Sun)
@Ƃ肠hNGNA`B܁AlIɂ͌\Ȃ񂶂Ȃ
ȁ[ƁBƂ̓erFXBpybg}ybg񂾂񈫂Ȃ
ijB

2000/10/09 (Mon)
@͂ՂƂ폑hNGŒ{XɋɎEꂽB[Ȃ
[[Ӂ[ɂ܂ƂߓǂݗpɏĂƁAƂ΂Ăȁ[
ċC͂ƂȂłB܂ȂlˁB

2000/10/10 (Tue)
@vԂɃKbRɍsĂ܂BłɃMeBMAw
bfeNjbNKCh𔃂BȂɂAj[o[˂UoR
ŎgȂIHH

2000/10/11 (Wed)
@hNGƃVl}l[BƂ͂ǁ[ł[bB PE_MTX.A Ƃ[EB
XA ATOK14 A̓w͈ȂiȂ̂ɗDłЂccjA
Ȃ goo ̃JeSɌAƂBقˁBƂ͂͂߂̈
dI

2000/10/12 (Thu)
@s`II@ҏWłȂII@ goo ̂ŐlC̃oX
I@j[o[菜̑ρI@܂NbN̍LI
ȎEƂẮA̓~NP[LccB

2000/10/13 (Fri)
@͉BӂB̓CRecɂȂ邩ˁ[B
Đgb|B

2000/10/14 (Sat)
@ƂƂAEOCII@̓eƉۑɌ˘fBȂL
`ɉ̂莆I@ƍN[̃Aj͗낢BgC[m
\B


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

2000/10/08 (Sun)
x

2000/10/09 (Mon)
ւ
NXev[ǧ^wɔz͎gH
g܂
uŃRpCG[NĊmFvΕ
ev[ǵuPȂuv
ev[gɂ́ulvg

2000/10/10 (Tue)
ւ
fgets()  sscanf() ł̎
^œǂݍ݃`FbN㐮^œǂݍނƂ@
t@C̃G[`FbN͂܂肵Ȃ
ǂȃt@Cn邩Ȃ炵

2000/10/11 (Wed)
ւ
DLL 
Microsoft FlexGridControl Version6.0 悹_CAO
\Ȃ
܂_CAOŕ\ł邩`FbN
\Ȃ΃NXƂ̖̉\
\ꂽ Microsoft FlexGridControl Version6.0 ̖

2000/10/12 (Thu)
ւ
DLL ŕ\Ȃ̂̓\[X[hĂȂ炩
MFC gĂ炻ɋCtȂ
ւ
[Mɂ
ʐMɂĂ͂悭mȂ
ւ
std::strstream ł͂Ȃ std::strstream gׂł́H
͂킴
zg std::strstream Ԏg₷

2000/10/13 (Fri)
ւ
 explicit TCHAR void volatile z֐ ̍ɋ^
TvR[h
gcc  bcb Ȃ return  void Ԃ
̌

2000/10/14 (Sat)
x



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

EǉPF
T`[V bvAEh AEgIuI[_[ \
CN^N NULL NIL I[L I[L VSYNC pfBO
Xg\ L[\ FIFO LIFO FILO |[hL@ t|[hL@
MS-DOS TXyh

ET̏󋵁F
@ACɑ܂ˁ[B^̉eHij
@Ȃ񂩍́uƏڂvƂāAȂ𖄂߂悤
ȒPꂪłB̕APǁijB CPU 
֌W͐hccB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wAIx
u̍LȂȂA̕ˁv
wႠႦ΂x
u͂ƁccBʑA̕ӂŋx~ȂƂˁv
wg炵gāAՂƂƂȂ`炢Ȃ̂Ɂx
uhv
wŁAĉ΂́Hx
uccǂ悤v
wO STL & iostream ̍Lǁx
u͍ĕ[h˂v
wȂ񂩓ǎ҂摗Ă炨Ix
u CM Ⴄv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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


@Version 5.13
MFC Ńt@CI

u܂ł iostream ƃ^CŁAt@CǂݍރvO
Ă݂܂v
wŁA MFC gēǂݍށAƁx
ułB MFC ɂ CFile Ƃ CStdioFile ĂNX邩A
 CStdioFile găt@Cǂݍł݂܂傤v
ẃ[x
u܂ȂÕ^Ĉ̗悤ɁA CFileTestDlg::OnBtnShow() 
̍ŏɃvOāA return ŏIāÂƂ iostream
̃vOĂ`ɂ܂v
w^C̃vO͂ǂ́Hx
u폜āv
w`IHx
uccρAeXgvO̓eXgvWFNgɏˁv
w悻[B܂Ƃ肠AvÔƂɈڂƂx
üڂƂɁÂ悤ȃvOŁv

void CFileTestDlg::OnBtnShow() 
{
    // t@CJ܂B
    CStdioFile cStdFile;
    BOOL bOpened
        = cStdFile.Open( "Data.txt", CFile::modeRead );
    if( !bOpened )
    {
        TRACE( "t@CȂI\n" );
        return;
    }

    int iError = 0;
    int iTemp = 0;
    char chOneLine[256];
    while( cStdFile.ReadString( chOneLine, 255 ) )
    {
        iError = sscanf( chOneLine, "%d", &iTemp );
        if( iError == 0 )
        {
            TRACE( "lȂł\n" );
            break;
        }
        char chDest[256]; 
        sprintf( chDest, "%d", iTemp );
        m_cDataLstBox.AddString( chDest );
    }

    return;
// ȉA iostream ̃vOĂ܂傤B

wǂĂ[ƁA^C̎̃vOɋ߂ˁx
uA sscanf() g炻̕ӂłˁB܂͍ŏ̕v

    // t@CJ܂B
    CStdioFile cStdFile;
    BOOL bOpened
        = cStdFile.Open( "Data.txt", CFile::modeRead );
    if( !bOpened )
    {
        TRACE( "t@CȂI\n" );
        return;
    }

w܂ CStdioFile NX̕ϐ cStdFile ĂˁBNXA
iostream  cStrStrm ɋ߂ˁx
u̕ӂ͓B CStdioFile  MFC ̃NX MSDN ɏڂ
Ă邩ˁv
w񂶂᎟ Open() B std::ifstream::open() ƂقƂǓ
ˁBłɈႤƂx
u܂ MSDN ŌĂ݂悤B CStdioFile ̃oꗗāv
wقoBccāA Open() Ȃăo֐ȂH@SłS
炢ڂĂȂx
uȂ̘̂bɂȂ邯ǁA CWnd  CDialog ̊֌WĉĂHv
wƑ҂ĎvoccApăcIx
uA Ver 3.1 ( No.026 )  Ver 3.2 ( No.027 ) łˁBp
WɂƂɂ́AqNX͐eNX̃ogłv
w CDialog  CWnd ̃o֐g񂾂ˁBccĂ
́A CStdioFile ɂȂ񂩂̐eNXāA Open() ͂̃o
Ȃ񂾁Ix
uƁB̐eNXA CFile B̃oꗗ
̉Ɂy{NX̃ozĂłv
w{NXHx
uyeNXẑƂy{NXzƂyNXzƂƂ
B܂y Base class z̖Ȃ񂾂ǂˁBۂ́yzĖ󂳂
v
w MSDN __ĂƂˁB񂶂Ⴛ̊{NXꗗI@A CFile 
̃NXoďoI@ Open() Ix

virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags,
CFileException* pError = NULL );

wccȂ񂩂ނłǁx
u܂ virtual ͂Ȃ񂵁B߂l BOOL Aꂪ 
FALSE Ɓv
wt@CȂI@ˁB iostream  bool  MFC  BOOLx
u MFC ̕ÂA bool ^ɂ͑ΉĂȂv
wP LPCTSTR A܂ǂݎpAꂪt@CˁB
 UINT āccHx
u UINT  API ł悭gĂ^̂ЂƂŁA unsigned int ̂Ɓv
w UINT ˁBq`̂ƁrĂƂ typedef Ă񂾂ˁx
uA API  Include\Windef.h ăt@CɏĂ邩ˁv
wAׂ͒܂[ĂȂ̂Ɂx
u UINT ݂̂͂ςႤT̑ςˁB
API ֌W typedef ͂̃t@CɏĂ邩v
wف[BŁA̕ϐ̈Ӗ͂ƁA Flags ďĂ邩tO
g񂾂ˁBA fopen() ̎ "r" ̑Hx
uƁI@̃tOŁAǂݎpƂw肵܂v
wꂪ CFile::modeRead Ȃ񂾁x
u CFile::CFile() ăo֐̃y[WɏĂ邩猩Ă݂āv
w\ςˁ[BƂ CFile::modeRead āAOԁH
Ƃ  std::ifstream::open() ẮHx
u std::ifstream::open() ̕B CFile ȊɂȂĂłv
w܂āAt@CŒTx
u Afx.h ăt@Cɂv
w`x

class CFile : public CObject
{
    DECLARE_DYNAMIC(CFile)

public:
// Flag values
    enum OpenFlags {
        modeRead =          0x0000,
        modeWrite =         0x0001,
        modeReadWrite =     0x0002,
        shareCompat =       0x0000,
        shareExclusive =    0x0010,
        shareDenyWrite =    0x0020,
        shareDenyRead =     0x0030,
        shareDenyNone =     0x0040,
        modeNoInherit =     0x0080,
        modeCreate =        0x1000,
        modeNoTruncate =    0x2000,
        typeText =          0x4000,
        typeBinary =   (int)0x8000
        };
// ȉ

wށAƓx
uςƌłl̈NZ`v
whccA enum Ăˁx
u Ver 4.09 ( No.059 ) łłA萔@v
w const int ݂Ȃ񂾂ˁB 0x0001 Ƃ 0x0002 Ƃ
ĐtOɂĂ񂾂ˁx
u 0x01  0x02 Arbgŕ\ƁHv
w[ƁA 00000001  00000010 ˁBArbgĂ̂
Ӗ񂾂ˁIx
u | ĉZqgĂӂ̃tOЂƂ̒lɑgݍ
킹邩ˁv
w 0x01 | 0x02  0x03 ܂ 00000011 ɂȂ񂾂ˁBڂ 
Ver 4.05 ( No.055 ) QƁIx
u̕ӂ MSDN ɏĂ邩BȂ݂ɂĕ̃tOd
˂邩 Flags ĕ`v
wف[BccƂŁ[AꌩƂς̃oϐۂǁH@
 cStdFile.modeRead łǁx
uvv
wrhAzgB[Ȃł킴킴Hx
uoϐāANX̕ϐƂɈႤłBƂ cStdFile1
 cStdFile2 ƂɁAʁX̃t@CĂ킯łv
wAĂx
uł enum ōꂽ萔ĺA萔v
wǂ̕ϐłlII@̂ CFile::modeRead Ă
񂾁x
uǂČƏKIȂ̂ˁBƂЂƂB enum g
Ă郁bgȂċCtHv
wǂ䂱ƁHx
u UINT ^ĂƂ́AǂȐłgĂƂłv
wI@΁A enum gȂƂbˁx
u UINT ^ OpenFlags ^ɂȂĂ΁A enum Ă
gȂSB UINT ƂǂȒlłg邩ˁ[v
w MFC __ˁ[B΁A킴킴 unsigned ȗR
āHx
u Ver 4.06 ( No.056 ) łƂGꂽǁArbgtO̎
unsigned ɂ鎖ȁv
w͂̃rbg̃tOɂȂĂƂȂ񂩂ƁAĂ̂ˁx
u܂A{Iɂ͂܂ςȂA̕ϐyrbgtO
gĂ܂zĂӖɂƂɎg炢ȁv
w[ƁȂQ֌W͂ŏIHx
uIBR CFileException* pError = NULL ̓pXv
wHx
uēv
w܁[Ȃ炵[ȂBAł̕āÃv
OŏĂȂˁx
uȂ̋ƂYꂿȂǁÂƂ
= NULL ƂĒlƂƁÄȗł邩v
wH@x
u Ver 2.11 ( No.022 ) v
w킟ccBŁAȗďƁA = ̉Ê킯ˁx
uƁB́A std::ifstream ̎̂łB
MSDN  open Ă݂āv
wقBAςXgɏoĂcc ifstream::open x
ũy[WɁv

void open( const char* szName, int nMode = ios::in, 
int nProt = filebuf::openprot );

wƂӂ͏ȗł邩 std::ifstream ̂Ƃ͎gȂ񂾁B
ccāȀȗĂ̂ "r" Ƃ CFile::modeRead Ɠ
ӖIHx
uƁB std::ifstream ֗̕ȂƂ̂ЂƂˁv
ẃ`x

/*
    Preview Next Story!
*/
wȁ[񂩍A啜QĊˁ`x
u玚Ⴄāv
wƎgƂFXĂ[x
uAvO̗͂[߂厖v
wƂ킯Ŏx
 Version 5.14 TƏ_ 
uɂÂIv
w[[n`ȋƁAlCoȂHx
ulɂƂẮAΔ̐̕dvIIv
wIIx


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

const o֐
#10 ӖƂĂ const o֐

@ŏ̕Łuł const o֐vƂƂ
B const o֐́A const o֐Ɣ const o֐
ǂ炩Ăׂ邩AĂ̗̂RBAoϐ
Ȃo֐炻͑ const Ă킯B
@łȂꍇ܂BЂƂ͑O񌩂悤ȃI[o[
Ch̊֌WBЂƂ́AӖIȂ́B
@Ƃ MFC  CWnd::SetWindowText() B̓EBhE^Cg
ύX郁o֐łB̃o֐̒ł̓oϐ͏
ĂȂA const o֐ɂ邱Ƃł͂Błۂ
͂ȂĂ܂B
@ӖIɂ́A const ɂȂĂȂR͕łBEBhE^C
gς킯A const ȂĂƂBł́uӖ
̏Łv̘bB const āAoϐ͈
߂ꂽ̂ɁAȂĂ̂͂ƂˁB
@Ƃ͋t̃P[XĂ̂܂BӖIɂ const ɂȂ
ȂƂAȂ̂ɎŏȂႢȂ const ɂ
ĂȂAẮB
@Ƃ std::istream::tellg() B̃o֐́uwĂ
|C^̈ʒuvԂo֐B͕̂KRI const 
ɂȂ͂AłȂĂ܂B́At@CƂɂ
fgetpos() ĂяoKvāÅ֐ɓn FILE *   const 
B FILE * oϐƂĎĂꍇɂ́A^C
Xg[o͊֌W̊֐Ăяoo֐́AS const ɂ
ȂႢȂƂɂȂ܂B
@ӖIɂ const łׂȂ̂ɁAȂȂA͂̋tA
ĂƂX̂ const o֐̓ˁBT͔
ɂāBˁB


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

E\ȂB
@AEOCX^[gŌ\ԂH


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


