Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Открыть новую тему     Написать ответ в эту тему

NEOMATRIX



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Данный топик предназначен только для обсуждения типовых задач на Visual Basic.
Обсуждение задач на VBA (а именно, Excel, Word, Access) строго запрещено!
Пишите в соответствующих топиках.

 
Родственные топики:
  • Excel VBA - часть 1, часть 2 - все вопросы по Excel VBA туда
  • Word VBA все вопросы по Word VBA туда
  • Access все вопросы по программированию в Access туда
  • VBScript - программирование "удобняшек" на VBScript
  • QBasic - типовые задачи на QBasic
     
  • Date Time Functions In Visual Basic
  • VB6's Trig, Math, Financial, Boolean, and Random functions
  • Visual Basic 6 String Functions
  • VB6 Number System Functions (Hex, Oct, Etc)
  • VB6's DateAdd function
     
  • Functions (Visual Basic)
  • Keywords and Members by Task
  • Visual Basic Reference
     
  • Visual Basic String Manipulation Tutorials
     
  • Top 10 Visual Basic Sins

     
    Учебники:
    Visual Basic для студентов и школьников. Культин Н. (2010)
    Занимательное программирование на Visual Basic.NET. Климов А. (2005)
    Visual Basic в задачах и примерах. Сафронов (2009)
    Visual Basic 2012 на примерах. Зиборов В. (2012)

  • Всего записей: 202 | Зарегистр. 29-12-2004 | Отправлено: 19:30 16-11-2005 | Исправлено: XPerformer, 10:07 28-10-2014
    angellover

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ПОЖАЛУЙСТА ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ!
     
     
     
     
    Составить схему алгоритма определения длины никелинового провода диаметра d, который используется для изготовления реастата, имеющего сопротивление R.( Из формул получим l = п(пи) d*d (тоесть d в квадрате) * R  / 4 * p ). Значения  d = 0.5 мм и R = 40 Ом задать в операторах присваивания; значение p для никелинового провода = 0.42 ввести с клавиатуры дисплея. Результатом работы программы является сообщение: ДЛИНА ПРОВОДА = M
     
    Добавлено:
    blaro
    я немного неправильно условие написал
     
    Добавлено:
    blaro
    прошлое

    Всего записей: 3 | Зарегистр. 05-05-2010 | Отправлено: 22:48 07-05-2010
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Как узнать индекс массива по значению поля?
     
    На данный момент имею:

    Код:
     
    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
     

     
    Возможно есть что-то более оптимизированное? Так то оно работает, но уж довольно медленно. Может я де подзавтыкал? Это вообще возможно? Что-то типа massiv.датьиндекс(строка)...
     
    Млын. Есть подозрение, что необходимо юзать IndexOf но что-то никак мозг не сообразит кк это сделать...

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 09:38 12-05-2010 | Исправлено: zerkalo77, 12:27 12-05-2010
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    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

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 17:34 12-05-2010
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dneprcomp
    Угумс. Спасибо.  
    Это победил, но теперь столкнулся с проблемой, которую вообще не знаю как решить.
    На форме webbrowser, в котором открывается страница со ссылками, по которым нужно скачать файлы.
    Этих ссылок около сотни.
    Ссылки постоянные. Их я элементарно вырываю и загоняю в массив.
     
    Дык вот вопрос. Как скачать эти файлы перебором массива и сохранить в нужную мне папку?
     
     

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 21:15 12-05-2010
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zerkalo77
    Как скачать эти файлы

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 03:28 13-05-2010
    Champlo0

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите плз
    Задача такая
    Внести массив 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

    Всего записей: 2 | Зарегистр. 13-05-2010 | Отправлено: 10:12 13-05-2010
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    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")
     

    Как браузер перешёл по указанной ссылке и авторизовался на сайте я указываю ссылку для скачивания:

    Код:
     
    WebBrowser1.Navigate("http://system.tvinfo.lg.ua/download.php?ID=35&time=u")
     

    Но в этом случае выскакивает стандартное окно эксплорера: "Загрузка файла. Открыть или сохранить этот файл?" с тремя кнопками.
    У меня около 100 файлов и кликать эти окошки - довольно таки долго...
     
    Можно обойти это окно используя WebClient.DownloadFile(Url,Filename)
    Но для начала необходимо авторизоваться на сайте, тобишь передать lg и ps POST'ом
     
    Отсюда 2 вопроса, из которых устроит ответ хоть на один:
    1. Как избежать в WebBrowser'е стандартное окно и сразу записать файл на диск?
    2. Как авторизоваться при помощи WebClient'а чтобы скачать файлы?

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 00:05 14-05-2010 | Исправлено: zerkalo77, 02:43 14-05-2010
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    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=

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 07:58 14-05-2010
    gott des ableben

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброе время суток... люди помогите плиз, я новичок в єтом, а на следуещей недели надо задать уже программу... плиз помоггите... вот задание:
    задание. Для матрицци размерности 5 на 5 выполнить операцию: найти максимальное произведение элементов строк и домножить на него матрицу.

    Всего записей: 1 | Зарегистр. 13-05-2010 | Отправлено: 23:58 14-05-2010
    LostCost

    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Все, сделал. отбой

    Всего записей: 27 | Зарегистр. 11-09-2009 | Отправлено: 20:16 16-05-2010 | Исправлено: LostCost, 21:30 16-05-2010
    LeroQ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, завтра сдача курсовой, я не успеваю.Помогите пожалуйста, срочно надо, век не забуду(
    Сделать эти два задания, по примеру(Если можно - постучите в аську, я полностью все кину, а то я почти ничего не понимаю(
     
    Задание - Исходные данные о сотрудниках предприятия. Для каждого сотрудника задано: табельный номер, ФИО, год рождения, год поступления на предприятие, выполнение плана в %% за каждый квартал года. Число сотрудников не определено. Используя данные в файле, найти сотрудника с наименьшим выполнением плана за год. При этом необходимо обеспечить возможность:
    -    создания файла;
    -    добавления новых записей в файл;
    -    удаления записи с заданным номером из файла;
    -    корректировки записи с заданным номером в файле;
    -    исправления табельного номера сотрудника;
    -    сортировки записей в файле по суммарному выполнению плана за год (по возрастанию), затем по году поступления на предприятие (по убыванию), а внутри по табельному номеру;
    -    просмотра содержимого файла после выполнения любой из перечисленных операций с файлом.
     
    Пример
    В качестве примера обработки файлов рассмотрим задачу 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
     
    Извините за флуд, но поймите, как человека, завтра последний день(

    Всего записей: 1 | Зарегистр. 16-05-2010 | Отправлено: 21:48 16-05-2010
    YAMATA

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

    Всего записей: 1 | Зарегистр. 20-05-2010 | Отправлено: 00:41 20-05-2010
    MrRoma

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    'Задание:
    'Создать блок-схему та программу табулирования функции у=f(х) на интервале [хнач хкон] з шагом h.
    'y = e^sin(x)+ 4 кор (a+x) / (ln^3 * bx)
    'Необходимо определить:
    'среднее арифметичное y>5
     
    или  фото задания http://www.cyberforum.ru/attachment.php?attachmentid=30580&d=1274355904
     
    Буду очень благодарным за подсказки, или где можна посмотреть что-нибудь похожее...

    Всего записей: 1 | Зарегистр. 20-05-2010 | Отправлено: 15:52 20-05-2010
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    YAMATA
    На форме 2 текстбокса (textbox1 b textbox2 )и кнопка (button1).

    Код:
     
    Dim строка_вывода As String
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            строка_вывода = ""
            For i = 0 To TextBox1.Text.Length - 1
                Select Case TextBox1.Text.Chars(i)
                    Case "А"
                        строка_вывода += " 1"
                    Case "Б"
                        строка_вывода += " 22"
                    Case "В"
                        строка_вывода += " 31"
                    Case "Г"
                        строка_вывода += " 35"
                    Case "Д"
                        строка_вывода += " 47"
                    Case Else
                        строка_вывода += " 98"
                End Select
            Next i
            textbox2.text = строка_вывода
        End Sub
     

     
     
    MrRoma
     

    Код:
     
     Dim Xнач As Single = 5.5
            Dim Xкон As Single = 10.5
            Dim H As Single = 0.5
            Dim a As Single = 17.3
            Dim b As Single = 0.36
            Dim y As Single
            Dim колво_для_среднего As Single
            Dim среднее As Single
            For x = Xнач To Xкон Step H
                y = (Math.E ^ (Math.Sin(x)) + ((a + x) ^ (1 / 4))) / (Math.Log(b * x) ^ 3)
                If y > 5 Then
                    среднее += y
                    колво_для_среднего += 1
                End If
            Next
            среднее = среднее / колво_для_среднего
        End Sub
     

    У меня получилось 6,43471. Перепроверь строку с формулой в программе. Писал на скорую руку

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 08:55 21-05-2010 | Исправлено: zerkalo77, 09:00 21-05-2010
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    MrRoma

    Цитата:
    Буду очень благодарным за подсказки, или где можна посмотреть что-нибудь похожее...

    Пожалуйста...

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 19:32 21-05-2010
    Seris2



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Всем доброго времени суток!
     Разбираюсь с элементом в VB6 DataGrid. Подскажите пожалуйста, как в него добавить таблицу из имеющейся базы данных?

    Всего записей: 379 | Зарегистр. 29-10-2006 | Отправлено: 14:45 23-05-2010
    tigermax9

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ребята  помогите решить несколько простых задач оч нужно !!!!! спасайте !!!!!
    1)   Написать программу вычисленния нахожденияпроизведения цифр трехзначного числа .
    2)  Если целое число m делится нацело на целое число n , то вывести на экран частное от деления, в противном случае вывести сообщение "m на n нацело не делится " .
    3)  Данна строка символов , среди которых есть двоеточие . Определить сколько символов ему предшевствует и какие .
    4)  Дано натуральное число n . Вычеслить произведенние первых  n-сомножителей.
         p=(2/3)*(4/5)*(6/7)*..........*(2n/(2n+1))

    Всего записей: 2 | Зарегистр. 23-05-2010 | Отправлено: 15:41 23-05-2010
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tigermax9
    Ведь совсем простенькие задачи.
    1. Универсальное - высчитывает произведение любого количества цифр(если их не слишком много)
    Код:
    summ = 1
    number = 356
    For i = 1 To Len(Cstr(number))
       summ = summ * CLng(Mid$(Cstr(number), i, 1))
    Next
    MsgBox Cstr(summ)

    2.
    Код:
    m = 60
    n = 12
    If m / n = m \ n Then
       MsgBox Cstr(m / n)
    Else
       MsgBox "Oops!!!"
    End If

    3.
    Код:
    str = "АБВГДейка: это учеба и игра."
    pos = InStr(str, ":") - 1
    MsgBox "К-во символов - " & CStr(pos) & vbNewLine & "Символы - " & Left$(str, pos)

    4.
    Код:
    n = 5
    p = 1
    For i =1 To n
       p = p * (2 * i / (2 * i + 1))
    Next
    MsgBox CStr(p)

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 16:46 23-05-2010
    tigermax9

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    огромное спасибо !!!!!!! Rush выручил спс !!!!!

    Всего записей: 2 | Зарегистр. 23-05-2010 | Отправлено: 16:49 23-05-2010
    Tilda18

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Люди, помогите пожалуйста с задачками!!
    1.Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары «дружественных чисел», которые не больше данного числа N.  
    2. Известны марки машин, изготовляемых в данной стране и импортируемых за рубеж. Даны некоторые N стран. Определить для каждой из марок, какие из них были доставлены во все страны; доставлены в некоторые из стран; не доставлены ни в одну страну.

    Всего записей: 1 | Зарегистр. 31-05-2010 | Отправлено: 16:16 31-05-2010
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Visual Basic (VB).


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru