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

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

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

    Цитата:
    Помогите пожалуйста решить одну задачку. Она простая, но я сам ничего не смыслю в VB. Нужно создать две кнопки. Первая для ввода 10-ти чисел, вторая для вычисления среднего арифметического положительных чисел.  
    Буду очень благодарен.

    Dim X(10) As Double
    Dim s As Double
    Dim k, i As Integer
    Dim otvet As Variant
    Option Explicit
     
    Public Sub Command1_Click()
    For i = 1 To 10
    X(i) = InputBox("X")
    Next i
    End Sub
     
    Public Sub Command2_Click()
    s = 0
    k = 0
    For i = 1 To 10
    If X(i) > 0 Then
    s = s + X(i)
    k = k + 1
    Else
    End If
    Next i
    s = s / k
    otvet = MsgBox("Результат" & Chr(10) & Chr(13) & s)
    End Sub
    Прим.
    Вместо длительного msgbox можно воспользоваться коммандой Print, но ответ тогда печатается на форме.

    Всего записей: 1 | Зарегистр. 30-06-2008 | Отправлено: 07:37 30-06-2008
    Bosper

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ помагите, я ещё плохо знаю программироваие, только учусь на программиста, не подскажите пару задач на Qbasic тоже начил с нуля, мне трудновато.

    Всего записей: 3 | Зарегистр. 09-07-2008 | Отправлено: 15:12 09-07-2008
    vtronza



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    На тестовой машине подключался к LDAP серверу при помощи VBS и получал все что мне необходима. Теперь задача усложнилась, для подключения к LDAP серверу нужно задать имя пользователя и пасворд т.е. на запросы anonymous он больше не отвечает.  
    Как в VBS задать параметр  authenticated query?  
     
    Const ADS_SCOPE_SUBTREE = 2  
    Set objConnection = CreateObject("ADODB.Connection")  
    Set objCommand =   CreateObject("ADODB.Command")  
    objConnection.Provider = "ADsDSOObject"  
    objConnection.Open "Active Directory Provider"  
    Set objCommand.ActiveConnection = objConnection  
    objCommand.Properties("Page Size") = 1000  
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
       
    'WScript.Echo "Executing LDAP query.."  
    objCommand.CommandText = "SELECT * FROM 'LDAP://server' WHERE objectClass='dominoPerson' AND uid='user1'"  
    Set objRecordSet = objCommand.Execute  
    WScript.Echo objCommand.CommandText  
    'WScript.Echo "Query complete. Found "  
    ' & objRecordSet.RecordCount & " objects."  
       
    objRecordSet.MoveFirst  
    Do Until objRecordSet.EOF  
    Set objUser = GetObject(objRecordSet.Fields("ADsPath").Value)  
    WScript.Echo objUser.mailserver  
    WScript.Echo objUser.mailfile  
    WScript.Echo objUser.mail  
    objRecordSet.MoveNext  
    Loop

    Всего записей: 8 | Зарегистр. 24-02-2008 | Отправлено: 15:03 10-07-2008
    FriendSergey

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    дравствуйте, коллеги.  
    Изначальная задача. которая реализовалась - создание БД из N-го кол-ва однотипных файлов Excel (>1000). Модуль написан и работает. Трудность заключается в том, что выгружает данные он с 1го листа в книге, а необходимо загружать с листа с определенным названием, а лист этот не всегда присутствует в книге.  
    Прошу подсказать как дополнить модуль функцией проверки наличия в книге листа с заданным именем и вставить в тело программы комманду о соответствующей проверке и выгрузке данных, если лист есть.  
    За основу можно взять лист c названием "Заемщик".
     
    С программированием знаком, но с VBA не сталкивался, а во времени ограничен.  
    Буду благодарен за понимание и Ваше время.  
     
    Прикрепить исходные файлы не смог, выкладываю код:
     
    Sub ReadFiles_()
        Dim fs As Object, xl As Object, v_Path As String, i As Long
        '
        Range("a4:p" & Rows.Count).ClearContents
        Range("a4:p4") = Array("Имя файла из папки", "Данные ячейки 2", "Данные ячейки 3")
        v_Path = Range("a3") ' Путь к папке с файлами Excel
        Set fs = Application.FileSearch
        Set xl = CreateObject("Excel.application")
        fs.LookIn = v_Path
        fs.Filename = "*.xls" ' тип файлов
         If fs.Execute > 0 Then
            For i = 1 To fs.FoundFiles.Count
                xl.DisplayAlerts = False
                xl.Workbooks.Open fs.FoundFiles(i)
                With xl.Sheets(1)
                    Range(Cells(i + 4, 2), Cells(i + 4, 16)) = _
                        Array(.Range("a1"), .Range("g6"), .Range("g7"))
                    Cells(i + 4, 1) = fs.FoundFiles(i)
                End With
                xl.Workbooks(1).Close
            Next i
            xl.Quit
         End If
        Set fs = Nothing
        Set xl = Nothing
    End Sub

    Всего записей: 1 | Зарегистр. 11-07-2008 | Отправлено: 13:20 11-07-2008
    Legio



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Чего вы у него спросили -- то и выдал:

    Код:
    With xl.Sheets(1)

     
    Заверните With в поиск нужного листа. Например, такой:

    Код:
     
    for sheetIndex = 1 to Sheets.Count
         
        If Sheets(sheetIndex).Name = "Заемщик" Then
             
            With ...
                ...
            End With
             
        End If
         
    next sheetIndex
     

    Всего записей: 695 | Зарегистр. 01-08-2003 | Отправлено: 19:26 11-07-2008
    alin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Troitsky, Yuk и The okk.
    Больше года назад помогли написать этот код, сильно благодарен им за это, т.к он всё это время работал без перебоев!

    Код:
    strDate = Day(Now()) & "." & Month(Now())
    intHour = Hour(Now()) + 1
     
    Set objExcel = CreateObject("Excel.Application")
     
    objExcel.Workbooks.Open "test.xls"
    With objExcel.ActiveWorkbook
        If .Sheets(1).Name <> strDate Then ' создаем лист если его не существует
            .ActiveSheet.Copy .Sheets(1)
            .Sheets(1).Name = strDate
            ' перенос данных с 24:00 на 0:00
            .Sheets(1).Range("E3:E25").Value = .Sheets(1).Range("AD3:AD25").Value
            .Sheets(1).Range("E27:E31").Value = .Sheets(1).Range("AD27:AD31").Value
            ' очистка области
            .Sheets(1).Range("F3:AD25", "F27:AD31").ClearContents
        End If
         
        With objExcel.ActiveWorkbook.Sheets(1)
            ' в зависимости от часа заполняем нужные области
            .Range(.Cells(3, 6 + intHour), .Cells(18, 6 + intHour)).Value _
                = .Range("AE3:AE18").Value
            .Range(.Cells(22, 6 + intHour), .Cells(25, 6 + intHour)).Value _
                = .Range("AE22:AE25").Value
            .Range(.Cells(27, 6 + intHour), .Cells(31, 6 + intHour)).Value _
                = .Range("AE27:AE31").Value
        End With
         
        .Close True
    End With
     
    Set objExcel = Nothing

    Сейчас рабочая программа изменилась и возникли трудности, с которыми спешу поделится.
    Ссылки которые сейчас копируются берутся не из сторонней программы, а из базы SQL. В следствии чего в EXСEL,  добавлена надстройка, позволяющая получать ссылки из базы.
    Программа (test.vbs с данным кодом) запускается в фоновом режиме и при открытии данные с базы не получаются.
    Пробовал поставить задержку WScript.Sleep не помогло. Выяснилось, что книга открывается, но данные в ссылках не обновляются, т.к надстройка вроде как подключена, но не идёт обновление данных.
    Помогите, каким образом мне можно подправить ситуацию.
    Заранее благодарен!

    Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 21:37 11-07-2008 | Исправлено: alin, 12:13 14-07-2008
    yava52

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте ребята.
    Подскажите пожалуйста, можно ли сделать авторан для запуска игры средствами VB.
    Меня интересует диалоговое окно с круглыми краями, активация кнопок, если игра установленна или не установленна, вставка анимационных gif'ов. Заранее спасибо.

    Всего записей: 2 | Зарегистр. 15-07-2008 | Отправлено: 09:43 15-07-2008
    nick_27

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Private Sub Command1_Click()
       wins.RemoteHost = "81.177.13.7"
       wins.RemotePort = 6900
       wins.LocalPort = 3434
       wins.Connect
       If wins.State = sckConnected Then
          Label1.Caption = "Connected"
       Else
          Label1.Caption = "Error"
       End If
     
     
    Данный код ВСЕГДА возвращает Error.Порт на удаленном хосте открыт.Но хост не поддрерживает пакеты типа ping...на сервере закрыт этот вид трафика.
     
    Заранее спасибо

    Всего записей: 14 | Зарегистр. 26-01-2006 | Отправлено: 19:57 28-07-2008
    delover

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто подскажет, как-то скачал один скриптик, помоему кто-то с борды писал из старых знакомых. Скриптик сохранял картиночки с офисных кнопок. Но у меня закралось сомнение, что версия для xp офиса, это последняя версия скрипта. Мне бы урл на свежую, или может скриптик принести? Мне думается что в виста офисе картинки на батончиках не 16х16. Я пробовал поправить, но так как не знаю бмп формата, то получилось кривенько. Какие будут предложеня?

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 15:10 07-08-2008 | Исправлено: delover, 10:45 08-08-2008
    apexfmm



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    delover
    Не парся, интерфейс под висту заточен под VisualStudio.NET

    ----------
    -Если вы не испытываете желания преступить хоть одну из десяти заповедей - значит, с вами что-то не так
    [WINXP SP3eng, Intel P75, CoreDuoE7400 2.8GHz, 2Gb DDR2, Radeon HD4830]

    Всего записей: 782 | Зарегистр. 28-04-2005 | Отправлено: 06:10 08-08-2008
    delover

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    apexfmm
    И что это значит? Паскаль с дотнетом, с ним я вполне лажу, а VS у меня только неро имидж. Ещё не ставил ни разу.

    Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:38 08-08-2008 | Исправлено: delover, 11:30 29-08-2008
    Wu Tang



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет.
    Друзья помогите сделать скрипт vbs из bat:

    Код:
     
    @echo off
    set key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
    reg add %key%\001 /ve /d "delete" /f
    reg add %key%\001 /v 1 /d "%WinDir%\Del Files & Folders.vbs" /f
    del /f /q %0
    exit
     

    И правильно ли я написал батник, цель-дабавление файла в автозагрузку, удаление его после одного запуска из автозагрузки и самоудаление.

    Всего записей: 3773 | Зарегистр. 15-10-2007 | Отправлено: 17:27 16-08-2008
    Wu Tang



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

    Всего записей: 3773 | Зарегистр. 15-10-2007 | Отправлено: 18:37 27-08-2008
    0wL



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день.
    Кто поможет написать простенький аудиоконвертер (wav to wma) на VB (Visual Studio 2008)?

    Всего записей: 80 | Зарегистр. 20-09-2003 | Отправлено: 11:55 16-09-2008
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    0wL
    http://www.google.com/search?hl=en&q=vb.net+audio+converter+source&btnG=Search

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:11 17-09-2008
    nerobol

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, пожалуйста, решить задачку на visual Basic 6.0.
     
    Дана транспортная сеть из 10 узлов, расстояние мы задаем сами (заносим в массив 10x10) если между какими-то узлами нет прямой дороги то расстояние большое (бесконечность)  
     
    Из имеющихся дорог составить кратчайшую сеть пользователь указывает какую-то связь, которая должна быть в схеме. Если пользователь указывает какую-то связь, которая должна быть в схеме. Если пользователь указывает перегон, где нет прямого сообщения, то программа пишет - ошибка.
    ПРограмма должна составить минимальную транспортную сеть.
     
    расстояние между пунктами должно быть минимальным и можно было бы проехать.
     
    Заранее спасибо.

    Всего записей: 17 | Зарегистр. 01-04-2007 | Отправлено: 08:55 05-10-2008
    CEMEH



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    День добрый.
    В программировании я еще новичок. Делал некоторые вещи на VBA Excel. Теперь хочу освоить Microsoft Visual Basic 2008 Express Edition (с мелкософта скачал).
    Помогите освоить. ЮзерФорму нарисовал, а как теперь сделать exe?
    Глупый, наверное, вопрос но для меня это оч необходимо. Дальше пойдет само, как по маслу.

    Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 22:37 05-10-2008 | Исправлено: CEMEH, 22:40 05-10-2008
    Knigaz

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как программно определить, поместится ли текущий документ при печати на печатный лист (по правой границе)? Чтобы выяснить, нужно ли менять ориентацию страницы на альбомную или там уменьшать шрифт...
    В форуме Word VBA спросил - и уже 3 недели никто не отзывается... Неужели никто не знает?

    Всего записей: 8 | Зарегистр. 21-09-2008 | Отправлено: 23:10 13-10-2008
    ItsJustMe

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CEMEH
    build спасет отца русской демократии.

    Всего записей: 2025 | Зарегистр. 02-09-2005 | Отправлено: 02:03 14-10-2008
    MasterAR

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
     
    Установил VB 6.0 работало отлично в Widows XP SP2. Но когда переустановил Windows XP SP3 (Zver CD август 2008), потом установил VB и в конце установки выдает ошибку: scrrun.dll was unable to register itself in the system registry
     
    У меня стоит новя версия scrrun.dll 5.7.0.18066, а требуется версия 4.0.0.2926 (этот файл у меня есть, т.е. есть у VB). Пытался заменить файл в system32, меняет но потом опять свой восстанавливает. Пытался регистрировать, все равно толку нет. Погугли и нашел инфу, что с помощью программы Regmon как то регистрируют этот dll. По-моему там при установке, Windows запрещает регистрировать старой версией. Программа то работает, запускается, а вот деинсталляция - нет, ошибка. Думаю что и другие компоненты работают не правильно.
     
    Только что начал изучать Visual Basic (диплом на нем буду писать), а тут такое...
     
    Как решить эту проблему? Помогите пожалуйста!!!
     
    Может быть есть более новые версии Visual Basic (руссификатор+крэк+самоучителль по этой версии)? Если есть дайте пожалуйста ссылки или инфу на эту тему.
     
    З.Ы. До установки VB, сделал бэкап винды с помошью акрониса, потом восстановил.
     
    С уважением, MasterAR.

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

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