アットウィキロゴ

program担当ページ

この部署のメンバー
菅部長、井上、宇都宮、タツノリ
プログラマ側のこのページはグシャグシャに散らかしましょうぜ^ω^
リーダーの音楽の悩みは「音楽再生に関するまとめ」に追加しましたぜ。
追伸:おしながきとかの整えは私やるんでどんどんちらかしちゃって!プログラマー!!

おしながき








  • 使用フォームについて
全7枚。進捗ページのフローも併せて参照されたし。
1:タイトル画面
2:ジャンル選択画面
3:回答方式選択画面
4:四択問題回答中画面
5:入力問題回答中画面
6:リザルト画面
7:各曲詳細画面









  • 音楽再生ソース

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Const FILE_NAME As String = "C:\Transport01.mp3"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call mciSendString("play """ & FILE_NAME & """", "", 0, 0)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Call mciSendString("close """ & FILE_NAME & """", "", 0, 0)
End Sub
追伸:ソースの記述場所に注意してください><



  • フォームのハイド
フォーム1をハイド(隠れる)状態にして、フォーム2を出力、更にフォーム2を閉じさせ
フォーム1をハイド状態から回復させる方法を記述します!
フォームの設定などがソースで説明できないので説明文でごめんなさい><
form1とform2の操作をする場合
form1のコントロールに次のこコードを埋め込みます
dim f2 as form=new form2
f2.show()
me.hide()
form2側には次のコードを埋め込みましょう
dim f1 as form = form1
f1.show()
me.close()
これで終わります!



  • フォームのインポート方法
例)
菅くんがメインソリューションを所有していて、よしともくんがform2を作成、菅君のメインソリューションに加える(インポート)方法を記述します。
井上くんの所有する「form2.resx」「form2.Designer.vb」「form2.vb」の
三個のファイルを菅君のソリューションフォルダ内部のform1があるディレクトリと
同じ階層に格納します。
VBを菅君から起動させ、ソリューションエクスプローラーに表示されている
(この時点ではform2はグループではなく存在が認識されているだけ)状態で、
「form2.vb」を右クリック、「プロジェクトに含める」ボタンを押すと
form2は仲間に加わることができます。
この方法でよしともくんのform2は無事菅くんのソリューションに格納することができましたとさ。



  • ファイル入出力メソッド
これはなんとかなるでしょう^ω^


Private Function GetLength(FileName As String) As Double
   Dim RetBuffer As String * 20
   Dim MCICommandString As String
   MCICommandString = "status """ & FileName & """ length"
   Call mciSendString("open """ & FileName & """", "", 0, 0)
   Call mciSendString(MCICommandString, RetBuffer, Len(RetBuffer), 0)
   Call mciSendString("close """ & FileName & """", "", 0, 0)
   GetLength = Val(RetBuffer) / 1000
End Function


  • 音楽再生に関するまとめ
宇都宮さんへ
音楽再生ソースなんですが[C:\音楽ファイル名.mp3]のようにC:の直下に音楽ファイルを入れとくと音楽が流れるのですが、プログラム用にまとめているファイルに入れると音楽が流れません;_;メッチャ困ってます・・・。 byリーダー

リーダーへ
解決しました!単純にパスに日本語が混ざってるのが原因ですね。あと強いていえば相対パスを記述するなら>関連の記述が必要なので絶対パスで!
ソリューションの名前から日本語なので今のうちにソースコードのコピペで英語の題名のソリューション作ることが理想です。バージョンも記述して、前日のソースと重複しないよう重々お気をつけくだしあ。
またテキストの入出力の時に勉強したImports System.IOを使えば相対パスも可能なのでそちらもお勧めです。Imports System.IOは井上よしともくんが覚えてるかも?
余談ですが、ソリューション名のみ日本語、つまりユーザー名英語にしたら動作しますがかなり不安定でした。やはりコーディングが初期のうちにソリューション作り直すことをお勧めします!
Private Const FILE_NAME As String という記述があったよね。
あそこのアドレス(パス)を、"C:\Users\BTW\Desktop\jukebox\jukeboxver1.0.0\bin\Debug\music\ccr.mp3"とかにしたらどおかな。BTWっていうのはユーザー名だよぉ。フォルダ名とソリューション名が違うのは新しく選択フォームだけ作りなおしたからね。しつこいけれどパスを記述するときは動作不安定を解除するためにも英語だけにしたほうがいいね。以下まとめ!
  1. Imports System.IOを使ってpathクラスを作成する選択肢
  2. アドレスは英語だけにする選択肢
  3. 今の段階のうちにコードをコピペして英語のソリューション作り直す選択肢
  4. 7時以降まで残るようなら学校に早期マンが見に行ける選択肢


  • 空白を除いて出力
My Sharonaという単語を作業変数に入れて、適当なメソッドで空白を取り除いてやるのはどうかしら。
例)
function change(work as string)
「My Sharona」という文字をメソッド内ではworkという変数で受け取ります。完成した文字をfinal変数にでも入れるとしましょう。
そして、文字配列にでも入れて、一文字づつ見ながら、文字ならfinal(0)に順に入れていき、文字じゃない(空白ってことね)のときは添え字変数を進めればどうかな~






一番上へ
ωb
最終更新:2008年11月10日 22:05
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|
添付ファイル