■INDEX ■あにめちっく・めぐみちゃん講座 ■まじかる☆うお〜く ■声優さんを募集します! ■コーヒーちょうだい! 
■VBのお部屋(女の子アルゴリズム) ■まのんのCGアトリエ ■おすすめリンク ■更新の経歴 ■プロフィール

超初心者向けVBプログラムのお部屋 

 VBとは何か?、用意するもの、動作環境、おすすめ書籍。など。  
 ・VB娘のプロフィール。
 
 ・女の子アルゴリズムver0.01のダウンロード


  

 ・ソフト概要 フリーソフト。
  ビジュアルベーシック研究用プログラム。
  VB5もしくは6が動作する環境である事
  実行ファイルは一応付いていますが、今のところ実用性は全く有りません。(^^;
  研究用なので完成する事はないと思う。
  ソースコード付き。ソースコードの改変と利用は自由。

 ・VB開発画面(女の子アルゴリズムの場合。)

■あにめちっく・めぐみちゃんのプログラム 
NEW

 ・ランチャー起動部分 
 ・+を押すとスケジューラーの設定時刻がアップ 
 ・めぐみちゃんのいいわけ 
 ・めぐみちゃんの動作関数

■プログラム恐怖症対策

 ・プログラムは面白いか?
 ・開発画面をみてみる。
 ・なぜプログラムは英語で書いてあるのか。
 ・分からない用語が出てきたらとりあえず日本語に直してみる。

■超初心者向けプログラム説明
  

 ・部品に名前が付いている。<プロパティー>
 ・イコール(=)の使い方。
 ・画面に女の子を表示させる。    <LoadPicture関数>
 ・ボタンを押すとそのギャグは50点です、という台詞を出す。 <Clickイベント>


 ・部品に名前が付いている。 <プロパティー>

 プログラムの部品の名前は所々.(点)で区切ってある。
 部品の名前の後には部品の特徴を表すプロパティー(属性)が付く。

例)日本語

 赤い髪のぶび子     ぶび子(人の名前) 髪(物の名前) 赤い(髪の属性)
 赤い流星のシャア少佐  シャア少佐(人の名前) 流星(物の名前) 赤い(流星の属性)
 

例)プログラム

 ○○○.picture        ○○○という部品の絵。
 Form1.Image1.Picture  Form1という部品の上に有る、Image1という絵を入れる部品の絵。
 Text1.Text          Text1という文字を入れる部品の表示すべきテキスト。
 
Label1.Fontsize      Label1という文字を入れる部品の表示すべきフォントサイズ。


 ・イコール(=)の使い方。

例)日本語

  日本の首都=東京
  中国の首都=北京
  2000円札=1000円札×2枚

例)プログラム

  A=10   ・・・Aに10を代入する。
  A=A+10 ・・・AにA+10を代入する。
  Text1.Text=”逆転満塁ホームラン”  ・・・Text1という文字を表示する部品に逆転満塁ホームランという文字を代入する。

 代入するというような意味合いになる。

例)

  A=10
  A=A+1  

  Aの値は11になる。


 ・画面に女の子を表示させる。    <LoadPicture関数>

Private Sub Form_Load()

Image1.Picture = LoadPicture("vbko.jpg")

End Sub

