VBでデジタル時計

以前、VBで簡単なデジタル時計を作っていたが、色々使い勝手がいまいちなところが出てきてたので、簡単に改善できるところを色々いじって見た。 VBは2008!!、結構古いがまあこれで問題なく動くので。 まずはフォームの作り直 … “VBでデジタル時計” の続きを読む

以前、VBで簡単なデジタル時計を作っていたが、色々使い勝手がいまいちなところが出てきてたので、簡単に改善できるところを色々いじって見た。
VBは2008!!、結構古いがまあこれで問題なく動くので。
まずはフォームの作り直し。

起動時左上はじに出るようにした。

以前のやつは、文字色を青色にしていたが、どうも見にくいので、白にした。バックカラーは黒。

その他、年月日と曜日を表示できるように、ラベルを2つ追加した。

タイマーの設定はこんな感じ。

タイマーの割り込みの所に、コードを書く。

テストラン

作るのはWindows7上のVisualBasic2008で作ったが、Windows8.1上でも、問題なく動く。対応する.netが入っていないと、最初の実行時にインストールするか聞かれるので、インストールすると、次回から問題なく動く。この位簡単だと、なんの問題も生じないようだ。

VBからMSSQLサーバにアクセス

VisualBasic2008上で作ったデータベースにアクセスしてみる。 ボタン1 接続の試験 ボタン2 データベースから読み込む

VisualBasic2008上で作ったデータベースにアクセスしてみる。

ボタン1 接続の試験

ボタン2 データベースから読み込む

テキストファイルの読み書き

Readボタンを押すと、テキストファイルを読んでListBoxに表示します。また、ピクチャボックスにも表示します。Writeボタンを押すと、ListBoxの内容を、テキストファイルへ出力します。 フォーム1 Public … “テキストファイルの読み書き” の続きを読む

Readボタンを押すと、テキストファイルを読んでListBoxに表示します。また、ピクチャボックスにも表示します。
Writeボタンを押すと、ListBoxの内容を、テキストファイルへ出力します。

フォーム1

Public Class Form1

ボタン1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

’ファイルIO用の変数等の宣言

Dim fname As String
Dim ret As DialogResult
Dim TextFile As IO.StreamReader
Dim Line As String
Dim cnt As Integer

’PictureBox1のGraphicsオブジェクトを取得

Dim g As Graphics = PictureBox1.CreateGraphics()
Dim ystr As Integer

‘ダイアログボックスの初期設定

With Me.OpenFileDialog1
 .Title = “ファイルを開く”
 .CheckFileExists = True
  .RestoreDirectory = True
 .Filter = “テキストファイル|.txt;.dat”
 .FileName = “test.txt”
End With

‘ダイアログボックスの表示

ret = Me.OpenFileDialog1.ShowDialog()
If ret = Windows.Forms.DialogResult.OK Then
 fname = Me.OpenFileDialog1.FileName
Else
 fname = “”
End If
If IO.File.Exists(fname) = False Then
 MessageBox.Show(“ファイルが見つかりません。”, “通知”)
 Exit Sub
End If

‘フォントオブジェクトの作成

Dim fnt As New Font(“MS UI Gothic”, 12)
Me.ListBox1.Items.Clear()
TextFile = New IO.StreamReader(fname, System.Text.Encoding.Default)

cnt = 0
Do While True
 Line = TextFile.ReadLine()
 If Line = Nothing Then
  Exit Do
 End If
 Me.ListBox1.Items.Add(Line)
 cnt = cnt + 1

‘文字列を位置(0,0)、青色で表示

 g.DrawString(Line, fnt, Brushes.Blue, 0, ystr)
 ystr = ystr + 20
Loop
TextFile.Close()

‘リソースを開放する

fnt.Dispose()
g.Dispose()
Label2.Text = cnt.ToString


End Sub

ボタン2

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim ret As DialogResult
Dim textfile As IO.StreamWriter
Dim i As Integer
Dim cnt As Integer

 cnt = Integer.Parse(Label2.Text)

‘ダイアログボックスの初期設定

With Me.SaveFileDialog1
 .RestoreDirectory = True
  .OverwritePrompt = True
 .Filter = “すべてのファイル(.)|.|” & “テキストファイル(.txt)|.txt”
 .FileName = “ts.txt”
End With

‘ダイアログボックスの表示

ret = Me.SaveFileDialog1.ShowDialog
If ret = Windows.Forms.DialogResult.OK Then
 Me.Label1.Text =   Me.SaveFileDialog1.FileName

‘現在のファイルのエンコーディングで出力

‘textfile = New IO.StreamWriter(Me.Label1.Text, False, System.Text.Encoding.Default)

‘エンコーディングをShift-JISに指定する

textfile = New IO.StreamWriter(Me.Label1.Text, False, System.Text.Encoding.GetEncoding(\”Shift-JIS\”))

For i = 1 To ListBox1.Items.Count
 ‘Me.ListBox1.s = i – 1
 textfile.WriteLine(Me.ListBox1.Items(i – 1))
Next

textfile.Close()

End If

End Sub

End Class

アナログ時計の元

まずは試しに昔もC言語などで作っていたアナログ時計を作り出した。 第一段階の秒針表示ができた。 でもこれだと、スクリーンセーバが起動しても秒針が表示されてしまう。 スクリーンセーバを超越した秒針だ。いいのか悪いのか... … “アナログ時計の元” の続きを読む

まずは試しに昔もC言語などで作っていたアナログ時計を作り出した。
第一段階の秒針表示ができた。
でもこれだと、スクリーンセーバが起動しても秒針が表示されてしまう。
スクリーンセーバを超越した秒針だ。いいのか悪いのか...。

久しぶりに始めるVisualBasic

いままで、結構Web関連CGIやPHPをやっていることが多かったが、最近昔結構やっていいた、VisualBasicを始めようかと考えた。今の最新版はVisualBasic2008. 2010がもう出るとの話だが、まずは2 … “久しぶりに始めるVisualBasic” の続きを読む

いままで、結構Web関連CGIやPHPをやっていることが多かったが、最近昔結構やっていいた、VisualBasicを始めようかと考えた。今の最新版はVisualBasic2008.
2010がもう出るとの話だが、まずは2008でご機嫌うかがい。
早速、ツールをそろえないと...。