Nagadon のぷろぐらみんぐ KIT ♪

■Nagadon のぷろぐらみんぐ KIT♪ について

ソフトウェアを作られたことのある方なら経験しておられると思いますが、コードの再利用を考えてソフトウェアを作るか否かで、長い目で見た場合の作業効率が大きく違ってきます。

私も自作ソフトウェアを作る中で同じような経験をし、再利用し易いコーディングを心がけてきたつもりです。そこで、これまでに作ったコードのうち、色々なところに再利用できそうなものをモジュールとして公開し、みんなに使ってもらおう！と考えました。

全てのモジュールは DLL として公開しています。各 DLL にアクセスするためのソースコードも合わせて公開していますので、再利用できそうなコードがありましたらご自由にご利用下さい (^-^)

■モジュールの一覧

● ファイルパーサ LParser [FREE!]

あらかじめ決められた書式に従って記述されたテキストファイルをパージングします。ソフトウェアで利用するデータを簡単に読み込ませることができます。

● プログレスバーコントロール LProgress [SHARE]

MFC のウィンドウクラスなどに貼りつけ可能なプログレスバーコントロールを提供します。

● カレンダーコントロール LCalendar [FREE!]

MFC のウィンドウクラスなどに貼りつけ可能なカレンダーコントロールを提供します。

● PowerPIMM 登録モジュール LPimReg [FREE!]
指定された文字列を解析し、スケジュールデータとして PowerPIMM に登録します。

■送金について

● こちらをご覧ください

■最新バージョンの取得

● Nagadon のプログラミング KIT♪ にジャンプします

■おまけ

● こちらをご覧ください


ファイルパーサ LParser

[FREE!] [95] [98] [NT]

■モジュールの紹介

本モジュールは、あらかじめ決められた書式に従って記述されたテキストファイルをパージングします。ソフトウェアで利用するデータを簡単に読み込ませることができます。

