× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
Module MyErrorProc
'エラーメッセージの処理を投げる 'em error message(エラー内容) '使用例 ErrorMsg(System.Reflection.MethodBase.GetCurrentMethod.Name, "ファイル読み込みに失敗しました") Public Sub ErrorMsg(ByVal em As String) Dim show_msg As String Dim sf As New StackFrame(1) show_msg = "Error:" show_msg = show_msg + sf.GetMethod.Name + vbNewLine show_msg = show_msg + em MsgBox(show_msg) End Sub End Module 昨日関数うpしたが、よく考えてみればこうすればよかったりした。 うん。まあ前のやつの方が確実性は高いように思えるが(stackframeはごみが入るとずれる...?) まあこれでも十分だろう。 vbは.netで便利になったな。なりすぎている感覚はあるが。 6.0にこんな機能はなかった気がするし。これで手打ちが少し減るわけだ。 ちなみに使用方法を一応書いておくと、以下のようになる Try errorthrow(~~~~えらーっぽいもの~~~~~) Catch ex as Exception ErrorMsg("エラーの内容") End Try ちなみにExceptionを変えたりして改造するとかなり詳細なエラーを出力できる。 まあ、会社でやってるわけじゃないからこのあたりはだいぶ気楽な感じでいけると思う。 遊びのエラー出力には十分ですな。 PR |
Module MyErrorProc
'エラーメッセージの処理を投げる 'fn func name(エラーが起きた関数名) 'em error message(エラー内容) '使用例 ErrorMsg(System.Reflection.MethodBase.GetCurrentMethod.Name, "ファイル読み込みに失敗しました") Public Sub ErrorMsg(ByVal fn As String, ByVal em As String) Dim show_msg As String show_msg = "Error:" show_msg = show_msg + fn + vbNewLine show_msg = show_msg + em MsgBox(show_msg) End Sub End Module ITベンチャー企業に就職したので最近はasp.netやってたりjavascriptをやってたりする。 asp.net言語は癖があって面倒くさい。ITのSIerってJAVA一本だと思ってたら意外とFrameWorksやってるのな。 ともあれ結局自分はVB厨に逆戻りだったり。aspはコード部分はvbに使えるからね。 まあそんなわけでVB6.0厨からVB.net厨に地獄のジョブチェンジをしたのでいろいろと遊んでたら上のソースを書く 羽目になったわけだ。 上のコードの使用例を見れば便利であることはわかる人はわかると思う。 コンソールを使ってもいいけど、まあそれは必要に応じてということでw コンソールわざわざ出すの面倒だし ...ところで、stringbuilderってvb.netになかったっけ? まあ速度にはまだ困ってないんだが |
なんかGoogleで検索してもいまいちヒットしなかったから下記に記しておく。
まあ、OpenGLじゃなくてglutなのだが。 int get_wx = glutGet( GLUT_WINDOW_X );//window表示位置を取得 int get_wy = glutGet( GLUT_WINDOW_Y ); int get_ww = glutGet( GLUT_WINDOW_WIDTH ); int get_wh = glutGet( GLUT_WINDOW_HEIGHT ); ついでにwindows開発をしている人間に簡単なカーソル操作プログラムソースを上げておく。 役に立つかは別として #ifndef __SUP_WINDOWS_LIB__ #define __SUP_WINDOWS_LIB__ #include <iostream> #include <windows.h> //window依存のAPI集 namespace SupCursor{ void GetCursor(int *px,int *py){ POINT pos; GetCursorPos( &pos ); *px = pos.x; *py = pos.y; } void SetCursor(int _x,int _y){ SetCursorPos( _x, _y ); } } #endif これでFPS開発ができますな。 しかし必要な情報ほどなんかupされないんだよなー。なんでだろ。 球体視点移動プログラムとか。作るの大変だったんだぞ。作った割にはあまり使わんが。 |
ソースコードのレポを印刷すべく久しぶりにEPSONのA890を使用すべく、電源を入れた。
はずだったのだが、起動せん。 電源ケーブルは通電しているはずなのだが、電源そのものが入らないのだ。 何か動かしたというわけではなくPC初心者が言う「何もしないのに壊れた」状態である。 電源の入れなおしや、電源ボタン長押しを行ったが、うんともすんとも言わぬ。 エプソンのサポセンのHPを開き、修理費用を見ようと試みたが、、、サポート終わってる。 純正インク八割残ってるのに・・・ なぜか起動するたびにすさまじい勢いでインクを消費する糞プリンタを作り続ける、糞企業め。 「刷れば刷るほど損をする、エプ損」 こういわれていたEPSONだったが、認識を改めねばならぬ。 「刷る前に壊れる、エプ損」 あーあ。年賀状シーズン控えているのに、手痛い出費だ。 化石であるcanonのBJ890はまだ死に掛けながらもまだ動いているというのにな。スキャナー無いけど。 昔のやつの方が丈夫なんだろうか? いや、電子機器でそんなことは無い筈なのだが・・・・。 そのうち新しい複合機買います。ええ。もう二度とEPSONのものは買わん。 次からはcanonじゃ・・・刷れば刷るほどインク代が浮くcanonにするんじゃ・・・。 canon最強じゃ・・・。 ということでcanonを買いますよ! え?HP? なにそれ、おいしいの? |
クラス間のアクセスの方法についてはえらく悩むところだ。
パチスロ制作にも言えるところだが、実はリールコントローラにprivateの形でリールのインスタンスを入れているが、これに入賞時のリール制御クラスでアクセスしたいと思っている。しかしながら、これには3つの方法がある。 1 CCtrlReelへのポインタを取得し、CCtrlReelからリール操作を行う 2 CCtrlReelにfriendを入れてリール制御クラスからのprivateアクセスを行う。 3 CCtrlReelとリールのポインタを取得し、privateアクセスを行う。 私はまず1を除外しようと思った。手間がかかりすぎる。 なによりリールコントローラが肥大化するのはシステム全体に悪影響を与えるからだ。 次に、悩んだが2を消去法で消すことにした。friendは嫌いだ。privateにアクセスさせるなんて冗談ではない。 クラス全体をデバッグするなんて冗談ではない。 そのため、結局は3にすることにしたのだが、さて悩んだのはポインタを包む構造体の名前だ。 同種のポインタが二つもあるのにまとめないことはよくない。 さて、どうしようか。 tagPtCtrlReel? ・・・ひどい名前だ。 HandleCtrlReel・・・ハンドルではない。論外。 PtCtrlReel・・・まぎらわしい。二つあるんだから。 AccessCtrlReel・・・長いよ!!! いやー。どうしような。 |