ラベル Visual Studio Basic の投稿を表示しています。 すべての投稿を表示
ラベル Visual Studio Basic の投稿を表示しています。 すべての投稿を表示

土曜日, 12月 07, 2024

Visual Studio Basic_42 
簡易エディター作成は思ったよりも簡単でした

簡易エディター作成は思ったよりも簡単でした。

レイアウトは上の様にしました。
共通コントロールからMultilineをTrueに設定した大きめのTextBoxと、

メニューとツールバーからMenustripを上の様に設定します。
例えば New (N) は、New (&N)と入力します。

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 緑字はコメント文なので記述の必要はありません。

-----------------
Private Sub NewToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NewToolStripMenuItem.Click
    ' File>New でTextBox1をクリア
    TextBox1.Clear()
End Sub
-----------------
Private Sub OpenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenToolStripMenuItem.Click
    ' File>Open でTextファイルを開く
    Dim openFileDialog As New OpenFileDialog()
    openFileDialog.Filter = "テキストファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*"
    If openFileDialog.ShowDialog() = DialogResult.OK Then
    TextBox1.Text = System.IO.File.ReadAllText(openFileDialog.FileName)
End If
End Sub
-----------------
Private Sub SaveToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SaveToolStripMenuItem.Click
    ' File>Save でTextファイルを保存
    Dim saveFileDialog As New SaveFileDialog()
    saveFileDialog.Filter = "テキストファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*"
    If saveFileDialog.ShowDialog() = DialogResult.OK Then
    System.IO.File.WriteAllText(saveFileDialog.FileName, TextBox1.Text)
End If
End Sub

-----------------
Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
    ' File>Exit でプログラム終了
    Me.Close()
End Sub
-----------------
Private Sub CutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CutToolStripMenuItem.Click
    ' Edit>Cut でControl X
    TextBox1.Cut()
End Sub
-----------------
Private Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CopyToolStripMenuItem.Click
    ' Edit>Copy でControl C
    TextBox1.Copy()
End Sub
-----------------
Private Sub PasteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PasteToolStripMenuItem.Click
    ' Edit>Paste でControl V
    TextBox1.Paste()
End Sub
End Class
-----------------

起動し、適応な文章を入力し・・・

Copy & PasteやSave等を確認しました。
ただ・・・ここで設定しなくても、
Copy & PasteやCut等は出来ますね(^o^)
気長に育ててみたいと思います。

※File>Saave(S)は,タイプミスで、正しくはFile>Save(S)です。

土曜日, 11月 16, 2024

Visual Studio Basic_41 
元金と利率から元利合計が2倍になるのは何年後?

ちょっと気まぐれで、元金と利率から元利合計が2倍になるのは何年後?という悪趣味な計算をしてみました。ローンは怖いですよ〜。

レイアウトは上の様にしました。
L=Label
TB=TextBox
B=Button

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 緑字はコメント文なので記述の必要はありません。

------------------

Public Class Form1

    Private Sub Button1_Click(sender As Object,

        e As EventArgs) Handles Button1.Click

        ' 入力値を取得

        Dim principal As Double = Convert.ToDouble(TextBox1.Text)

        Dim rate As Double = Convert.ToDouble(TextBox2.Text) / 100


        ' 経過年数と元利合計を計算

        Dim years As Integer = 0

        Dim amount As Double = principal


        While amount <= 2 * principal

            amount += amount * rate

            years += 1

        End While


        ' 結果を表示

        Label5.Text = years.ToString()

        Label7.Text = amount.ToString("F2")

    End Sub


    Private Sub Button2_Click(sender As Object,

        e As EventArgs) Handles Button2.Click

        TextBox1.ResetText()

        TextBox2.ResetText()

        Label5.ResetText()

        Label7.ResetText()

    End Sub


    Private Sub Button3_Click(sender As Object,

        e As EventArgs) Handles Button3.Click

        End

    End Sub

End Class

------------------

調べて見ると、現在の金利は・・・
消費者金融カードローン(3.0%~18.0%)
銀行カードローン(1.8%~14.6%)
クレジットカードのキャッシング機能(7.8%~18.0%)
のようです。

出来るだけ早く返した方が良いですね。

金曜日, 11月 01, 2024

Visual Studio Basic_40 
西暦に対する十干十二支を計算

ちょっと気まぐれで、西暦に対する十干十二支(じっかんじゅうにし)を計算してみました。

