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

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

    MF 2001/03/19(Mon) No.099
    zMF 3870i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

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

ENǉ
@T̘błAÑy[WɃNǉ(H)܂Bǉ
̂ prototype By[WłI
[ N ]
http://www.kab-studio.com/Info/Link/
[ prototype ]
http://www.sfc.keio.ac.jp/~t00278mk/


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

EL̗JTAx~
@fƂ͈ႤȎ┠ƂĂȂ݂̓L̗JTAPU
zMŌɋx~܂Bꂩ́AȂ񂩐uƂ
`[ʂȓL̕ŁB
[ `[ʂȓL ]
http://www.kab-studio.com/nikki2/


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

ElĈȂy[W폜
@ŋߐlCȂAXV\Ȃ KTL A KCL9542 A܂ǂԁA
̊e}jAy[W폜܂B_E[ht@Ĉ͍̂폜
ȂSĂB

E悤̃CXgVI
@́uey[W폜vɔAKAB-studio ւ悤ĨCXgS
V܂BΔt@͕KH
[ KAB-studio ւ悤I ]
http://www.kab-studio.com/Info/Intro/


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

2001/03/11 (Sun)
@CXg` HTML lint Ń`FbNVEKgŃ_C
Gbg Google Toolbar Ƃ̂悤ɂƈႤ
B

2001/03/12 (Mon)
@̔Y݁BΖ悪Ɍ܂ĂȂ̖Ȃ̂ɁccB
ƃQ[ubN̂悤āA蒼̐hccB

2001/03/13 (Tue)
@̂悤̃CXgS`I@łό\ρA܂
ccBĂ̏ԕǂɖꒃĂCI@
ȂB

2001/03/14 (Wed)
@̌ĂăJ[HׂāAT~p\RȂȂĂ
Gv_Cɂ悤ȂƂvjROqbgI@\Ȃ̂ɁA
Ȃz[y[W̓Xg[h()B

2001/03/15 (Thu)
@悤̃CXg`グI@̂Έ̂ccB
ӂقǃCXgǉ邩BƂ()B

2001/03/16 (Fri)
@Ȃɂɂ̂т胂[hBՂƂ폑BĂԂ`ŏIB
uL̗JTvƂ[̂Aׂ͂ċĵł()B

2001/03/17 (Sat)
@ẑ߂Ƀe[u֎qBăn^[n
^[ŏIɃVbN()Bč̂Ԃ`̕Ԏ()B


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

2001/03/11 (Sun)
ւ
CStringArray ̂悤Ȃ̂ĂЂƂ CString ƌ
new  delete 𒼐ڎgč
d͓eɂācc

2001/03/12 (Mon)
ւ
stdlib.h  bsearch()  void * ĂȂɁH
void * Ă̂́uȂɂłȂ|C^v
TvR[h
rp֐p
\[gς݂̔zp
bsearch() Ɍlւ̃|C^AΏۂƂȂzA
vfAvf̃TCYArp֐n
rp֐ bsearch() Ăяo
߂lwʂɎKv
void * Ɣrp֐̎dg݂łǂȗvf̔złł
ւ
CRichEditView őI̔wiFVXeJ[ɂ
RichEdit20A H
CRichEdViewEx Ƃ݂̂

2001/03/13 (Tue)
ւ
STL ̃G[ C4786  #pragma warning ł܂菜ȂH
stdafx.h ̍ŏɏΑv
std::pair  utility CN[hĂ
RpCG[oȂ̂̓ev[g͎gȂΖ邩
 STL wb_[t@CƂ̌ˍ
ւ
DeleteObject()  GDI IuWFNgȂ悤ɌH
Create  Delete  malloc()  free() ̊֌W
SetWindowRgn() ̂ DeleteObject() ͂܂
nh|C^
nh̓|C^̊Ǘ̂̂猋\

2001/03/14 (Wed)
<?xml ?> wb_͂ǂ߂΂񂾂낤
DOMDocument.loadXML() ŕ񂻂̂̂ǂݍނƂł
VBScript ɊĂȂ
ւ
#pragma warning ܂
x~玿̓[L̕ł

2001/03/15 (Thu)
ւ
ev[g friend ֐ŃNG[ô͂ȂH
operator<<() wb_[t@Cɒu܂傤
CX^XȂ烊NłȂ
template class m<int>; ŃCX^XłĂ̂
ւ
<?xml ?> ޕ@
DomDocument.createProcessingInstruction() g΂
m[h̒ǉO DomDocument.createElement() ̖߂l 
DomDocument.documentElement ɓKv
ւ
CRichEditView ͂̕ύXꂽꏊmɂ́H
EN_SELCHANGE ܂@\ĂȂ񂾂ǁH
tbN|邩TuNX̂
b`GfBbg͎gȂ̂Ȃcc

2001/03/16 (Fri)
ŏI
܂ŉxx~Ă邩ϕ邩
ւ
vRpCς݃wb_[t@C܂ĂȂH
CN[hݒ肪܂ĂȂ
̂ւ̐
StdAfx.h Łusςȃwb_[t@CvCN[h 
StdAfx.cpp u쐬vÃ\[Xt@ĆugpvɂȂĂ
mainCRTStartup ǂŌ悤ȋC
LႢ

iƂ킯ŁAuL̗JTv͖x~Ԃɓ܂B
܂ł̂ڂ肪Ƃ܂B
܂ڂɊ|܂ŁccB
[ꂩ͓Lǂł()j


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

EǉPF
TPM LbN j[bN

ET̏󋵁F
@͂RPBAł XML  DOM TPꂩȁB
@ƂɂI@̒Pt͂QP()܂ŁBF񂨑߂ɁI


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

ev[g
#19 ev[g̐

@ev[ggɂ́Aɂӂ̗Ⴊ܂B
@ЂƂ́ug^^CvvBev[gg^ƌ߂
āAg^ɍs鑀ẮBNXev[gȂA 
STL  std::vector  MFC  CArray Ƃ̃ReiNXB֐
ev[gȂ STL ̃ASYnׂ͂ĂȁB
@ĂƂ́AōNX֐̒ɁAg^삵
̂΂̓ev[głĂƁB傫̂ƐFX
p肻Â玎ˁB
@g^^CṽbǵANXev[gɎg邱ƁB
ۂɎgpĂ鉉Zq𒲂ׂāAI[o[[h֐ƂĎ
ႦΎg悤ɂȂ킯B
@Zq^Cv̖_̂ЂƂ́A|C^̖Bʂ̉Zq
̑ƁA|C^ɑ΂Ă͈̑ႤłB@̂
Ƃ́A #07 ŏЉev[g̃I[o[[h@B
QލKv̂肾ǂˁB
@ƁA^̃TCYɈˑ鑀ƁAev[gɓn^
ȂȂ邩B sizeof łxtH[ł邯ǁA sizeof 
I[o[[hłȂANXev[gɓnȂȂ
ႤˁB

@ЂƂ̎ނ́Auo֐Ăяo^CvvBev[g
ƂēnꂽNX̕ϐāAʂĂ郁o֐
ߑłČĂяoẮB
@͓RAg^͎g܂BĂAÕo
ȂNX͎g܂BÕo֐NXA
͂̌pNXAĂƂɂȂ킯B
@͑OЉAev[gg|[tBŶƂˁB
ۂ̃|[tBYƈāARpC^Cɂǂ̊֐Ă΂
̂܂邵Ag֐͈̔͂LĂ̂ႤȁBɑO҂
bǵA|[tBYgȂ͌\傫ˁB
@gṕA STL  std::back_insert_iterator() Ƃ̃^CvB
̃NXev[ǵAev[g push_back() Ăo
֐Ăяo܂Bev[g̃o֐
ȂRpCG[ˁB
@̃^Cv̕ĝ͓낤ǁÂ͊ȒPB
郁o֐Ă΂邾AGȂƂlȂĂˁB
T͂ƒgpɂāBˁB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wL̗JTIāAHx
uQPɒPtx~v
wɂ́Hx
u؂̗JTTōŏIv
wIH@Ȃ́H@؂{ȂHx
utČĂ񂾂{Ǝvv
wɉÍHx
uȂ񂶂ȂȁBI炵̂Hv
wՂƂx
uƎvccv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


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

@Version 5.34
OɃWXg

učŌ̎dグA̓WXgւ̕ۑĂ݂܂傤v
wWXgđOɎgˁB Ver 3.19 ( No.044 ) ƂR񂭂
ƃWXgx
uyԂĂ݂āv
w[ƁAf[^WXgɕۑ񂾂ˁB CWinApp ̊֐A 
SetRegistryKey() Ƃ GetProfileInt() g񂾂ˁx
uA̕ӂ̃o֐ŃWXgɓǂݏł܂v
wӂƎv񂾂ǁAWXg̑ API łł́Hx
ułB CWinApp ̃o֐gꍇāAWXg
́yHKEY_CURRENT_USER\Software\KamichanFactoryzɏ܂
Błۂɂ̓WXĝǂ̏ꏊɂ߂ȂႢȂ킯
Łv
w API gƂꂪRɂł񂾁I@ĂƂ́ccx
uAg̓񂾂ˁv
wςx
uWXg֌W API  Reg Ȃ񂽂Ċ֐v
w RegCreateKeyEx() Ƃˁx
uCgĂ݂āBہÅԂ͎gKvȂ̂獡
pX邯ǁv
wēccŁA܂ǂ΂񂾂x
u܂ CWinApp::SetRegistryKey() v
wAyHKEY_CURRENT_USER\Software\ SetRegistryKey() ̈\A
vzĂ[̂񂾂˂Łx
u CWinApp::SetRegistryKey() ɂ͑OƓ KamichanFactory łȁv
wAÔƈႤƕɂBccĂƂ́Aォς
Č\߂ǂHx
uɂȂˁBЖĂuh́AȒPɕς
ĂƂv
w WriteProfileInt() ŏނ񂾂ˁBH Int Đ
l int ˁBR{{bNXɓĂ͕̂񂾂ccx
uAꂶᏑ߂ȂłBłv
wʂ̂񂾁I@ CWinApp ̃o֐ꗗA WriteProfileString()
Ă̂Ix
uAŕ߂܂v
w WriteProfileInt() ƂقƂǓˁBłccǂ̈ǂ
Ȃ̂x
uAۂɎĂ݂悤B܂ CWinApp::SetRegistryKey() B
 CFileTestApp::InitInstance() ŌĂяo܂v

BOOL CFileTestApp::InitInstance()
{
    SetRegistryKey( "KamichanFactory" );
// ȉB

wH@Ȃ_Ȃ́Hx
uȂƂ CFileTestApp ̃o֐̒Ȃƃ_BȊO
NX͌ĂׂȂ悤ɂȂĂ܂BȂĂ̂͂
ȂĂB MFC ̎dlĂƂȁv
wӁ[BŁA WriteProfileString() ͂̕ǂ悤x
uƂ肠eXgA CFileTestDlg::OnBtnBrowse() łĂ݂悤
v

void CFileTestDlg::OnBtnBrowse() 
{
    CWinApp *pcWinApp
        = AfxGetApp();
    pcWinApp->WriteProfileString( "A", "B", "C" );
// ȉB

wAƓȂHx
uƂˁBƂ΁A CComboBox::AddString() ĂяoƂɂ́A
m_cFileCmbBox.GetWindowText( chPath, MAX_PATH - 1 ); Ċ
yϐ.o֐zČ`łv
wA WriteProfileString() ӂɂȂႢȂ
Ƃˁx
uł́yϐz|C^ȂŁA . Ȃ -> g܂v
wccꋳĂHx
uccĂȂHv
wccx
ucc܁[[B@\Iɂ .  -> B̕ϐ|C^
 -> gĂ̘bv
wقBŁÃ|C^ AfxGetApp() Ŏ擾ƁBÅ֐͉
xgĂˁx
u MFC ̊֐Łcc FileTest.cpp ̒ CFileTestApp theApp; 
ĕϐłB̃AhXԂ̂̊֐v
wف[BŁAʂ CWinApp::WriteProfileString() ĂԂ킯
ˁBAł SetRegistryKey() ͂ĂȂx
u Ver 5.26 ( No.091 )  SetWindowText() ̗ƓB
cShowBtn.SetWindowText() ČĂł̂ƒ SetWindowText() Č
ł̂ƂQނłv
wƓp^[Hx
uB cShowBtn.SetWindowText() ́AOɍĂ CButton ^ϐ 
cShowBtn ʂČĂł܂B SetWindowText() Ăł́A 
CFileTestDlg::OnBtnShow() ̒ŌĂłł CFileTestDlg ^ϐ
ʂČĂł܂v
wււ񉯂ĂA CFileTestApp::InitInstance() ̒ 
CFileTestDlg dlg; ĂĂ邱 dlg ̕ϐȂ񂾂ˁx
uI@̕ӂ Ver 3.21 ( No.046 ) ƂŎUXĂ邩牯
邩v
w ĂƂ́A CFileTestApp::InitInstance() ϐcc
I@ꂪ theApp Ęb񂾁Ix
u Ver 3.22 ( No.047 ) łˁB܂ SetRegistryKey() 
WriteProfileString()  theApp ʂČĂ΂ĂĂƁv
wǂĂƂˁBŁAȂ񂾂x
uŁA CWinApp::WriteProfileString() ǂ삷̂mF
v
wBrhĎsI@WXgƁcc
yHKEY_CURRENT_USER\Software\KamichanFactory\FILETEST\AzɁyOz
 B Ayf[^z C ̂łĂIx
u A PA B QA C Rˁv
w WriteProfileString() ͖ȂIx
uĎ̖BWXgɂ́Aǂ̒iKŏ߂΂ł傤v
wH@ˁAAvƂƂBOɃWXgɏ񂾂
́A CFileTestApp::InitInstance() ̒Ń_CAOĂ炾
ˁx
úA͂͂łȂłB_CAOAĂƂ
_CAÔ݂̂Ȃ킯ŁAR{{bNXv
wՌ`ȂĂI@ĂƂ͂ꂪOA_CAO
鎞ɕۑȂႢȂ񂾁BccȂƂł́Hx
uBԕKvĂ炢ˁBEBhE钼Oɂ́A
WM_DESTROY ĂbZ[WĂ܂v
wAɑΉ郁o֐΂񂾂ˁB[ƁANX
EBU[hŁANX CFileTestDlg ɂāAbZ[Wcc 
WM_DESTROY ݂x
ũo֐āv
w CFileTestDlg::OnDestroy() łI@Ƃ肠
CFileTestDlg::OnBtnBrowse() ŃeXg WriteProfileString ̂
ɈڂĂƁx
u WriteProfileString() ̑PAQ͂̂܂܂ɂāARR
{{bNX̂PԖڂ̃f[^AɂăeXgĂ݂悤v
wقB[ƁA[[o֐́[ƁA CComboBox::GetLBText() 
ۂx
u񂶂gĂ݂āv
wP̓CfbNXio[ 0 ƁBQ́ccQ
ˁx
u LPTSTR ̂ CString ̎QƂ̂ƂˁB CWnd::GetWindowText()
ƌׂĂ݂āv
wA CString ̎QƂ̂Bł LPTSTR ́̕Aő啶
󂯎ˁx
u|C^ƂɌƎvǁAz̃TCY̓|C^
Ȃv
w sizeof ƃ|C^̃TCYԂĂ񂾂ˁAő啶
nAƁx
u͂ݏoȂ悤ɂˁBQƂ͉ĂHv
w|C^݂̂ˁBAhXnĂ̂ƓAzg̕
͊֐ĂтĂ鑤ɂāA̕ϐ֐瑀삳A
[́x
uQƂƂēn΁A CString ̓TCYRɕς邩v
wTCŶƋCɂȂĂ񂾁I@ĂƂ CString ̕y
ĂƂˁBAȂ CComboBox::GetLBText()  LPTSTR ŁAȂ
őTCYnȂł́Hx
u CComboBox::GetLBTextLen() ăo֐邩Bŕ
̃TCY邩v
w肫邩ǂŒׂĂĂƂˁB߂ǂccx
uꂶ CString gŎĂ݂āv
w CString ^ϐāAQƂ炻̂܂ܓn΂񂾂ccA
CString  LPCTSTR ɂ̂܂ܓn񂾂ˁBccx

void CFileTestDlg::OnDestroy() 
{
    CString cDataStr;
    m_cFileCmbBox.GetLBText( 0, cDataStr );
    CWinApp *pcWinApp
        = AfxGetApp();
    pcWinApp->WriteProfileString( "A", "B", cDataStr );

    CDialog::OnDestroy();    
}

wrhĎsAyQƁzőIŁy\zĂy OK zŕ
ƁBŃWXgGfB^ōŐV\ccAI񂾃t@C̃p
XƏoĂx
uAx̓Xg̃f[^ׂĂWXgɏł݂܂
v
w[Ƃˁ[A "B" ̂Ƃ "1" Ƃ "2" ƂɂāA cDataStr 
Xg̊esɂď߂΂񂶂Ȃȁx
uAĂ݂܂傤Iv
wccccx
uЂƂЂƂB܂XgS TRACE() ŏo͂Ă݂Ƃv
wˁAƁȂOg CComboBox::GetCount() ŃXgɂ
Ă̂񂾂A for g΂񂶂Ȃȁx

void CFileTestDlg::OnDestroy() 
{
    CString cDataStr;
    for( int iNo = 0; iNo < m_cFileCmbBox.GetCount(); iNo++ )
    {
        m_cFileCmbBox.GetLBText( iNo, cDataStr );
        TRACE( "%s\n", cDataStr );
    }

    CDialog::OnDestroy();
}

w cDataStr  for ̊Oō񂾂ˁAȂƖ
蒼ꂿႤx
uA Ver 5.21 ( No.086 ) łˁv
w for ͑OɂȂ񂩂Ŏĝ̎g񂵂ǁAvˁB̂A
 m_cFileCmbBox.GetCount() xĂ񂶂ႤǁAzg
Pł񂾂ˁx
uˁB for ̑O const int ɓĂgȁv
wABŁAgĂ CComboBox::GetLBText() łPsE
óAłHx
uAvłBƂ킯őIv

/*
    Preview Next Story!
*/
wőPOO搅󂿂IIx
uƂ킯Ŏ͂܂Ƃ߂Ƃꂩ̕jȂ񂩂v
wI@܂łɉʂĂǂ̂炢Hx
uʂƂĂ͂Ȃ肾ˁBς̃vO}[v
wIx
ułlʂ̂R̂PɂȂv
wȂłƁIIx
uƂ킯Ŏv
 Version 5.35 WXgɂςI 
wɂÂIx
uccė~肷Hv
wȂɂςȂ`x


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

EvO~O̒PtAx~
@vO~O̒Ptx~܂B̂܂߂č̍č\z
́AM҂SAEĖZȂ邩BccH
[ vO~O ]
http://www.kab-studio.com/Programing/Dictionary/


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

ECodian Ƀy[Wǉ
@Codian Ƀy[Wǉ܂B STL & iostream 傩 STL & 
iostream #25 ǉBōŌI
[ STL & iostream  ]
http://www.kab-studio.com/Programing/STLiostream/


/*                          Ӂ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://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.com/Freeware/

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

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


/*                      See you next week!!                      */


