dkutil Tutorial 1.0x用



DxLibFanに戻る


  1. 最初に・・・
  2. dkutilとは
  3. 最初に必要なもの
  4. dkutilを使うのに必要なツール、ライブラリ
  5. VisualC++での使い方
  6. Dev-C++での使い方
  7. dkutilのコンパイルオプション
  8. 主要関数 使い方
  9. 主要クラス 使い方
  10. private class の使い方
  11. common interface (共通インターフェイス仕様)
  12. sample サンプル
  13. Licence (ライセンス) (使用条件) (とても緩い使用条件ですよ^^;)
  14. Frequency asked Question (よく聞かれる質問) (FAQ) (Q & A)
  15. download dkutil (dkutilをダウンロードする)

最初に・・・

略称解説
DKUT :dKingyo Utility Toolkit
DKUTP:dKingyo Utility Toolkit Project
以下の語句は多分、e-wordなどで資料が出てきます。
あとはGoogleに頼るのが一番だと思います。
LGPL GPL BSD Licence ライブラリ DLL VC C++ C言語 HTML Java




dkutilとは


簡単に言うと、Windowsのソフトを作る際に面倒な処理を肩代わりしてくれるライブラリです。
詳しくは sourceforgeのページのdkutilのページ に書いています。


最初に必要なもの

dkutilを使うのに必要なもの

VisualC++での使い方

設定方法 VCパワーユーザー向け要約

  1. c:\dkutilが解凍したパスがなっている場合、includeファイルのパス指定にC:\を・・・
    ライブラリファイルのパス指定をc:\dkutil\libに・・・
  2. プリコンパイル済みヘッダに以下のコードをコピペする。

    これでdkutilの機能をほぼすべて使うことができる。



主要クラス 使い方




private class の使い方

dkutil::private_ namespace内にあるのがそれです。このネームスペース内の関数は実際、 あまり、使ってほしくない非奨励、開発者向け、ただ今、バグ取り版のネームスペースだったのですが、 最近のものはほとんどバグが取れちゃいましたね。(まだあるかも)
その中で、特にお勧め名CSVParserクラスとCSVAnalyzerクラスの使い方を解説します。
クラス概要
CVSParser
CVSAnalyzer

How to use
まずはサンプルソースを。 って、ガ━━(゚Д゚;)━━━ン!! 新たなバグを発見・・・ちょっと直す。(でも他にもありそう)これだから文字列処理は・・・。
お正月はこいつと格闘か・・・。いちおう、バグありのクラスだったけども、サンプルソースを書いたので載せておきます。

2003/12/29:ちなみにバグは9999999999999を上手くCSVAnalyzerで解析できないバグです。
2004/12/29:バグを直し、以下のソースを更新。

まぁ、簡単に言うと、 CSVParserもCSVAnalyzerもresetメンバ関数にデータをぶち込んで解析結果を begin() end()でイテレーションして得る。という形です。
STLのvectorやlistを使っている方ならすぐに慣れるでしょう^^






Common Interface (共通インターフェイス)


ちと仕様変更中


サンプル

dkutil/dkutil_testフォルダ内にあるtested.cppには私がバグ取りに使った人工的なサンプルプログラムがあります。

サンプルアプリケーション




Licence (使用条件)


ライセンスは BSD Licence または GNU Lesser General Public License(LGPL) です。
どちらかお好きな方を適用してください。
日本語訳、簡単な要約についてはd金魚の独断的ライセンス解釈にて
MD5のソースを使った場合は
RSA Data Security, Inc. MD5 Message-Digest Algorithm
RFC1321-based (RSA-free) MD5 library Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved, と明記してください。
zlibを使った場合は
zlib Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler.
と明記してください。
libpngを使った場合は
libpng Copyright (c) 1998-2001 Glenn Randers-Pehrson.
と明記してください。
BSD Licenceとして配布する場合

このライブラリをバイナリ、ソースに関わらず、配布する場合は以下の Copyrightと条文を明記する事がBSD Licenceで使用する場合に必要事項との事です。
(説明書の片隅にでもコピペしてください。)
何故、明記しないといけないかと言うと、BSD Licenceでのルールとなっているからです。
また、私側も法的な事に巻き込まれたくないからです。
どうか明記してください。お願いします。m(_ _)m
また、includeフォルダ内にあるdkutilAllInclude.hも見て頂けると幸いです。

//**********************************************************
ここからコピペ

dkutil Copyright (c) 2003-, by d金魚 (
) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: ・Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. ・Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. ・Neither the name of the dKingyo Utility Toolkit Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. コピペ終了 //**********************************************************


Frequently asked question(よく聞かれる質問)


略称の意味はこちら

技術的質問

Q: boostはdkutilでどのように使用されていますか?
A:includeフォルダ内のdkutilBoostPolicy.hを見ると何をインクルードしているかわかります。
主に、使用しているのは以下の機能です。
  • dkutil_parser内でboost::spiritでパーサーを用意しています。
  • boost::filesystemでファイル系の機能を用意しています。(dkutil1.03以降にて廃止しました。)
  • boost::formatをいろんなところに使用しています。
  • boost/utility.hpp内のものをいろんなところに使用しています。
  • scoped_arrayとscoped_ptrを使用しています。

著作権に関して。

Q: DKUTの使い方、DKUTP関連の記事を私のHP(非商業系メディア)に掲載していいですか?
A:公序良俗に反しない、かつ、閲覧するのが有料でなければ、自由にしてかまいません。

Q: DKUTの使い方や情報を本 等の商業系メディアに掲載したいのですが・・・
A: DKUTの事がメイン*1になって掲載しないのであれば、自由に掲載して構いません。といいますか、どんどん掲載してください^^(Smile
*1:ここでいうメインとメインではないの境はあいまいになりそうなので定義しておきます。
「メイン」とは・・・
「 dkutilライブラリを使ってのプログラミング 」みたいなタイトルの本が勝手に出版されたら、dkutilの製作者、関係者はどう思うでしょうか?
私のプログラムを勝手に利用された!!と思ってしまいますよね。
そのような方がProjectに貢献していないのに、自己利益のために使われてるよ!...と。
ソースを提供してくださった方々に失礼です。
「メインではない」とは・・・
雑誌や本 等にちょっとしたチップスが紹介された。ちょっとした関数、クラスの使用方法が掲載された。 URLや情報、感想、批評、好評、批判が記載された。バリバリOKです。どんどん掲載してください^^(smile)

その他

Q: dkutilの読み方は? また、発音はどう発音するのですか?
A:私は「ディーケーゆーてぃる」と発音してますが・・・え!?違うの?







SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送