Страница: 1 | 2 | 3 |
Вопрос: Несколько вопросов
Добавлено: 21.05.08 15:37
Автор вопроса: Xapkep | Web-сайт:
Как выводить всплывающию подсказку как в windows при наведения на кнопки?
Как зациклить нижеприведенный код
f2 = Val(Text1.Text) + Val(Text2.Text) * 2
f3 = Val(Text1.Text) + Val(Text2.Text) * 3
f4 = Val(Text1.Text) + Val(Text2.Text) * 4
f5 = Val(Text1.Text) + Val(Text2.Text) * 5
f = (f1 + f2 + f3 + f4 + f5) / 5
n1 = Val(Text3.Text) + Val(Text4.Text)
n2 = Val(Text3.Text) + Val(Text4.Text) * 2
n3 = Val(Text3.Text) + Val(Text4.Text) * 3
n4 = Val(Text3.Text) + Val(Text4.Text) * 4
n5 = Val(Text3.Text) + Val(Text4.Text) * 5
n = (n1 + n2 + n3 + n4 + n5) * 9.81 / 5
Чтобы колличество f,n можно было регулировать?
Как выводить сообщение об ошибке если поля text не заполнены(незнаю как сделать условие, ни к каждой же text условия писать или по другом никак)?
Ps. Признаю в VB полный нуб, из-за этого и решил обратится к проффесионалам
Ответы
Всего ответов: 42
Номер ответа: 1
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #1
Добавлено: 21.05.08 15:43
У кнопок кроме параметра Caption есть ещё и ToolTipText, всплывающая подсказка.
TryAgain:
DoEvents
f1 = Val(Text1.Text) + Val(Text2.Text)
f2 = Val(Text1.Text) + Val(Text2.Text) * 2
f3 = Val(Text1.Text) + Val(Text2.Text) * 3
f4 = Val(Text1.Text) + Val(Text2.Text) * 4
f5 = Val(Text1.Text) + Val(Text2.Text) * 5
f = (f1 + f2 + f3 + f4 + f5) / 5
n1 = Val(Text3.Text) + Val(Text4.Text)
n2 = Val(Text3.Text) + Val(Text4.Text) * 2
n3 = Val(Text3.Text) + Val(Text4.Text) * 3
n4 = Val(Text3.Text) + Val(Text4.Text) * 4
n5 = Val(Text3.Text) + Val(Text4.Text) * 5
n = (n1 + n2 + n3 + n4 + n5) * 9.81 / 5
If Not(условие_завершения_цикла) Then GoTo TryAgain
Номер ответа: 2
Автор ответа:
Bonapart
ICQ: 175256
Вопросов: 32
Ответов: 108
Web-сайт:
Профиль | | #2
Добавлено: 21.05.08 15:54
Ncount=inputbox("n"
for n=1 to Ncount
q=q+val(text1.text)+val(text2.text)*n
next
q=q*9.81/Ncount
msgbox q
если я правильно понял то так
первая строка задает сколько раз должен выполнится цикл. Во второй идет описание цикла. В третей идет подсчет каждого N и сразу добавляется к их финальной сумме. Потом цикл закрывается. Делим N умножаем на константу свободного падения и делим на их количество как в твоем коде. И выдаем результат. Начало сам допишешь
Номер ответа: 3
Автор ответа:
Xapkep
ICQ: 301212
Вопросов: 8
Ответов: 49
Web-сайт:
Профиль | | #3
Добавлено: 21.05.08 15:57
Спасибо Smith, Bonapart
А как быть с>
Как выводить сообщение об ошибке если поля text не заполнены, незнаю как сделать условие, ни к каждой же text условия писать или по другом никак?
Номер ответа: 4
Автор ответа:
Bonapart
ICQ: 175256
Вопросов: 32
Ответов: 108
Web-сайт:
Профиль | | #4
Добавлено: 21.05.08 16:01
Я не дочитал до конца вот тебе код проверки заполненности 4 полей.
If (text1.text=vbnullstring) or (text2.text=vbnullstring) or (text3.text=vbnull string) or (text4.text=vbnullstring) then msgbox "error. Text fields didn't set":exit sub
Номер ответа: 5
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #5
Добавлено: 21.05.08 16:06
Господа посмотрите на задачу немного шире.
Если
в теле цикла каждый раз выводить сообщение что одно из полей пустое,
то
появляющееся снова и снова окно сообщения не даст заполнить поля
Номер ответа: 6
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #6
Добавлено: 21.05.08 16:09
IsNumeric(Text2.Text) Or _
IsNumeric(Text3.Text) Or _
IsNumeric(Text4.Text) Then
n = 5
For i = 1 To n
f1 = Val(Text1.Text) + Val(Text2.Text) * i
n1 = Val(Text3.Text) + Val(Text4.Text) * i
Next i
f = f1 / 5
n = n1 * 9.81 / 5
Else
MsgBox "Ошибка!"
End If
Номер ответа: 7
Автор ответа:
Bonapart
ICQ: 175256
Вопросов: 32
Ответов: 108
Web-сайт:
Профиль | | #7
Добавлено: 21.05.08 16:27
Маленькая поправка
f=f1/n
n=n1*9.81/n
Номер ответа: 8
Автор ответа:
Xapkep
ICQ: 301212
Вопросов: 8
Ответов: 49
Web-сайт:
Профиль | | #8
Добавлено: 21.05.08 16:28
Забыл указать что результат каждого f и n нужно вывести.
Возможно ли такое
Вывести результат в виде таблицы? чтобы кол-во строк зависило от кол-во приращений
+-------------+--------------+---------------+
| i | f1 | n1 |
+-------------+--------------+---------------+
| i1 | f2 | n2 |
+-------------+--------------+---------------+
***
+-------------+--------------+---------------+
| in | fn | nn |
+-------------+--------------+---------------+
| i сред | f сред | n сред |
+--------------------------------------------+
Это мне нужно чтобы была возможность распечатать результат, из-за этого в соседнем разделе я спрашивал как зделать вывод в html. но уже думаю что это сложно реализуемо
Номер ответа: 9
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #9
Добавлено: 21.05.08 16:29
Ну да и n=5 заменить на inputbox как ранее предлагали.
Номер ответа: 10
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #10
Добавлено: 21.05.08 16:41
Ну кинь все к примеру в ексель и печатай наздоровье.
Номер ответа: 11
Автор ответа:
Xapkep
ICQ: 301212
Вопросов: 8
Ответов: 49
Web-сайт:
Профиль | | #11
Добавлено: 21.05.08 16:57
а возможно элемент line в форме использовать?
Просто желательно чтобы не использовались дополнительные программы типа ворд и эксел.
Чтобы было понятней
Хочу вывести форум такого выида
Введеные данные
[]-
[]-
[]-
[]-
Рисунок
+----------------------------------------+
|
|
|
|
|
+----------------------------------------+
Таблица
+-------------+--------------+---------------+
|______i______|_______f1_____|________n1_____|
+-------------+--------------+---------------+
|_______i1____|_______f2_____|________n2_____|
+-------------+--------------+---------------+
***
+-------------+--------------+---------------+
|______in_____|_______fn_____|_______nn______|
+-------------+--------------+---------------+
|______iсред__|_______fсред__|____nсред______|
+--------------------------------------------+
И вывод в ввиде текса
Номер ответа: 12
Автор ответа:
Xapkep
ICQ: 301212
Вопросов: 8
Ответов: 49
Web-сайт:
Профиль | | #12
Добавлено: 21.05.08 20:48
Ответьте на вопрос ктонить
Номер ответа: 13
Автор ответа:
Bonapart
ICQ: 175256
Вопросов: 32
Ответов: 108
Web-сайт:
Профиль | | #13
Добавлено: 21.05.08 21:36
Ладно, уговорил.
Идешь в Google и ищешь что это за формат такой csv
с ним работает эксель и это обычный текст. Т.Е. Создать программой и распечатать экселем. Код примерно такой
open "c:\table.csv" for input as 1
put 1, n1
put 1,","
put 1, f1
close 1
первая строка до цикла последняя после цикла а 2,3,4 в цикле после вычисления соответствующих чисел.Т.Е. Перед next n.И еще я не уверен что формат csv выглядит именно так проверь на всякий случай
Номер ответа: 14
Автор ответа:
Bonapart
ICQ: 175256
Вопросов: 32
Ответов: 108
Web-сайт:
Профиль | | #14
Добавлено: 21.05.08 21:38
Ой я растяпа там еще одна строка должна быть тоже перед концом цикла
put 1, vbnewline
Номер ответа: 15
Автор ответа:
Xapkep
ICQ: 301212
Вопросов: 8
Ответов: 49
Web-сайт:
Профиль | | #15
Добавлено: 22.05.08 22:00
почему ответ выдоваемый этим кодом
f2 = Val(Text1.Text) + Val(Text2.Text) * 2
f3 = Val(Text1.Text) + Val(Text2.Text) * 3
f4 = Val(Text1.Text) + Val(Text2.Text) * 4
f5 = Val(Text1.Text) + Val(Text2.Text) * 5
f = (f1 + f2 + f3 + f4 + f5) / 5
n1 = Val(Text3.Text) + Val(Text4.Text)
n2 = Val(Text3.Text) + Val(Text4.Text) * 2
n3 = Val(Text3.Text) + Val(Text4.Text) * 3
n4 = Val(Text3.Text) + Val(Text4.Text) * 4
n5 = Val(Text3.Text) + Val(Text4.Text) * 5
n = (n1 + n2 + n3 + n4 + n5) * 9.81 / 5
отлищается от этого
IsNumeric(Text2.Text) Or _
IsNumeric(Text3.Text) Or _
IsNumeric(Text4.Text) Then
n = 5
For i = 1 To n
f1 = Val(Text1.Text) + Val(Text2.Text) * i
n1 = Val(Text3.Text) + Val(Text4.Text) * i
Next i
f = f1 / 5
n = n1 * 9.81 / 5
Else
MsgBox "Ошибка!"
End If