読み込むことのできるテキストの構文を以下に示します。

    FILE     := [ SPACE ] { SENTENCE [ SPACE ] }
    SENTENCE := BEGIN [ SPACE ] BODY [ SPACE ] END
    BEGIN    := '{' [ SPACE ] 'BEGIN' [ SPACE ] LABEL [ SPACE ] '}'
    END      := '{' [ SPACE ] 'END' [ SPACE ] '}'
    BODY     := φ | FORMULA { [ SPACE ] FORMULA }
    FORMULA  := LEFT [ SPACE ] '=' [ SPACE ] RIGHT [ SPACE ] ';'
    LABEL    := STRING
    LEFT     := STRING
    RIGHT    := STRING
    STRING   := '"'  { CHAR } '"'
    CHAR     := 'a' - 'z' | 'A' - 'Z' | '0' - '9' |
                ' ' | '!' | '#' | '$' | '%' | '&' | ''' | '(' | ')' |
                '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';' | '<' |
                '=' | '>' | '?' | '@' | '[' | ']' | '^' | '_' | '`' |
                '{' | '|' | '}' | '~' |
                '\\' | '\"' | '\t' | '\r' | '\n' | '""' |
                ２バイト文字

    SPACE     := SEPARATOR { SEPARATOR }
    SEPARATOR := ' ' | '　' | \t | \r | \n

例：
{BEGIN "住所"}
    "山田" = "東京都\t世田谷区\t1-5-3\nメゾンイット\t302号";
    "高橋" = "大阪府\t東大阪市";
    "岡田" = "";
{END}
{BEGIN "電話番号"}
    "山田" = "03-3333-4444";
    "高橋" = "03-3333-5555";
    "岡田" = "";
{END}

■対応 OS

  • IE4.01 以上がインストールされた Windows95
  • IE4.01 以上がインストールされた WindowsNT4.0 Workstation / Server
  • Windows98
            •

    ■使用条件、転載条件

    本ソフトウェアはフリーウェアであり、著作権は Nagadon こと永田義典にあります。

    アーカイブファイルの内容を変更しない限り、原則として転載、再配布は自由とします。転載、再配布されるときは nagadon@nagadon.com まで事前にご連絡下さい。

    自作のソフトウェアに添付する形で、本モジュールの DLL を単体で配布することは自由とします。事前の連絡は必要ありません。商用利用も OK です。但し、

  • LParser.dll の内容を変更しないこと
  • pkit.chm ファイルを内容を変更せずに添付して配布すること

    • の 2 点を必ず守ってください。

    ■免責事項

    本ソフトウェアの品質には万全を期しておりますが、万一、本ソフトウェアにトラブルが起こった場合に、ユーザが被った損害につきましては一切保証いたしかねますのでご了承下さい。

    現在、LParser.dll はβバージョンのため、将来 API が大幅に変更になることがあります。その場合、LParser.dll を最新バージョンに差し替えると、LParser.dll を利用しているアプリケーションが動作しなくなる場合があります。βバージョンの LParser.dll を自作ソフトウェアに添付して配布される場合は、LParser.dll を勝手に入れ替えないよう、ユーザに対して注意を促すようお願いいたします。

    ■最新の開発キット入手方法

    http://www.nagadon.com までアクセスしてください。

    ■更新履歴

    ● こちらをご覧ください

    [←] Nagadon のぷろぐらみんぐ KIT ♪


更新履歴

現在、LParser.dll はβバージョンのため、将来 API が大幅に変更になることがあります。その場合、LParser.dll を最新バージョンに差し替えると、LParser.dll を利用しているアプリケーションが動作しなくなる場合があります。βバージョンの LParser.dll を自作ソフトウェアに添付して配布される場合は、LParser.dll を勝手に入れ替えないよう、ユーザに対して注意を促すようお願いいたします。

Version 0.92 (1999/10/27)

  • LParserLib::PopupErrorMessage 関数を protected から public に変更
  • GetModuleName, GetMajorVersion, GetMinorVersion 関数を追加
  • ヘルプを作成した
            •

    Version 0.91 (1999/9/6)

  • LParser.dll から GetModuleName 関数を廃止
  • LParser.dll に GetModuleNameA 関数を追加
  • LParser.dll に GetModuleNameW 関数を追加
            •

    Version 0.9 (1999/9/2)

  • リリース
            •

    [←] ファイルパーサ LParser


プログレスバーコントロール LProgress

[SHARE] [95] [98] [NT] [Me] [2000]

■モジュールの紹介

本モジュールは、MFC のウィンドウクラスなどに貼りつけ可能なプログレスバーコントロールを提供します。

本モジュールの特徴を以下に示します。

  • コントロール中央に、任意の文字列を表示させることができます
  • ウィンドウ内の任意の場所に、任意のサイズで表示させることができます
  • コントロール上部の任意の場所に、8 種類のマークを表示させることができます
  • DLL に簡単にアクセスするための、C++ クラスのソースを用意しています
            •

    ■対応 OS

  • IE4.01 以上がインストールされた Windows95
  • IE4.01 以上がインストールされた WindowsNT4.0 Workstation / Server
  • Windows98
  • Windows2000
            •

    ■使用条件、転載条件

    本モジュールはシェアウェアであり、著作権は Nagadon こと永田義典にあります。

    アーカイブファイルの内容を変更しない限り、原則として転載、再配布は自由とします。転載、再配布されるときは nagadon@nagadon.com まで事前にご連絡下さい。

    モジュールを利用した自作のソフトウェアを公開される方は、事前に送金をお願いいたします。配布に係るロイヤリティーは不要です。商用利用も OK です。但し、

  • LProgress.dll の内容を変更しないこと
  • pkit.chm ファイルを内容を変更せずに添付して配布すること

    • の 2 点を必ず守ってください。

    ■免責事項

    本ソフトウェアの品質には万全を期しておりますが、万一、本ソフトウェアにトラブルが起こった場合に、ユーザが被った損害につきましては一切保証いたしかねますのでご了承下さい。

    ■最新の開発キット入手方法

    http://www.nagadon.com までアクセスしてください。

    ■リファレンスマニュアル

    ● こちらをご覧ください

    ■送金について

    ● こちらをご覧ください

    ■更新履歴

    ● こちらをご覧ください

    [←] Nagadon のぷろぐらみんぐ KIT ♪


LProgress リファレンスマニュアル

概要
クラスの使い方
LNagadonLib クラス
LProgressLib クラス
LProgress クラス

プログレスバーコントロール LProgress


概要

プログレスバーコントロール LProgress (以降 LProgress) は DLL にて提供されており、DLL の公開関数を呼び出すことでその機能を利用することができます。

この公開関数を呼び出すための C++ クラスが用意されており、このクラスを利用することで、直接公開関数を呼び出す方法よりも簡単に LProgress の機能を利用することができます。

本リファレンスマニュアルでは、主に、これらのクラスについて説明します。

LProgress を利用するためのクラスは 3 つ存在します。

  • LNagadonLib ... LProgressLib の基本クラスです
  • LProgressLib ... DLL のロード、アンロードを行うクラスです
  • LProgress ... プログレスバーの実体に対応するクラスです

    • これらのクラスの使い方については、クラスの使い方 を参照してください。

    LProgress リファレンスマニュアル


クラスの使い方

ここでは、実際にアプリケーション内で LProgress を利用する方法について説明します。

■クラス LProgressLib

このクラスは LProgress.dll を管理するクラスです。通常、このクラスのインスタンスはアプリケーション内に一つだけ生成されます。

まず、グローバル変数として LProgressLib のインスタンスを一つ定義してください。

LProgressLib g_clsProgressLib;

次に、アプリケーションが起動された後、先ほどのインスタンスに対して一度だけ LProgressLib::Initiate を呼び出してください。この時、LProgress.dll がロードされます。

ここで、引数 dwPasscode には、シェアウェア登録の際に発行されたパスワードを代入してください。まだパスワードを手に入れていない場合には 0 を代入してください。0 を代入した場合は、Initiate 関数の実行時に「ご試用ありがとうございます」ダイアログが表示されます。

g_clsProgressLib.Initiate (NULL, 0);

最後に、アプリケーションの終了前に、先ほどのインスタンスに対して一度だけ LProgressLib::Terminate を呼び出してください。この時、LProgress.dll が開放されます。

g_clsProgressLib.Terminate ();

■クラス LProgress

このクラスは、実際にプログレスバーを表示する機能を持ちます。

アプリケーション内の任意の場所に、必要なだけ LProgress のインスタンスを定義してください。MFC の SDI/MDI アプリケーションでは、CDocument の派生クラスのメンバとして定義するか、CView の派生クラスのメンバとして定義すると便利です。

    class CMyDocument : pulic CDocument
    {
    ...
    public:
        LProgress m_clsProgress;
    ...
    };

次に、LProgress のコンストラクタを呼び出し、その後、LProgress::Create を呼び出してください。

    CMyDocument::CMyDocument () :
        m_clsProgress (g_clsProgressLib)
    {
    ...
        m_clsProgress.Create ();
    ...
    }

ここで、LProgress のコンストラクタは必ず LProgress::LProgress (LProgressLib& clsLib); を呼び出してください。デフォルトコンストラクタを呼び出すとコンパイルエラーになります。引数は、先ほど定義した LProgressLib のインスタンスを指定してください。

LProgress を貼りつけているウィンドウを描画している個所で、LProgress::OnDraw を呼び出してください。先ほどの例では、CView の派生クラスが持つ OnDraw 関数内で呼び出すと簡単です。

    void CMyView::OnDraw (CDC* pDC)
    {
        CLProgressTestDoc* pDoc = GetDocument ();
        ASSERT_VALID (pDoc);

        RECT rect;
        GetClientRect (&rect);
        pDoc->m_clsProgress.OnDraw (rect, pDC->m_hDC);
    }

LProgress のインスタンスが不要になったら LProgress::Destroy を呼び出してください。

    CMyDocument::~CMyDocument ()
    {
    ...
        m_clsProgress.Destroy ();
    ...
    }

以上の作業で、PowerPIMM に任意の文字列をスケジュールデータとして登録することができます。

ここから先はアプリケーション作者であるあなたのアイディア次第です。頑張ってください (^^)

LProgress リファレンスマニュアル


LNagadonLib クラス

クラスの説明

このクラスは、Nagadon のぷろぐらみんぐ KIT♪の DLL を扱うクラスです。DLL をロード／アンロードする機能がカプセル化されています。

コンストラクタ／デストラクタ

LNagadonLib | LNagadonLib コンストラクタ
~LNagadonLib | LNagadonLib デストラクタ

エラー処理

PopupErrorMessage エラーコードに対応する文字列をダイアログで表示します

Initiate / Terminate 関連

Initiate | DLL をロードし、モジュールを利用できる状態にします
Terminate | DLL をアンロードします
IsInitiated | Initiate されているかどうかをチェックします
IsChecked | ユーザ認証されているかどうかをチェックします

モジュール情報の取得

GetModuleName | DLL のモジュール名を取得します
GetMajorVersion | DLL のメジャーバージョン情報を取得します
GetMinorVersion | DLL のマイナーバージョン情報を取得します

基本クラス

ありません

リファレンスマニュアル


LNagadonLib::GetMajorVersion

関数の説明

現在ロードしている DLL のメジャーバージョン情報を取得します。

関数の形式

LERRORCODE GetMajorVersion (DWORD& dwVersion) const;

引数

dwVersion ... 現在ロードしている DLL のメジャーバージョン情報を返します。
上位 16 bit と下位 16 bit にそれぞれ上位バージョンと下位バージョンが代入されます。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Initiate されていない場合はエラーを返します。

関数がエラーを返した時の dwVersion の値は未定義です。

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

DWORD       dwVersion;
LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

...

ecode = clsNagadonLib.GetMajorVersion (dwVersion);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LNagadonLib クラス


LNagadonLib::GetMinorVersion

関数の説明

現在ロードしている DLL のマイナーバージョン情報を取得します。

関数の形式

LERRORCODE GetMinorVersion (DWORD& dwVersion) const;

引数

dwVersion ... 現在ロードしている DLL のマイナーバージョン情報を返します。
上位 16 bit と下位 16 bit にそれぞれ上位バージョンと下位バージョンが代入されます。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Initiate されていない場合はエラーを返します。

関数がエラーを返した時の dwVersion の値は未定義です。

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

DWORD       dwVersion;
LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

...

ecode = clsNagadonLib.GetMinorVersion (dwVersion);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LNagadonLib クラス


LNagadonLib::GetModuleName

関数の説明

現在ロードしている DLL のモジュール名を取得します。

関数の形式

LERRORCODE GetModuleName (LString& strModuleName) const;

引数

strModuleName ... 現在ロードしている DLL のモジュール名を返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Initiate されていない場合はエラーを返します。

関数がエラーを返した時の strModuleName の値は未定義です。

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

LString     strModuleName;
LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

...

ecode = clsNagadonLib.GetModuleName (strModuleName);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LNagadonLib クラス


LNagadonLib::Initiate

関数の説明

DLL をロードし、モジュールを利用できる状態にします。通常、派生先クラスの Initiate 関数から呼ばれます。

関数の形式

virtual LERRORCODE Initiate (LPCTSTR pszModulepath, DWORD dwPasscode = 0);

引数

pszModulepath ... DLL のパスを指定します。

dwPasscode ... ユーザ登録時に発行されたパスワード (数字) を指定します。パスワードが違っているとエラーとなります。0 を指定すると、「ご試用ありがとうございます」ダイアログが表示されます。

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

ecode = clsNagadonLib.Initiate (_T("LProgress.dll"));
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LNagadonLib クラス


LNagadonLib::IsChecked

関数の説明

現在、ユーザ認証されているかどうかをチェックします。

関数の形式

LERRORCODE IsChecked (BOOL& bIsChecked) const;

引数

bIsChecked ... 現在、ユーザ認証されているかどうかを返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

現在ユーザ認証されているかどうかは引数 bIsChecked で判断してください。
返り値は関数の実行が成功したかどうかを表しており、現在ユーザ認証されているかどうかには影響されません。

関数がエラーを返した時の bIsChecked の値は未定義です。

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

BOOL        b;
LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

...

ecode = clsNagadonLib.IsChecked (b);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}
if (!b)
{
    // まだユーザ認証されていない
    return;
}

関連する関数

LNagadonLib クラス


LNagadonLib::IsInitiated

関数の説明

現在、Initiate されているかどうかをチェックします。

関数の形式

LERRORCODE IsInitiated (BOOL& bIsInitiated) const;

引数

bIsInitiated ... 現在 Initiate されているかどうかを返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

現在 Initiate されているかどうかは引数 bIsInitiated で判断してください。
返り値は関数の実行が成功したかどうかを表しており、現在 Initiate されているかどうかには影響されません。

関数がエラーを返した時の bIsInitiated の値は未定義です。

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

BOOL        b;
LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

...

ecode = clsNagadonLib.IsInitiated (b);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}
if (!b)
{
    // まだ Initiate されていない
    return;
}

関連する関数

LNagadonLib クラス


LNagadonLib::LNagadonLib

関数の説明

LNagadonLib のコンストラクタです。通常、派生先クラスのコンストラクタから呼ばれます。

関数の形式

LNagadonLib (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LNagadonLib.h"

関連する関数

LNagadonLib::~LNagadonLib

LNagadonLib クラス


LNagadonLib::~LNagadonLib

関数の説明

LNagadonLib のデストラクタです。

関数の形式

virtual ~LNagadonLib (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LNagadonLib.h"

関連する関数

LNagadonLib::LNagadonLib

LNagadonLib クラス


LNagadonLib::PopupErrorMessage

関数の説明

エラーコードに対応するエラーメッセージをダイアログで表示します。デバッグ用に利用すると便利です。

関数の形式

void PopupErrorMessage (HWND hWndParent, LERRORCODE ecode) const;

引数

hWndParent ... 表示するダイアログの親ウィンドウ (NULL も可)

ecode ... エラーコード

返値

ありません

インクルードファイル

#include "LNagadonLib.h"

関連する関数

ありません

LNagadonLib クラス


LNagadonLib::Terminate

関数の説明

DLL をアンロードします。通常、派生先クラスの Terminate 関数から呼ばれます。

関数の形式

virtual LERRORCODE Terminate (void);

引数

ありません

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LNagadonLib.h"

サンプルコード

LERRORCODE  ecode;
LNagadonLib clsNagadonLib;

...

ecode = clsNagadonLib.Terminate ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsNagadonLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LNagadonLib クラス


LProgressLib クラス

クラスの説明

このクラスは、プログレスバーコントロール LProgress の DLL を扱うクラスです。DLL をロード／アンロードする機能がカプセル化されています。

LProgress を利用したアプリケーションを作るには、アプリケーション内に、このクラスのインスタンスを一つだけ作成してください。

コンストラクタ／デストラクタ

LProgressLib | LProgressLib コンストラクタ
~LProgressLib | LProgressLib デストラクタ

Initiate / Terminate 関連

Initiate | LProgress.dll をロードし、モジュールを利用できる状態にします
Terminate | LProgress.dll をアンロードします

基本クラス

LNagadonLib クラス

LProgress リファレンスマニュアル


LProgressLib::Initiate

関数の説明

LProgress.dll をロードし、モジュールを利用できる状態にします。

関数の形式

virtual LERRORCODE Initiate (LPCTSTR pszFolderName = NULL, DWORD dwPasscode = 0);

引数

pszFolderName ... | LProgress.dll が存在するフォルダを指定します。NULL を指定すると、カレントフォルダ又はパスが通ったフォルダにあるとみなします。
dwPasscode ... | ユーザ登録時に発行されたパスワード (数字) を指定します。パスワードが違っているとエラーとなります。0 を指定すると、「ご試用ありがとうございます」ダイアログが表示されます。

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE  ecode;
LProgressLib clsProgressLib;

ecode = clsProgressLib.Initiate ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgressLib クラス


LProgressLib::LProgressLib

関数の説明

LProgressLib のコンストラクタです。

関数の形式

LProgressLib (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LProgressLib.h"

関連する関数

LProgressLib::~LProgressLib

LProgressLib クラス


LProgressLib::~LProgressLib

関数の説明

LProgressLib のデストラクタです。

関数の形式

virtual ~LProgressLib (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LProgressLib.h"

関連する関数

LProgressLib::LProgressLib

LProgressLib クラス


LProgressLib::Terminate

関数の説明

LProgress.dll をアンロードします。

関数の形式

virtual LERRORCODE Terminate (void);

引数

ありません

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE  ecode;
LProgressLib clsProgressLib;

...

ecode = clsProgressLib.Terminate ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgressLib クラス


LProgress クラス

クラスの説明

このクラスは、プログレスバーの実体をあらわします。したがって、1 つのインスタンスが 1 つのプログレスバーに対応します。

コンストラクタ／デストラクタ

LProgress | LProgress コンストラクタ
~LProgress | LProgress デストラクタ

Create / Destroy 関連

Create | プログレスバーを利用できる状態にします
Destroy | プログレスバーを初期状態に戻します
IsCreated | Create されているかどうかをチェックします

表示文字列

SetMessage | プログレスバーに表示する文字列を設定します
GetMessage | プログレスバーに表示されている文字列を取得します

進行状況

SetPosition | 進行状況を設定します
GetPosition | 現在の進行状況を取得します
Increment | 進行状況を進めます
Decrement | 進行状況を戻します

マーク情報

SetMarkInfo | 全てのマーク情報を設定します
GetMarkInfo | 全てのマーク情報を取得します
DeleteMarkInfo | 全てのマーク情報を削除します
SetSingleMarkInfo | マーク情報をひとつ設定します
GetSingleMarkInfo | マーク情報をひとつ取得します
DeleteSingleMarkInfo | マーク情報をひとつ削除します

描画処理

OnDraw 描画処理を行います

構造体

LPROGRESS_MARKINFO 構造体 | 複数のマーク情報をあらわします
LPROGRESS_SINGLEMARKINFO 構造体 | ひとつのマーク情報をあらわします

基本クラス

ありません

LProgress リファレンスマニュアル


LProgress::Create

関数の説明

プログレスバーの初期値を設定し、プログレスバーを利用できる状態にします。

関数の形式

virtual LERRORCODE Create (int iMin, int iMax, int iPosition,　const LString& strMessage);

引数

iMin ... 進行状況の最小値を指定します。負の値を指定してもかまいません。

iMax ... 進行状況の最大値を指定します。負の値を指定してもかまいません。ただし、iMin よりも大きな値でなければいけません。

iPosition ... 進行状況の初期値を指定します。
iMin より小さな値や、iMax より大きな値を指定することもできます。

strMessage ... プログレスバーに表示する文字列を指定します。

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.Create (0, 100, 0, _T("0%"));
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::Decrement

関数の説明

進行状況を戻します。

関数の形式

virtual LERRORCODE Decrement (int iCount = 1) const;

引数

iCount ... いくつ戻すかを指定します。負の値を指定すると進行状況が進みます。
戻した結果、進行状況が iMin より小さな値や iMax より大きな値になってもかまいません。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.Decrement ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::DeleteMarkInfo

関数の説明

現在、プログレスバーに表示されている全てのマーク情報を削除します。

関数の形式

virtual LERRORCODE DeleteMarkInfo (void) const;

引数

ありません

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.DeleteMarkInfo ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::DeleteSingleMarkInfo

関数の説明

現在、プログレスバーに表示されているマーク情報をひとつ削除します。

関数の形式

virtual LERRORCODE DeleteSingleMarkInfo (int iIndex) const;

引数

iIndex ... 削除したいマーク情報のインデックスを指定します。
0 以上、LPROGRESS_MAXMARK 未満の値でなければいけません。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

// iIndex が 5 のマーク情報を削除
ecode = clsProgress.DeleteSingleMarkInfo (5);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::Destroy

関数の説明

プログレスバーを初期状態に戻します。

関数の形式

virtual LERRORCODE Destroy (void);

引数

ありません

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.Destroy ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::GetMarkInfo

関数の説明

現在、プログレスバーに表示されている全てのマーク情報を取得します。

関数の形式

virtual LERRORCODE GetMarkInfo (LPROGRESS_MARKINFO& markinfo) const;

引数

markinfo ... 現在プログレスバーに表示されている全てのマーク情報を LPROGRESS_MARKINFO 構造体として返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;
LPROGRESS_MARKINFO markinfo;

...

ecode = clsProgress.GetMarkInfo (markinfo);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress::SetMarkInfo
LProgress::DeleteMarkInfo

LProgress::SetSingleMarkInfo
LProgress::GetSingleMarkInfo
LProgress::DeleteSingleMarkInfo

LPROGRESS_MARKINFO 構造体

LProgress クラス


LProgress::GetMessage

関数の説明

現在プログレスバーに表示されている文字列を取得します。

関数の形式

virtual LERRORCODE GetMessage (LString& strMessage) const;

引数

strMessage ... 現在プログレスバーに表示されている文字列を返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

関数がエラーを返した場合の strMessage の値は未定義です。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

LString strMessage;
ecode = clsProgress.SetMessage (strMessage);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress::SetMessage

LProgress クラス


LProgress::GetPosition

関数の説明

現在の進行状況を取得します。

関数の形式

virtual LERRORCODE GetPosition (int& iPosition) const;

引数

iPosition ... 現在の進行状況を返します。
iMin より小さな値や iMax より大きな値が返ることもあります。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

関数がエラーを返した場合の iPosition の値は未定義です。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

int iPosition;
ecode = clsProgress.GetPosition (iPosition);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::GetSingleMarkInfo

関数の説明

現在、プログレスバーに表示されているマーク情報をひとつ取得します。

関数の形式

virtual LERRORCODE GetSingleMarkInfo (int iIndex, LPROGRESS_SINGLEMARKINFO& singlemarkinfo) const;

引数

iIndex ... 取得したいマーク情報のインデックスを指定します。
0 以上、LPROGRESS_MAXMARK 未満の値でなければいけません。

singlemarkinfo ... 現在プログレスバーに表示されているマーク情報を LPROGRESS_SINGLEMARKINFO 構造体として返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;
LPROGRESS_SINGLEMARKINFO singlemarkinfo;

...

// iIndex が 3 のマーク情報を取得
ecode = clsProgress.GetSingleMarkInfo (3, singlemarkinfo);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress::SetMarkInfo
LProgress::GetMarkInfo
LProgress::DeleteMarkInfo

LProgress::SetSingleMarkInfo
LProgress::DeleteSingleMarkInfo

LPROGRESS_SINGLEMARKINFO 構造体

LProgress クラス


LProgress::Increment

関数の説明

進行状況を進めます。

関数の形式

virtual LERRORCODE Increment (int iCount = 1) const;

引数

iCount ... いくつ進めるかを指定します。負の値を指定すると進行状況が戻ります。
進めた結果、進行状況が iMin より小さな値や iMax より大きな値になってもかまいません。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.Increment ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::IsCreated

関数の説明

現在、Create されているかどうかをチェックします。

関数の形式

virtual LERRORCODE IsCreated (BOOL& bIsCreated) const;

引数

bIsCreated ... 現在 Create されているかどうかを返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

現在 Create されているかどうかは引数 bIsCreated で判断してください。
返り値は関数の実行が成功したかどうかを表しており、現在 Create されているかどうかには影響されません。

関数がエラーを返した時の bIsCreated の値は未定義です。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

BOOL         b;
LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.IsCreated (b);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}
if (!b)
{
    // まだ Create されていない
    return;
}

関連する関数

LProgress クラス


LProgress::LProgress

関数の説明

LProgress のコンストラクタです。

関数の形式

LProgress (LProgressLib& clsLib);

引数

アプリケーション内でひとつだけ存在する LProgressLib のインスタンスを指定してください。

返値

ありません

注意事項

デフォルトコンストラクタは呼び出さないでください。デフォルトコンストラクタを呼び出すと、コンパイルエラーとなります。

インクルードファイル

#include "LProgressLib.h"

関連する関数

LProgress::~LProgress

LProgress クラス


LProgress::~LProgress

関数の説明

LProgress のデストラクタです。

関数の形式

virtual ~LProgress (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LProgressLib.h"

関連する関数

LProgress::LProgress

LProgress クラス


LPROGRESS_MARKINFO 構造体

構造体の説明

複数のマーク情報をあらわします。

構造体の形式

typedef struct
{
    LPROGRESS_SINGLEMARKINFO m_asinglemarkinfo [LPROGRESS_MAXMARK];
} LPROGRESS_MARKINFO, *LPLPROGRESS_MARKINFO;

メンバ

m_asinglemarkinfo ... それぞれのマーク情報をあらわす配列

インクルードファイル

#include "LProgressLib.h"

関連する関数

LProgress::GetMarkInfo
LProgress::SetMarkInfo

LPROGRESS_SINGLEMARKINFO 構造体

LProgress クラス


LPROGRESS_SINGLEMARKINFO 構造体

構造体の説明

ひとつのマーク情報をあらわします。

構造体の形式

typedef struct
{
    BOOL     m_bIsMarkEnable;
    int      m_iMarkPlace;
    COLORREF m_colorMark;
} LPROGRESS_SINGLEMARKINFO, *LPLPROGRESS_SINGLEMARKINFO;

メンバ

m_bIsMarkEnable ... マークが表示状態なら TRUE, 非表示状態なら FALSE

m_iMarkPlace ... マークを表示する場所。LProgress::Create で指定した引数 iMin と iMax の間の値を指定してください。それ以外の値を指定することもできますが、その場合は画面に表示されません。

m_colorMark ... マークの色。実際には、8 色のマークのうち最も近い色を持つものが表示されます。

インクルードファイル

#include "LProgressLib.h"

関連する関数

LProgress::GetSingleMarkInfo
LProgress::SetSingleMarkInfo

LPROGRESS_MARKINFO 構造体

LProgress クラス


LProgress::OnDraw

関数の説明

プログレスバーを描画します。
プログレスバーを貼りつけているウィンドウを描画している個所で呼び出してください。

関数の形式

virtual LERRORCODE OnDraw (const RECT& rectClient, HDC hdc) const;

引数

rectClient ... プログレスバーを描画する領域を RECT 構造体で指定します。

hdc ... 描画に使用するデバイスコンテキストのハンドルを指定します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

void CMyView::OnDraw (CDC* pDC)
{
    LERRORCODE ecode;

    CLProgressTestDoc* pDoc = GetDocument ();
    ASSERT_VALID (pDoc);

    // 描画する領域を取得
    RECT rect;
    GetClientRect (&rect);

    ecode = pDoc->m_clsProgress.OnDraw (rect, pDC->m_hDC);
    if (ecode < 0)
    {
        // 関数の実行に失敗
        g_clsProgressLib.PopupErrorMessage (ecode);
        return;
    }
}

関連する関数

ありません

LProgress クラス


LProgress::SetMarkInfo

関数の説明

プログレスバーに表示する全てのマーク情報を設定します。

関数の形式

virtual LERRORCODE SetMarkInfo (const LPROGRESS_MARKINFO& markinfo) const;

引数

markinfo ... 全てのマーク情報が格納された LPROGRESS_MARKINFO 構造体を指定します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;
LPROGRESS_MARKINFO markinfo;

...

// 構造体を初期化します
::ZeroMemory (&markinfo, sizeof LPROGRESS_MARKINFO);

// 緑色のマークを 20 の位置に表示
markinfo.m_asinglemarkinfo [0].m_bIsMarkEnable = TRUE;
markinfo.m_asinglemarkinfo [0].m_iMarkPlace    = 20;
markinfo.m_asinglemarkinfo [0].m_colorMark     = LPROGRESS_MARKCOLOR_GREEN;

// 赤色のマークを 50 の位置に表示
markinfo.m_asinglemarkinfo [0].m_bIsMarkEnable = TRUE;
markinfo.m_asinglemarkinfo [0].m_iMarkPlace    = 50;
markinfo.m_asinglemarkinfo [0].m_colorMark     = LPROGRESS_MARKCOLOR_RED;

ecode = clsProgress.SetMarkInfo (markinfo);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress::GetMarkInfo
LProgress::DeleteMarkInfo

LProgress::SetSingleMarkInfo
LProgress::GetSingleMarkInfo
LProgress::DeleteSingleMarkInfo

LPROGRESS_MARKINFO 構造体

LProgress クラス


LProgress::SetMessage

関数の説明

プログレスバーに表示する文字列を設定します。

関数の形式

virtual LERRORCODE SetMessage (const LString& strMessage) const;

引数

strMessage ... プログレスバーに表示する文字列を指定します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.SetMessage (_T("テスト"));
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress::GetMessage

LProgress クラス


LProgress::SetPosition

関数の説明

進行状況を設定します。

関数の形式

virtual LERRORCODE SetPosition (int iPosition) const;

引数

iPosition ... 進行状況を指定します。
iMin より小さな値や、iMax より大きな値を指定することもできます。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;

...

ecode = clsProgress.SetPosition (15);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress クラス


LProgress::SetSingleMarkInfo

関数の説明

プログレスバーに表示するマーク情報をひとつ設定します。

関数の形式

virtual LERRORCODE SetSingleMarkInfo (intiIndex, const LPROGRESS_SINGLEMARKINFO& singlemarkinfo) const;

引数

iIndex ... 設定したいマーク情報のインデックスを指定します。
0 以上、LPROGRESS_MAXMARK 未満の値でなければいけません。

singlemarkinfo ... マーク情報が格納された LPROGRESS_SINGLEMARKINFO 構造体を指定します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LProgressLib.h"

サンプルコード

LERRORCODE   ecode;
LProgressLib clsProgressLib;
LProgress    clsProgress;
LPROGRESS_SINGLEMARKINFO singlemarkinfo;

...

// 構造体を初期化します
::ZeroMemory (&singlemarkinfo, sizeof LPROGRESS_SINGLEMARKINFO);

// 青色のマークを 70 の位置に表示
singlemarkinfo.m_bIsMarkEnable = TRUE;
singlemarkinfo.m_iMarkPlace    = 70;
singlemarkinfo.m_colorMark     = LPROGRESS_MARKCOLOR_BLUE;

// iIndex が 0 のマーク情報を設定
ecode = clsProgress.SetSingleMarkInfo (0, singlemarkinfo);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsProgressLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

LProgress::SetMarkInfo
LProgress::GetMarkInfo
LProgress::DeleteMarkInfo

LProgress::GetSingleMarkInfo
LProgress::DeleteSingleMarkInfo

LPROGRESS_SINGLEMARKINFO 構造体

LProgress クラス


更新履歴

Version 1.02 (2001/8/12)

  • 動作中にメモリリークが発生する不具合を修正
            •

    Version 1.01 (2000/8/19)

  • Windows2000 での動作を確認した
  • リファレンスマニュアルの「クラスの使い方」を読みやすくした
  • 読み込む LProgress.dll のパスを指定できるようにした
            •

    Version 1.0 (1999/10/27)

  • コントロール上部の任意の場所に、8 種類のマークを表示させることができるようにした
  • GetMajorVersion, GetMinorVersion 関数が正常に動作しなかった不具合を修正
  • LProgressLib, LProgress クラスの、コンストラクタ、デストラクタ以外の関数を全て const にした
  • LProgress::Create 関数の引数から const LPLPROGRESS_MARKINFO を削除
  • マーク関連関数の引数を、構造体へのポインタから構造体への参照に変更
  • LProgress::DeleteMarkInfo, LProgress::DeleteSingleMarkInfo 関数を追加
  • LProgressLib::Initiate 関数でパスワードチェックを行うようにした
  • ヘルプを作成した
            •

    Version 0.91 (1999/10/11)

  • LProgressLib::PopupErrorMessage 関数を protected から public に変更
  • OnDraw 関数を呼ぶ前と後とで、HDC に対応付けられている GDI が同一になるよう修正
  • プログレスバーのちょうど中央に文字列が表示されていなかった不具合を修正
  • GetModuleName, GetMajorVersion, GetMinorVersion 関数を追加 (但し、GetMajorVersion, GetMinorVersion は正常に動作しません)
            •

    Version 0.9 (1999/9/13)

  • リリース
            •

    [←] プログレスバーコントロール LProgress


カレンダーコントロール LCalendar

[FREE!] [95] [98] [NT]

■モジュールの紹介

本モジュールは、MFC のウィンドウクラスなどに貼りつけ可能なカレンダーコントロールを提供します。

本モジュールの特徴を以下に示します。

  • 1900 年 1 月 1 日～9999 年 12 月 31 日まで対応しています
  • ウィンドウ内の任意の場所に、任意のサイズで表示させることができます
  • カレンダー各部の描画色や、文字の表示位置を自由にカスタマイズできます。
  • DLL に簡単にアクセスするための、C++ クラスのソースを用意しています
            •

    ■対応 OS

  • IE4.01 以上がインストールされた Windows95
  • IE4.01 以上がインストールされた WindowsNT4.0 Workstation / Server
  • Windows98
            •

    ■使用条件、転載条件

    本モジュールはフリーウェアであり、著作権は Nagadon こと永田義典にあります。

    アーカイブファイルの内容を変更しない限り、原則として転載、再配布は自由とします。転載、再配布されるときは nagadon@nagadon.com まで事前にご連絡下さい。

    自作のソフトウェアに添付する形で、本モジュールの DLL を単体で配布することは自由とします。事前の連絡は必要ありません。商用利用も OK です。但し、

  • LCalendar.dll の内容を変更しないこと
  • pkit.chm ファイルを内容を変更せずに添付して配布すること

    • の 2 点を必ず守ってください。

    ■免責事項

    本ソフトウェアの品質には万全を期しておりますが、万一、本ソフトウェアにトラブルが起こった場合に、ユーザが被った損害につきましては一切保証いたしかねますのでご了承下さい。

    現在、LCalendar.dll はβバージョンのため、将来 API が大幅に変更になることがあります。その場合、LCalendar.dll を最新バージョンに差し替えると、LCalendar.dll を利用しているアプリケーションが動作しなくなる場合があります。βバージョンの LCalendar.dll を自作ソフトウェアに添付して配布される場合は、LCalendar.dll を勝手に入れ替えないよう、ユーザに対して注意を促すようお願いいたします。

    ■最新の開発キット入手方法

    http://www.nagadon.com までアクセスしてください。

    ■更新履歴

    ● こちらをご覧ください

    [←] Nagadon のぷろぐらみんぐ KIT ♪


更新履歴

現在、LCalendar.dll はβバージョンのため、将来 API が大幅に変更になることがあります。その場合、LCalendar.dll を最新バージョンに差し替えると、LCalendar.dll を利用しているアプリケーションが動作しなくなる場合があります。βバージョンの LCalendar.dll を自作ソフトウェアに添付して配布される場合は、LCalendar.dll を勝手に入れ替えないよう、ユーザに対して注意を促すようお願いいたします。

Version 0.93 (2000/3/14)

  • SetReverse, GetReverse 関数を追加
  • HitTest 関数を追加
  • 関数呼び出し時に、年月日の指定が誤っていた場合に返していたエラーコードを LE_LCALENDAR_INVALIDDATE に変更
  • 成人の日と体育の日を、それぞれ 1 月と 10 月の第 2 月曜に変更した
            •

    Version 0.92 (1999/10/27)

  • LCalendarLib::PopupErrorMessage 関数を protected から public に変更
  • ヘルプを作成した
            •

    Version 0.91 (1999/9/25)

  • GetModuleName, GetMajorVersion, GetMinorVersion 関数を追加
  • Create 関数の引数を void に変更
  • LCALENDAR_SCHEDULEINFO 構造体の仕様を変更
  • AddSchedule, DelSchedule 関数を追加
  • OnDraw 関数の引数に LCALENDAR_ONDRAWCALLBACK pfnCallback を追加
  • ResetStyle, SetStyle, GetStyle 関数を追加
  • 年月表示部分と曜日表示部分を 3D ボタンからフラットに変更
            •

    Version 0.9 (1999/9/19)

  • リリース
            •

    [←] カレンダーコントロール LCalendar


PowerPIMM 登録モジュール LPimReg

[FREE!] [95] [98]

■モジュールの紹介

本モジュールは、指定された文字列を解析し、スケジュールデータとして PowerPIMM に登録する DLL です。

本モジュールの特徴を以下に示します。

  • スケジュールの日時部分は文字列から自動抽出されます
  • DLL に簡単にアクセスするための、C++ クラスのソースを用意しています
            •

    ■対応 OS

  • IE4.01 以上がインストールされた Windows95
  • Windows98
            •

    ■必要なソフト

  • PowerPIMM Version 3.5 以上

    • ※PowerPIMM はシャープ株式会社殿提供の個人スケジュール管理アプリケーションです。

    ■使用条件、転載条件

    本ソフトウェアはフリーウェアであり、著作権は Nagadon こと永田義典にあります。

    アーカイブファイルの内容を変更しない限り、原則として転載、再配布は自由とします。転載、再配布されるときは nagadon@nagadon.com まで事前にご連絡下さい。

    自作のソフトウェアに添付する形で、本モジュールの DLL を単体で配布することは自由とします。事前の連絡は必要ありません。商用利用も OK です。但し、

  • LPimReg.dll の内容を変更しないこと
  • pkit.chm ファイルを内容を変更せずに添付して配布すること

    • の 2 点を必ず守ってください。

    ■免責事項

    本ソフトウェアの品質には万全を期しておりますが、万一、本ソフトウェアにトラブルが起こった場合に、ユーザが被った損害につきましては一切保証いたしかねますのでご了承下さい。

    また、本ソフトウェアに関するお問い合わせをシャープ株式会社殿になさらぬ様、くれぐれもご注意下さい。なお、PowerPIMM に関するお問い合わせは受け付けかねますのでご了承下さい。

    ■最新の開発キット入手方法

    http://www.nagadon.com までアクセスしてください。

    ■リファレンスマニュアル

    ● こちらをご覧ください

    ■更新履歴

    ● こちらをご覧ください

    [←] Nagadon のぷろぐらみんぐ KIT ♪


LPimReg リファレンスマニュアル

● 概要
● クラスの使い方
● LNagadonLib クラス
● LPimRegLib クラス
● LPimReg クラス

[←] PowerPIMM 登録モジュール LPimReg


概要

PowerPIMM 登録モジュール LPimReg (以降 LPimReg) は DLL にて提供されており、DLL の公開関数を呼び出すことでその機能を利用することができます。

この公開関数を呼び出すための C++ クラスが用意されており、このクラスを利用することで、直接公開関数を呼び出す方法よりも簡単に LPimReg の機能を利用することができます。

本リファレンスマニュアルでは、主に、これらのクラスについて説明します。

LProgress を利用するためのクラスは 3 つ存在します。

  • LNagadonLib ... LPimRegLib の基本クラスです
  • LPimRegLib ... DLL のロード、アンロードを行うクラスです
  • LPimReg ... プログレスバーの実体に対応するクラスです

    • これらのクラスの使い方については、クラスの使い方 を参照してください。

    [←] LPimReg リファレンスマニュアル


クラスの使い方

ここでは、実際にアプリケーション内で LPimReg を利用する方法について説明します。

■クラス LPimRegLib

このクラスは LPimReg.dll を管理するクラスです。通常、このクラスのインスタンスはアプリケーション内に一つだけ生成されます。

まず、グローバル変数として LPimRegLib のインスタンスを一つ定義してください。

LPimRegLib g_clsPimRegLib;

次に、アプリケーションが起動された後、先ほどのインスタンスに対して一度だけ LPimRegLib::Initiate を呼び出してください。この時、LPimReg.dll がロードされます。

g_clsPimRegLib.Initiate ();

最後に、アプリケーションの終了前に、先ほどのインスタンスに対して一度だけ LPimRegLib::Terminate を呼び出してください。この時、LPimReg.dll が開放されます。

g_clsPimRegLib.Terminate ();

■クラス LPimReg

このクラスは、指定された文字列を解析し、スケジュールデータとして PowerPIMM に登録する機能を持ちます。

アプリケーション内の任意の場所に、必要なだけ LProgress のインスタンスを定義してください。MFC の SDI/MDI アプリケーションでは、CDocument の派生クラスのメンバとして定義するか、CView の派生クラスのメンバとして定義すると便利です。

    class CMyDocument : pulic CDocument
    {
    ...
    public:
        LPimReg m_clsPimReg;
    ...
    };

次に、LPimReg のコンストラクタを呼び出し、その後、LPimReg::Create を呼び出してください。

    CMyDocument::CMyDocument () :
        m_clsPimReg (g_clsPimRegLib)
    {
    ...
        m_clsPimReg.Create ();
    ...
    }

ここで、LPimReg のコンストラクタは必ず LPimReg::LPimReg (LPimRegLib& clsLib); を呼び出してください。デフォルトコンストラクタを呼び出すとコンパイルエラーになります。引数は、先ほど定義した LPimRegLib のインスタンスを指定してください。

PowerPIMM にスケジュールを登録するために、LPimReg::AddSchedule を呼び出してください。

    LPCTSTR pszSchedule;
    ...
    m_clsPimReg.AddSchedule (pszSchedule);

LPimReg のインスタンスが不要になったら LPimReg::Destroy を呼び出してください。

    CMyDocument::~CMyDocument ()
    {
    ...
        m_clsPimReg.Destroy ();
    ...
    }

以上の作業で、PowerPIMM に任意の文字列をスケジュールデータとして登録することができます。

ここから先はアプリケーション作者であるあなたのアイディア次第です。頑張ってください (^^)

[←] LPimReg リファレンスマニュアル


LPimRegLib クラス

クラスの説明

このクラスは、PowerPIMM 登録モジュール LPimReg の DLL を管理するクラスです。DLL をロード／アンロードする機能がカプセル化されています。

LPimReg を利用したアプリケーションを作るには、アプリケーション内に、このクラスのインスタンスを一つだけ作成してください。

コンストラクタ／デストラクタ

LPimRegLib | LPimReg コンストラクタ
~LPimRegLib | LPimReg デストラクタ

Initiate / Terminate 関連

Initiate | LPimReg.dll をロードし、モジュールを利用できる状態にします
Terminate | LPimReg.dll をアンロードします

基本クラス

LNagadonLib クラス

[←] LPimReg リファレンスマニュアル


LPimRegLib::Initiate

関数の説明

LPimReg.dll をロードし、モジュールを利用できる状態にします。

関数の形式

virtual LERRORCODE Initiate (LPCTSTR pszFolderName = NULL, DWORD dwPasscode = 0);

引数

pszFolderName ... | LPimReg.dll が存在するフォルダを指定します。NULL を指定すると、カレントフォルダ又はパスが通ったフォルダにあるとみなします。
dwPasscode ... | 0 を指定してください。

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LPimRegLib.h"

サンプルコード

LERRORCODE  ecode;
LPimRegLib clsPimRegLib;

ecode = clsPimRegLib.Initiate ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsPimRegLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

[←] LPimRegLib クラス


LPimRegLib::LPimRegLib

関数の説明

LPimRegLib のコンストラクタです。

関数の形式

LPimRegLib (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LPimRegLib.h"

関連する関数

LPimRegLib::~LPimRegLib

[←] LPimRegLib クラス


LPimRegLib::~LPimRegLib

関数の説明

LPimRegLib のデストラクタです。

関数の形式

virtual ~LPimRegLib (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LPimRegLib.h"

関連する関数

LPimRegLib::LPimRegLib

[←] LPimRegLib クラス


LPimRegLib::Terminate

関数の説明

LPimReg.dll をアンロードします。

関数の形式

virtual LERRORCODE Terminate (void);

引数

ありません

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LPimRegLib.h"

サンプルコード

LERRORCODE  ecode;
LPimRegLib clsPimRegLib;

...

ecode = clsPimRegLib.Terminate ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsPimRegLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

[←] LPimRegLib クラス


LPimReg クラス

クラスの説明

このクラスは、指定された文字列を解析し、スケジュールデータとして PowerPIMM に登録する機能を持ちます。

コンストラクタ／デストラクタ

LPimReg | LPimReg コンストラクタ
~LPimReg | LPimReg デストラクタ

Create / Destroy 関連

Create | インスタンスを利用できる状態にします
Destroy | インスタンスを初期状態に戻します
IsCreated | Create されているかどうかをチェックします

文字列登録

AddSchedule 文字列をスケジュールデータとして PowerPIMM に登録します

基本クラス

ありません

[←] LPimReg リファレンスマニュアル


LPimReg::SetMessage

LPimReg::AddSchedule

関数の説明

文字列をスケジュールデータとして PowerPIMM に登録します。

関数の形式

virtual LERRORCODE AddSchedule (const LString& strSchedule) const;

引数

strSchedule ... PowerPIMM に登録する文字列を指定します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

Create されていない場合はエラーを返します。

インクルードファイル

#include "LPimRegLib.h"

サンプルコード

LERRORCODE ecode;
LPimRegLib clsPimRegLib;
LPimReg    clsPimReg;
LString    strSchedule;

...

ecode = clsPimReg.SetMessage (strSchedule);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsPimRegLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

ありません。

[←] LPimReg クラス


LPimReg::Create

関数の説明

LPimReg クラスのインスタンスを利用できる状態にします。

関数の形式

virtual LERRORCODE Create (void);

引数

ありません。

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LPimRegLib.h"

サンプルコード

LERRORCODE ecode;
LPimRegLib clsPimRegLib;
LPimReg    clsPimReg;

...

ecode = clsPimReg.Create ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsPimRegLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

[←] LPimReg クラス


LPimReg::Destroy

関数の説明

プログレスバーを初期状態に戻します。

関数の形式

virtual LERRORCODE Destroy (void);

引数

ありません

返値

負の値： | エラーコード
0 以上： | 成功コード

インクルードファイル

#include "LPimRegLib.h"

サンプルコード

LERRORCODE ecode;
LPimRegLib clsPimRegLib;
LPimReg    clsPimReg;

...

ecode = clsPimReg.Destroy ();
if (ecode < 0)
{
    // 関数の実行に失敗
    clsPimRegLib.PopupErrorMessage (ecode);
    return;
}

関連する関数

[←] LPimReg クラス


LPimReg::IsCreated

関数の説明

現在、Create されているかどうかをチェックします。

関数の形式

virtual LERRORCODE IsCreated (BOOL& bIsCreated) const;

引数

bIsCreated ... 現在 Create されているかどうかを返します。

返値

負の値： | エラーコード
0 以上： | 成功コード

注意事項

現在 Create されているかどうかは引数 bIsCreated で判断してください。
返り値は関数の実行が成功したかどうかを表しており、現在 Create されているかどうかには影響されません。

関数がエラーを返した時の bIsCreated の値は未定義です。

インクルードファイル

#include "LPimRegLib.h"

サンプルコード

BOOL       b;
LERRORCODE ecode;
LPimRegLib clsPimRegLib;
LPimReg    clsPimReg;

...

ecode = clsPimReg.IsCreated (b);
if (ecode < 0)
{
    // 関数の実行に失敗
    clsPimRegLib.PopupErrorMessage (ecode);
    return;
}
if (!b)
{
    // まだ Create されていない
    return;
}

関連する関数

[←] LPimReg クラス


LPimReg::LPimReg

関数の説明

LPimReg のコンストラクタです。

関数の形式

LPimReg (LPimRegLib& clsLib);

引数

アプリケーション内でひとつだけ存在する LPimRegLib のインスタンスを指定してください。

返値

ありません

注意事項

デフォルトコンストラクタは呼び出さないでください。デフォルトコンストラクタを呼び出すと、コンパイルエラーとなります。

インクルードファイル

#include "LPimRegLib.h"

関連する関数

LPimReg::~LPimReg

[←] LPimReg クラス


LPimReg::~LPimReg

関数の説明

LPimReg のデストラクタです。

関数の形式

virtual ~LPimReg (void);

引数

ありません

返値

ありません

インクルードファイル

#include "LPimRegLib.h"

関連する関数

LPimReg::LPimReg

[←] LPimReg クラス


更新履歴

Version 1.0 (2000/8/18)

  • リリース
            •

    [←] PowerPIMM 登録モジュール LPimReg


送金について

■送金について

Nagadon のぷろぐらみんぐ KIT♪のモジュールの一部は、シェアウェアとして公開しております。シェアウェアのモジュールを利用した自作のソフトウェアを公開される方は、事前に送金をお願いいたします。シェアウェア代金は 5000円* です。配布に係るロイヤリティーは不要です。

Nagadon のぷろぐらみんぐ KIT♪の全モジュールにおいて、ライセンスは共通です。一度送金いただくと、他のモジュールについては送金の必要はありませんのでご注意ください。

* 2000/8/18 に改定しました

■送金方法

[シェアレジ] こちらから 送金できます | Vector のシェアレジサービスがご利用になれます。Web にアクセスできる環境にあり、クレジットカードをお持ちであればどなたでもご利用できます。 ユーザ登録パスワードはご利用時に発行されます。 シェアレジ作品番号：SR019441 シェアレジ作品名：Nagadon のぷろぐらみんぐ KIT♪
銀行振込/現金書留/郵便小為替 | お名前、希望支払方法を明記の上、E-mail にてご連絡ください。折り返し、確認の連絡を差し上げますので、連絡を確認後、送金願います。送金を確認し次第、ユーザ登録パスワードをお知らせいたします。 連絡先 (E-mail)：nagadon@nagadon.com

[←] Nagadon のぷろぐらみんぐ KIT ♪


おまけ

Nagadon のぷろぐらみんぐ KIT♪のモジュールを利用したソフトウェアを作られた方は、もしよろしければ nagadon@nagadon.com までご連絡下さい。Nagadon のぷろぐらみんぐ KIT♪ のページでソフトウェアの紹介をさせていただきます。

[←] Nagadon のぷろぐらみんぐ KIT ♪