その方面では有名らしい「ヒルベルトの問題」というのは、
「何が問題なのか」という問題についての問題点を考えてみましたが、
まあ、よくわかりかねる、問題なのです。
昨日、彼らの言葉の原文をサイトにアップしました。
http://theendoftakechan.web.fc2.com/NoProblem.html
その、「問題」の部分のみ、転載します。
『科学大辞典』第2版
ヒルベルトのもんだい ―― の問題 [Hlbert's problem] (P. 1273, l)
1900年パリで開催された第2回国際数学者会議でヒルベルトが数学の問題 (Mathematische Probleme) と題して行った講演で提出された23の問題をいう。これらの問題は20世紀における数学の研究に大きな目標を与え、数学の進歩・発展に著しい寄与をした。約 2/3 の問題が肯定的にあるいは否定的に解決された。残された問題の中にも多くの重要な研究がなされているが問題の意味する範囲が漠然としていたり、問題が大きすぎるため最終的解決の判定の困難なものもある。
それと、この前の、VB 2013 のサンプルコードですが、一部修正をしました。
マスターボリュームと同様のキー操作ができてしまうようなので、
すると、〈Home〉〈End〉〈Page Up〉〈Page Down〉にも対応してしまうってえので、
急な音量変化についていけない気の弱いその他大多数の人類のために、
〈Home〉あるいは〈End〉キーの二度打ちで、「ミュート」する機能を付け加えました。
あと、〈Pause / Break〉&〈Scroll Lock〉というほぼまったく無用となっている二大巨頭に、
「音量アップ」と「音量ダウン」の役割を与えてあります。
これは、この前、どうしても実装することができず、ブランクとなっていた、コマンド部分に該当します。
もとのコードも、どうでもいいような、修正をかけてあります。
before
◇
Me.VolBar.Size = New System.Drawing.Size(45, 70)
Me.vLabel.Location = New System.Drawing.Point(14, 70)
Me.ClientSize = New System.Drawing.Size(45, 82)
◇
after
◆
Me.VolBar.Size = New System.Drawing.Size(42, 70)
Me.vLabel.Location = New System.Drawing.Point(13, 70)
Me.ClientSize = New System.Drawing.Size(42, 82)
◆
追加箇所
before
◇
Private Sub VolBar_KeyDown(sender As Object, e As KeyEventArgs) Handles VolBar.KeyDown
End Sub
◇
after
◆
Private Sub VolBar_KeyDown(sender As Object, e As KeyEventArgs) Handles VolBar.KeyDown
Select Case e.KeyCode
Case Keys.Pause
If VolBar.Value <> 10 Then
VolBar.Value = VolBar.Value + 1
VolUp()
End If
Case Keys.Scroll
If VolBar.Value <> 0 Then
VolBar.Value = VolBar.Value - 1
VolDown()
End If
Case Keys.Home
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
Case Keys.End
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
End Select
End Sub
Private Sub VolDown()
Dim TrcBarDirection As Integer = VolBar.Value
For TrcBarDirection = 0 To VolLevel
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_DOWN))
Next
vLabel.Text = (VolBar.Value * 10).ToString()
End Sub
Private Sub VolUp()
Dim TrcBarDirection As Integer = VolBar.Value
For TrcBarDirection = 0 To TrcBarDirection
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_UP))
Next
vLabel.Text = (VolBar.Value * 10).ToString()
End Sub
◆
■ 全文(始) ■
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("user32.dll")>
Public Shared Function SendMessageW(ByVal hWnd As IntPtr, _
ByVal Msg As Integer, _
ByVal wParam As IntPtr, _
ByVal lParam As IntPtr) As IntPtr
End Function
Private Const APPCOMMAND_VOLUME_MUTE As Integer = &H80000
Private Const APPCOMMAND_VOLUME_UP As Integer = &HA0000
Private Const APPCOMMAND_VOLUME_DOWN As Integer = &H90000
Private Const WM_APPCOMMAND As Integer = &H319
Friend WithEvents VolBar As TrackBar = New System.Windows.Forms.TrackBar()
Dim vLabel As New Label
Dim VolLevel As Integer
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CType(Me.VolBar, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'VolBar
'
With Me.VolBar
.Location = New System.Drawing.Point(0, 0)
.Name = "VolBar"
.Orientation = System.Windows.Forms.Orientation.Vertical
.Size = New System.Drawing.Size(42, 70)
.TabIndex = 0
.TickStyle = System.Windows.Forms.TickStyle.Both
.Value = "2"
End With
'
' Label
'
With Me.vLabel
.Location = New System.Drawing.Point(13, 70)
.Name = "VolLabel"
.AutoSize = True
.TabIndex = 1
.TabStop = False
.BorderStyle = BorderStyle.None
.Text = ""
End With
'
Me.Controls.Add(Me.VolBar)
Me.Controls.Add(Me.vLabel)
'
'Form1
'
Dim w As Integer = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
Dim h As Integer = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(42, 82)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.KeyPreview = True
Me.Location = New System.Drawing.Point(w - 100, h - 170)
Me.Name = "Form1"
Me.Text = "♪"
CType(Me.VolBar, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
'
VolBar_Scroll(Nothing, Nothing)
VolBar_ValueChanged(Nothing, Nothing)
End Sub
Private Sub VolBar_KeyDown(sender As Object, e As KeyEventArgs) Handles VolBar.KeyDown
Select Case e.KeyCode
Case Keys.Pause
If VolBar.Value <> 10 Then
VolBar.Value = VolBar.Value + 1
VolUp()
End If
Case Keys.Scroll
If VolBar.Value <> 0 Then
VolBar.Value = VolBar.Value - 1
VolDown()
End If
Case Keys.Home
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
Case Keys.End
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
End Select
End Sub
Private Sub VolBar_Scroll(sender As Object, e As EventArgs) Handles VolBar.Scroll
Dim TrcBarDirection As Integer = VolBar.Value
If VolBar.Value > VolLevel Then
For TrcBarDirection = 0 To TrcBarDirection
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_UP))
Next
Else
For TrcBarDirection = 0 To VolLevel
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_DOWN))
Next
End If
vLabel.Text = (VolBar.Value * 10).ToString()
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
End Sub
Private Sub VolBar_ValueChanged(sender As Object, e As EventArgs) Handles VolBar.ValueChanged
VolLevel = VolBar.Value
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_MUTE))
End Sub
Private Sub VolDown()
Dim TrcBarDirection As Integer = VolBar.Value
For TrcBarDirection = 0 To VolLevel
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_DOWN))
Next
vLabel.Text = (VolBar.Value * 10).ToString()
End Sub
Private Sub VolUp()
Dim TrcBarDirection As Integer = VolBar.Value
For TrcBarDirection = 0 To TrcBarDirection
SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, New IntPtr(APPCOMMAND_VOLUME_UP))
Next
vLabel.Text = (VolBar.Value * 10).ToString()
End Sub
End Class
■ 全文(終) ■
0 件のコメント:
コメントを投稿