Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Задачи на Visual Basic (VB).

Автор: TRUNOV 24
Дата сообщения: 16.04.2010 14:14
AviaControl
Спасиб за код, только ошибочки выдает, ну эт дело поправимо.
Автор: golkanavt
Дата сообщения: 29.04.2010 09:44
Заранее прошу прощения, если пост не в тему топика. Нужна помощь в использовании VB DLL. Никогда ранее не писал на этом языке, а сейчас возникла необходимость в подключении DLL к Delphi проекту. Вот описание библиотеки. Вкратце - это обертка к API известной среды совместной работы над проектами Basecamp. Подключение библиотеки необходимо в рамках интеграции информационной системы компании с Basecamp. Подскажите, кто в курсе, как вытащить описание классов и функций из этой DLL? Любая помощь приветствуется, заранее спасибо.
Автор: krasnovaL
Дата сообщения: 01.05.2010 08:46
Помогите пожалуйста,я столкнулась с такой проблемой-мне срочно нужно научиться как разработать алгоритм для какого-нибудь уравнения.Я никогда не работала в Basike и поэтому у меня огромнейшая проблема я вообще не знаю как в нем работать!
Буду благодарна за любую оказанную помощь

Добавлено:
И еще малюсенький вопрос-где можно скачать Basik
Автор: blaro
Дата сообщения: 01.05.2010 09:29
krasnovaL
скачать можно здесь совершенно бесплатно
http://www.microsoft.com/express/Downloads/#2010-Visual-Basic

а какой алгоритм тебе нужно?
Автор: krasnovaL
Дата сообщения: 01.05.2010 10:20
blaro
А их что, много?Просто я только с этим столкнулась.
У меня задание-разработать алгоритм для уравнения которое нужно выбрать самой
Автор: blaro
Дата сообщения: 01.05.2010 10:27
krasnovaL

Цитата:
А их что, много?

Невероятно много.

Цитата:
У меня задание-разработать алгоритм для уравнения которое нужно выбрать самой

Ну так выбири и разбири.
Автор: krasnovaL
Дата сообщения: 01.05.2010 10:37
blaro
спасибо за все
Щас скачаю и буду разбираться, а если что снова напишу;)
Автор: angellover
Дата сообщения: 05.05.2010 14:34
ПОЖАЛУЙСТА ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ!!!



((((Составить схему алгоритма определения длины никелинового провода диаметра d, который используется для изготовления реостата, имеющего сопротивление R. Значения d=0.5 мм и R= 40 Ом задать в операторах присваивания; значение p для никелинового провода = 0.42. Результатом работы программы является сообщение: ДЛИНА ПРОВОДА = М.))))
Автор: Seris2
Дата сообщения: 05.05.2010 16:31
Имеется база данных в Access, состоящая из нескольких таблиц. Как можно перенести их в среду VB для последующей обработки?
Автор: blaro
Дата сообщения: 05.05.2010 21:15
angellover
Да вот, пожалуста!

Код:
Dim d As Double 'diametr provoda
Dim R As Double 'soprativlenie
Dim p As Double 'udelnoe soprativlenie
Dim M As Double 'Length
d = 0.5
R = 40
p = 0.42
Console.WriteLine((R * d) / p & " Meters")
Console.ReadLine()
Автор: dneprcomp
Дата сообщения: 05.05.2010 21:21
Seris2
Что значит перенести?
Таблицы невозможно "перенести" как таковые. Можно только работать с данными, которые в них хранятся.
Для работы с данными используют DAO или более новый ADO
Автор: Seris2
Дата сообщения: 05.05.2010 22:24
dneprcomp

Цитата:
работать с данными, которые в них хранятся

Как раз это и имел в виду)))

Интересует именно ADO. Где можно больше узнать, почитать!
Автор: dneprcomp
Дата сообщения: 06.05.2010 02:59
Seris2

