objective-cをちょい研究!ブログ -37ページ目

objective-cをちょい研究!ブログ

WILLCOMを卒業してiOS開発者に転身しました。。
コメント&トラックバック大歓迎です。

バージョンアップ済みです。最新版をダウンロードしてください。


キー入力でドレミを演奏するアプリです。esとアドエス対応です。
LZHファイルを解凍して、EXEとDLLファイルを好きなフォルダに置いて実行して下さい。

音色を使うには別途音色ファイルが必要です。↓<音色設定>参照


<バージョンアップ内容>
・音色に対応しました。
・画面にアドエスのキーボード写真貼り付けました。esでアドエスを撮影したので画質悪いです(^^;
画像ファイルはv.jpg(横時はh.jpg)なので、好きな画像に置き換えちゃって下さい。


<使い方>
キーボードを閉じたときは、1~0キーでド~ド~ミが鳴ります。方形波なので音は悪いです(^^;
キーボードを開いたときは、A行でシ~ド~ド~レ、Q行で黒鍵盤(半音階)の音が鳴ります。1~0キーはベースっぽいつもりで2オクターブ低い音でド,ド#,レ…~ソ#が鳴ります。一応和音も出せます。音に合わせてLEDが点灯します。
ソフトキー1でアプリケーション終了です。


<音色設定>
デフォルトでは、減衰系の電子音が鳴ります。ピアノとはほど遠い音です(^^;
GM.DLSファイルをプログラムと同じフォルダに置くとピアノの音色で再生します。
GM.DLSは、MIDIが再生できるパソコンのWindowsフォルダを検索してください。
(XPとVistaでは「C:\WINDOWS\system32\drivers」にあります。)


<既知バグ>
初期状態でIMEをOFFにしているんですが、esでテンキーを入力するとキーボード側のIME(変換モード)が有効になってしまいます。esでベースを鳴らすときは、キーボード側の数字キーを押して下さい。

ATコマンドで ATS211? を叩いたら数字がずらずら出てきた。


128145000013048048050…


文字列っぽいので、3桁ずつで区切って変換してみた。

5桁目から文字列っぽいのが出てきた。


0022★W+INFO…


W-INFOの通知かな? どうやら届いたライトメールが読み出せるみたい。
最初の4桁は意味不明だけど制御関係だろうか。


1回COMポートを切断して再度試したところ、0が帰ってきてもう一度読み出すことはできなかった。
実機が1台しかないので、どういう条件で読み出せるのかは確認できず…

XMLコメントを付けているので、Compact Framework2.0用に作ったプログラムならXMLファイルも同時に出力される。
そこで、ソースのヘルプファイルを作るべく、NDocでドキュメントヘルプファイル(chm)に変換すれば簡単に作れるはず…ともくろんでいたんだけど、エラーで動いてくれない(T.T)


NDocは開発終了していて、.Net 2003までしか対応していない。ただ、NDocのconfigファイルにランタイムバージョンを追加してあげれば、.Net 2005でも動くはず何だけど、やっぱり動いてくれない。以前Windows用に作ったプログラムでは動いたはずなので、Compact Framework用ではまた話が違うんだろうか…
http://www.failuresoft.com/report/ndoc/ndoc13_dotnet20.html
NDoc 1.3.1 - .NET 2.0 対応(faliuresoft.com様)


NDocの設定を色々変えたりで試行錯誤の挙句、断念。
Sandcastleが.Net 2005に対応しているらしいのでそちらを使うことに変更。
ただ、コマンドラインを使うのと設定が難しいらしいので、次のページオーナーさんお勧めのSandcastle Help File Builder を自分も使うことにした。
http://d.hatena.ne.jp/Wacky/20070108/1168237297
Sandcastle Help File Builder を使って、ソースコードからドキュメントを自動作成しよう (ふにゃるん様)


んで、Sandcastle+Sandcastle Help File Builderにて、試行錯誤の上何とか成功\(^^)/


■Sandcastleの入手方法
http://www.codeplex.com/Sandcastle
右上の Current Release 一覧にある [Sandcastle January 200...]リンクをクリック
ページ中くらいの Files 一覧にある [Sandcastle Installer]リンクをクリックでダウンロード。


■Sandcastle Help File Builderの入手方法
http://www.codeplex.com/SHFB
右上の Current Release 一覧にある [1.6.0.4 Production]リンクをクリック
ページ中くらいの Files 一覧にある [Sandcastle Help File Builder Installer]リンクをクリックでダウンロード。


最初、MicrosoftのページにあったSandcastleの2007を入れたんだけど、バージョンが古いと怒られて失敗。2008を入れないと駄目みたい。


■Sandcastle Help File Builderの使い方
(1)両方インストールすると、スタートメニューに[Sandcastle Help File Builder]ができるので、[Sandcastle Help File Builder GUI]をクリックして実行。


(2)Addボタンで自作したプログラムのDLLまたはEXEファイル(プロジェクトのBinの中のDebugまたはRelease)を選択する。


(3)Namespacesボタンを押すと、保存するプロジェクト名を聞かれるので適当に入力する。
プロジェクト名のネームスペースを選択する。


(4)Project Properties一覧の Help File|Language を日本にする。(その他の設定は下の※1参照)


(5)イメージボタンリストの[Build the help file]ボタンを押す。


でchmファイルが作成されるはず。


※1 その他の設定
[Help File | CopyrightHref]
URLリンクが各ページの下部に表示される。


[Help File | CopyrightText]
CopyrightHrefで指定したURLリンクの表示テキスト。


[Help File | FeedbackEMailAddress]
Eメールアドレスが各ページの下部に表示される。


[Help File | HelpTitle]

ヘルプのタイトル。変えてあげないと、タイトルがデフォルトのままで味気ない。


[Help File | SyntaxFilters]
対象の言語。VBソースのヘルプを作りたかったんで、VisualBasicを選んだ。


[Paths | OutputPath]
chmファイルが出力されるフォルダ。


[Show Missing Tags]
出力するタグ名。Remarksも記述してたので、Trueに変更した。


[Visibility]
PublicとかPrivateとか、対象の関数や変数種別。

5年以上前に買った私のパソコンでは初期設定だと45分以上かかった(^^A;
Framework系がTrueになってると時間がかかるので、初期状態でONになってた[DokumentInheritedFrameworkMembers]の選択をFalseにすれば、継承系の関数などは出なくなるが、15分に短縮された。


VBのModuleを出力するときは、明示的にPublicを付けないと(Public Module XXX)、Private扱いになってPublic関数として出力されないみたい。

バージョンアップ済みです。最新版をダウンロードしてください。


VB開発者向けのZero3アプリ開発支援ソース公開です。
VBからAPIを使うのは結構大変だったりしたので、Zero3で使えそうな機能を共通モジュール化しました。


主な追加関数(V1.00→V1.27)
・Compact Framework 1.0に対応しました(機種依存部分は初代Zero3未対応)。
 1.0で使うには、ソース中の「#Const CFRAMEWORK = 2.0」を1.0に変更して下さい。


・ソースが大きくなってきたので、chmヘルプファイルを作りました。
NDocで作れなかったので、Sandcastleを使いましたが数日がかりでかなり苦戦…


・主な追加関数
 ・オペラブックマーク(adr)の読込み
 ・電話アプリ操作(履歴画面表示/電話発信)
 ・Zero3メールのEメールファイル(EML)の読込み
 ・Zero3メール操作(作成画面表示/送受信)
 ・無線LAN/PPP接続/電話接続状況取得
 ・マナーモード設定
 ・XMLファイルの入出力関数
  XMLを使うには、ソース中の「#Const USE_XML = False」をTrueに変更して、プロジェクトの参照でSystem.Xmlを加えてください。


転載・改造は自由です。アプリ開発に役立てて下さい。
ただのVBソースなので、プロジェクトに加えるだけです。
http://www.ne.jp/asahi/phs/phs/blog/zero3common127.lzh
※テキストエディタで開くときはUTF8を選択してください。