Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Задачи на Visual Basic (VB).

Автор: zelinski
Дата сообщения: 13.05.2006 03:34
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 вообще не получается. Или я что-то неправильно делаю?
Автор: dneprcomp
Дата сообщения: 14.05.2006 19:47
zelinski
53-я ошибка означает, что не существует такого файла или неправильный path. Попробуй строку
FileCopy TinyFileName, "d:\hmm3rulez\" & TinyFileName
написать с полным адресом
FileCopy "Полный путь к файлу" & TinyFileName, "d:\hmm3rulez\" & TinyFileName
Проверь, существует ли "d:\hmm3rulez\". Может где какую букву забыл? Проверь в дебаге, что попадает в переменные. Может слеш лишний. Или наоборот, не хватает. Вот тебе пример работы со всеми файлами в директории.
[more=Display the names in C:\ that represent files.]'Display the names in C:\ that represent files.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbNormal) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a file.
If (GetAttr(MyPath & MyName) And vbNormal) = vbNormal Then
Debug.Print MyName ' Display entry only if it represents a file
End If
End If
MyName = Dir ' Get next entry.
Loop[/more]

И убери в Private Sub Drive1_Change() строку File1.Path = Dir1.Path. Она лишняя. У тебя ведь уже происходит присвоение на Private Sub Dir1_Change()

Добавлено:

Цитата:
И ещё, копировать с помощью команды Shell вообще не получается
А Shell и не предназначен для копирования. Как ты хочешь сделать копирование с Shell?
Автор: sauno
Дата сообщения: 09.06.2006 00:53
как с помощью VB добавит рег файл в регистр? точнее не файл а содержание файла который должно быт в самом теле программы на VB

допустим надо добавит следующее:

--------------------------------------------------------
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\adpu160m]
"ErrorControl"=dword:00000001
"Group"="SCSI miniport"
"Start"=dword:00000004
"Tag"=dword:0000003c
"Type"=dword:00000001
--------------------------------------------------------

Заранее благодарю
Автор: dneprcomp
Дата сообщения: 09.06.2006 05:31
sauno
Ты что, считаешь что твой вопрос должен быть в каждой теме?
Автор: ItsJustMe
Дата сообщения: 10.06.2006 00:22
ну, во-первых не регистр, а реестр, а во-вторых Declare тебе поможет. Или, если VBA, юзай System.PrivateProfileString
Автор: dneprcomp
Дата сообщения: 10.06.2006 01:27
ItsJustMe
Почему так категорично именно реестр? И что там о Declare? Много чего можно Declare. Может быть не будешь столь туманно выражаться?
Автор: towa
Дата сообщения: 10.06.2006 13:44
Помоги с данным заданием - создаём форму с текстовым полем (TextBox1) и одной кнопкой (Button1). в текстовое поле вводится арифметическое выражение из чисел и операций. Числа состоят из одной цыфры, а операции либо "+" либо "-". Например, вводим : 1+2+3-4. Принажатии на кнопку должен выводиться результат вычислений, в данном случае: 2.

Алгоритм понятен - идёт проверка на знак + или - и производим соотв. действие. Но проблема в том, что я не знаю как получить доступ к конкретному элементу строки.. Если у нас


Код: Dim a,b As String
Dim i As integer
Автор: dneprcomp
Дата сообщения: 10.06.2006 18:02
towa
Используй функцию Instr. Она выдаст позицию элемента в строке. С помощью функций Left, Right, Mid получаешь значения. Не забудь об приоритетах исполнения вычислений(умножение перед сложением) и скобках. Что ты хотел показать кодом не понял.
PS. Когда обращаешься к кому-то, то неплохо кликнуть слева на нике. Тогда ник попадет в сообщение и будет понятно для кого оно.
Автор: towa
Дата сообщения: 16.06.2006 12:38
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
Автор: Troitsky
Дата сообщения: 16.06.2006 18:21
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
Автор: towa
Дата сообщения: 16.06.2006 21:45
Troitsky
да, примерно так и написано в книжке по Visual Basic 6.0. Но у меня 2005 и там я вообще не вижу у элемента свойство Index.. и кстати он требует чтобы тут
Код: b=New Button()
Автор: dneprcomp
Дата сообщения: 17.06.2006 02:11
Troitsky
У towa VB.Net. Видно по примененому синтаксису 'New Drawing.Size'

towa
Попробуй объявлять полностью b=New System.Windows.Forms.Button.
В примере присутствует строка Imports System? Если нет, добавь в самое начало. Должно быть что-то вроде
Код: Option Strict Off
Option Explicit On
Imports System
Автор: KiRyX
Дата сообщения: 22.06.2006 02:05
Как макросом все формулы и числа в большом документе MS Word заменить вот так:
PV=(m/M)RT [обычный текст] -> PV=(m/M)RT [объект Microsoft Equation 3.0]

Признак формулы - знаки арифметических действий и только латинские символы и цифры.
Автор: dneprcomp
Дата сообщения: 22.06.2006 03:21
KiRyX
VB и VBA несколько разные вещи. Спроси в Word VBA
Автор: zerkalo77
Дата сообщения: 11.08.2006 00:55
О великие знатаки VB. Обращаюсь к вам за помощью. Пишу прогу по базе данных сотрудников. Но тут такое дело. В базу необходимо добавлять фото. У меня есть USB камера. Как мне захватить с нее изображение и отобразить в моей форме. Перековырял всё, что можно было перековырять. Нигде ничего толком по этому поводу не написано.
Т.е. мне надо отобразить видео с камеры в PictureBox на форме. На ВАС одна надежда. ХЭЛП МИ ПЛИЗ!!!
Автор: dneprcomp
Дата сообщения: 11.08.2006 05:43
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


