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


/*              QOOONRUij̍XV                    */
http://www.kab-studio.com/Info/News/

Ej`a|AzI
@RUAj`a|͈z܂B
@z http://www.kab-studio.com/ BN𒣂Ă
́AɂȂƂɂłύXĂB
@V[AhX info@kab-studio.com B烁[͂
̃AhXւƑĂB
@ꂩAy[Wo^ĂTCgi܂܂Ƃt[Ƃj
Vy[W̃AhXœo^XVāA̎葱ׂĊÂ
AhX̊ey[W폜ĂłBہA͈z̃VXe
AAhXɂ͂Rt@CcȂ߁AZԂ̂
uړv邱ƂɂȂ܂B
@Ƃ킯ŁAzSɊ܂ł̊ԁAFXƂf|
Ǝv܂Ae͂B


E\Ro[WɁB
@PAV\łB
@̖؂̉ŌグΔcc͂Ȃ肢ɂł
񂶂ȂȂƊĂ܂B̃CXgɂẲ̓`[ʂ
LQV̋Lǂ݂B
[\]
http://www.kab-studio.com/
[`[ʂȓLQOOONQV]
http://www.kab-studio.com/cgi-bin/cgiperl7.pl?nikki2/n12_02b.html__s__20000227


EANZXLOoI
@ANZXLOƂy[WV݁I
@j`a|̒łǂ̃y[WɐlĈA_Ot
Ntŕ鎩Ȗy[WłijBԃX^̃gh
`FbNI
[ANZXLO]
http://www.kab-studio.com/Info/Ranking/


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

QOOONQQVijF
@R\I@͂Ȃ薞̂̂ł܂̂łB
ǂꂾAĵƂijB

QOOONQQWijF
@ʐڂցccɑ҂󂯂Ă̎Ƃ́II@ċA
͂ЂтɃAEggK[ĂƂB܂܂M̉΂͏I

QOOONQQXi΁jF
@I@ANZXLO쐬I@āAAEɂĎvB
ccӂƎv񂾂ǁÃ}KǂłlāA݂Ȃ[AE
lȂ񂩂ȁH

QOOONRPijF
@ႢƂߋ̓LƂdƂFXB[[Ɓum[
ɃlRoX𑖂炻vƂBƌB

QOOONRQi؁jF
@VhA}KARcbfAd
ƍlBȂ񂩐FXĂ˂B

QOOONRRijF
@тII@rfIA^[AK_II@ƃ[~̃KC_
XB

QOOONRSiyjF
@ށ[A}KČ\z[y[WƈႤˁAĘbB
B


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

QOOONQQVijF
STL ASY𐮗
֐IuWFNgĝƎgȂ̂Ƃɕ

QOOONQQWijF
̃^O~Xl

QOOONQQXi΁jF
Perl  CGI vO~O
ANZXLO쐬
ANZXOǂݎĖ_Ot
uԃX^ł͂̃y[WlCIv
ftHg͑ÕxXgRO\
z[y[ẂA`y[Wǂݍŏo
uOv time  86400  localtime() ɓn
Nf[^́AOnbVɓĒlŋt\[g

QOOONRPijF
x

QOOONRQi؁jF
vO~Õl^Ȃ
CGI ͂炩
STL & iostream ̓l^΂炵܂肵Ȃ
玿WI

QOOONRRijF
STL & iostream ɖ
Kǂ邩
W C++ Cuׂ͂ď
l͉䗬nKA
҂I邱Ƃ
W C++ Cû͕ςȒZk
ႤX^CȂʂ₷
|Jɂ
܂H

QOOONRSiyjF
Perl  CGI vO~O
index.html  CGI ̍쐬
j[o[\邽
# p[^[Ƃēn@
qAhLg܂̃|J~X
 CGI ͂炩


/*                       T̒ǉP                           */
http://www.kab-studio.com/Programing/Dictionary/

EǉPF
__declspec b b{{ extern "C" NULL ^[~l[g ڐA
C^[lbg Iyh I[ wb_[ X^Iy[V

ET̂߂Ȃ
^[~l[g CFileDialog ÓIϐ A`GCAX X^
refinement ActiveX porting

@񂢂ǁAuۂȂȁHvƎvCyɂ
Ԃ`ւƑĂBԂ`oRŎɒPo^AĂƂ
񂾂BĂ[Ȃ̃y[WĂˁ[B


---------------------------------------------[ԃX^bl]---------
@QTTAN
@STL, C++ , iostream
@gEdg݁EJX^}CY
@Nׂ͂ĂɂB                      STL & iostream 
---------------------------------------------[ԃX^blł]---


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

@Version 3.22
QƂ낤I


uč́Hv
wƁȂOqɐrĂ̂Ax͂̐
WXĝɂ񂾂ˁBłccx
uA܂܂B܁AĂ݂āv
w܁AĂ݂R܂Ȃx
u͂Ȃv
w[BƁAO CCalcApp::InitInstance() ̒Łx

    CString cCompanyStr;
    cCompanyStr.LoadString( IDS_REG_COMPANY );
    CString cDialogStr;
    cDialogStr.LoadString( IDS_REG_DIALOG );
    CString cAnsStr;
    cAnsStr.LoadString( IDS_REG_ANS );

    SetRegistryKey( cCompanyStr );
    dlg.m_iAns = GetProfileInt( cDialogStr, cAnsStr, 0 );

wďāȂO CCalcDlg::OnInitDialog() Łx

    // TODO: ʂȏs͂̏ꏊɒǉĂB
    dlg.m_iAns = 10000;

wďāA̕Ɉړ΂񂾂ccx
uA؂_A cDialogStr Ƃ͂ƂŎgĂ񂾂v
w OK {^Ƃ̂Ƃˁx
u SetRegistryKey()  CCalcApp::InitInstance() ŌĂ񂾕
ȁB́qAvP[V̐ݒrv
w_CAOƊ֌WȂĂƂˁBAȊx

    // TODO: ʂȏs͂̏ꏊɒǉĂB
    CString cDialogStr;
    cDialogStr.LoadString( IDS_REG_DIALOG );
    CString cAnsStr;
    cAnsStr.LoadString( IDS_REG_ANS );

    m_iAns = GetProfileInt( cDialogStr, cAnsStr, 0 );

wˁ[BȒPȒPIx
uŁHv
w͂͂BrhăG[ccɂȂȂBHx
uǂˁAG[ɂȂȂāv
wccȂ񂩂ˁx
uAsĂ݂āv
ẃ[ccAȂŁyAnsẑƂ 0 Ȃ́H@ƁA 100 
āyOKz{^āAxsccꂥA܂ 0 AȂłHx
u~XӂB܂A     UpdateData( FALSE ) tāv
wAȂŁHx
uR͎BƂЂƂ̃~X́A GetProfileInt() BA
̂ƍ̂ƂňႤ֐Ă΂Ă񂾂v
wHHx
u CCalcApp::InitInstance() ŌĂ񂾂̂ CWinApp::GetProfileInt() A
CCalcDlg::OnInitDialog() ŌĂ񂾂̂ GetProfileInt() A܂ API 
̊֐v
wA̂܂Ɂccx
uȂłHv
wȂx
uccv
wAƂ˂ccx
u CWinApp::GetProfileInt() ĂƂ CWinApp ̃o֐Hv
wAm̃vO CCalcDlg::OnInitDialog() ̒x
uA GetProfileInt() Ă CWinApp NXƕʂĂƁv
wĂׂȂāA API ̕Ă΂ꂿ񂾁x
uႠAǂ CWinApp ̕ĂׂƎvHv
w[AƂ dlg.GetProfileInt() ݂Ɏg肷񂶂
Hx
uBA dlg ɓ̂́Hv
wcc[Ɓx
u GetProfileInt() ͂ǂŎgẮHv
w CCalcApp::InitInstance() ̒x
ułȂŎǵHv
wA[ƁA CCalcApp  CWinApp pĂ邩Ȃ񂾂ˁB
CCalcDlg ̒ UpdateData() ƂĝƓŁx
uĂƂ dlg ɓ̂́Hv
w[ȂOĂˁA CCalcDlg::OnInitDialog() ̒A
CCalcDlg ȂāAႦ dlg ϐ̒AƂōl₷
āx
u񂤂v
wĂƂ́A GetProfileInt() Ă񂾂ƂA CCalcApp  dlg ɓ
ϐɂȂĂIx
uv
wꂪ CCalcDlg::OnInitDialog() ̒ GetProfileInt()
ĂԂƂł͂IIx
uIv
wccŁHx
uŁHv
w dlg ͂A CCalcApp::InitInstance() ̒ CCalcDlg dlg; Ċ
ɕϐƂčłBł CCalcApp ̕ϐ́Hx
uOɈx񂾂ǂˁ[v
wI@cc[AVer 3.1 i No.026 jŋĂ񂾂ˁx
uA CCalcApp::InitInstance() ̂ CCalcApp theApp; Ă
łAꂪv
w܂ CCalcApp ̕ϐłāÂ CCalcApp::InitInstance() 
Ă΂āA̒ CCalcDlg ̕ϐłāA_CAO\āA
Ăˁ[x
uvoĂHv
wȂƂȂB񂶂Ix

    m_iAns = theApp.GetProfileInt( cDialogStr, cAnsStr, 0 );

wrhĎsI@قG[ĂȂłHHx

error C2065: 'theApp' : `ĂȂʎqłB

wȂł`IHx
u theApp ͂ǂ̃t@CɂHv
w Calc.cpp x
u CCalcDlg::OnInitDialog() ́Hv
w CalcDlg.cpp BāAt@CႤHx
uƂȂłB CCalcApp::InitInstance() ̒ CalcDlg 
gĂłHv
wA΁x
u܂q̃t@Cɂ̂g@rĂƁv
wȂقǁBŁA̕@Ƃ́Hx
uA܂ CCalcApp theApp; ̂ƂɁv

CCalcApp theApp;
// ̂ƂɁA

CCalcApp& GetTheApp()
{
    return theApp;
}
// ƏĂB

w͂āH@͊֐ˁccHx
uVer 2.10 i No.021 jƂvoĂ݂āBʂ̊֐łv
wA΁Bo֐ȂAʂ̊֐x
uAvoȂ猩ĂB܂֐́Hv
wƁA GetTheApp() B炱Ăׂ΁Å֐g񂾂ˁx
uA߂ĺHv
wcc CCalcApp& ȁAłŌ & āHx
uꂪ̒ړ_B̊֐̒́Hv
w[ƁA return āq߂lrĂ̂߂񂾂ˁB
GetTheApp()  theApp ɒuccA CCalcDlg 
theApp g悤ɂȂ񂾁Ix
u܂āB߂l CCalcApp& łv
wA & ĂȂɁH@theApp  CCalcApp ̕ϐȂ񂾂A & 
ȂĂȂ񂶂ȂHx
uAărhĂ݂΁v
w[AG[ł[x

error C2558: class 'CCalcApp' : Rs[ RXgN^ijB

úq theApp ͍̕܂rĈӖv
wHx
uARs[ˁB return theApp ĂƁA theApp ̂̂
āA theApp ̃Rs[A܂Vꂽ CCalcApp ^̕ϐA
GetTheApp() ̑ƂĒu킯v
w[HH@Ȃ theApp ̂̂Ȃ́`A߂ǂ[x
uƂ킯ŁA߂ľ^̂Ƃ & t܂Iv
wĂƂ́AtƁx
u theApp ̂̂Ԃ邩ARs[͍܂Iv
wȂقǁÂ߂ & Ȃ킯ˁx
u & ̕t^qQƁrĂ܂B̗Ȃq CCalcApp 
QƁrČ܂v
wQƂāq̓eLXgQSy[WQƂĂrƂ̂Ɠ
Hx
uBQƎgȂÃeLXgRs[ČĂ炤Ă
Ƃˁv
w͖ʂQƁA`x
ułꂾ܂_v
wAȂ́Hx
u GetTheApp()  Calc.cpp ɂłB܂ CCalcDlg ́v
wĂׂȂāAꂶӖȂx
uŁÅ֐́q錾r܂傤v
w錾ācc GetTheApp() ɂ邼AgII@Ă̂ˁx
uBwb_[t@CA܂ Calc.h ɏ܂v
w΂Șbˁx
uĂ݂Hv
whx
u񂶂Ⴑ͖l̕ŁB Calc.h ̒ CCalcApp Ăłv
wA class CCalcApp Ă̂łx
u CCalcApp ̂ƂɂǉĂv

class CCalcApp : public CWinApp
{
    // B
};

//    ̉̍sǉB
CCalcApp &GetTheApp();

wAA֐̂̂܂܏Ηǂ񂾂ˁx
uȂ݂ CCalcApp ̂ƂȂ_v
wȂŁHx
u GetTheApp() ̖߂l CCalcApp BgOɁA CCalcApp 
ǂ̂ȂƂˁv
w΂Șbccx
uŁA CalcDlg.cpp  Calc.h CN[hĂ邩v
w CCalcDlg  GetTheApp() gIIx
uƂ킯Łv

    m_iAns = GetTheApp().GetProfileInt( cDialogStr, cAnsStr, 0 );

uŁA߂łv
wHHx
uAƓȁB GetTheApp()  theApp ɒu񂾂
v

    m_iAns = theApp.GetProfileInt( cDialogStr, cAnsStr, 0 );

uƓƂĂƂˁv
wzg͂͂łȂǁA GetTheApp() g΂ƓƂ
łĂƂȂ񂾁x
uƁv

/*
    Preview Next Story!
*/
wēȂ[Hx
ułA֐̂ƂAOɂ̂΂肾ǁv
w΂ǁ`x
uƂȒPȒm̐ςݏdˁv
w傫vOȃvOgݍ킳ĂłĂAˁx
uƂ킯Ŏv
 Version 3.23 I[o[Ch 
wɂÂIIx
u񂾂āAV̎QƂ炢v
w܂AȂႢȂƂ܂܂Ղ肠ĂƂˁccx
uĂ܂ŌJԂĂ肾ǂˁv
w͂͂x


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

Aṽc{
#10 vOC

@O񂿂ƐGꂽvOCBxƁA DLL łB
DLL ̒Ɂuv֐ĂāAAv炻Ăяo
Ƃł́uv܂BĂ̂́AƂΈk𓀁A
tH[}bg摜̕\A摜ɑ΂tB^OAC^[lb
guEUւ̃CC\AƂˁB
@Ȃ݂ɑ OS  DLL Ė͎̂gĂȂǁA悤
VXe͂A̕ӂ𒲂ׂĂˁB

@vOCő؂Ȃ̂֐錾ƒ`t@CB
@vOĆAuvOCp SDK vzzĂ͂B
̒Ɋ܂܂wb_[t@CɁuAvT֐v̐錾
B DLL ł̐錾gĊ֐΂ĂƂˁBꂪ܂
ȂƁA֐|C^擾ƁAۂɌĂяoƂɃ^C
G[NႢ܂B
@ԒӂȂႢȂ̂u`t@CvB Codian ́u DLL 
낤Ii֐ҁjvɏĂƂA DLL ֐GNX|[g
@ɂ͂񂾂ǁA̕@ɂāuvA܂
RpC̊֐傫ς킯B
@ŁAقƂǂ̃Av́ů֐vɊ֐|C^擾
Au`t@CvgăGNX|[gȂႢȂ킯BہA
PɂPx炢Aǂ̌fł̃l^oĂ邭炢 FAQ 
B

@Ƃ́A֐Cvg΂B܁Azg͂
ςȂ񂾂낤ǂˁB
@ƁAŋߏAV^CṽvOCgn߂Ă܂B
COM ͈́uvOCdlvȂ񂾂ǁA COM ̎dlɋ߂v
OCoĂĂ܂Bƍ̑ςǂˁB
@vOCƌ΁A摜B͗TBˁB


/*            QOOONRPRij̍XV\                */
http://www.kab-studio.com/Info/News/

ESTL & iostream AoB
@SX^[gV[}KWu STL & iostream v
y[WV݂܂I
@̃y[Wł́Aǂȃ}KɂȂ̂cc STL  iostream ̉
AŜ̗\ATvA STL  iostream ̂Ƃ肠̎g
ǁccЉ܂BwǓo^Jn͂R{\肵Ă܂BҁI


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


