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


/*              QOOONQQPij̍XV                  */
http://www2.justnet.ne.jp/~kabstudio/Info/News/

EXVȂB
@{IɃiVBzOłĂ邩˂BƑ҂
ˁ[BȂ݂Ɉz͂RU\肵Ă܂B


/*                        `[ʂȓL                        */
http://www2.justnet.ne.jp/~kabstudio/nikki2/

QOOONQPRijF
@eXg׋AĐVԑg^CW[BĂȂƂ𓰁Xƃ[
}KWɏĂ鎄͂QT΁B

QOOONQPSijF
@mṽeXgB܁[܁[łBĖeXgBł׋
ȂB䂾B

QOOONQPTi΁jF
@ƃeXg΂[AăeXgII@ɃK`bN
ցB ATOK ͏Wo^ĂP̓`FbNĂ͂
Ȃ񂾂ǁA͈ȂȂB

QOOONQPUijF
@vO~OƂ|[gƂ CD-R hCuƂ iBook ƂB

QOOONQPVi؁jF
@ANZXǑʂA̓LȂlC邱ƂII@
BāAS̕͏ɒBuȊOvƁuӊOvɋCt
B

QOOONQPWijF
@Vh֍s CD-R hCuccȂijBvΐB
ɃGLXp_[BĂ̏sԂԗXɍB
uȊOvƁuӊOvl^B

QOOONQPXiyjF
@iZƂAjƂANZXOƂn[hfBXNƂƂʂ
ƂƂ߂̂ȂbB


/*                         L̗JT                             */
http://www2.justnet.ne.jp/~kabstudio/Programing/KabuU/

QOOONQPRijF
x

QOOONQPSijF
Ӎ
#pragma twice ł̃WXg̉ɂ
uWindows\Profiles\OIvɂ user.dat u
NTUser.dat ȂĂ̂
Perl 
R\[ɂ̂Ȃ
ւ
tbNŃRpCG[
tbNvV[W static o֐ɂȂĂ邩ǂ
ւ
44100Hz ̃TvO[gɂ
D/A ϊ̃mCY̊֌W]TĂ

QOOONQPTi΁jF
NO쐬
Cygwish ͂QoCg\łȂ
ւ
֐VOlB`[ throw() ̈Ӗ́H
Owi exception-specification j
TvR[h
ĂяoɁu𓊂邩vm点邽
uOw̘Av
Visual C++ 6.0 ł͎ĂȂ
ւ
pƑSp̑ݕΐH
WCuɂ͓ĂȂ
̐l̂g킹Ă炤̂y

QOOONQPUijF
Perl  CGI
fBNgp[~bṼ|J~X
ւ
X}[g|C^̍
fXgN^ virtual łȂƃ_
std::auto_ptr gy
TvR[hւ̃N

QOOONQPVi؁jF
Perl  CGI
ANZXO̐ݒu
qAhLg܂Ȃ
t̒Iȃ~Xcc
ւ
_CAO{bNXɐ@́H
usN`[Rg[v\t
XVԂɂ
ւ
KTL::GlobalInstance() ̎ǵH
uO[oϐ̑vɎg
O[oϐ肽Ȃ
Effective C++ Ƃ{ɍڂĂ֐
Д܂傤

QOOONQPWijF
Perl vO~O
茳ɂhLg
̖ړI̓eLXgS
Perl ͖ʔ C ɎĂC
̕ʂ̂|Ałʔ

QOOONQPXiyjF
C }KW C eXg
\ԈႦǑv
ԈႦ͎̂gႢȂ̂ɂ
ł΂Ȃ~X
_ȂႢȂ
QÔȂ`ɂĂ̂߂Ȃ


/*                       T̒ǉP                           */
http://www2.justnet.ne.jp/~kabstudio/Programing/Dictionary/

EǉPF
}bsO Jbg TN this AT[V EBhEYIuWFNg
\[X @B AZu j[jbN IIS signed unsigned

ET̂߂Ȃ
Xbh winaspi32 WaitforSingleObject SendMessage 

@́uTNvƂuj[jbNvƂpIɖʔ̂܂
Bpɂ͂܂p̈Ӗm邱ƂÃb
g[ȂŁAȂ邽upP̈Ӗvt悤ɂĂ܂B
[[Ƃ]Ă˂ijB
@ł͂m点łՂƂǂ[B

---------------------------------------------[ԃX^bl]---------
@\̃[}KWAoԋ߁B


@ccԂɍȂB
---------------------------------------------[ԃX^blł]---

/*                       #pragma twice                            */
http://www2.justnet.ne.jp/~kabstudio/Programing/PragmaTwice/

@Version 3.20
CString ƃXgOe[u


uāAO̓WXgɂČĂ݂܂v
wWXgɁ[Aā[Ao񂾂ˁ[x
u̕ӂoƁccv

// CCalcApp::InitInstance() ̒B
    SetRegistryKey( "KamichanFactory" );
    dlg.m_iAns = GetProfileInt( "CalcDialog", "Ans", 0 );
    int nResponse = dlg.DoModal();
    if (nResponse == IDOK)
    {
        WriteProfileInt( "CalcDialog", "Ans", dlg.m_iAns );
    }

uƂȂ܂v
wAI@SetRegistryKey()  WriteProfileInt() ̑Oɂ
Ǝv񂾂ǁx
u CWinApp::SetRegistryKey() ŃZbgL[͂ƕۑĂ
A CWinApp::WriteProfileInt() Ă񂾂ƂƌĂ
v
w܂AŏɈxĂ񂶂Ⴆ΂ĂƂˁx
u䂱Ɓv
wЂƂA TODO ̃RĝƂďẮHx
u񂶂ȂȁB̃Rg̈Ӗ͕łHv
wA OK {^A߂lǁ[炱[炵āA̒
JbR̒ɓĂƂˁA܁[Ⴆ΂ȂĂx
uꂶႠA̖{Bv

        WriteProfileInt( "CalcDialog", "Ams", dlg.m_iAns );

uȂĂȂǂ܂傤v
wccǂႤ́Hx
u "Ams" ɂȂĂłIv
wAzgx
u~X́AvO傫Ȃ΂ȂقǑȂ邵A
̂ρv
wƂ킯ŁHx
úÂ܂qXgOe[ur̎gɂČĂ݂
傤v
wAg񂾁Ix
u܂ CWinApp::SetRegistryKey() ̂B\[Xr[Xg
Oe[uJāv
ẃ[B[NXy[X ResourceView  String Table _uN
bNI@͂J[AAÓqo[W񂶂Ir̂܂܂x
uĂccBŁA IDS_ABOUTBOX ̉ɓ_ň͂
̂łBv
w_uNbNI@AvpeBox
u܂y ID zB IDS_REG_COMPANY ɂ܂傤v
ẅӖ́Hx
u ID  String  Registry ŉЖv
w܂܂ˁ[x
u炱[[̂͂܂܂̕񂾂āv
wBŁALvV́Hx
uyLvVz KamichanFactory Ă΁v
w SetRegistryKey() ɓn̂Ȃ񂾂ˁx
uƁBvOɖ߂āv
w[IIx
uȂ˂̔[[́v
wĂ݂B SetRegistryKey() ܂菑́Hx
uƁB SetRegistryKey() ̍sƁȂOQsccv

    CString cCompanyStr;
    cCompanyStr.LoadString( IDS_REG_COMPANY );
    SetRegistryKey( cCompanyStr );

uĊɏāv
wccςނ[ˁx
uq[IIrHv
wlɂ͂̋JȂIx
uccqN͘Jł񂾂ˁrĎv̂͂₾ȁv
wx
u͂茾BΔ͖l̂POÔP̘J͂Ń}X^[ł
͂Iv
wĂꎩĂȂHx
uˁBAvOĂ܂傤BPsڂ́Hv
w[A CString đOɌˁAmƂg߂̃NXx
uB C łA MFC ̃NX̂v
wA CDialog Ƃ CWinApp Ƃˁx
u CString  MFC ̃NX̂ЂƂA𑀍삷邽߂̃NXBP
sڂ͂ CString ^̕ϐĂ܂v
wϐAĂ̂NXɂ͕KKvȂ񂾂ˁx
uƁBNX͒^Aϐ͎Bi[邽߂ɂ́A
ϐƂčȂႢȂ킯v
wꂪ cCompanyStr Ȃ񂾁BŁAQsڂ́A CString::LoadString() 
ăo֐gĂ񂾂ˁBbclrcmIx
@LoadString _uNbN F1 L[ByYgsbNz
_CAO\B
wA API ɂ LoadString() Ă񂾁x
uXgOe[u̓EBhEŶ̂A MFC gȂĂ
񑀍ł킯Błv
w CString gyĂƂˁ[B񂶂 CString::LoadString() 
_uNbNx
@lrcm CString::LoadString() ̃y[WJB
wȂ񂩊ȑfBAgpႪI@łȂ񂩕GHx
uG[͂Ƃɉ񂵂āÁHv
w[ƁA񃊃\[X ID āB񃊃\[XăXgO
e[ûƁHx
uBĂƂ́Hv
w ID ĂƂ͂́ccA IDS_REG_COMPANY Ȃ񂾁x
uyzɏĂƂA ID Ŏw肵
cCompanyStr ̒ɏ݂܂v
wɏĂqIuWFNgrāHx
úqϐrēǂݑւĂȁBzg͂ƍLӖȂ
ǁv
wLāHx
uƂ΁AEBhEỸEBhEƂqIuWFNgr̂ЂƂv
wEBhEĂƂ HWND ̕ϐ̂ƁHx
uAEBhEY̒ɁAEBhȄ񂪓ẮBꂪI
uWFNgB HWND ͂̃IuWFNg𑀍삷邽߂̂̂ĂƂˁv
wȂ񂩂ނccx
umɂˁB܁ÂƂ͕ϐĂƂŁv
ẃ[BŁA cCompanyStr  IDS_REG_COMPANY ɂ镶񂪓邩
A SetRegistryKey() ɓnĂĂƂˁ[Rsځx
uƁB񂶂`FbNĂ݂āv
ẃ[BrhĎsI@Aɂ̐ĂBĂ
͂ƉЖĂĂƂˁx
uĂĂƁB`FbNƂ邱Ƃ؂v
ẃ[BŁẤHx
uBłĂ݂āv
whAccx
û͕ȂāAƎŎƂ厖v
wĂ܂[B[ƁA܂XgOe[uJāccx
uccƁAFɂ͓Ă炢܂傤B܂XgOe[úA
ȊɂȂ܂v

IDS_REG_COMPANY    KamichanFactory
IDS_REG_DIALOG     CalcDialog
IDS_REG_ANS        Ans

w[΁ylzĂǁ[ł[́Hx
uǂł́B厖Ȃ̂ IDS_REG_COMPANY Ƃ̕̕v
ẃ[x
uŁAvÓ̕v

// CCalcApp::InitInstance() ̒B
    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 );
    int nResponse = dlg.DoModal();
    if (nResponse == IDOK)
    {
        WriteProfileInt( cDialogStr, cAnsStr, dlg.m_iAns );
    }

wAϐǁAȁx
u܁A{͂[ƃVvɂ񂾂ǁA̒mƂꂪE
ȁv
wVvāHx
uƂ΁ȀԂ cDialogStr  cAnsStr tɓn肵
Ȃˁv
ŵlȂႢȂ񂾁ccB΂AĂ
΁AŏĂ "Ams" ȊԈႢĂȂȂ́Hx
uBƂ cAnsStr  cAmsStr ɂccv
wArhG[ɂȂx
u cAmsStr ȂĕϐĂȂˁB IDS_REG_ANS  
IDS_REG_AMS ɂĂv
wG[BXgOe[u IDS_REG_AMS ȂĂȂˁx
u邱ƂŁA~X̋N₷啝Ɍ点v
wǌE͂AƁx
uƁBɂˁAFXĂˁv
wǂ䂱ƁHx
uΔ񂩂猩āA̐VvOƌÂ̂ƁAǂ
₷Hv
wÔłBWXg̃L[ɂ镶̂܂ܓnĂ񂾂
x
uȂ񂾂ˁBŜ낤ƂƁAǂĂyz
ƂɂȂ邩v
wǂ䂱ƁHx
u̗ႾƁAXgOe[uɒuāA CString Ԃɋ
񂾂ƂňS𑝂킯B܂Sグ邽߂ɂ́v
wԂɉȂႢȂĂƂˁB܂A݂ȂHx
ucc܂ǁccv
wȂ́Hx
uA܂AuňS͑ǁAvOƂ
ẮA cCompanyStr ɂ IDS_REG_COMPANY ĂA IDS_REG_COMPANY
̓XgOe[u KamichanFactory ĒǂČKv킯v
w[AƂ͈Ⴄx
u[A܂˂v
w悤ɂAvOɂȂĂƁHx
uƂɂȂ邩ȁBIȂȂ񂾂ˁv
w[AႠAƓx
uƁAƂɂAfbg͂邯ǁAvÖS
lĂAXgOe[ugď܂傤ĂƂŁv
w݂ȂgĂˁ[x

/*
    Preview Next Story!
*/
uccv
wق炻ȓ{ȂŁBAx
uAHv
wقx
uccv
wƂ킯Ŏx
 Version 3.21 Cxgnh 
uɂÂIIv
wCɂȂHx
uccv


// ߂ȂI

@Ts #pragma twice ł́AWXgɂĎグ
B
@̒ŁAWXgt@C user.dat ̒uꏊ Windows tH
_Ə܂A}`[U[̏ꍇɂ͂ɉ
Windows\Profiles\OI
ɂu܂B܂AWindows NT ̏ꍇɂ NTUser.dat Ƃt@C
ɂȂ܂B̓_ɂďY܂Ƃlѐ\グ
܂B

@ccԂijB
@ۂɂ̓}`[U[ƂȂA NT ɐGꂽ
ƂȂ肷̂Œm܂łBۂ̏A܂SɊmFł
킯ȂB
@uȐlɋĂ炤̂ȂăCIvƂƂvł傤A
Ԃ񂱂ꂩƂ~XƎvŁAȂ獡
ijB
@ccƂЂƂ~XB͂̉ŁB


/*                       ؂̗JT                           */
http://www2.justnet.ne.jp/~kabstudio/Programing/KanaU/

Aṽc{
#08 k ̂P

@gq lzh Ƃ zip Ƃ̈kt@CB񂩂̘͂bB
@ukvĂ̂́Ãf[^ό`āAf[^TCY
邱ƁBƂ΁uAvĕB̕ 0x41 ĂA
u 0x41  At@xbgPԖڂ̑̕啶Ƃ݂ȂvĂu
vāAuAt@xbgPԖڂ̕vɂtHg\
܂BϊȂAu A vĕ\邽
߂ɏɁu A vĂ}`ƂẴf[^ĂȂႢȂ
ƂɂȂ܂Bu A vĂ}` 0x41 ĐɈkĂ킯
ˁBt 0x41 u A vɕϊ̂𓀂ĂƁB
@k𓀂ɏɕKvȂ̂uό`vBuASYvČ
B̃ASYŁAkAό`ɂ鎞ԁAtstƂ
܂Ă܂B

@k𓀃ASYɂ́A傫āutvȂ̂Ɓustv
̂܂B
@tȂ̂́AkƁA𓀂炿ƌɖ߂́B
ƌɖ߂ȂƍeLXgt@Cst@C͏ɂ̕@ň
kĂ܂B܂ lzh  zip ͂̕@ĂƂˁB gif B
@k@͊{IɒPBpY݂ȊȁBAǩvZ
Ƃɂ͓[wKv肵܂BƐGɂ̈悩
ȁH
@stȂ̂́Akĉ𓀂ƁAf[^ɗ򉻂܂B
܂舳kɃf[^ԈĂĂƂˁB̃ASY̓f[
^򉻂ĂقǍȂA摜f[^ɂ悭g܂B jpeg
 mpeg B
@k@́At[Gϊg܂Bt[GϊgƁAf[^
Ⴄ`̃f[^ւƒu܂B̂ƂɁuKv̂Ȃf[^v
ԈƂňkł񂾂ǁAuKvȂv͈̔͂LƁA
܂舳kƃf[^򉻂Ⴄ킯BwIȕ삾
炿ƓȁB
@ŁAǂAvP[VɑgݍނA͗TBˁB

// ߂ȂI

@ĂтłB
@No.042  No.043 ( 2/31  2/7 ) ̋؂̗JTA܂
ełB̊mF~XłB\󂠂܂łB͂
悤ȂƂȂ悤ɂ܂B

@܂܂肻́A狳Ă炦قǁÃ[}KW̓X
|XႢƂƂłijBLłԂ`łŊ猩
Ă[B
@ccƂςAǂ܂ĂȂ̂ȂccB


/*            QOOONQQXij̍XV\                */
http://www2.justnet.ne.jp/~kabstudio/Info/News/

EXVȂB
@ށ[A̓Ɉzł邩ȂƂv񂾂ǁAƓI
ɌȂƎvĂPTԒx点܂Bz͂RU\B
ɈzAV\AẴ[}KŴm点cc
҂ĂĂ˂B


/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www2.justnet.ne.jp/~kabstudio/nikki2/
EvO~OɊւ鎿[L̗JT]ɂ肭B
http://www2.justnet.ne.jp/~kabstudio/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://www2.justnet.ne.jp/~kabstudio/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!!                      */