Цитата:
Интересует именно ADO. Где можно больше узнать, почитать!

А ссылки в моем посте не подходят?
Автор: Alexikit
Дата сообщения: 07.05.2010 08:19
Поскажите пожалуйста как проверить является ли строка числом, про условии, что число может быть 0.
Автор: dneprcomp
Дата сообщения: 07.05.2010 08:29
Alexikit
http://msdn.microsoft.com/en-us/library/6cd3f6w1(VS.80).aspx
http://www.vbforums.com/showthread.php?t=506130
http://www.tek-tips.com/viewthread.cfm?qid=1071392
Автор: Alexikit
Дата сообщения: 07.05.2010 08:34
спасибо большое.
Автор: angellover
Дата сообщения: 07.05.2010 21:02

Dim d As Double 'diametr provoda
Dim R As Double 'soprativlenie
Dim p As Double 'udelnoe soprativlenie
Dim M As Double 'Length
d = 0.5
R = 40
p = 0.42
Console.WriteLine((R * d) / p & " Meters")
Console.ReadLine()


Console.ReadLine() выдает ошибку
Автор: blaro
Дата сообщения: 07.05.2010 21:47
angellover
Попробуй переписать ее заново.
Автор: angellover
Дата сообщения: 07.05.2010 21:48
ПОЖАЛУЙСТА ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ!




Составить схему алгоритма определения длины никелинового провода диаметра d, который используется для изготовления реастата, имеющего сопротивление R.( Из формул получим l = п(пи) d*d (тоесть d в квадрате) * R / 4 * p ). Значения d = 0.5 мм и R = 40 Ом задать в операторах присваивания; значение p для никелинового провода = 0.42 ввести с клавиатуры дисплея. Результатом работы программы является сообщение: ДЛИНА ПРОВОДА = M

Добавлено:
blaro
я немного неправильно условие написал

Добавлено:
blaro
прошлое
Автор: zerkalo77
Дата сообщения: 12.05.2010 08:38
Как узнать индекс массива по значению поля?

На данный момент имею:

Код:
Public Class Form1
Dim massiv(1000) as string

'
' Тут основной код программы, в том числе и наполнение массива
'

Function Получить_индекс (ByVal строка as string) as integer
Dim izv_index as integer = 0
for i = 1 to 1000
if massiv(i) = строка then
izv_index = i
i=1000
End if
Next
return izv_index
End Function

End Class
Автор: dneprcomp
Дата сообщения: 12.05.2010 16:34
zerkalo77
http://www.devx.com/vb2themax/Tip/18364
http://msdn.microsoft.com/en-us/library/eefw3xsy(VS.80).aspx
http://www.vb6.us/tutorials/searching-arrays-visual-basic-6
http://www.vbforums.com/showthread.php?t=231934
Автор: zerkalo77
Дата сообщения: 12.05.2010 20:15
dneprcomp
Угумс. Спасибо.
Это победил, но теперь столкнулся с проблемой, которую вообще не знаю как решить.
На форме webbrowser, в котором открывается страница со ссылками, по которым нужно скачать файлы.
Этих ссылок около сотни.
Ссылки постоянные. Их я элементарно вырываю и загоняю в массив.

Дык вот вопрос. Как скачать эти файлы перебором массива и сохранить в нужную мне папку?


Автор: dneprcomp
Дата сообщения: 13.05.2010 02:28
zerkalo77
Как скачать эти файлы
Автор: Champlo0
Дата сообщения: 13.05.2010 09:12
Помогите плз
Задача такая
Внести массив A(N,M). Найти минимальный элемент матрицы. Все элементы строки и столбца, на пересечение которых он находится, заменить нулями.