Добавлено:
Вот сижу теперь и думаю, а правильно ли я сделал, что ответил. Ты ведь просил только великих
Автор: zerkalo77
Дата сообщения: 11.08.2006 14:27
Огромное спасибо за ответ, О ВЕЛИКИЙ dneprocomp. Тут такое дело. Не хочется использовать TWAIN. Это такая сабака барабака... Постоянно выдает свое окно, а вот именно это мне и не нравится. Я хочу просто отображать видео в своем окне, а не через окно TWAINа.
.......

Не знаю как сказать точнее.....

Хочу через directShow. Это возможно? И если возможно, то как? Ну как directShow протащит в .NET 2005

Заранее спасибо за ответ.....
Автор: dneprcomp
Дата сообщения: 11.08.2006 18:59
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. Все забываю спросить, кто же самый красивый?
Автор: zerkalo77
Дата сообщения: 11.08.2006 19:52
dneprcomp
Большое. Огромное человеческое спасибо. Ща буду ковырять. Предположительно должно помочь....
Надеюсь, что если прийдется еще раз обратится, то ты меня не пошлешь куда подальше...
P.S. По поводу красивого... это не ко мне. Я как-то больше по девушкам...
Автор: dneprcomp
Дата сообщения: 11.08.2006 20:39
zerkalo77
Дальше интернета не пошлют.
PS. Забыл, забыл классику мультфильмов - "Самый, самый, самый..."
Автор: zerkalo77
Дата сообщения: 13.08.2006 01:28
dneprocomp
И все -таки огромное спасибо. Проверил, поюзал. Супер. То, что доктор прописал. Правда раскуривать пришлось. У меняж проект на VB, а тут C#. Просто так не экспортируешь. В общем пришлось помучаться. А в целом СПАСИБО ОГРОМНОЕ.
P.S. А про классику действительно забыл. Давно это было.......
Автор: lexrem
Дата сообщения: 24.08.2006 20:26
Такая проблема, понадобилось модифицировать давным-давно написанную программу, которая среди прочего выводила звуковые файлы Wav через winAPI функцию PlaySound.
Этих файликов побольшало, и я решил их в mp3 конвертануть. И оказалось, что PlaySound mp3 не играет. Это так и есть, или что-то у меня не доделано? И если так и есть, чем еще можно в визуале проиграть mp3 (визуал у меня 5.0)
Сорри, если вопрос совсем уж ламерский.
Автор: dneprcomp
Дата сообщения: 24.08.2006 21:39
lexrem
WinAPI понимает только wav. Используй DirectShow
http://www.vbforums.com/showthread.php?t=357381
Автор: lexrem
Дата сообщения: 25.08.2006 00:06
dneprcomp
Огромное спасибо... Начал копать в этом направлении, в итоге наткнулся на миниатюрный контрол MP3Play.Ocx
http://www.vbcodesource.com/control.html
Как раз то, что мне надо. Может еще кому понадобится.
Автор: CMD
Дата сообщения: 02.09.2006 09:48
Кто нибудь может подсказать как юзать метод InvokeContextMenuCommand (класс ShellNameSpace, shdocvw.dll). Не нашел нигде примеров
Автор: WELL
Дата сообщения: 07.09.2006 07:54
Такой вопрос по VB-макросам для Outlook 2003.
При получении нового письма сделал чтобы письмо автоматом помечалось как прочитанное и помещалось в папку "удаленные".
А как сделать, чтобы в этом случае в трэе не появлялся конвертик, что типа пришло новое письмо?
Автор: Aspirantt
Дата сообщения: 07.09.2006 15:17
Можно ли из VB6 (не в VBA) обрабатывать книги .xls (в них у меня входная информация для обработки)?
Автор: Troitsky
Дата сообщения: 07.09.2006 16:10
Aspirantt
Можно.
Подключаешь в Project/References Microsoft Excel Object Library и можешь писать код, типа:
Код:
Dim objExcel As Excel.Application
Dim objWorkbook As Excel.Workbook

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\test.xls")

' ну и собственно что собираемся проделать
a = objWorkbook.sheets(3).cells(5, 2).Value
' или
objWorkbook.sheets(3).cells(5, 2).Value = a
' и т.п.

objWorkbook.Close SaveChanges:=False
Set objWorkbook = Nothing
Set objExcel = Nothing

Автор: WELL
Дата сообщения: 11.09.2006 03:55
По поводу:

Цитата:
Такой вопрос по VB-макросам для Outlook 2003.
При получении нового письма сделал чтобы письмо автоматом помечалось как прочитанное и помещалось в папку "удаленные".
А как сделать, чтобы в этом случае в трэе не появлялся конвертик, что типа пришло новое письмо?

Вот тут ответили: http://www.cracklab.ru/f/index.php?action=vthread&forum=7&topic=6186
Автор: Deni005
Дата сообщения: 17.09.2006 14:47
Прошу прощения за офтоп, но кроме как здесь не нашел где спросить.
Есть ли данная прога(VB 6.0) но для смартфонов или КПК?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940

Предыдущая тема: для Hiper-six (индексы .nsx .smt) хоть что нибудь Опции


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.