レイアウトは上の様にしました。
L=Label
TB=TextBox
B=Button

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 緑字はコメント文なので記述の必要はありません。

------------------
Public Class Form1
Private Sub Button1_Click(sender As Object,
e As EventArgs) Handles Button1.Click
' TextBox1に入力された西暦を取得
Dim year As Integer
If Integer.TryParse(TextBox1.Text, year) Then
' 十干十二支を計算してLabel4に表示
Label4.ForeColor = Color.Green
Label4.Text = GetJikkanJunishi(year)
Else
' 入力が無効な場合のエラーメッセージ
Label4.ForeColor = Color.Red
Label4.Text = "有効な西暦年を入力"
End If
End Sub

Private Function GetJikkanJunishi(year As Integer) As String
' 十干の配列
Dim jikkan() As String = {"甲(きのえ)", "乙(きのと)",
"丙(ひのえ)", "丁(ひのと)", "戊(つちのえ)",
"己(つちのと)", "庚(かのえ)", "辛(かのと)",
"壬(みずのえ)", "癸(みずのと)"}
' 十二支の配列
Dim junishi() As String = {"子(ね)", "丑(うし)",
"寅(とら)", "卯(う)", "辰(たつ)", "巳(み)",
"午(うま)", "未(ひつじ)", "申(さる)",
"酉(とり)", "戌(いぬ)", "亥(い)"}

' 十干を計算(西暦年を10で割った余りで決定)
Dim jikkanIndex As Integer = (year + 6) Mod 10
' 十二支を計算(西暦年を12で割った余りで決定)
Dim junishiIndex As Integer = (year + 8) Mod 12

' 十干と十二支を結合して結果を返す
Return jikkan(jikkanIndex) & junishi(junishiIndex)
End Function

Private Sub Button2_Click(sender As Object,
e As EventArgs) Handles Button2.Click
TextBox1.ResetText()
Label4.ResetText()
End Sub

Private Sub Button3_Click(sender As Object,
e As EventArgs) Handles Button3.Click
End
End Sub
End Class
------------------

2024年は甲辰です。

関ヶ原の合戦の年は庚子でした。

関係ない文字を入力するとエラーが表示されます。

Visdual Studio 2022のBasicで作成しています。
12AnimalZodiac_100.zip
クリックするといきなりダウンロードが始まります。
実際のプログラム完成日は2024年8月17日です。
Windows版です。

水曜日, 10月 16, 2024

Visual Studio Basic_39 
正N角形の内角を割り出し偶数か奇数かを判別

正N角形の内角を割り出し偶数か奇数かを判別。数日前にアップした VBA版をVisual Studio Basicで作成。
正N角形の内角 = (180 × (N − 2))/N


レイアウトは上の様にしました。
L=Label
TB=TextBox
B=Button

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 緑字はコメント文なので記述の必要はありません。

------------------

Public Class Form1

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

        Dim n As Integer

        Dim angle As Double


        ' TextBox1に入力された値を整数に変換

        If Integer.TryParse(TextBox1.Text, n) AndAlso n >= 3 Then

            ' 正多角形の内角の角度を計算

            angle = ((n - 2) * 180) / n


            ' 角度が偶数かどうかを確認

            If angle Mod 2 = 0 Then

                ' 偶数の場合

                Label4.ForeColor = Color.Empty

                Label4.Text = angle.ToString("F0") & " 度"

                Label6.ForeColor = Color.Empty

                Label6.Text = "偶数"

            Else

                ' 奇数の場合、小数点以下4桁まで表示

                Label4.ForeColor = Color.Blue

                Label4.Text = angle.ToString("F10") & " 度"

                Label6.ForeColor = Color.Blue

                Label6.Text = "奇数"

            End If

        Else

            ' 有効な値が入力されていない場合

            Label4.ForeColor = Color.Red

            Label4.Text = "正多角形は3以上の整数です"

            Label6.ForeColor = Color.Red

            Label6.Text = "計算できません"

        End If


    End Sub


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

        TextBox1.ResetText()

        Label4.ResetText()

        Label4.ForeColor = Color.Empty

        Label6.ResetText()

        Label6.ForeColor = Color.Empty

    End Sub


    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

        End

    End Sub

End Class

------------------

偶数の場合・・・

3未満の値の場合・・・

奇数の場合・・・

