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

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



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp, проблему с FileListBox уже решил. За filList.Pattern = "*.txt; *.doc" - мерси!
    Хотелось мне написать на Visual Basice (6-й русифицированный, без хелпа) программу, чтобы перемещаться по папкам и при нажатии на кнопку, все файлы из текущей папки с расширениями "txt" и "doc" копировались бы в папку d:\hmm3rulez. Понял, что не смогу (если "filList.Pattern = "*.txt; *.doc"" поможет - здорово! Но если у меня проблема с копированием одного файла, то при копировании нескольких файлов, боюсь что она только усугубится.) и стал писать, чтобы хотя бы один файл, на который я покажу копировался бы. Но тут возникли вопросы: 1). Почему иногда при копировании файлы копируются, но в папке d:\hmm3rulez оказываются пустыми (нулевого размера)? 2). Почему иногда при копировании файлы не копируются, а появляется ошибка: "Ошибка во время выполнения программы '53'"? 3). Почему при переходе на диск "С:" ВСЕГДА появляется 53-я ошибка?  
    Фрагмент программы:
      Public TinyFileName As String
      Dim PathSearch As String
      Dim FileName As String
      Dim DiskName As String
    Private Sub Dir1_Change()
      File1.Path = Dir1.Path
    End Sub
    Private Sub Drive1_Change()
      DiskName = Drive1.Drive
      Dir1.Path = DiskName
      File1.Path = Dir1.Path
    End Sub
    Private Sub File1_Click()
      TinyFileName = File1.FileName
      FileCopy TinyFileName, "d:\hmm3rulez\" & TinyFileName
    End Sub
    И ещё, копировать с помощью команды Shell вообще не получается. Или я что-то неправильно делаю?

    Всего записей: 471 | Зарегистр. 24-04-2003 | Отправлено: 04:34 13-05-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zelinski
    53-я ошибка означает, что не существует такого файла или неправильный path. Попробуй строку  
           FileCopy TinyFileName, "d:\hmm3rulez\" & TinyFileName  
    написать с полным адресом
           FileCopy "Полный путь к файлу" & TinyFileName, "d:\hmm3rulez\" & TinyFileName  
    Проверь, существует ли "d:\hmm3rulez\". Может где какую букву забыл? Проверь в дебаге, что попадает в переменные. Может слеш лишний. Или наоборот, не хватает. Вот тебе пример работы со всеми файлами в директории.
    Display the names in C:\ that represent files.
     
    И убери в Private Sub Drive1_Change() строку File1.Path = Dir1.Path. Она лишняя. У тебя ведь уже происходит присвоение на Private Sub Dir1_Change()  
     
    Добавлено:

    Цитата:
    И ещё, копировать с помощью команды Shell вообще не получается
    А Shell и не предназначен для копирования. Как ты хочешь сделать копирование с Shell?

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 20:47 14-05-2006 | Исправлено: dneprcomp, 20:50 14-05-2006
    sauno

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как с помощью VB добавит рег файл в регистр? точнее не файл а содержание файла который должно  быт в самом теле программы на VB
     
    допустим надо добавит следующее:
     
    --------------------------------------------------------
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\adpu160m]
    "ErrorControl"=dword:00000001
    "Group"="SCSI miniport"
    "Start"=dword:00000004
    "Tag"=dword:0000003c
    "Type"=dword:00000001
    --------------------------------------------------------
     
    Заранее благодарю

    Всего записей: 22 | Зарегистр. 07-06-2006 | Отправлено: 01:53 09-06-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sauno
    Ты что, считаешь что твой вопрос должен быть в каждой теме?

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 06:31 09-06-2006
    ItsJustMe

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ну, во-первых не регистр, а реестр, а во-вторых Declare тебе поможет. Или, если VBA, юзай System.PrivateProfileString

    Всего записей: 2028 | Зарегистр. 02-09-2005 | Отправлено: 01:22 10-06-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ItsJustMe
    Почему так категорично именно реестр? И что там о Declare? Много чего можно Declare. Может быть не будешь столь туманно выражаться?

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 02:27 10-06-2006
    towa



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помоги с данным заданием - создаём форму с текстовым полем (TextBox1) и одной кнопкой (Button1). в текстовое поле вводится арифметическое выражение из чисел и операций. Числа состоят из одной цыфры, а операции либо "+" либо "-". Например, вводим : 1+2+3-4. Принажатии на кнопку должен выводиться результат вычислений, в данном случае: 2.
     
    Алгоритм понятен - идёт проверка на знак + или - и производим соотв. действие. Но проблема в том, что я не знаю как получить доступ к конкретному элементу строки.. Если у нас  
     

    Код:
    Dim a,b As String
    Dim i As integer

     
    то так не написать
     

    Код:
    a[i]=b[i]

     
    помогите разобраться с этим пожалуйста

    Всего записей: 95 | Зарегистр. 02-04-2005 | Отправлено: 14:44 10-06-2006 | Исправлено: towa, 14:45 10-06-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    towa
    Используй функцию Instr. Она выдаст позицию элемента в строке. С помощью функций Left, Right, Mid получаешь значения. Не забудь об приоритетах исполнения вычислений(умножение перед сложением) и скобках. Что ты хотел показать кодом не понял.  
    PS. Когда обращаешься к кому-то, то неплохо кликнуть слева на нике. Тогда ник попадет в сообщение и будет понятно для кого оно.

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 19:02 10-06-2006
    towa



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp, спасибо.
     
    У меня следующий вопрос - при загрузки формы необходимо создать на ней N*N кнопок, пропорции по отношению к форме должны быть соблюдены. Событие Form_Load()

    Код:
    Dim b As Button
            Dim f As Form1
            Dim N As Integer
     
     N = 8
            b = New Button
    For i=1 To (N*N-1)
     With b
               ...
                .Size = New Drawing.Size(f.height/N, f.width/N)   'ВОТ ТУТ ПОЧЕМУ-ТО ОШИБКА Ж(
                ...
            End With

     
    в чём моя ошибка?

    Всего записей: 95 | Зарегистр. 02-04-2005 | Отправлено: 13:38 16-06-2006
    Troitsky



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

    Цитата:
    b = New Button

    Насколько знаю, не допускается использование ключевого слова New для элементов управления. Код, идущий далее совсем непонятен.
    Попробуй сделать, например, так. Создай во время разработки элемнт управления CommandButton и назнач его свойству Index значение 0. А дальше пользуй такой код:
    Код:
      Dim i As Integer
      Dim N As Integer
      Dim W As Integer
      Dim H As Integer
       
      N = 8
       
      W = Me.ScaleWidth / N
      H = Me.ScaleHeight / N
       
      Button(0).Move 0, 0, W, H
      Button(0).Caption = Str(0)
       
      For i = 1 To (N * N - 1)
        Load Button(i)
        Button(i).Move (i Mod N) * W, (i - (i Mod N)) / N * H, W, H
        Button(i).Caption = Str(i)
        Button(i).Visible = True
      Next i


    ----------
    Мы в хорошем настроении гуляем по лесам.
    Кто обидеть нас захочет – сам получит по усам.
    Сам полу- получит по усам. Сам полу- получит по усам!

    Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 19:21 16-06-2006
    towa



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Troitsky
    да, примерно так и написано в книжке по Visual Basic 6.0. Но у меня 2005 и там я вообще не вижу у элемента свойство Index.. и кстати он требует чтобы тут
    Код:
    b=New Button()
    New было.. Вобщем ещё одна проблемя с 2005-ым - как записать выражение на нескольких строках, в старых версиях требовалось поставить в конце строки "_" а тут этого нельзя сделать

    Всего записей: 95 | Зарегистр. 02-04-2005 | Отправлено: 22:45 16-06-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Troitsky
    У towa VB.Net.  Видно по примененому синтаксису 'New Drawing.Size'
     
    towa
    Попробуй объявлять полностью b=New System.Windows.Forms.Button.  
    В примере присутствует строка Imports System? Если нет, добавь в самое начало. Должно быть что-то вроде
    Код:
    Option Strict Off
    Option Explicit On
    Imports System

    Что касается продолжения строк с помощью "_" , то у меня вроде работает.
    MS обещала вернуть индексы в Net2005. Значит не вернули. Индекс можно имитировать, используя массивы объектов.

    Код:
    Dim arBtns(2) as Button
    arBtns(0)=Button1
    arBtns(1)=Button2
    arBtns(2)=Button3

    Теперь в цикле можно обращаться к любым свойствам Button. Если неизвестно сколько Buttons, объявляешь динамический массив и инициализируешь позже

    Код:
    Dim arBtns() as Button
    Redim arBtns(N * N)


    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 03:11 17-06-2006 | Исправлено: dneprcomp, 03:19 17-06-2006
    KiRyX



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Как макросом все формулы и числа в большом документе MS Word заменить вот так:
    PV=(m/M)RT [обычный текст] -> PV=(m/M)RT [объект Microsoft Equation 3.0]
     
    Признак формулы - знаки арифметических действий и только латинские символы и цифры.

    Всего записей: 199 | Зарегистр. 17-11-2003 | Отправлено: 03:05 22-06-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KiRyX
    VB и VBA несколько разные вещи. Спроси в Word VBA

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 04:21 22-06-2006
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    О великие знатаки VB. Обращаюсь к вам за помощью. Пишу прогу по базе данных сотрудников. Но тут такое дело. В базу необходимо добавлять фото. У меня есть USB камера. Как мне захватить с нее изображение и отобразить в моей форме. Перековырял всё, что можно было перековырять. Нигде ничего толком по этому поводу не написано.  
    Т.е. мне надо отобразить видео с камеры в PictureBox на форме. На ВАС одна надежда. ХЭЛП МИ ПЛИЗ!!!

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 01:55 11-08-2006 | Исправлено: zerkalo77, 02:01 11-08-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zerkalo77
    По видимому, тебе надо работать с TWAIN. Посмотри, может подойдет
    http://www.dbforums.com/archive/index.php/t-341886.html
    http://www.webcom.com/victor/howto/twain_vb.html
    http://www.chestysoft.com/ximage/twaindemo.asp
    http://www.itshareware.com/prodview-code_335--download-vintasofttwain-activex-control.htm
     
     
    Добавлено:
    Вот сижу теперь и думаю, а правильно ли я сделал, что ответил. Ты ведь просил только великих

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 06:43 11-08-2006
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Огромное спасибо за ответ, О ВЕЛИКИЙ dneprocomp. Тут такое дело. Не хочется использовать TWAIN. Это такая сабака барабака... Постоянно выдает свое окно, а вот именно это мне и не нравится. Я хочу просто отображать видео в своем окне, а не через окно TWAINа.  
    .......
     
    Не знаю как сказать точнее.....
     
    Хочу через directShow. Это возможно? И если возможно, то как? Ну как directShow протащит в .NET 2005
     
    Заранее спасибо за ответ.....

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 15:27 11-08-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zerkalo77
    This experimental code shows how to use DirectShow with .NET and C#.  
    DirectX Video Stream and frame capture in .NET
    DirectX.Capture Class Library for capturing audio and video to AVI files in .NET
     
    PS. Все забываю спросить, кто же самый красивый?

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 19:59 11-08-2006 | Исправлено: dneprcomp, 20:11 11-08-2006
    zerkalo77



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dneprcomp
    Большое. Огромное человеческое спасибо. Ща буду ковырять. Предположительно должно помочь....
    Надеюсь, что если прийдется еще раз обратится, то ты меня не пошлешь куда подальше...
    P.S. По поводу красивого... это не ко мне. Я как-то больше по девушкам...

    Всего записей: 70 | Зарегистр. 02-06-2006 | Отправлено: 20:52 11-08-2006 | Исправлено: zerkalo77, 21:30 11-08-2006
    dneprcomp



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zerkalo77
    Дальше интернета не пошлют.
    PS. Забыл, забыл классику мультфильмов - "Самый, самый, самый..."

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:39 11-08-2006
    Открыть новую тему     Написать ответ в эту тему

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