|
NOW CONSTRUCTING |
| . |
|
3. .NET VISUAL BASIC 2010 SHORT PROGRAM |
| . |
|
|
|
[A] SHORT PROGRAM [B] TIPS COLLECTION |
| . | ||||||||||||||||||||||||||||||||||||||
|
INTRODUCTION |
||||||||||||||||||||||||||||||||||||||
|
. |
||||||||||||||||||||||||||||||||||||||
| [A] SHORT PROGRAM にて公開したプログラム内に使用された コードや小プログラムを [B] TIPS COLLECTION として紹介する。 下記に記述されたコレクションは [A] SHORT PROGRAM より全てコピー(コード記述が長くなるものは一部は省略されている)された(実際に使用された)コードであります。 従って [A] SHORT PROGRAM で使用されたプログラムの説明にもなっています。 | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
|
[B] TIPS COLLECTION |
||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| 0. プロジェクト・ファイルの保存管理 | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| VB2010のDownLoadやインストール、プロジェクトの新規作成までは簡単に出来たが、作っつた沢山のプロジェクト・ファイルの保存管理方法がマニアルにもなく、Officeのファイル管理のように簡単ではなく、方法が分からず困った。 以下は試行錯誤の結果である。 | ||||||||||||||||||||||||||||||||||||||
| 新規プロジェクトのDefault名は WindowsApplication1、一つだけのプロジェクトならこれで保存し改良していけばよいが、平行してチョット試しに作ったTips的プログラムを保存しておきたくなることもある。 Defaultでプロジェクトは C:\Users\使用者名\Documents\Visual Studio 2010\Projects に保存されることになったいるので Default名を変更し、Projectホルダ内に変更したDefault名と同名の新ホルダを作って保存することにした。 ビルドし、発行するとコンパイルされた実行ファイルが出来あがるが これはDドライブにPublishホルダを作りその下層にプロジェクトファイルと同名のホルダを設けて保存することにした。 | ||||||||||||||||||||||||||||||||||||||
| またプロジェクトを一旦完成させ、実際にビルドし発行させ実使用して問題ないか確認したくなることもある。 一旦完成品を残して改良したい場合があり、上書き改良していくと一旦完成品が残らなくなる。 一旦完成品を残して改良を続ける場合は 一旦完成品をホルダ名を付けて保存し、別のホルダを作って一旦完成品のファイルを全てコピーし、コピーしたファイルを使って改良していくことがよい。 | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| 1. 年月日、時間 | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| a) TextBoxへ現在日付時刻表示 Date.Now | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| b) カレンダー表示 と 年月日取得 DateTimePicker | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| c) 時間差の計算 DateDiff | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| d)カレンダーを文字列に変更 CDate | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| e) 時刻の一致 と 出力 If ・・・ Then ・・・ End if | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| f) タイマーの使用方法 と カウント方法 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| k) 時間の加算 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| l) カウントダウン・タイマーの時分秒 00:00:00 表示 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| m) 時間の一致 と 出力 If ・・・ Then ・・・ End if | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| n)日時入力3方法と読込 (簡単なAlarmTimerの全ProgramCode表示) | ||||||||||||||||||||||||||||||||||||||
|
1.ComboBox 方法 3.汎用サウンドソフト用録音プログラムへの変更(カウントダウン方式) にて採用した 方式。 入力方式として一番楽 であるが、Program内に必要な入力数値を書かね ばならない。 If RadioButton1.Checked内にPurogramを記述。 |
||||||||||||||||||||||||||||||||||||||
|
2.NumericalUpDown方法 初めて試みたが 上限数値からゼロに循環しない点、またProgram内に取り込んだ数 値を必ず 2桁 にしなければならない点等あり この方式は不適当であると判断。 If RadioButton2.Checked内にProgramを記述。 |
||||||||||||||||||||||||||||||||||||||
|
3.DateTimPicker方式 この方式をよく見かけるので 実際にProgeamを組んでみた。 利点は省スペースと なり、循環回転するので NumericalUpDown方法 好良い。 しかし回転入力に手間 が掛かるようだ。 If RadioButton3.Checked内にProgramを記述。 |
||||||||||||||||||||||||||||||||||||||
| Form1 | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| Form1 搭載の Control | ||||||||||||||||||||||||||||||||||||||
| TextBox (TB): 1-10 Button(BT):1-3 RadioButton(RB):1-3 | ||||||||||||||||||||||||||||||||||||||
| ComboBox(CB):1-3 NumericalUpDown(NUD):1-3 DateTimPicker(DTP):1-2 | ||||||||||||||||||||||||||||||||||||||
| ※入力の容易さの順番 1 → 3 → 2 (1 が一番容易) | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| 全Program Code表示 | ||||||||||||||||||||||||||||||||||||||
|
Public Class Form1 -------------------------------------------------------------------------- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load '0.ComboBox 入力------------------------------ With ComboBox1 .Items.Add("00") .Items.Add("01") .Items.Add("02") .Items.Add("03") .Items.Add("04") .Items.Add("05") .Items.Add("06") .Items.Add("07") .Items.Add("08") .Items.Add("09") .Items.Add("10") .Items.Add("11") .Items.Add("12") .Items.Add("13") .Items.Add("14") .Items.Add("15") .Items.Add("16") .Items.Add("17") .Items.Add("18") .Items.Add("19") .Items.Add("20") .Items.Add("21") .Items.Add("22") .Items.Add("23") '.BackColor = Color.PowderBlue '.Font = New Font("MS Pゴシック", 12) .Text = "00" 'テキストボックスに最初に表示して置く項目を設定 End With With ComboBox2 .Items.Add("00") .Items.Add("01") .Items.Add("02") .Items.Add("03") .Items.Add("04") .Items.Add("05") .Items.Add("06") .Items.Add("07") .Items.Add("08") .Items.Add("09") .Items.Add("10") .Items.Add("11") .Items.Add("12") .Items.Add("13") .Items.Add("14") .Items.Add("15") .Items.Add("16") .Items.Add("17") .Items.Add("18") .Items.Add("19") .Items.Add("20") .Items.Add("21") .Items.Add("22") .Items.Add("23") .Items.Add("24") .Items.Add("25") .Items.Add("26") .Items.Add("27") .Items.Add("28") .Items.Add("29") .Items.Add("30") .Items.Add("31") .Items.Add("32") .Items.Add("33") .Items.Add("34") .Items.Add("35") .Items.Add("36") .Items.Add("37") .Items.Add("38") .Items.Add("39") .Items.Add("40") .Items.Add("41") .Items.Add("42") .Items.Add("43") .Items.Add("44") .Items.Add("45") .Items.Add("46") .Items.Add("47") .Items.Add("48") .Items.Add("49") .Items.Add("50") .Items.Add("51") .Items.Add("52") .Items.Add("53") .Items.Add("54") .Items.Add("55") .Items.Add("56") .Items.Add("57") .Items.Add("58") .Items.Add("59") '.BackColor = Color.PowderBlue '.Font = New Font("MS Pゴシック", 12) .Text = "00" 'テキストボックスに最初に表示して置く項目を設定 End With With ComboBox3 .Items.Add("00") .Items.Add("10") .Items.Add("20") .Items.Add("30") .Items.Add("40") .Items.Add("50") '.BackColor = Color.PowderBlue '.Font = New Font("MS Pゴシック", 12) .Text = "00" 'テキストボックスに最初に表示して置く項目を設定 End With '0.ComboBox 入力------------------------------ Me.Timer1.Interval = 1000 Me.Timer2.Interval = 1000 Me.Timer3.Interval = 1000 Me.Timer1.Start() Me.Timer2.Start() DateTimePicker1.Format = DateTimePickerFormat.Custom DateTimePicker1.CustomFormat = "yyyy/MM/dd" End Sub -------------------------------------------------------------------------- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick TextBox6.Text = Format(Date.Now, "yyyy/MM/dd HH:mm:ss") End Sub -------------------------------------------------------------------------- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Timer2.Stop() Timer3.Start() End Sub -------------------------------------------------------------------------- Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick Me.TextBox7.Text = Format(Date.Now, "yyyy/MM/dd HH:mm:ss") End Sub -------------------------------------------------------------------------- 'Beep宣言(周波数・秒数) <System.Runtime.InteropServices.DllImport("KERNEL32.DLL")> Private Shared Function Beep(ByVal dwFlags As Integer, ByVal dwDuration As Integer) As Integer 'Console.Beep(262, 400) ' ド 'Console.Beep(294, 400) ' レ 'Console.Beep(330, 400) ' ミ 'Console.Beep(349, 400) ' ファ 'Console.Beep(392, 400) ' ソ 'Console.Beep(440, 400) ' ラ 'Console.Beep(494, 400) ' シ 'Console.Beep(523, 400) ' ド End Function -------------------------------------------------------------------------- Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick If RadioButton1.Checked = True Then ’ComboBoxでの入力 '2.ComboBox Dim H1 As String = ComboBox1.SelectedItem '待ち時間入力 Dim m1 As String = ComboBox2.SelectedItem '待ち分入力 Dim s1 As String = ComboBox3.SelectedItem '待ち秒入力 Dim DT As String = CDate(DateTimePicker1.Text) '待ち日入力 "yyyy/MM/dd" Dim DDT As String = Format(CDate(DateTimePicker1.Text), "yyyyMMdd") TextBox1.Text = H1 TextBox2.Text = m1 TextBox3.Text = s1 TextBox4.Text = Format(CDate(DateTimePicker1.Text), "yyyy/MM/dd") Dim baseT As String = TextBox7.Text '****** Dim alarmT As String alarmT = DT & " " & H1 & ":" & m1 & ":" & s1 'MsgBox(alarmT) Dim diffS Dim nowDt As DateTime = DateTime.Now diffS = DateDiff("s", baseT, nowDt) 'Static SS As Integer 'SS = SS + 1 Dim diffSec1 diffSec1 = DateDiff("s", baseT, alarmT) TextBox8.Text = Format(diffSec1 / 60, "0.0") TextBox9.Text = Format((Val(diffSec1) - diffS) / 60, "0.0") Dim restT As TimeSpan = CDate(alarmT) - DateTime.Now TextBox10.Text = restT.Days.ToString("0 days") & " " & restT.Hours.ToString("00:") & restT.Minutes.ToString("00:") & restT.Seconds.ToString("00") '録音開始時刻Format Dim alarm As String alarm = DDT & H1 & m1 & s1 ' yyyyMMdd+H1+m1+s1 'MsgBox(alarm) 'MsgBox(Format(Date.Now, "yyyyMMddHHmmss")) '時刻一致のイベント If alarm = Format(Date.Now, "yyyyMMddHHmmss") Then AAAA() End If End If '------- If RadioButton2.Checked = True Then ’NumericalUpDownでの入力 '2.NumericalUpDown Dim H1F As String = NumericUpDown1.Value '待ち時間入力 Dim m1F As String = NumericUpDown2.Value '待ち分入力 Dim s1F As String = NumericUpDown3.Value '待ち秒入力 Dim DT As String = CDate(DateTimePicker1.Text) '待ち日入力 "yyyy/MM/dd" 'MsgBox(DT) TextBox1.Text = H1F TextBox2.Text = m1F TextBox3.Text = s1F TextBox4.Text = Format(CDate(DateTimePicker1.Text), "yyyy/MM/dd") Dim H1FF As String = Format(NumericUpDown1.Value, "00") Dim m1FF As String = Format(NumericUpDown2.Value, "00") Dim s1FF As String = Format(NumericUpDown3.Value, "00") Dim DDT As String = Format(CDate(DateTimePicker1.Text), "yyyyMMdd") '残り秒表示 Dim baseT As String = TextBox7.Text '****** Dim alarmT As String alarmT = DT & " " & H1FF & ":" & m1FF & ":" & s1FF 'MsgBox(alarmT) 'MsgBox(baseT) Dim diffS Dim nowDt As DateTime = DateTime.Now diffS = DateDiff("s", baseT, nowDt) 'Static SS As Integer 'SS = SS + 1 Dim diffSec1 diffSec1 = DateDiff("s", baseT, alarmT) TextBox8.Text = Format(diffSec1 / 60, "0.0") TextBox9.Text = Format((Val(diffSec1) - diffS) / 60, "0.0") Dim restT As TimeSpan = CDate(alarmT) - DateTime.Now TextBox10.Text = restT.Days.ToString("0 days") & " " & restT.Hours.ToString("00:") & restT.Minutes.ToString("00:") & restT.Seconds.ToString("00") '録音開始時刻Format Dim alarm As String alarm = DDT & H1FF & m1FF & s1FF ' yyyyMMdd+H1+m1+s1 'MsgBox(alarm) 'MsgBox(Format(Date.Now, "yyyyMMddHHmmss")) '時刻一致のイベント If alarm = Format(Date.Now, "yyyyMMddHHmmss") Then AAAA() End If End If '---------- If RadioButton3.Checked = True Then ’DateTimePickerでの入力 '3.DateTimePicker Dim H1 As String = Format(CDate(DateTimePicker2.Text), "HH") '待ち時間入力 Dim m1 As String = Format(CDate(DateTimePicker2.Text), "mm") '待ち分入力 Dim s1 As String = Format(CDate(DateTimePicker2.Text), "ss") '待ち秒入力 Dim DT As String = CDate(DateTimePicker1.Text) '待ち日入力 Dim DDT As String = Format(CDate(DateTimePicker1.Text), "yyyyMMdd") 'MsgBox(DT) TextBox1.Text = H1 TextBox2.Text = m1 TextBox3.Text = s1 TextBox4.Text = DT '残り秒表示 Dim baseT As String = TextBox7.Text '****** Dim alarmT As String alarmT = DT & " " & H1 & ":" & m1 & ":" & s1 'MsgBox(alarmT) Dim diffS Dim nowDt As DateTime = DateTime.Now diffS = DateDiff("s", baseT, nowDt) 'Static SS As Integer 'SS = SS + 1 Dim diffSec1 diffSec1 = DateDiff("s", baseT, alarmT) TextBox8.Text = Format(diffSec1 / 60, "0.0") TextBox9.Text = Format((Val(diffSec1) - diffS) / 60, "0.0") Dim restT As TimeSpan = CDate(alarmT) - DateTime.Now TextBox10.Text = restT.Days.ToString("0 days") & " " & restT.Hours.ToString("00:") & restT.Minutes.ToString("00:") & restT.Seconds.ToString("00") '録音開始時刻Format Dim alarm As String alarm = DDT & H1 & m1 & s1 ' yyyyMMdd+H1+m1+s1 'MsgBox(alarm) 'MsgBox(Format(Date.Now, "yyyyMMddHHmmss")) '時刻一致のイベント If alarm = Format(Date.Now, "yyyyMMddHHmmss") Then AAAA() End If End If End Sub -------------------------------------------------------------------------- Sub AAAA() '***** Melody & Message ******** '下追加 Console.Beep(262, 300) Console.Beep(294, 300) Console.Beep(330, 300) Console.Beep(349, 1000) TextBox5.Text = "おわり" Timer3.Stop() End Sub -------------------------------------------------------------------------- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Application.Restart() End Sub -------------------------------------------------------------------------- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Close() End Sub -------------------------------------------------------------------------- End Class |
||||||||||||||||||||||||||||||||||||||
| 2. 構文 | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| .a) If Then 文 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| b) If Then ElseIf 文 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| 3. 文法 & Tips | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| a) アプリケーションの 閉じる または 再スタート | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| b) PC 停止方法 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| c)Beep宣言(周波数・秒数) | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| d) ウインドウの 最小化・最大化 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| e) TextBox内データを ホルダを作って保存、呼出 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| f) アプリケーションのアクティベイト | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| g) ウインドウの表示位置指定 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| h) 他のプロセス(URL、exe)の起動と停止(開くと閉じる) | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| 4. ツール | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| a)TextBox 手入力 または 表示 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| b)ComboBox 選択して入力 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| c) Timer(タイマー) 起動・停止 と インターバル | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| d) ToolTip の使用方法 | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| e) RadioButton の複数選択と GroupBox | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
|
[A] SHORT PROGRAM [B] TIPS COLLECTION |
||||||||||||||||||||||||||||||||||||||