VB娘が表示されているメイン画面をダブルクリックするとこのコードが現れる。
一行目のPrivate Sub Form_Load()、と3行目のEnd Subは開いた時点で既に書いてある。
自分で書くのは2行目だけだ。
Private Sub Form_Load()はFormをロードしたらなにをするか手続きを下に書け・・・というような意味。
この行からEnd Subまでの間にプログラムを書く。
Private Subの意味とか、FormLoadの後についている()は何だ?というのは後で分かってくると
思う。(多分・・・(^^;)
 
Image1.Picture = LoadPicture("vbko.jpg")

文法的には

○○○.picture=LoadPicture(”ここにファイル名”)

イメージ1の絵にvbko.jpgという絵をロードしろ〜という意味。
イメージというのは画像を読みこむ時に使う部品の一種。
”vbko.jpg”の所には拡張子がjpg、bmp、gifなどの画像ファイルを何でも指定できる。
自分で書いた絵をkessaku.jpgというファイル名にしてこのプログラムと同じディレクトリに置き
Image1.Picture = LoadPicture("kessaku.jpg")と書けばちゃんと自分の描いた絵が表示されるはずだ。


・ボタンを押すとそのギャグは50点です、という台詞を出す。 <Clickイベント>

Private Sub Command1_Click()

Label1.Caption = "そのギャグは50点です。"

End Sub


文法的には

○○○.caption=”書きたい台詞”

一行目はコマンド1のボタンを押したらどうするか下に書けという意味。
コマンド1というのは、画面に”笑わせる”と書いてあるボタンの事だ。
このボタンを押すと、そのギャグは50点です。とLabel1に表示される。

コマンド1を押すとボタンのClickというプロシージャーPrivate Sub Command1_Click()が呼び出される。
そのあと2行目でラベル1のCaption(表示させるテキスト)に”そのギャグは50点です”という言葉が
代入される。

応用例

女の子の画面をクリックすると、そのギャグは50点です。という台詞を表示させる。

女の子の画面(Image1)をダブルクリックし、コードウインドウを開き2行目を記入する。

Private Sub Image1_Click()

Label1.Caption = "そのギャグは50点です。"

End Sub


 ・プログラムは面白いか?

 分かれば面白いし、全然分からないのであれば面白くない。
 しかし、以前に比べると格段に分かりやすくなったと思う。
 分かりやすくなったというより、敷居が低くなったというんだろーか。
 自分ではこんなに面白いもの書かずにいられるかい・・・(^^;
 と言うことでこのコーナーを書いてしまった。
 また、自分自身の勉強の為というのもある。


 ・開発画面をみてみる。

 見て〜。

 これをみて、なんだこれだけか。と思った方は既に免疫があります。(笑)
 先天性プログラマー病かも。(^^;
 うーーん、良くわからん・・・という場合は、1日3分程度ながめてみるという
 手もあります。そのうち慣れると思います。
 


 ・なぜプログラムは英語で書いてあるのか

 やっぱりアメリカなんかで作られたからでしょう。
 日本でプログラム言語が生まれていたら日本語版プログラム言語が生まれていた可能性が有る。
 もしAの値が10より大きかったら、Bに5を代入しろ〜、とか。
 でも日本語は曖昧なのでやっぱり英語の方がいい。


 ・分からない英語とか用語が出てきたらとりあえず日本語に直してみる。

 どんなに難しいプログラムも元は英語なので辞書をみりゃ日本語に訳すことは出来るぞ。(笑)
 でも大抵は意味が違ったりするので結局覚えるはめになる。(^0^

 プログラム・・・プログラムはプログラムでしょう、訳しようがないぞ。(^^;
         でも、辞書を見ると番組表、計画、予定って書いてある。
 コントロール・・・部品。
 タイマーコントロール・・・タイマーとして使う部品。
 ラベルコントロール・・・文字を表示する部品。
 オブジェクト・・・コードとデータが合体した部品。
 プロパティー・・・部品の特徴、属性のようなもの。
 キオスク・・・あ、ここまで読んだ人いるの?(爆)


・ランチャー起動部分(外部ファイルを同時に50起動する)

Private Sub StartKidou_Timer()

On Error Resume Next
Dim intLoopA As Integer
Dim strOpenStyle As String
StartKidou.Interval = 20

'-------------関連付けられたファイル、フォルダを起動する-----------------------
For intLoopA = 1 To 50
If LaunchDataKidoukeisiki(intLoopA) = 0 Then 'なにも登録されていない
Else
   If LaunchDataStartFrag(intLoopA) = 1 Then 'スタートアップフラグが立っている
   If LaunchDataKidoukeisiki(intLoopA) = 1 Then 'フォルダが登録されている
   strOpenStyle = "explore"
ElseIf LaunchDataKidoukeisiki(intLoopA) = 2 Then 'ファイルが登録されている
   strOpenStyle = "open"
ElseIf LaunchDataKidoukeisiki(intLoopA) = 3 Then 'メールアドレスが登録されている
   strOpenStyle = "mail"
ElseIf LaunchDataKidoukeisiki(intLoopA) = 4 Then 'URLが登録されている
   strOpenStyle = "url"
End If
   StartUpKidouFile strOpenStyle, intLoopA
End If
End If

Next intLoopA
StartKidou.Enabled = False

End Sub


+ボタンを押すとスケジューラーの設定時間がアップ

Private Sub Command12_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim SetNowHour As Integer '現在の時
Dim SetNowMin  As Integer
Dim NowHour   As Integer
Dim NowMin    As Integer

SetNowHour = CInt(Format$(Now, "h")) '時間を数値に換える
SetNowMin = CInt(Format$(Now, "n")) '分数を数値に換える

If Button = 1 Then
   If Label5.Caption = "__" Then
      Label3.Caption = SetNowHour
      Label5.Caption = SetNowMin
   Else
   If Label5.Caption > 58 Then
      Label5.Caption = 0
      Label3.Caption = Label3.Caption + 1
   If Label3.Caption >= 24 Then
      Label3.Caption = 0
   End If
Else
   NowMin = Label5.Caption
   NowMin = NowMin + 1
   Label5.Caption = NowMin
End If
End If

YoubiNoOnOff.Enabled = False
Label2.Visible = True
Label3.Visible = True
Label5.Visible = True

TimeUp.Enabled = True

SetScdlHenkouDataToList intScdlNowIndex
End If
End Sub


・めぐみちゃんのいいわけ

Public Function strGetIiwake() As String
'めぐみちゃんのいいわけ
Dim intRnd As Integer

 intRnd = SetRnd(11)
 Select Case intRnd
 Case 0
   strGetIiwake = "ごめんなさい〜 良く分かりません・・・"
 Case 1
   strGetIiwake = "む、むずかしい言葉ですねーー"
 Case 2
   strGetIiwake = "ああ、理解不能な言葉です・・・オロオロ・・・"
 Case 3
   strGetIiwake = "どうしましょーーー、わたしの辞書にはない言葉です・・・☆"
 Case 4
   strGetIiwake = "うーーん、聞いたことあるような、ないような言葉ですね・・・"
 Case 5
   strGetIiwake = "こ、この言葉はかなり難易度の高い言葉ですね・・・・はわわっ T▽T"
 Case 6
   strGetIiwake = "ふええええ〜ん また分からない言葉が登場しました T▽T"
 Case 7
   strGetIiwake = "ええと・・・良く分かりません〜 勉強不足ですね☆"
 Case 8
   strGetIiwake = "うーーーん、どうやらボキャブラリーにない言葉です・・・弱りました・・・"
 Case 9
   strGetIiwake = "えーーと、うーーーーんと、良く意味が分からない・・・・ふにゅ!"
 Case Else
   strGetIiwake = "理解不能、詳細不明な言葉です、ああ、勉強できる子がうらやまし〜☆"
 End Select

End Function


・めぐみちゃんの動作関数

Private Sub cmdNyuusyu_Click()

Dim strUrl As String
Dim intCase As Integer
Dim strAction, strMes, strVoice As String


strUrl = "http://www2s.biglobe.ne.jp/~manon/home1a.htm"
intCase = SetRnd(3)

Select Case CheckMegumiAnimation
Case "Yes"


   Select Case intCase
   Case 0
      strAction = "actGaan"
      strMes = "うん、会話データの入手について調査しますね・・・☆"
      strVoice = "voiceUn"
   Case 1
      strAction = "actUruuru"
      strMes = "OK〜会話データの入手についてご説明いたします・・・☆"
      strVoice = "voiceHai"
   Case 2
      strAction = "actSyaberikei"
      strMes = "分かりました 会話データの入手方法について作者サイトを調査します・・・☆"
      strVoice = "voiceWakattawa"
   End Select

   Call getMegumiAction(strAction, strMes, strVoice)
   popMenuInputNaiyou = frmKaiwaFile.cmdNyuusyu.Caption
   mM
   AnimeTick.Popupnosyurui = 0

   KidouUrl strUrl

End Select

End Sub