Ввод квадратных и прямоугольных матриц - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы