Комментарии в Vb6.5

  • Автор темы Karder
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

Karder

#1
Пожалуйста помогите с комментариями в 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
 
H

Hetman

#2
А где учишься? не ИУиП?

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) ' вычисление i-го элемента массива
s = s & Format(x, f) & " " & Format(y(i), f) & vbCrLf ' дополнить s числом x в формате f
Next ' конец цикла
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 ' если t число , тогда завершение работы программы (!! ЛОГИЧЕСКАЯ ОШИБКА нужно: If Not IsNumeric(t)...)
MsgBox "Введенная информация не число, исправьте!", vbExclamation ' если в любое текстовое поле ввести не число, то появится сообщение
t.SelStart = 0 ' установка курсора в начало текстового поля поля
t.SelLength = Len(t) ' и выделение всего его содержимого
End Sub
...


А тебе обязательно нужно самому график рисовать? у меня есть примерчик с компонентом. А ещё на моей (пока убогой) страничке имеються help`ы по visual basic. Может пригодяться.
даю адресс странички потаму, что каждому на мыло не накочаешся, а здесь место 1mb ограничено.
 
Статус
Закрыто для дальнейших ответов.