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

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

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

    Цитата:
    Даже не думай, установка прав доступа - это API + вызов системных библиотек.
    Поройся в готовых модулях (интернет тебе в руки!) и пошукай установку прав доступа.

     
    imho такие вещи проще решить здесь "задачах на bat-файлах". Только я не понял, в каком формате у него прописано соответствие пользователей и папок, и соответственно, каким образом вычленять параметры командной строки для cacls.
     
    Кстати, можно поискать и cacls.vbs. Я как-то давно на его на сайте microsoft натыкался...

    Всего записей: 32 | Зарегистр. 26-07-2008 | Отправлено: 17:12 03-12-2008
    sadasaf



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обработка файлов данных.  
    Исходные данные о предприятиях: код, название, год начала реконструкции (не ранее 1995г., число лет реконструкции не более пяти), год окончания реконструкции (не позже 2005 г.), планируемые затраты на каждый год реконструкции. Число предприятий не определено. Записать данные в файл. Используя данные в файле, найти общие планируемые затраты на реконструкцию за заданный год.  
     
     

    Всего записей: 216 | Зарегистр. 18-08-2008 | Отправлено: 19:51 03-12-2008
    sadasaf



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




    я тут есть. За подобные посты можно ридонли выпросить.

    Всего записей: 216 | Зарегистр. 18-08-2008 | Отправлено: 19:05 04-12-2008 | Исправлено: ShIvADeSt, 03:21 05-12-2008
    vikas612

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

    Всего записей: 2 | Зарегистр. 05-12-2008 | Отправлено: 12:19 05-12-2008
    Shader378



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем помоги те пожалуйста, есть задача по VB6 а лекции были не очень ,немного непонятно как делать  
    Условие:Получить матрицу B(M,N) путем из матрицы А(M,N) путем переставлением  столбцов первого с последним, второго с предпоследним и т.д.

    Всего записей: 114 | Зарегистр. 26-11-2008 | Отправлено: 15:29 08-12-2008
    Stitchi16

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача сохранить матрицу (3х3) и т.д. в бд access, как можно сделать загрузку и выгрузку результирующией матрицы(DataGreed).

    Всего записей: 37 | Зарегистр. 08-03-2007 | Отправлено: 17:52 08-12-2008
    Legio



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Shader378
    Это не та задача, по которой "лекции были не очень" хоть на что-нибудь влияло бы. Необходимы для решения: а). знать, что есть такая штука, массивы (aka матрицы); б). знать, что есть такая штука, как For.
     

    Код:
     
        ' число строк
        Const M = 4
        ' число столбцов
        Const N = 5
         
        Dim i As Integer, j As Integer
        Dim A(1 To M, 1 To N) As Double
        Dim B(1 To M, 1 To N) As Double
         
         
        ' заполнение матрицы A чем-нибудь
        Randomize
         
        For i = 1 To M
             
            For j = 1 To N
                 
                A(i, j) = Rnd()
                 
            Next j
             
        Next
         
         
        ' перестановка столбцов матрицы A в матрицу B
        For i = 1 To M
             
            For j = 1 To N
                 
                B(i, (N - j + 1)) = A(i, j)
                 
            Next j
             
        Next
     
       
         
     
    +проверка

    Код:
     
        ' проверка перестановки
        Dim checkString As String
         
        For i = 1 To M
             
            For j = 1 To N - 1
                 
                checkString = checkString & Format(A(i, j), "0.00") & " | "
                 
            Next j
             
            checkString = checkString & Format(A(i, N), "0.00") & vbCrLf & vbCrLf
             
        Next
         
        checkString = checkString & vbCrLf & vbCrLf & "* * * * * * *" & vbCrLf & vbCrLf & vbCrLf
         
        For i = 1 To M
             
            For j = 1 To N - 1
                 
                checkString = checkString & Format(B(i, j), "0.00") & " | "
                 
            Next j
             
            checkString = checkString & Format(B(i, N), "0.00") & vbCrLf & vbCrLf
             
        Next
         
        MsgBox checkString
     

    Всего записей: 695 | Зарегистр. 01-08-2003 | Отправлено: 20:57 08-12-2008
    Shader378



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Legio спасибо тебе большое.. Нам просто показали как объявлять матрицы,циклы мы тоже проходили но до меня не дошло как связать все это...
     
    Вот еще одна проблема с другим заданием  нужно в матрице-строке упорядочить числа по возрастанию и убыванию(повесив эти операции на разные кнопки соответственно)
     
    у меня не проходит написанный ниже цикл( выделяет желтым 5ую строку, массив объявлен до этого цикла, Text1 - текстовое поле в которым записан исходный массив), в чем там ошибка, или я вообще не правильно делаю
     

    Код:
     
    Private Sub butVozrastanie_Click()
    Text1.Text = vbClear
    Dim TempItem As String
    For i = 1 To 10
        If Massiv(i) > Massiv(i + 1) Then 'если один элемент больше другого то меняем их местами
        TempItem = Massiv(i)
        Massiv(i) = Massiv(i + 1)
        Massiv(i + 1) = TempItem
        End If
    Next i  
    End Sub
     

     
    и как сделать чтобы упорядоченный массив перезаписал исходный в текст поле Text1

    Всего записей: 114 | Зарегистр. 26-11-2008 | Отправлено: 23:33 08-12-2008
    Legio



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Shader378
    Где он объвлен? Внутри функции (как локальная переменная)?
    Кроме того, размерность массива какая? От 1 до 10? Тогда в последней итерации (при i = 10) непременно будет ругаться -- сравниваются Massiv(10) и Massiv(11), но 11-го элемента у массива нет. (Короче говоря, проще привести весь код).
     

    Цитата:
    и как сделать чтобы упорядоченный массив перезаписал исходный в текст поле Text1


    Код:
     
        Dim TempString As String
         
        For i = 1 To 10
         
            TempString = TempString & vbCrLf
         
        Next i
         
        Text1.Text = TempString
     

    Вместо vbCrLf можно использовать какой-нибудь другой разделитель (например, " | ", и. т. п.).
    (Для корректной работы с vbCrLf, свойство MultiLine у Text1 должно быть установлено в True).

    Всего записей: 695 | Зарегистр. 01-08-2003 | Отправлено: 05:51 09-12-2008 | Исправлено: Legio, 05:52 09-12-2008
    Shader378



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Legio
     
    Вот весь код который я сделал
     

    Код:
     
    Dim Massiv(1 To 10)
     
    Private Sub but_enter_items_Click() 'при нажатии на эту кнопку ввод массива с клавиатуры
     
    For i = 1 To 10
     
         Massiv(i) = Val(InputBox("Enter Item number" & i))
     
         Text1.Text = Text1.Text & " " & Massiv(i)
    Next i
     
    End Sub
     
     
    Private Sub butVozr_Click()
     
    Text1.Text = vbClear
     
    Dim TempItem As String
     
    For i = 1 To 10
         
        If Massiv(i) > Massiv(i + 1) Then 'если один элемент больше другого то меняем их местами
         
        TempItem = Massiv(i)
         
        Massiv(i) = Massiv(i + 1)
         
        Massiv(i + 1) = TempItem
         
        End If
     
    Next i
     
    End Sub
     
    Private Sub butUbyvanie_Click()
     
    Text1.Text = vbClear
     
    Dim TempItem2 As String
     
    For i = 1 To 10
         
        If Massiv(i) < Massiv(i + 1) Then 'если один элемент меньше другого то меняем их местами
         
        TempItem2 = Massiv(i)
         
        Massiv(i) = Massiv(i + 1)
         
        Massiv(i + 1) = TempItem2
         
        End If
     
    Next i
     
    End Sub
     


    Всего записей: 114 | Зарегистр. 26-11-2008 | Отправлено: 08:19 09-12-2008 | Исправлено: Shader378, 08:19 09-12-2008
    Mont1

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

    Цитата:
    Задача сохранить матрицу (3х3) и т.д. в бд access, как можно сделать загрузку и выгрузку результирующией матрицы(DataGreed).

    Загрузка
     
    datPrimaryRS.Recordset.AddNew
    datPrimaryRS.Recordset.Fields(0) = a(i,1)
    datPrimaryRS.Recordset.Fields(1) = a(i,2)
    datPrimaryRS.Recordset.Fields(2) = a(i,3)
    datPrimaryRS.Recordset.Update
    datPrimaryRS.Refresh
     
    Восстановление
     
    datPrimaryRS.Recordset.MoveFirst
    for i=1 to 3
    a(i,1)=datPrimaryRS.Recordset.Fields(0)  
    a(i,2)=datPrimaryRS.Recordset.Fields(1)
    a(i,3)=datPrimaryRS.Recordset.Fields(2)
    datPrimaryRS.Recordset.MoveNext
    next i

    Всего записей: 49 | Зарегистр. 15-10-2008 | Отправлено: 11:35 09-12-2008
    Stitchi16

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не понятно, пишет: datPrimaryRS - не объявлен и a то же не объявлен, и как будет выглядеть в access матрица? Надо же создавать таблицу и т.д. Объясните пожалуйста. А размер матрицы я привёл как для примера, она может быть и 2 на 3 и 10 на 10...

    Всего записей: 37 | Зарегистр. 08-03-2007 | Отправлено: 12:24 09-12-2008 | Исправлено: Stitchi16, 12:25 09-12-2008
    zolivan

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

    Всего записей: 46 | Зарегистр. 24-10-2006 | Отправлено: 13:08 09-12-2008 | Исправлено: zolivan, 13:15 09-12-2008
    TURNSKIN85



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

    Всего записей: 41 | Зарегистр. 17-03-2008 | Отправлено: 15:28 09-12-2008 | Исправлено: TURNSKIN85, 16:22 09-12-2008
    Legio



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Shader378
    1. Замени в "сортировках" верхнюю границу For'а на 9 (как я и написал, выходишь за границы массива).
    2. Сортировка у тебя работает некорректно При таком решении "в лоб" цикла должно быть два (один вложен в другой).
    Поясню на примере:
    1,2,3,4,7,6,8,11,9,5
    После сортировки по возрастанию станет:
    1,2,3,4,6,7,8,9,5,11
     
    И тут остаётся либо жать на кнопку сортировки, пока не текст в Text1 не перестанет меняться, либо написать сортировку корректно -- чтобы всё работало с одного нажатия

    Всего записей: 695 | Зарегистр. 01-08-2003 | Отправлено: 20:30 09-12-2008
    Shader378



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Legio спасибо тебе огромное... у меня заработала по совершенно другому алгоритму))))
     
    1) находим минимальное щначение из 1 до 10 и ставим его на первое место
    2) находим минимальное значение из 2 до 10 и ставим его на первое место в интервале от 2 до 10 место и т.д
     
     

    Всего записей: 114 | Зарегистр. 26-11-2008 | Отправлено: 21:31 09-12-2008 | Исправлено: Shader378, 00:09 10-12-2008
    Mont1

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

    Цитата:
    datPrimaryRS - не объявлен и a то же не объявлен

    a - это твоя матрица, которую надо экспортировать
    datPrimaryRS - это имя adobc объекта
     

    Цитата:
    А размер матрицы я привёл как для примера, она может быть и 2 на 3 и 10 на 10...

    Используй вложенные циклы
     
    datPrimaryRS.Recordset.MoveFirst  
    for i=1 to т
    for j=1 to m
    a(i,j)=datPrimaryRS.Recordset.Fields(j-1)  
    next j
    datPrimaryRS.Recordset.MoveNext  
    next i
     

    Цитата:
    Надо же создавать таблицу  

    sub NewTable
    Dim db As ADODB.Connection  
    Dim rs As ADODB.Recordset  
    Dim strConn As String  
    Dim strSQL As String  
    pathMDB = "C:\BD.mdb"
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & pathMDB  
    Set db = New ADODB.Connection  
        db.Open strConn  
        strSQL = "create table newtable (Pole1 varchar(10), Pole2 varchar(10), ...... )" ' SQL запрос на создание таблицы  
        db.Execute strSQL, , adCmdText + adExecuteNoRecords  
        db.Close  
    Set db = Nothing  
    End Sub  

    Всего записей: 49 | Зарегистр. 15-10-2008 | Отправлено: 05:55 10-12-2008
    dimeon91

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

    Всего записей: 1 | Зарегистр. 11-12-2008 | Отправлено: 19:44 11-12-2008
    Pantalone



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Товарищи дорогие коллеги, может ли кто осилить мировую проблему работы алгоритма Blowfish на юникодных строках? Проблема в том что ни один алгоритм Blowfish для строк, который я пробовал, не работает на японской или китайской локали, при попытке хотябы с английскими буквами поиграть. И мало того, русская текстовая строка закодированная будучи на русской винде, на английской же фиг раскодируется обратно!
    Вот примерчик
    Если у кого мозга хватить осилить сию упорную проблему, буду безмерно рад.
    А я опускаю руки, моего уровня для ее решения не хватает к сожалению. Или это такой алгоритм бестолковый и никчемный?

    Всего записей: 728 | Зарегистр. 16-02-2004 | Отправлено: 01:37 12-12-2008 | Исправлено: Pantalone, 01:40 12-12-2008
    LostWarrior



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, помогите пожалуйста
    Есть Вэб-сервис, написаный на Java, но это не принципиально
     
    Пытаюсь сделать клиент на VB.NET (VS8)
    Сгенерировал прокси классы средствами VS, все ок
     
    Но возникла проблема - не могу передать удаленному методу в качестве параметра объект
    Если параметры - строка, число то все супер, а экземпляр сложного класса не передает
     
    При этом в качестве результата принимает любые объекты
    Пробовал сервис и в режиме RPC, и DOCUMENT - без изменений
     
    Вот пример вызова:

    Код:
     
            Dim cs As New ContractServiceService
     
            Dim bService(0) As billRequestService
            Dim bServiceItem As New billRequestService
            With bServiceItem
                '.dateFrom=
                '.dateTo=
                .tariffId = 57647452
                '.sum = 99
            End With
            bService.SetValue(bServiceItem, 0)
     
            Dim bSubService(0) As billRequestSubservice
            With bSubService(0)
                '.dateFrom
                '.dateTo
                '.subserviceId = 111
                '.sum
                '.count
            End With
     
            Dim bOrder As New billRequest
            With bOrder
                .contractId = 34328918 '185888
                .serviceId = 24850210 'Интернет
                .dateFrom = CType("01/01/2009", Date)
                .dateTo = CType("31/01/2009", Date)
                '    .messageId=
                .services = bService
                '    .subservices=
                '    .actionId=
                '    .allowCredit=
                .userId = 1 'admin
            End With
     
            Try
                bOrder = cs.getBill(bOrder)
                cs.Dispose()
     
                LogBox.Text = "---getBill---" & vbNewLine
                LogBox.Text += "billId=" & bOrder.billId.ToString & vbNewLine
                LogBox.Text += "billDate=" & bOrder.billDate.ToString & vbNewLine
                LogBox.Text += "filename=" & bOrder.filename.ToString & vbNewLine
                LogBox.Text += "serviceName=" & bOrder.serviceName.ToString & vbNewLine
                LogBox.Text += "typeName=" & bOrder.typeName.ToString & vbNewLine
                LogBox.Text += "~~~~~~~~~~~~~~~~~" & vbNewLine
                LogBox.Text += "fileData=" & bOrder.fileData.ToString & vbNewLine
                LogBox.Text += "---------------------" & vbNewLine
     
            Catch ex As Exception
                cs.Dispose()
                LogBox.Text = "---ERROR:getBill---" & vbNewLine
                LogBox.Text += "Message=" & ex.Message.ToString & vbNewLine
                LogBox.Text += "~~~~~~~~~~~~~~~~~" & vbNewLine
                LogBox.Text += "Full Log=" & ex.ToString & vbNewLine
                LogBox.Text += "---------------------" & vbNewLine
            End Try
     
     

     
    Если знаете в чем может быть проблема - поделитесь опытом

    Всего записей: 170 | Зарегистр. 13-01-2003 | Отправлено: 16:42 19-12-2008 | Исправлено: LostWarrior, 16:49 19-12-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