整数でも奇数の場合・・・

Visdual Studio 2022のBasicで作成しています。
InternalAngle_100.zip
クリックするといきなりダウンロードが始まります。
実際のプログラム完成日は2024年8月15日です。
Windows版です。

土曜日, 10月 05, 2024

Visual Studio Basic 番外 
エディター環境の変更

エディターのフォント設定などは、インストールしたときに設定しただけなので、すっかり設定手順を忘れていたので再整理です。普段使わない機能は絶対混乱しますね。

Visual Studio Basicのエディターの文字サイズはデフォルトで10ポイントになっています。別にコレでも構わないのですが、エディターではある程度大きくした方がデバッグが楽です。

[ツール]>[オプション]と進み・・・

[環境]>[フォントおよび色]と進み・・・

書体にサイズや色を変更できます。

上はサイズだけ変更していますが、普段はフォントを変更しています。変更後のイメージは画面右下で確認できます。

処理後は直ぐに反映されます。

ちなみに、普段利用しているフォントはMiguフォントです。


Visual Studio Basic 2022

水曜日, 10月 02, 2024

Visual Studio Basic 番外 
インターフェースの変更

出先で新規インストールされていたVisual Studioを起動したら・・・

インターフェースが真っ黒。私と同じ2022なので、インターフェース変更が何処なのか直ぐに分からず自宅に戻って探し出しました。

上がインストールしたときから変わらない私の画面。

[ツール]>[テーマ]で変更します。私のデフォルトが本来のデフォルト[青]でした。

上は[淡色]設定

上は[濃色]設定

[その他のテーマを入手する]で専用サイトに飛びます。なお[システム設定の使用]でWindows側の設定が反映されます。また、編集画面の背景色はVisual Studio Basicを再起動しないと反映されません。

Visual Studio Basic 2022

水曜日, 9月 25, 2024

Visual Studio Basic_38 
入力した10進数を指定したN進数に変換

10進数をN進数(2〜36)に変換するプログラムを作ってみました。現状、私には用途はないのですが、ちょっと面白かったので・・・。

レイアウトは上の様にしました。
L=Label
TB=TextBox
B=Button

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 緑字はコメント文なので記述の必要はありません。

------------------

Public Class Form1
Private Sub Button1_Click(sender As Object,
        e As EventArgs) Handles Button1.Click
            ' コードを実行しながらエラー処理を実行
Try
' TextBox1に入力された数値を取得
Dim number As Integer = Integer.Parse(TextBox1.Text)

' TextBox2に入力された進数を取得
Dim base As Integer = Integer.Parse(TextBox2.Text)
            ' TextBox1 に入力された数値を number 変数に
            ' TextBox2 に入力された進数を base 変数に格納
' 入力された進数が2から36の範囲内かどうかを確認
If base < 2 Or base > 36 Then
Label2.Text = "進数は2から36の間で指定してください。"
Return
End If

' 数値を指定された進数に変換
Dim result As String = ConvertToBase(number, base)

' Label2に変換結果を表示
Label2.Text = result

Catch ex As Exception
        ' try実行中にエラーが発生した際
        ' エラーメッセージをLabel2 に表示
Label2.Text = "正しい数値を入力してください。"
End Try
End Sub

' 指定された数値を指定された進数に変換する関数
' 変換する際にchars 文字列を使い余りを対応する文字に変換
Private Function ConvertToBase(ByVal number As Integer,
        ByVal base As Integer) As String
Dim chars As String =
        "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim result As String = String.Empty

Do While number > 0
result = chars(number Mod base) & result
number = number \ base
Loop

Return If(result = String.Empty, "0", result)
End Function

Private Sub Button2_Click(sender As Object,
    e As EventArgs) Handles Button2.Click
TextBox1.ResetText()
TextBox2.ResetText()
Label2.ResetText()
End Sub

Private Sub Button3_Click(sender As Object,
    e As EventArgs) Handles Button3.Click
End
End Sub
End Class
------------------

ということで、起動したら[10進数]と[N進数のN値]を入力し・・・

[変換]で指定したN進数が表示されます。

何に使うのか解らない進数も・・・

大丈夫です。最も普通に意味プーですが・・・。

Visdual Studio 2022のBasicで作成しています。
DecimalConversion100.zip
クリックするといきなりダウンロードが始まります。
実際のプログラム完成日は2024年8月10日です。
Windows版です。