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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Tanya3000

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SAS888 я вас уже достала наверно.....очень прошу, не могли бы вы в точности написать, как мне нужно все вводить....а то что-то то, что вы написали у меня не срабатывает. Спасиюбо!
     
     
    Добавлено:
    мне на vba надо

    Всего записей: 13 | Зарегистр. 11-11-2007 | Отправлено: 00:35 15-11-2007
    SAS888

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tanya3000
    По-моему я понял проблему. Дело в том, что функция Application.Trim(...) корректно работает только в Excel VBA. Вы не указали для какого приложения Ваш VB. В общем виде Вашу задачу можно решить так:
     
    Function Substring(Txt, Delimiter, n) As String
        Dim x As Variant
        x = Split(Txt, Delimiter)
        If n > 0 And n - 1 <= UBound(x) Then
            Substring = x(n - 1)
        Else
            Substring = ""
        End If
    End Function
    Sub Num_word()
        Dim MyText As String
        Dim MyTrim As String
        MyText = "  aaa   bbb    ccc     ddd  eee  " 'пусть это исходная строка
        MyTrim = Trim(MyText)
        For i = 1 To Len(MyTrim)
        If Not (Mid(MyTrim, i, 1) = Chr(32) And Mid(MyTrim, i + 1, 1) = Chr(32)) Then Txt = Txt & Mid(MyTrim, i, 1)
        Next i
        Delimiter = " " 'разделитель
        n = 4 'номер слова в предложении
        MsgBox Substring(Txt, Delimiter, n) 'Substring - искомое слово
    End Sub
     
    Добавлено:
    Tanya3000
    Или так:
    Sub Num_word()
        Dim n As Integer
        Dim i As Integer
        Dim MyString As String
        Dim AA As Variant
        Dim BB As String
        Dim CC As String
        Dim DD As Variant
        MyString = "    aaa  bbb       ccc ddd eee    fff    " 'Пусть это исходная строка
        n = 4 'Пусть это заданный номер слова в строке
        AA = Split(MyString, " ")
        For i = 0 To UBound(AA)
            If AA(i) <> "" Then BB = BB & Chr(32) & AA(i)
        Next i
        CC = Trim(BB)
        DD = Split(CC, " ")
        If n > 0 And n <= UBound(DD) + 1 Then
            Substring = DD(n - 1)
        Else
            Substring = ""
        End If
        MsgBox Substring 'искомое слово
    End Sub

    Всего записей: 398 | Зарегистр. 31-10-2007 | Отправлено: 12:08 15-11-2007
    Tanya3000

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Огромное, просто гигантнейшее спасибо!!!!! я вам так благодарна!!!!!

    Всего записей: 13 | Зарегистр. 11-11-2007 | Отправлено: 10:41 16-11-2007
    borodavolga



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите как можно интегрировать VBA со стандартной VBA IDE в приложение написанное на VB?
    и вообще
    как подцеплять, выполнять скрипты (python/ruby/vba (в идеале)) из vb c передачей туда параметров! и возвратом результатов (не через файлы), с синхронизацией выполнения и т.д.

    Всего записей: 875 | Зарегистр. 23-06-2004 | Отправлено: 09:48 21-11-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    borodavolga
    Вот, например, описание интеграции VBA в VB - поиск поможет

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 12:15 21-11-2007
    borodavolga



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AndVGri
    Это очень старая статья-первод, проблема в отсутствии VBA 6.0 SDK 6.1 (наверное с этим в варезник, но думаю бесполезно), поэтому и спросил сразу про Python и Ruby. Даже без IDE, кто-нибудь знает как передавать параметры (объекты) в скрипты? (не генерить код, не создавать файлы). Создавать свой COM-сервер?  

    Всего записей: 875 | Зарегистр. 23-06-2004 | Отправлено: 13:00 21-11-2007
    Zmejjj

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не знаю как решить задачу. В программировании я полный чайник и только начинаю работать с Visual Basic, поэтому если кто может, пожалуйста объясните как решать.  
    Задача:  
    Ассоциация художников провела выставку-продажу картин. В течение недели ежедневно выставлялось 24 картины. О каждом дне выставки известны названия картин и авторы. Только проданные в течение дня картины заменялись новыми. Получить перечень проданных картин.  
    Вот и всё.

    Всего записей: 1 | Зарегистр. 21-11-2007 | Отправлено: 16:51 21-11-2007
    mikeryrg

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нужно посчитать такую штуку  ci=(a*ci-1+b)mod m
    где m=16777215
    a, b, с меньше m но не на много
    вроде в скобках получается число примерно 2^49 т.е. должно влезть в 64 битную переменную как я понимаю
     
    ставлю переменные и дабл, и вариант, но и там, и там переполнение ((
     
    такие числа вообще можно посчитать в вб?
     
    Добавлено:
    разобрался с проблемой
    переполнение вызывал mod
    реализовал mod вручную

    Всего записей: 42 | Зарегистр. 07-01-2007 | Отправлено: 13:44 25-11-2007
    AntiPro



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Нужно написать програмку которая сможет эмулировать выход из Windows 2000, и после эмуляции выдаст окно с просьбой нажать ctrl+alt+shit по нажатию этих трех клавиш выходит окно для ввода пароля, логина и домена.

    Всего записей: 318 | Зарегистр. 28-08-2007 | Отправлено: 18:09 26-11-2007
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AntiPro
    Посмотри мой пост на http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=2299&start=80#lt

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:52 26-11-2007
    AntiPro



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dneprcomp
    Спасибо. нашел много интересного.

    Всего записей: 318 | Зарегистр. 28-08-2007 | Отправлено: 13:45 27-11-2007
    SunnyMary

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Безумно нужна ваша помощь.Есть такое задание.Сделать скринсейвер с помощью таймера,если есть в picture box'е прямоугольник,который мы нарисовали.И есть круг с определёнными координатами(x,y),который меняет свои координаты и таким образом передвигается.А каждый раз,когда он ударяется о стенку нашего picture box'а или сторону прямоугольника,он отталкивается и движется в другом направлении и так постоянно.Надо учесть,что он может находится и внутри прямоугольника...тогда биться будет только о стороны прямоугольника,соответственно.
    Помогите,чем сможете...
    Спасибо

    Всего записей: 1 | Зарегистр. 27-11-2007 | Отправлено: 18:48 27-11-2007
    Les_PURE



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята привет всем...
     
    Тут поднапрягли с лабораторными по ВБ....
    Проблема в том что писать нада консольную прогу.
    Сам я программирую на ПХП, времени очень не хватает разбирать ВБ.
    СМогу скомпилировать и прокомментировать код самостоятельно ))))
     
    ГУРУ, выручайте.... Для вас это елементарно
     
    Вот задачи:
     
    1)Сложение целых двуичных чисел
     
    2)Определить максимальный елемент массива B(k), Bi < 0, K=<40. *(i - нижний индекс)
     
    3)Дана квадратная матрица А размером Н на Н (Н=<10) из действительныйх чисел. Найти сумму елементов строки, в котором находится наибольший елемент.
     
    4)Удалить из заданного текста пропуски и подсчитать длину получившесего текста  
     
    Спасибо всем кто поможет ))
     
    Добавлено:
    Забыл указать что нада на VB .NET, хотя предпологаю что разници 0 будет

    Всего записей: 10 | Зарегистр. 24-10-2007 | Отправлено: 02:38 28-11-2007
    Les_PURE



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребятки, ну что, никто не может помочь???

    Всего записей: 10 | Зарегистр. 24-10-2007 | Отправлено: 22:47 29-11-2007
    Refery



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    borodavolga
     
    Есть довольно интересная Технология WSC, возможно поможет
     
    Что такое Windows Script Components?
    Технология Windows Script Components (WSC) позволяет любой сценарий WSH "упаковать" в COM-объект (без компиляции исходного кода сценария!) и использовать его в любых приложениях, позволяющих подключать COM-объекты. Преимуществами компонентов-сценариев над обычными откомпилированными компонентами (как и вообще любой интерпретируемой программы над компилируемой) является простота разработки, внесения изменений и распространения объектов-сценариев, недостатками - более медленная скорость работы и возможность внесения несанкционированных изменений в исходный код компонентов.
     
    http://admtech.mrsu.ru/whatis_5.html

    Всего записей: 175 | Зарегистр. 07-10-2001 | Отправлено: 16:32 30-11-2007 | Исправлено: Refery, 16:36 30-11-2007
    Tyugan



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет.
    Тут встала такая проблема: нужно узнать, является ли сегодняшний день предпоследним рабочим днём месяца (ППРДМ)...
     
    Логика мне видится следующая, но как реализовать, не представляю, поскольку в ВБ не разбираюсь
     
     
     
    Какой месяц? => 30 или 31 день
    Какой день недели последнее число месяца? =>  
     
    case понедельник => ППРДМ = 30 (31) - 3
    case вторник-пятница => ППРДМ = 30 (31) - 1
    case суббота => ППРДМ = 30 (31) - 2
    case воскресенье => ППРДМ = 30 (31) - 3
     
    if (сегодня == ППРДМ)
    ну и там то, что мне нужно делать...
    end if
     
    Заранее спасибо

    Всего записей: 15 | Зарегистр. 22-02-2006 | Отправлено: 09:36 01-12-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tyugan
    Для VB6
    Подробнее...
     
    VB.NET
    Подробнее...

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 14:20 01-12-2007
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну можно примерно так...
     
    Dim pprd%, wd%, dm%, arrMonth
        arrMonth = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
        If Month(Date) = 2 And Year(Date) Mod 4 = 0 Then dm = 29 Else dm = arrMonth(Month(Date) - 1)
        wd = Weekday(DateSerial(Year(Date), Month(Date), dm), 3)
        If wd < 5 Then pprd = arrMonth(Month(Date) - 1) - 1
        If wd = 5 Then pprd = arrMonth(Month(Date) - 1) - 2
        If wd > 5 Then pprd = arrMonth(Month(Date) - 1) - 3
        If Day(Date) = pprd Then
        .......
        End If
     
    Но ведь есть еще и праздники. А их к тому же принято переносить, если они выпали на выходные.
     
    Добавлено:
    Немного припоздал...

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 14:27 01-12-2007
    Les_PURE



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

    Цитата:
    Ребята привет всем...
     
    Тут поднапрягли с лабораторными по ВБ....
    Проблема в том что писать нада консольную прогу.
    Сам я программирую на ПХП, времени очень не хватает разбирать ВБ.
    СМогу скомпилировать и прокомментировать код самостоятельно ))))
     
    ГУРУ, выручайте.... Для вас это елементарно
     
    Вот задачи:
     
    1)Сложение целых двуичных чисел
     
    2)Определить максимальный елемент массива B(k), Bi < 0, K=<40. *(i - нижний индекс)
     
    3)Дана квадратная матрица А размером Н на Н (Н=<10) из действительныйх чисел. Найти сумму елементов строки, в котором находится наибольший елемент.
     
    4)Удалить из заданного текста пропуски и подсчитать длину получившесего текста  
     
    Спасибо всем кто поможет ))
     
    Добавлено:
    Забыл указать что нада на VB .NET, хотя предпологаю что разници 0 будет

     
    РЕШЕНИЕ ПЕРВОЙ ЗАДАЧИ:
     
    ------------------------------------
    Module Module1
        Dim n1 As Long
     
        Sub Main()
            Console.WriteLine("Введите число 1 ")
            n1 = Bin2Dec(Console.ReadLine)
            Console.WriteLine("Введите число 2 ")
            n1 = n1 + Bin2Dec(Console.ReadLine)
            Console.WriteLine(ConvertToBinary(n1))
            Console.ReadLine()
        End Sub
     
        Function Bin2Dec(ByVal BinString As String) As Long
            Dim A As String
            Dim DecW As Long
            Dim i As Long
            A = BinString
            For i = 1 To Len(A)
                DecW = DecW * 2
                DecW = DecW + Val(Mid(A, i, 1))
            Next i
            Bin2Dec = DecW
        End Function
     
        Private Function ConvertToBinary(ByVal lngQuotient As Long) As String
            Dim strBinary As String
            Dim strReturn As String
            Dim i As Integer
            i = 100
            Do
                If Len(strBinary) = 100 Then Exit Do
                strBinary = strBinary & "0"
            Loop
            Do While lngQuotient
                Mid(strBinary, i, 1) = CStr(lngQuotient Mod 2)
                lngQuotient = lngQuotient \ 2
                i = i - 1
            Loop
            strReturn = Right(strBinary, 100 - i)
            ConvertToBinary = strReturn
        End Function
     
    End Module  
    --------------------------------------------------------
     
     
    Добавлено:
    Rush
    Может поможешь мне решить 2ю,3ю,4ую задачки???
     
    Добавлено:
    Решил сам, так как на руборде не дождешся....  
     
    2я задчка
     
    Вторая задачка:
    Код:
    Module Module1
        Dim B() As Long, K As Long, i As Long, max As Long
     
        Sub Main()
            Randomize()
            Do
                Console.WriteLine("Введите кол-во элеменов массива(0-40) - ")
                K = CLng(Console.ReadLine)
                If (K <= 40) And (K >= 0) Then
                    ReDim B(K)
                    Exit Do
                End If
            Loop
            Console.WriteLine("Элементы массива:")
            For i = 0 To UBound(B)
                B(i) = Rnd() * 999
                Console.WriteLine("Элемент[" & i & "]=" & B(i))
                If B(i) > max Then max = B(i)
            Next
            Console.WriteLine("Максимальный элемент массива - " & max)
            Console.ReadLine()
            'Определить максимальный еле мент массива B(k), Bi < 0, K=<40. *(i - нижний индекс)
        End Sub
     
    3я задачка:
     
    Module Module1
        Dim A(,) As Long, N As Long, x As Long, y As Long, maxY As Long, max As Long, sum As Long
     
        Sub Main()
            Randomize()
            Do
                Console.WriteLine("Введите размер квадратной матрицы(0-10) - ")
                N = CLng(Console.ReadLine)
                If (N <= 10) And (N >= 0) Then
                    ReDim A(N, N)
                    Exit Do
                End If
            Loop
            Console.WriteLine("Элементы матрицы:")
            For y = 0 To N 'выбор строки
                For x = 0 To N 'выбор элемента строки
                    A(x, y) = Rnd() * 999
                    If A(x, y) > max Then
                        max = A(x, y)
                        maxY = y
                    End If
                    Console.Write("  " & A(x, y))
                Next
                Console.WriteLine()
            Next
            For x = 0 To N
                sum = sum + A(x, maxY)
            Next
            Console.WriteLine("Сумма элементов строки[" & maxY + 1 & "] = " & sum)
            Console.ReadLine()
        End Sub
     
    End Module
    End Module
     

    Всего записей: 10 | Зарегистр. 24-10-2007 | Отправлено: 15:29 01-12-2007
    gifin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    будте добры подскажите как транслировать вот такое регулярное выражение ПХП
     
    "!<a[^>]*\shref=[\"']?([^>\"'#\s]+)[\"']?[^>]*>!is"
     
    для VB
     
    требуется выдрать все ссылки со страницы
     
    не пинайте, решение для VB не нашел, а мозги раскарячить для этих выражений никак не получается.
     

    Всего записей: 48 | Зарегистр. 01-09-2005 | Отправлено: 23:00 01-12-2007
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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