Ввод квадратных и прямоугольных матриц - VB
Формулировка задачи:
Периодически здесь всплывает один и тот же вопрос: как ввести матрицу?
Когда-то давно ещё на Visual Besic 3.0 написал набор модулей для ввода матрицы в таблицу с возможностью редактирования каждой ячейки, сохранения в файл, загрузка из файла.
Нажатие на клавишу Enter переключает таблицу в режим редактирования ячейки, повторное нажатие на Enter возвращает в режим движения по строкам и колонкам таблицы.
В примере вводится прямоугольная матрица 8 строк на 12 колонок.Grid01.zip
Конечно наверное сейчас это решается как-то намного проще, но я иногда до сих пор пользуюсь, может и ещё кому сгодится...
Решение задачи: «Ввод квадратных и прямоугольных матриц»
textual
Листинг программы
Private Sub Form_Activate() Dim x As Integer, y As Integer y = Val(InputBox("Количество строк", , 8)) x = Val(InputBox("Количество столбцов", , 12)) MSF.Rows = y MSF.Cols = x MSF.Visible = True MSF.SetFocus End Sub Private Sub MSF_DblClick() Obr End Sub Private Sub MSF_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Obr End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = 27 Then If KeyAscii = 13 Then MSF.Text = Text1.Text If MSF.Col <> MSF.Cols - 1 Then MSF.Col = MSF.Col + 1 Else If MSF.Row <> MSF.Rows - 1 Then MSF.Row = MSF.Row + 1 MSF.Col = 0 End If End If End If Text1.Visible = False MSF.Enabled = True MSF.SetFocus Exit Sub End If If (Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9") And KeyAscii <> 8 Then KeyAscii = 0 End Sub Sub Obr() Text1.Text = MSF.Text Text1.Top = MSF.Top + MSF.CellTop Text1.Left = MSF.Left + MSF.CellLeft Text1.Width = MSF.CellWidth Text1.Height = MSF.CellHeight MSF.Enabled = False Text1.Visible = True Text1.SetFocus End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д