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

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



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

    Цитата:
    Дана форма, в ней PictureBox и Кнопка, в PictureBox'е картинка, как сделать,  
    чтоб после нажатия кнопки рисунок вращался по часовой или против часовой стрелки????

    можно сделать путем перерисовки с новыми координатами. Попробуйте на это счет книжки поштудировать. И лучше данные сообщения в своей ветке писать.
    kennygirl
    держай:
     
    Цитата:
    Module Module1
     
        Sub Main()
     Dim m, f, sm, nach_z, kon_z, del As Double
            Dim Srednee As Double
            nach_z = 10 'Начальное значение
            kon_z = 40 'Конечное значение
            sm = 0 'Обнуляем переменную
            For m = nach_z To kon_z Step 5 'Берем массу в тоннах с шагом в 5 тонн
                f = (33.43 * m) + 10166
                Console.WriteLine("Масса:" & m & ", оплата:" & f) 'Выводим на экран соответсвие массы к оплате
                sm = sm + f 'Общая сумма, нужна для расчета средней платы
            Next
            del = ((kon_z - nach_z) / 5) + 1 'вычисляем на что нам делить
            Srednee = sm / del ' общую сумму делим на значение del
            Console.WriteLine("Средняя оплата:" & Srednee)
    1:
            Dim ans As String
            Console.WriteLine("Ну вот и все. Выходим? [да] [нет]: ")
            ans = Console.ReadLine()
            If ans = "нет" Then
                GoTo 1
            End If
        End Sub

    Если надо вводить данные оставил "пути отступления": значения nach_z и kon_z, как вводить можно посмотреть из прошлого моего примера плюс убрать присвоение после Dim'ов.
     
     

    Всего записей: 59 | Зарегистр. 08-06-2007 | Отправлено: 01:20 22-06-2007 | Исправлено: Cosmo_vk, 01:22 22-06-2007
    Danceangel

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите,где можно найти теоретическую базу по VB.Завтра сдавать экзамен(((
    Вопросы такие:
    1.Базовые элементы языка.
    2.Интегрированная среда(Редактор VB)
    3.Структура программы.
    4.Типы данных.
    5.Типы данных.Совместимость типов и значений,финкции приеобразования типов.
    6.Тип данных String.Функции для обработки строк.
    7.Организация ввода-вывода в программе.
    8.Организация линейной структуры в программе.
    9.Построение условных конструкции в программе.
    10.Организация циклов в программе.
    11.Структурированные типы данных.Массивы.Типичные операции над массивами.
     
    Если кто-то хорошо разбирается в написании массивов и может объяснить или дать ссылку на хорошую литературу,буду очень благодарна.

    Всего записей: 1 | Зарегистр. 10-06-2007 | Отправлено: 15:47 23-06-2007
    Cosmo_vk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Danceangel
    да-а-а, чего-то вы "рано" собрались за книжками.
    Ну ладно:  
    вот книги  
    Чарльз Петцольд  
    Программирование для Microsoft Windows на Microsoft Visual Basic .NET. в 2-х т.
    разжовано до невозможности(но по объему более 1000страниц, т.к. что до завтра точно не прочитать)
    т.1: к сожалению ссылки нет, придется искать
    т.2(размер:91метр): _http://rapidshare.com/files/30672729/Programmirovanie.dlya.Microsoft.Windows.na.Microsoft.Visual.Basic.NET.T.2.2003._www.all-eBooks.com_.
    Книжка по проще, если найдете то вам сказачно повезло:
    Уоллес Вонг. Visual Basic .NET для чайников, опять же ссылки нет.

    Всего записей: 59 | Зарегистр. 08-06-2007 | Отправлено: 16:41 23-06-2007 | Исправлено: Cosmo_vk, 16:44 23-06-2007
    VAD87

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, сорцы криптора на вб некто не видел?

    Всего записей: 80 | Зарегистр. 25-06-2007 | Отправлено: 01:11 04-07-2007
    HellSatan



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

    Всего записей: 29 | Зарегистр. 04-07-2007 | Отправлено: 00:03 05-07-2007 | Исправлено: HellSatan, 22:02 06-07-2007
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброго дня.
     
    Помогите кто может. Пробема в следующем:
     
    Не могу нигде найти MCI microsoft multimedia control 6.0
     
    Прочитал в книге следующий абзац:
    "Для управления мультимедиа используется элемент управления MCI microsoft multimedia control, который позволяет выполнять все необходимые действия с устройствами мультимедиа. Чтобы этот элемент управления можно было использовать в приложении, необходимо подключить к проекту библиотеку Microsoft Multimedia Control 6.0, используя вкладку COM диалогового окна Add Reference, открываемого командой Add Reference меню Project. Для отображения элемента управления Microsoft Multimedia Control в окне Toolbox необходимо воспользоваться диалоговым окном Choose Toolbox Items, открываемым одноименной командой Tools."
     
    Так вот я не могу найти у себя этого С_т_РАН_н_ОГО элемента. Да и не только его. Библиотека тоже напрочь отсутствует.
     
    Подскажите где взять эту библиотеку. Плиз. Задолбался ковырять NET. Ничего похожего...

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 06:59 13-07-2007
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zerkalo77

    Цитата:
    необходимо подключить к проекту библиотеку Microsoft Multimedia Control 6.0

    Находится в MCI32.OCX. Входит в стандартный VB6.

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 16:05 13-07-2007
    5555555



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с идеей...
    Нужно мониторить один постоянно пополняемый лог-файл (по определенной строке в файле - определенное событие необходимо выполнять, например отправку сообщения на почту).
    Какой алгоритм наиболее приемлим в данном случае? (основной вопрос - отслеживаение изменения файла и каким-то образом выяснение, что изменилось-добавилось).

    Всего записей: 2589 | Зарегистр. 01-04-2004 | Отправлено: 09:11 17-07-2007
    Acmos



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите найти инфу по использованию TAPI в VB6

    Всего записей: 28 | Зарегистр. 31-08-2004 | Отправлено: 12:42 23-07-2007
    melniki

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите!
    задача: есть БД в ней таблицы, одна из таблиц bins. в ней два столбика bin и bank. Есть форма в которой необходимо проводить проверку:
    Sub Form_Current()
        If Left(номер, 6) = [данные с таблицы bins столбца bin] Then
            Переключатель16.Visible = False
            Переключатель14.Visible = True
        Else
            Переключатель16.Visible = True
            Переключатель14.Visible = False
        End If
    End Sub
     
    Помогите с синтаксисом - [данные с таблицы bins столбца bin].
    или подскажите как перечислить 30-40 значений
     
    Спасибо

    Всего записей: 4 | Зарегистр. 24-07-2007 | Отправлено: 17:31 24-07-2007
    5555555



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    melniki
    похоже тут плохо с бейксистами
    что касается Вашей задачи - надо было указать что за формат базы, способ подключения к ней, но в общем случае:
    1. подключаемяс к базе
    2. создаем набор Recordset
    3. цикл с первого по последний Recordcount
    4. значение поля = ВашRecordset.Fields("Имя поля")
    для текущей записи.
     

    Всего записей: 2589 | Зарегистр. 01-04-2004 | Отправлено: 17:43 24-07-2007
    melniki

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    база Access
    все пишу прямо в ней, это не отдельное приложение.
     
    Option Compare Database
     
    Sub Form_Current()  
    If Left(номер, 6) = 406660 Then  
    Переключатель16.Visible = False  
    Переключатель14.Visible = True  
    Else  
    Переключатель16.Visible = True  
    Переключатель14.Visible = False  
    End If  
    End Sub  
    End Sub
     
    это рабочий пример, но работает только со значением 406660, а мне надо с несколькими 406660, 425547, 676622.....

    Всего записей: 4 | Зарегистр. 24-07-2007 | Отправлено: 18:05 24-07-2007
    5555555



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    melniki
    тогда вам скорее в раздел vp for application...
    не помню как в acceess, но надо в цикле проходить через все записи в цикле - свойства обьекта (выборки или таблицы) - MoveNext
    (Таблица.MoveNext)

    Всего записей: 2589 | Зарегистр. 01-04-2004 | Отправлено: 18:27 24-07-2007
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    melniki

    Цитата:
    это рабочий пример, но работает только со значением 406660, а мне надо с несколькими 406660, 425547, 676622.....

    Не совсем понятно, что нужно то...
    Если числа это определенный набор констант, то можно и определить его в виде константы:

    Код:
     
    Const NUM = "@406660@425547@676622@"
    Dim numval$
    numval = "@" & Left(номер, 6) & "@"
    If InStr(NUM, numval) Then  
    Переключатель16.Visible = False  
    Переключатель14.Visible = True  
    Else  
    Переключатель16.Visible = True  
    Переключатель14.Visible = False  
    End If  
     
     
    Константу, конечно, можно расширить до нужных пределов.
     
     
     
    Добавлено:
    Сейчас посмотрел несколько назад на посты - заметил, что из колонки надо брать.
    Сам с Access не работал никогда и не знаю, какой там синтаксис таблицы. Но принцип все равно одинаковый.
    Берется колонка в цикл и формируется переменная (пример для простейшего листбокса):
     

    Код:
     
    Dim num$, numval$, i%
    num = "@"
    For i = 0 To List1.ListCount - 1
    num = num & List1.List(i) & "@"
    Next i
     
     
    Ну а дальше по предыдущей схеме...

    Код:
     
    numval = "@" & Left(номер, 6) & "@"  
    If InStr(num, numval) Then    
    Переключатель16.Visible = False    
    Переключатель14.Visible = True    
    Else    
    Переключатель16.Visible = True    
    Переключатель14.Visible = False    
    End If  
     

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 20:56 24-07-2007
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    melniki
    Я бы несколько видоизменил логику, описанную Rush и 5555555, что бы избежать лишних сравнений и перемещений.
    *Select Case выбран из соображения удобства добавки новых условий. Можно использовать If Then
    **rst.BOF добавлен, т.к. не помню что там возвращает Access при пустом рекордсете.
     
        Dim rst as DAO.Recordset
        Dim Flag as boolean
     
        Flag=False
     
        Do While Not rst.EOF Or rst.BOF '
            Select Case Left(номер, 6)
                Case "406660", "425547", "676622"   'и так далее
                      Flag=True
                      rst.Close
                      Exit Do
            End Select
            rst.MoveNext
        Loop  ' move to next record
       
        Переключатель16.Visible = Flag    
        Переключатель14.Visible = Not Flag    

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 23:33 24-07-2007 | Исправлено: dneprcomp, 00:47 25-07-2007
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp

    Цитата:
    Select Case выбран из соображения удобства добавки новых условий

    Извини, но в корне не согласен. Оператор Select Case обрабатывает условия в десятки раз более медленно, чем функция InStr. Кроме того - запись в константу и гораздо компактнее и удобнее, чем городить структуру Case. А работа с текстовой переменной (или константой) намного быстрее последовательного чтения, который ты предложил.

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 13:15 25-07-2007
    5555555



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Rush
    чего спорить-то - вопрошающий ушел давно
     
    неизвестно ничего - редактируемые ли значения 406..., нужна ли таблица и т.п.
    что instr из константы 40x8(?)byte(или long?), что case - маленькое удовольствие...
     

    Всего записей: 2589 | Зарегистр. 01-04-2004 | Отправлено: 13:37 25-07-2007
    melniki

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нет, не ушел.
    Я внимательно слежу за ответами
    Спасибо всем за помощь!!!
    Выбрал вариант
     
    Const NUM = "@406660@425547@676622@"  
    Dim numval$  
    numval = "@" & Left(номер, 6) & "@"  
    If InStr(NUM, numval) Then  
    Переключатель16.Visible = False  
    Переключатель14.Visible = True  
    Else  
    Переключатель16.Visible = True  
    Переключатель14.Visible = False  
    End If  
     
    Но столкнулся с проблемой, значений очнь много, около 50, и все не помещаются.
    Очень хотелось бы подтягивать эти начения с таблицы или с запросса. Типа [bins]![bin] (таблица bins, столбец bin)

    Всего записей: 4 | Зарегистр. 24-07-2007 | Отправлено: 14:40 25-07-2007
    5555555



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ' примитив чтения из таблицы на VB, на access - похоже
    Dim db As Database, r As Recordset
    Переключатель16.Visible = False  
    Переключатель14.Visible = False  
    Set db = OpenDatabase("path_to_database.mdb")
    Set r = db.OpenRecordset("Таблица1")
    r.MoveFirst 'переход на первую запись
    Do While Not r.EOF 'опрос записей
    ' ваша часть
     If Left(номер, 6) = r.Fields("Имя").Value Then  
            Переключатель16.Visible = False  
            Переключатель14.Visible = True  
        Else  
            Переключатель16.Visible = True  
            Переключатель14.Visible = False  
        End If
    r.MoveNext 'перейти на следующую запись
    Loop
    r.Close ‘закрыть указатель на обьект
    db.Close‘закрыть указатель на обьект

    Всего записей: 2589 | Зарегистр. 01-04-2004 | Отправлено: 14:51 25-07-2007
    melniki

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пробую так:
     
    Private Sub Form_Current()
    Dim db As Database, r As Recordset
    Set db = OpenCurrentDatabase
    Set r = db.OpenRecordset(Bins)
    r.MoveFirst
    Do While Not r.EOF
     If Left(Номер, 6) = r.Fields(Bin).Value Then
            Переключатель16.Visible = False
            Переключатель14.Visible = True
        Else
            Переключатель16.Visible = True
            Переключатель14.Visible = False
        End If
    r.MoveNext
    Loop
    r.Close
    db.Close
    End Sub
     
    И не получается, ругается на db As Database user-defined type not defined

    Всего записей: 4 | Зарегистр. 24-07-2007 | Отправлено: 15:58 25-07-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