K
Karder
Пожалуйста помогите с комментариями в VB6.5 Ниже представлена программа с комментариями, пожалуйста и справьте там где не верно и допишите там где нет. Мне надо написать ДЛЯ ЧЕГО СЛУЖИТ каждая строчка кода
Option Explicit ' объявление переменных
Dim y() As Double 'массив значения функции
Dim N As Long ' конечное значение функции
Dim x1 As Double ' начальный аргумент
Dim x2 As Double ' конечный аргумент
Dim dx As Double ' шаг приращения аргумента
Private Sub Command1_Click()
Dim s As String '
Dim i As Long ' номер шага вычисления функции
Dim x As Double ' текущее значение x
Const f = " #.##e+##" ' объявление числовой константы
If dx = 0 Then Exit Sub ' Если dx = 0 тогда действие действие не выполняется
N = (x2 - x1) / dx '
ReDim Preserve y(N - 1) ' переопределение динамического массива
For i = 0 To N - 1 ' текущий номер аргумента
x = x1 + dx * i ' вычисление текущего значения x
Debug.Print x ' вывод текущего значения x
y(i) = Sin(x) * Cos(2 * x) ' вычисление массива
s = s & Format(x, f) & " " & Format(y(i), f) & vbCrLf
Next ' окончание арифметического цикла
Text1 = s ' присвоение Text1 значение s
End Sub
Private Sub Command2_Click()
Dim i As Long '
If dx = 0 Then Exit Sub ' Если dx = 0 тогда действие действие не выполняется
N = (x2 - x1) / dx '
ReDim Preserve y(N - 1) ' переопределение динамического массива
Me.Picture1.Scale (0, 1)-(N, -1)
Me.Picture1.PSet (0, y(0)), QBColor(9)
For i = 1 To N - 1 ' для каждого i = 1 до N - 1
Me.Picture1.Line -(i, y(i)), QBColor(i Mod 16)
Next
End Sub
Private Sub Command3_Click()
Text1 = "" ' очищает поле таблицы
Me.Picture1.Cls ' очищает поле графика
End Sub
Private Sub Command4_Click()
Unload Me ' завершение работы программы и выход из нее
End Sub
Private Sub Text2_Change()
subCheckText Me.Text2 ' подконтрольный текст Text2
End Sub
Public Sub subCheckText(t As TextBox)
If IsNumeric(t) Then Exit Sub ' если оператор IsNumeric возвращает истину аргументу t, тогда завершение работы программы
MsgBox "Введенная информация не число, исправьте!", vbExclamation ' если в любое текстовое поле ввести не число, то появится сообщение
t.SelStart = 0 ' начальное значение t = 0
t.SelLength = Len(t) ' определение длины
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' если будет нажата точка, тогда преобразовать ее в запятую
End Sub
Private Sub Text2_LostFocus()
x1 = Me.Text2 ' значение введеное во 2 текстовое поле присваивается x1
End Sub
Private Sub Text3_Change()
subCheckText Me.Text3
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' если будет нажата точка, тогда преобразовать ее в запятую
End Sub
Private Sub Text3_LostFocus()
x2 = Me.Text3 ' значение введеное в 3 текстовое поле присваивается x2
End Sub
Private Sub Text4_Change()
subCheckText Me.Text4
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' если будет нажата точка, тогда преобразовать ее в запятую
End Sub
Private Sub Text4_LostFocus()
dx = Me.Text4 ' значение введеное в 4 текстовое поле присваивается dx
End Sub
Option Explicit ' объявление переменных
Dim y() As Double 'массив значения функции
Dim N As Long ' конечное значение функции
Dim x1 As Double ' начальный аргумент
Dim x2 As Double ' конечный аргумент
Dim dx As Double ' шаг приращения аргумента
Private Sub Command1_Click()
Dim s As String '
Dim i As Long ' номер шага вычисления функции
Dim x As Double ' текущее значение x
Const f = " #.##e+##" ' объявление числовой константы
If dx = 0 Then Exit Sub ' Если dx = 0 тогда действие действие не выполняется
N = (x2 - x1) / dx '
ReDim Preserve y(N - 1) ' переопределение динамического массива
For i = 0 To N - 1 ' текущий номер аргумента
x = x1 + dx * i ' вычисление текущего значения x
Debug.Print x ' вывод текущего значения x
y(i) = Sin(x) * Cos(2 * x) ' вычисление массива
s = s & Format(x, f) & " " & Format(y(i), f) & vbCrLf
Next ' окончание арифметического цикла
Text1 = s ' присвоение Text1 значение s
End Sub
Private Sub Command2_Click()
Dim i As Long '
If dx = 0 Then Exit Sub ' Если dx = 0 тогда действие действие не выполняется
N = (x2 - x1) / dx '
ReDim Preserve y(N - 1) ' переопределение динамического массива
Me.Picture1.Scale (0, 1)-(N, -1)
Me.Picture1.PSet (0, y(0)), QBColor(9)
For i = 1 To N - 1 ' для каждого i = 1 до N - 1
Me.Picture1.Line -(i, y(i)), QBColor(i Mod 16)
Next
End Sub
Private Sub Command3_Click()
Text1 = "" ' очищает поле таблицы
Me.Picture1.Cls ' очищает поле графика
End Sub
Private Sub Command4_Click()
Unload Me ' завершение работы программы и выход из нее
End Sub
Private Sub Text2_Change()
subCheckText Me.Text2 ' подконтрольный текст Text2
End Sub
Public Sub subCheckText(t As TextBox)
If IsNumeric(t) Then Exit Sub ' если оператор IsNumeric возвращает истину аргументу t, тогда завершение работы программы
MsgBox "Введенная информация не число, исправьте!", vbExclamation ' если в любое текстовое поле ввести не число, то появится сообщение
t.SelStart = 0 ' начальное значение t = 0
t.SelLength = Len(t) ' определение длины
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' если будет нажата точка, тогда преобразовать ее в запятую
End Sub
Private Sub Text2_LostFocus()
x1 = Me.Text2 ' значение введеное во 2 текстовое поле присваивается x1
End Sub
Private Sub Text3_Change()
subCheckText Me.Text3
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' если будет нажата точка, тогда преобразовать ее в запятую
End Sub
Private Sub Text3_LostFocus()
x2 = Me.Text3 ' значение введеное в 3 текстовое поле присваивается x2
End Sub
Private Sub Text4_Change()
subCheckText Me.Text4
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 44 ' если будет нажата точка, тогда преобразовать ее в запятую
End Sub
Private Sub Text4_LostFocus()
dx = Me.Text4 ' значение введеное в 4 текстовое поле присваивается dx
End Sub