前回やった暗号化読書き関数を組み込み、隠しデータファイルを自動読書きする完成版の全ソースを今後3回に亘って載せます。また最終回には使用方法を説明します。

 

書き込みスペースの関係上まずはリソース関係から。これらのファイルはBDDFormで確認できます。

 

【IDList.rc】

//-----------------------------------------
//             BCCForm Ver 2.41
//    An Easy Resource Editor for BCC
//  Copyright (c) February 2002 by ysama
//-----------------------------------------
#include    "ResIDList.h"

//----------------------------------
// ダイアログ (IDD_EDIT)
//----------------------------------
IDD_EDIT DIALOG DISCARDABLE 0, 0, 270, 150
EXSTYLE WS_EX_DLGMODALFRAME
STYLE WS_POPUP | WS_DLGFRAME | WS_CAPTION | WS_SYSMENU | DS_SETFONT | DS_CENTER
CAPTION "IDとパスワードの編集"
FONT 8, "MS 明朝"
{
 CONTROL "", IDC_EDIT1, "EDIT", WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_LEFT, 87, 9, 171, 15, WS_EX_CLIENTEDGE
 CONTROL "", IDC_EDIT2, "EDIT", WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_LEFT, 87, 30, 171, 15, WS_EX_CLIENTEDGE
 CONTROL "", IDC_EDIT3, "EDIT", WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_LEFT, 87, 48, 171, 15, WS_EX_CLIENTEDGE
 CONTROL "", IDC_EDIT4, "EDIT", WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP | ES_MULTILINE | WS_VSCROLL | ES_LEFT, 87, 66, 171, 48
 CONTROL "編集終了", IDOK, "BUTTON", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 198, 123, 60, 18
 CONTROL "メンバーシップ", IDC_LABEL1, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY | SS_SUNKEN, 6, 9, 75, 15
 CONTROL "ログインID", IDC_LABEL2, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY | SS_SUNKEN, 6, 30, 75, 15
 CONTROL "パスワード", IDC_LABEL3, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY | SS_SUNKEN, 6, 48, 75, 15
 CONTROL "備考(任意)", IDC_LABEL4, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY | SS_SUNKEN, 6, 66, 75, 15
}

//----------------------------------
// ダイアログ (IDD_SEARCH)
//----------------------------------
IDD_SEARCH DIALOG DISCARDABLE 0, 0, 135, 48
EXSTYLE WS_EX_DLGMODALFRAME
STYLE WS_POPUP | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_SETFONT | DS_CENTER
CAPTION "検索"
FONT 8, "MS 明朝"
{
 CONTROL "", IDC_EDIT1, "EDIT", WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL | ES_LEFT, 3, 15, 126, 12, WS_EX_CLIENTEDGE
 CONTROL "OK", IDOK, "BUTTON", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 45, 30, 45, 15
 CONTROL "検索する文字列", IDC_LABEL1, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 6, 3, 123, 9
}

//----------------------------------
// ダイアログ (IDD_SORT)
//----------------------------------
IDD_SORT DIALOG DISCARDABLE 0, 0, 144, 87
EXSTYLE WS_EX_DLGMODALFRAME
STYLE WS_POPUP | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_SETFONT | DS_CENTER
CAPTION "データの並べ替え"
FONT 8, "MS 明朝"
{
 CONTROL "", IDC_COMBOBOX1, "COMBOBOX", WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST | WS_VSCROLL, 12, 18, 120, 60
 CONTROL "", IDC_COMBOBOX2, "COMBOBOX", WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST | WS_VSCROLL, 12, 48, 120, 60
 CONTROL "サブアイテムの選択", IDC_LABEL1, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 15, 6, 93, 9
 CONTROL "並べ替え方法", IDC_LABEL2, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 15, 36, 93, 9
 CONTROL "完了", IDOK, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 51, 66, 39, 15
}

//----------------------------------
// ダイアログ (IDD_VERSION)
//----------------------------------
IDD_VERSION DIALOG DISCARDABLE 0, 0, 160, 40
EXSTYLE WS_EX_DLGMODALFRAME
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_MODALFRAME | DS_3DLOOK | DS_CENTER
CAPTION "バージョン情報"
FONT 9, "Times New Roman"
{
 CONTROL IDI_ICON, 0, "STATIC", SS_SUNKEN | SS_ICON | WS_CHILD | WS_VISIBLE, 12, 10, 32, 32
 CONTROL "", IDC_VERTXT, "STATIC", SS_CENTER | SS_SUNKEN | WS_CHILD | WS_VISIBLE, 42, 8, 80, 24
 CONTROL "OK", IDOK, "BUTTON", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 130, 14, 20, 12
}

//-------------------------
// メニュー(IDM_MAIN)
//-------------------------
IDM_MAIN MENU DISCARDABLE
{
    POPUP "ファイル(&F)"
    {
        MENUITEM "データを開く(&O)", IDM_OPEN
        MENUITEM SEPARATOR
        MENUITEM "データの保存(&S)", IDM_SAVE
        MENUITEM SEPARATOR
        MENUITEM "終了(&X)", IDM_EXIT
    }
    POPUP "編集(&E)"
    {
        MENUITEM "追加(&A)", IDM_ADD
        MENUITEM "検索(&S)", IDM_SEARCH
        MENUITEM "編集(&E)", IDM_EDIT
        MENUITEM "削除(&D)", IDM_DELETE
    }
    POPUP "表示(&V)"
    {
        MENUITEM "並び替え(&S)", IDM_SORT
    }
    POPUP "ヘルプ(&H)"
    {
        MENUITEM "本ソフトの使い方(&H)", IDM_HELP
        MENUITEM SEPARATOR
        MENUITEM "バージョン情報(&V)", IDM_VERSION
    }

}

//--------------------------
// イメージ(IDI_ICON)
//--------------------------
IDI_ICON    ICON    DISCARDABLE    "C:\Users\(パス)\IDList\IDList.ico"

//--------------------------
// イメージ(IDI_TOOLBAR)
//--------------------------
IDI_TOOLBAR    BITMAP    DISCARDABLE    "C:\Users\(パス)\IDList\ToolBar.bmp"

 

【ResIDList.h】

//-----------------------------------------
//             BCCForm Ver 2.41
//   Header File for Resource Script File
//   Copyright (c) February 2002 by ysama
//-----------------------------------------
//---------------------
//  ダイアログリソース
//---------------------
// ダイアログ IDD_EDIT
#define    IDC_EDIT1        100
#define    IDC_EDIT2        101
#define    IDC_EDIT3        102
#define    IDC_EDIT4        103
#define    IDC_LABEL1        104
#define    IDC_LABEL2        105
#define    IDC_LABEL3        106
#define    IDC_LABEL4        107
// ダイアログ IDD_SEARCH
// ダイアログ IDD_SORT
#define    IDC_COMBOBOX1    200
#define    IDC_COMBOBOX2    201
// ダイアログ IDD_VERSION
#define    IDC_VERTXT        301

//---------------------
//  メニューリソース
//---------------------
// メニュー IDM_MAIN
#define    IDM_OPEN        400
#define    IDM_SAVE        401
#define    IDM_EXIT        402
#define    IDM_ADD            403
#define    IDM_SEARCH        404
#define    IDM_EDIT        405
#define    IDM_DELETE        406
#define    IDM_SORT        407
#define    IDM_HELP        408
#define    IDM_VERSION        409

//---------------------
//  イメージリソース
//---------------------
#define    IDI_ICON        500
#define    IDI_TOOLBAR        600

//---------------------
//  ストリングテーブル
//---------------------

//--------------------
//  アクセラレーター
//--------------------

//------------------
//  ヴァージョン情報
//------------------