Для задачи с массивом A(N,M) использовать матрицу
18 13 21 -1 21
-23 -32 6 10 20
а= 47 26 -15 14 -2
32 -6 -4 14 81
28 41 42 -28 -35
Автор: zerkalo77
Дата сообщения: 13.05.2010 23:05
dneprcomp
Спасибо за ссылочки... , но ты меня не совсем правильно понял.
Точнее я не совсем правильно обрисовал ситуацию.
На странице для скачивания требуется авторизация, причем методом POST.
WebBrowser1 передает данные методом POST:

Код:
WebBrowser1.Navigate("http://system.tvinfo.lg.ua/login.php", _
"_self", System.Text.ASCIIEncoding.ASCII.GetBytes("lg=login&ps=password"), _
"Content-Type: application/x-www-form-urlencoded")
Автор: dneprcomp
Дата сообщения: 14.05.2010 06:58
zerkalo77
Webbrowser control IMHO не расчитан на advance использование.
Посмотри:
http://support.microsoft.com/kb/172998
http://social.msdn.microsoft.com/Forums/en/Vsexpressvcs/thread/95070e0a-5972-4b27-bbf0-0d5f3795f28c
http://www.devx.com/vb2themax/Article/19879
http://www.bigresource.com/Tracker/Track-vb-deq6W6eUfh/
http://www.bigresource.com/VB-webbrowser-iis-authorization-deq6W6eUfh.html
http://forums.whirlpool.net.au/forum-replies-archive.cfm/1327058.html
http://www.bigresource.com/Tracker/Track-vb-KMddVpxmjm/
http://www.google.com/search?hl=en&source=hp&q=vb6+webbrowser+uthentication&btnG=Google+Search&aq=f&aqi=&aql=&oq=&gs_rfai=
Автор: gott des ableben
Дата сообщения: 14.05.2010 22:58
Доброе время суток... люди помогите плиз, я новичок в єтом, а на следуещей недели надо задать уже программу... плиз помоггите... вот задание:
задание. Для матрицци размерности 5 на 5 выполнить операцию: найти максимальное произведение элементов строк и домножить на него матрицу.
Автор: LostCost
Дата сообщения: 16.05.2010 19:16
Все, сделал. отбой
Автор: LeroQ
Дата сообщения: 16.05.2010 20:48
Народ, завтра сдача курсовой, я не успеваю.Помогите пожалуйста, срочно надо, век не забуду(
Сделать эти два задания, по примеру(Если можно - постучите в аську, я полностью все кину, а то я почти ничего не понимаю(

Задание - Исходные данные о сотрудниках предприятия. Для каждого сотрудника задано: табельный номер, ФИО, год рождения, год поступления на предприятие, выполнение плана в %% за каждый квартал года. Число сотрудников не определено. Используя данные в файле, найти сотрудника с наименьшим выполнением плана за год. При этом необходимо обеспечить возможность:
-    создания файла;
-    добавления новых записей в файл;
-    удаления записи с заданным номером из файла;
-    корректировки записи с заданным номером в файле;
-    исправления табельного номера сотрудника;
-    сортировки записей в файле по суммарному выполнению плана за год (по возрастанию), затем по году поступления на предприятие (по убыванию), а внутри по табельному номеру;
-    просмотра содержимого файла после выполнения любой из перечисленных операций с файлом.

Пример
В качестве примера обработки файлов рассмотрим задачу 35. Для решения этой задачи создадим пользовательское меню по всем перечисленным пунктам задачи. То есть тут другая задача, но по примеру надо сделать, изменив все критерии.

Программный код представлен далее. При этом в имени процедуры обработки меню первая цифра указывает номер уровня меню, а вторая номер меню в подуровне:

Option Explicit
Private Type Stud
kurs As Byte
gr As Byte
fio As String * 20
pol As String * 1
god As Integer
o(1 To 4) As Byte
End Type
Dim st As Stud

'Распечатка файла во время загрузки
Private Sub Form_Load()
Call mnu27_Click
'mnu27_Click
End Sub

'Окончание работы программы
Private Sub mnu12_Click()
End
End Sub

'Создание файла
Private Sub mnu21_Click()
Dim otv As String * 1
Dim i As Byte
Dim j As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
i = 0
Do
i = i + 1
st.fio = InputBox("Введите ФИО " & i & "-го студента", "Ввод данных", _
, 2000, 500)
st.kurs = CByte(InputBox("Введите номер курса [1-5] " & i & "-го студента", _
"Ввод данных", , 2000, 500))
st.gr = CByte(InputBox("Введите номер группы [1-5] " & i & "-го студента", _
"Ввод данных", , 2000, 500))
st.pol = InputBox("Введите пол [м или ж] " & i & "-го студента", _
"Ввод данных", , 2000, 500)
st.god = CInt(InputBox("Введите год рождения " & i & "-го студента", _
"Ввод данных", , 2000, 500))
For j = 1 To 4
st.o(j) = CByte(InputBox("Введите оценку за " & j & "-ый экзамен [2-5] " & i & _
"-го студента", "Ввод данных", , 2000, 500))
Next
Put #1, , st
otv = InputBox("Введите Y, y, Д или д если хотите закончить ввод", _
"Ввод данных", , 2000, 500)
Loop Until otv = "Y" Or otv = "y" Or otv = "Д" Or otv = "д"
Close #1
‘Call mnu27_Click
End Sub

'Добавление записей в файл
Private Sub mnu22_Click()
Dim otv As String * 1
Dim i As Byte
Dim j As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
i = LOF(1) \ Len(st)
Seek #1, i + 1
Do
i = i + 1
With st
.fio = InputBox("Введите ФИО " & i & "-го студента", "Ввод данных", _
, 2000, 500)
.kurs = CByte(InputBox("Введите номер курса [1-5] " & i & "-го студента", _
"Ввод данных", , 2000, 500))
.gr = CByte(InputBox("Введите номер группы [1-5] " & i & "-го студента", _
"Ввод данных", , 2000, 500))
.pol = InputBox("Введите пол [м или ж] " & i & "-го студента", _
"Ввод данных", , 2000, 500)
.god = CInt(InputBox("Введите год рождения " & i & "-го студента", _
"Ввод данных", , 2000, 500))
For j = 1 To 4
.o(j) = CByte(InputBox("Введите оценку за " & j & "-ый экзамен [2-5] " & i & _
"-го студента", "Ввод данных", , 2000, 500))
Next
End With
Put #1, , st
otv = InputBox("Введите Y, y, Д или д если хотите закончить ввод", _
"Ввод данных", , 2000, 500)
Loop Until otv = "Y" Or otv = "y" Or otv = "Д" Or otv = "д"
Close #1
mnu27_Click
End Sub

'Удаление записи с заданным номером
Private Sub mnu23_Click()
Dim num As Byte, i As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
Open "New_fl.dat" For Random As #2 Len = Len(st)
num = CByte(InputBox("Введите номер удаляемой записи ", _
"Ввод данных", , 2000, 500))
For i = 1 To num - 1
Get #1, , st
Put #2, , st
Next i
Seek #1, num + 1
For i = num + 1 To LOF(1) \ Len(st)
Get #1, , st
Put #2, , st
Next i
Close #1, #2
Kill "fl.dat"
Name "New_fl.dat" As "fl.dat"
MsgBox "Запись с номером " & num & " успешно удалена." & vbCrLf & _
"Для продолжения нажми OK.", 64, "Результат удаления"
Call mnu27_Click
End Sub

'Корректировка записи
Private Sub mnu24_Click()
Dim num As Byte, j As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
Text1.Text = Space(26) & "Экзамены" & vbCrLf
Text1.Text = Text1.Text + _
"Курс Группа Пол Год р. 1-й 2-й 3-й 4-й ФИО" & vbCrLf
num = CByte(InputBox("Введите номер корректируемой записи ", _
"Ввод данных", , 2000, 500))
Seek #1, num
Get #1, , st
Text1.Text = Text1.Text & " " & st.kurs & " " & st.gr
Text1.Text = Text1.Text & " " & st.pol & " " & st.god & ""
For j = 1 To 4
Text1.Text = Text1.Text & " " & st.o(j)
Next j
Text1.Text = Text1.Text & " " & st.fio & vbCrLf
st.kurs = CByte(InputBox("Введите номер курса [1-5] " & num & "-го студента", _
"Ввод данных", st.kurs, 2000, 500))
Text1.Text = Text1.Text & " " & st.kurs
st.gr = CByte(InputBox("Введите номер группы [1-5] " & num & "-го студента", _
"Ввод данных", st.gr, 2000, 500))
Text1.Text = Text1.Text & " " & st.gr
st.pol = InputBox("Введите пол [м или ж] " & num & "-го студента", _
"Ввод данных", st.pol, 2000, 500)
Text1.Text = Text1.Text & " " & st.pol
st.god = CInt(InputBox("Введите год рождения " & num & "-го студента", _
"Ввод данных", st.god, 2000, 500))
Text1.Text = Text1.Text & " " & st.god & ""
For j = 1 To 4
st.o(j) = CByte(InputBox("Введите оценку за " & j & "-ый экзамен [2-5] " & num & _
"-го студента", "Ввод данных", st.o(j), 2000, 500))
Text1.Text = Text1.Text & " " & st.o(j)
Next
st.fio = InputBox("Введите ФИО " & num & "-го студента", "Ввод данных", _
st.fio, 2000, 500)
Text1.Text = Text1.Text & " " & st.fio & vbCrLf
Seek #1, num
Put #1, , st
Close #1
End Sub

'Исправление фамилии
Private Sub mnu25_Click()
Dim name As String * 20, f As Boolean, j As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
name = InputBox("Введите старую фамилию студента", "Ввод данных", _
, 2000, 500)
Text1.Text = Space(26) & "Экзамены" & vbCrLf
Text1.Text = Text1.Text + _
"Курс Группа Пол Год р. 1-й 2-й 3-й 4-й ФИО" & vbCrLf
f = True
Do While Not EOF(1)
Get #1, , st
If st.fio = name Then
Text1.Text = Text1.Text & " " & st.kurs & " " & st.gr
Text1.Text = Text1.Text & " " & st.pol & " " & st.god & ""
For j = 1 To 4
Text1.Text = Text1.Text & " " & st.o(j)
Next j
Text1.Text = Text1.Text & " " & st.fio & vbCrLf
f = False
Exit Do
End If
Loop
If f Then
MsgBox "Таких студентов нет", 16, "Остановка"
Else
st.fio = InputBox("Введите новую фамилию " & Seek(1) - 1 & "-го студента", _
"Ввод данных", , 2000, 500)
Text1.Text = Text1.Text & String(42, Asc("x")) & " " & st.fio & vbCrLf
Seek #1, Seek(1) - 1
Put #1, , st
End If
Close #1
End Sub

'Сортировка записей
Private Sub mnu26_Click()
Dim st1 As Stud, f As Boolean, i As Byte, j As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
f = True
Do While f
f = False
For i = 1 To LOF(1) \ Len(st) - 1
For j = i + 1 To LOF(1) \ Len(st)
Get #1, i, st
Get #1, j, st1
If st.kurs > st1.kurs Then
Put #1, i, st1
Put #1, j, st
f = True
ElseIf st.kurs = st1.kurs And st.gr > st1.gr Then
Put #1, i, st1
Put #1, j, st
f = True
ElseIf st.kurs = st1.kurs And st.gr = st1.gr And st.fio > st1.fio Then
Put #1, i, st1
Put #1, j, st
f = True
End If
Next j
Next i
Loop
Close #1
MsgBox "Записи успешно отсортированы." & vbCrLf & _
"Для продолжения нажми OK.", 64, "Результат сортировки"
mnu27_Click
End Sub

'Распечатка файла
Private Sub mnu27_Click()
Dim i As Byte, j As Byte
Open "fl.dat" For Random As #1 Len = Len(st)
Text1.Text = Space(26) & "Экзамены" & vbCrLf
Text1.Text = Text1.Text + _
"Курс Группа Пол Год р. 1-й 2-й 3-й 4-й ФИО" & vbCrLf
For i = 1 To LOF(1) \ Len(st)
Get #1, , st
Text1.Text = Text1.Text & " " & st.kurs & " " & st.gr
Text1.Text = Text1.Text & " " & st.pol & " " & st.god & ""
For j = 1 To 4
Text1.Text = Text1.Text & " " & st.o(j)
Next j
Text1.Text = Text1.Text & " " & st.fio & vbCrLf
Next i
Close #1
End Sub

'Лучший студент
Private Sub mnu28_Click()
Dim i As Byte, j As Byte, mx As Single, num As Byte, sr As Single
Open "fl.dat" For Random As #1 Len = Len(st)
Text1.Text = " Лучший студент" & vbCrLf
Text1.Text = Text1.Text & Space(26) & "Экзамены" & vbCrLf
Text1.Text = Text1.Text + _
"Курс Группа Пол Год р. 1-й 2-й 3-й 4-й ФИО" & vbCrLf
mx = -1
For j = 1 To LOF(1) \ Len(st)
Get #1, , st
sr = 0
For i = 1 To 4
sr = sr + st.o(i) / 4
Next
If mx < sr Then
mx = sr
num = Seek(1) - 1
End If
Next j
Get #1, num, st
Text1.Text = Text1.Text & " " & st.kurs & " " & st.gr
Text1.Text = Text1.Text & " " & st.pol & " " & st.god & ""
For i = 1 To 4
Text1.Text = Text1.Text & " " & st.o(i)
Next i
Text1.Text = Text1.Text & " " & st.fio & vbCrLf
Text1.Text = Text1.Text & "Средний бал = " & Format(mx, "0.0#")
Close #1
End Sub




Добавлено:
И еще одно.
Создать по заданным шаблонам в эмуляторе VB (Модули &#61664; Visual Data Manager) двух табличную базу данных Access или непосредственно в Access. Версии созданной базы данных и VB должны быть согласованы. Если простым сохранением файла базы данных положительного результата добиться не удается, то надо воспользоваться опцией “Сервис” в верхнем меню Access, затем “служебные программы”, далее “преобразовать базу данных”, потом “к предыдущей версии”. В каждой таблице количество записей больше десяти (может быть неодинаковое). Порядок записей в каждой таблице произвольный. Составить программу совместной обработки этих таблиц. Программа должна обеспечивать:
А) Распечатать обе таблицы с заголовками.
Б) Распечатать выходной документ в соответствии с заданным шаблоном.
В) Распечатать справку для любой записи по заданному полю, включающую поля из обеих таблиц и два поля совместной обработки полей из разных таблиц.
Кроме того, программа должна обеспечить возможность редактирования любой записи любой таблицы, удаления и добавления записей для любой таблицы.

Задание - Шаблон таблицы 1:
Фамилия Специальность Почасовая оплата в руб. Продолжительность рабочего дня

Шаблон таблицы 2:
Фамилия Количество отработанных дней в каждом месяце квартала Аванс в каждом месяце квартала Налог в %%

Шаблон выходного документа:
Фамилия Специальность К выдаче в конце каждого месяца квартала

Справка по полю “Фамилия”

Пример
Программный код представлен далее:
Для формы 1:
Option Explicit
Public k%, l%, i%, j%

'Справка по полю “Шифр предприятия”
Private Sub Combo1_Click()
Dim s!
Form3.Show
Form3.Data1.Recordset.Index = "Shizd"
Form3.Data1.Recordset.Seek "=", Form1.Combo1.Text
Form3.Data2.Recordset.Index = "Shiz"
Form3.Data2.Recordset.Seek "=", Form1.Combo1.Text
If Form3.Data2.Recordset.NoMatch Then
Else
s = 0
For i = 1 To 4
s = s + Form3.Data1.Recordset.Fields(i).Value
Next
Form3.Label1(8) = s * Form3.Data2.Recordset.Fields(2).Value
Form3.Label1(9) = s * Form3.Data2.Recordset.Fields(3).Value
End If

Form3.MSFlexGrid1.Cols = 10
'Form3.Print Form3.MSFlexGrid1.ColWidth(1)
Form3.MSFlexGrid1.ColWidth(1) = 700
Form3.MSFlexGrid1.ColWidth(2) = 1055
Form3.MSFlexGrid1.ColWidth(3) = 1055
Form3.MSFlexGrid1.ColWidth(4) = 1060
Form3.MSFlexGrid1.ColWidth(5) = 1060
'Form3.Print Form3.MSFlexGrid1.ColWidth(1)
Form1.Data1.Recordset.MoveFirst
Form2.Data1.Recordset.MoveFirst
Form3.MSFlexGrid1.TextMatrix(0, 0) = "Название"
Form3.MSFlexGrid1.TextMatrix(0, 1) = "Шифр"
Form3.MSFlexGrid1.TextMatrix(0, 2) = "Сум.стоим.1"
Form3.MSFlexGrid1.TextMatrix(0, 3) = "Сум.стоим.2"
Form3.MSFlexGrid1.TextMatrix(0, 4) = "Сум.стоим.3"
Form3.MSFlexGrid1.TextMatrix(0, 5) = "Сум.стоим.4"
Form3.MSFlexGrid1.TextMatrix(0, 6) = "Сум. вес 1"
Form3.MSFlexGrid1.TextMatrix(0, 7) = "Сум. вес 2"
Form3.MSFlexGrid1.TextMatrix(0, 8) = "Сум. вес 3"
Form3.MSFlexGrid1.TextMatrix(0, 9) = "Сум. вес 4"
k = 1
For i = 1 To Form1.Data1.Recordset.RecordCount
Form2.Data1.Recordset.MoveFirst
For j = 1 To Form2.Data1.Recordset.RecordCount 'Shizd=Shiz
If Form1.Data1.Recordset.Fields(5) = Form2.Data1.Recordset.Fields(0) Then
Form3.MSFlexGrid1.Rows = k + 1
Form3.MSFlexGrid1.TextMatrix(k, 0) = Form1.Data1.Recordset.Fields(0)
Form3.MSFlexGrid1.TextMatrix(k, 1) = Form1.Data1.Recordset.Fields(5)
For l = 1 To 4
Form3.MSFlexGrid1.TextMatrix(k, l + 1) = _
Form1.Data1.Recordset.Fields(l).Value * Form2.Data1.Recordset.Fields(2).Value
Form3.MSFlexGrid1.TextMatrix(k, l + 5) = _
Form1.Data1.Recordset.Fields(l).Value * Form2.Data1.Recordset.Fields(3).Value
Next l
k = k + 1
End If
Form2.Data1.Recordset.MoveNext
Next j
Form1.Data1.Recordset.MoveNext
Next i
Form1.Data1.Recordset.MoveFirst
Form2.Data1.Recordset.MoveFirst
End Sub

'Вывести таблицу "Поставка"
Private Sub Command1_Click()
Data1.Recordset.MoveFirst
Flp.Rows = Data1.Recordset.RecordCount + 1: Flp.Cols = 6
Flp.TextMatrix(0, 0) = "Название"
Flp.TextMatrix(0, 1) = "Поставка 1 кв"
Flp.TextMatrix(0, 2) = "Поставка 2 кв"
Flp.TextMatrix(0, 3) = "Поставка 3 кв"
Flp.TextMatrix(0, 4) = "Поставка 4 кв"
Flp.TextMatrix(0, 5) = "Шифр"
Data1.Recordset.MoveFirst
For i = 1 To Data1.Recordset.RecordCount
For j = 1 To 6 'Text1(j - 1).Text
Flp.TextMatrix(i, j - 1) = Data1.Recordset.Fields(j - 1)
Next j
Data1.Recordset.MoveNext
Next i

Data1.Recordset.MoveFirst
List1.Clear
Combo1.Clear
For i = 1 To Data1.Recordset.RecordCount
List1.List(i - 1) = Data1.Recordset.Fields(0)
Combo1.List(i - 1) = Data1.Recordset.Fields(5)
Data1.Recordset.MoveNext
Next i
Data1.Recordset.MoveFirst
End Sub

'Удалить запись
Private Sub Command2_Click()
Dim Reply As VbMsgBoxResult
Reply = MsgBox("Если будете удалять текущую запись, нажмите кнопку OK", _
vbOKCancel, "Удаление текущей записи")
If Reply = vbOK Then
Data1.Recordset.Delete
Data1.Recordset.MoveFirst
End If
End Sub

'Закончить проект
Private Sub Command3_Click()
End
End Sub

'Показать форму 2
Private Sub Command4_Click()
Form2.Show
Form2.Fli.TextMatrix(0, 0) = "Шифр"
Form2.Fli.TextMatrix(0, 1) = "Название"
Form2.Fli.TextMatrix(0, 2) = "Цена"
Form2.Fli.TextMatrix(0, 3) = "Вес"
End Sub

'Добавить запись
Private Sub Command5_Click()
Dim Reply As VbMsgBoxResult
Reply = MsgBox("Если будете вводить новую запись, нажмите кнопку OK", _
vbOKCancel, "Ввод новой записи")
If Reply = vbOK Then
Text1(0).SetFocus 'Остановка, текстовые окна пустые, после их заполнения
Data1.Recordset.AddNew 'нажать левую стрелку объекта Data, новая запись - последняя
End If
End Sub

'Обработка таймера
Private Sub Timer1_Timer()
Label3.Caption = Date & Space(2) & Time
End Sub

Для формы 2:
Option Explicit

'Удаление записи
Private Sub Command1_Click()
Dim Reply As VbMsgBoxResult
Reply = MsgBox("Если будете удалять текущую запись, нажмите кнопку OK", _
vbOKCancel, "Удаление текущей записи")
If Reply = vbOK Then
Data1.Recordset.Delete
Data1.Recordset.MoveFirst
End If
End Sub

'Добавление записи
Private Sub Command2_Click()
Dim Reply As VbMsgBoxResult
Reply = MsgBox("Если будете вводить новую запись, нажмите кнопку OK", _
vbOKCancel, "Ввод новой записи")
If Reply = vbOK Then
Text1(0).SetFocus 'Остановка, текстовые окна пустые, после их заполнения
Data1.Recordset.AddNew 'нажать левую стрелку объекта Data, новая запись - последняя
End If
End Sub

Для формы 3:
Option Explicit

Извините за флуд, но поймите, как человека, завтра последний день(
Автор: YAMATA
Дата сообщения: 19.05.2010 23:41
Задача с оператором case также для нее нужна форма. форму я сам сделаю.
вообщем задача:
С клавиатуры вводиться в произвольном порядке 10 любых букв. Программа шифровальщик должна заменить введеную последовательность букв на последовательность чисел в соответствии со следующим правилом. Буква "А" заменяется(далее =) на число 1 "Б"=22 "В"=31 "Г"=35 "Д" = 47. Все остальные буквы алфавита должны быть заменены на число 98.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940

Предыдущая тема: для Hiper-six (индексы .nsx .smt) хоть что нибудь Опции


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.