DataWriter... Компонование файлов для записи. Проблема...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

DataWriter... Компонование файлов для записи. Проблема...

Сообщение kibernetics » 09.08.2007 (Чт) 12:02

Кто на борту форума мог бы глянуть и натолкнуть на решение одной проблемы по записи компактов?

Есть длл-ка, есть пример записывания компактов. Однако в примере, данные записываются путем перетягивания файлов в тривью драг'н'дропом. Мне же нужно записывать только те файлы, путь которых я хочу подавать самостоятельно через textbox или файл с перечислением путей папок и файлов, другими словами просто выборочная запись файлов, а не целиком всей директории. Но запарка в том, что длл-ке подсовываются данные каким-то особым образом, которого я не могу понять...

Гляньте пожалуйста, как решить проблему. Есть хелп по SDK, приложен...
Вложения
DataWriter.rar
Соурс
(569.82 Кб) Скачиваний: 70

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 09.08.2007 (Чт) 12:28

Файлы добавляются методом Add класса FileLayout:
Код: Выделить всё
    Set mobjDataImage = DVDEngineX1.CreateDataImage()
    Set mobjFileLayout = mobjDataImage.GetFileLayout()

Private Sub OLEDragDrop(Data As MSComctlLib.DataObject)
    'поскипано
    For Each varItem In Data.Files
        strTempPath = CStr(varItem)
        strItemToAdd = GetLastPathItem(strTempPath)
        If IsPathDirectory(strTempPath) Then
            Call mobjFileLayout.AddFolder(strTempPath & "\*.*", strSelectedImagePath & "\" & strItemToAdd)
        Else
            Call mobjFileLayout.AddItem(strTempPath, strSelectedImagePath & "\" & strItemToAdd)
        End If
    Next
Лучший способ понять что-то самому — объяснить это другому.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.08.2007 (Чт) 12:44

Antonariy
а как создать произвольный список файлов, вместо Data.Files? Как вообще занести файлы в Data?
приведи пожалуйста пример добавления папки, и файла...

Просто, если делать так,
Код: Выделить всё
Call mobjFileLayout.AddFolder(strTempPath & "\*.*",  strSelectedImagePath & "\" & strItemToAdd)

то добавляется регурсивно вся папка. Как добится добавления только выбранных файлов?
Последний раз редактировалось kibernetics 09.08.2007 (Чт) 13:01, всего редактировалось 1 раз.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.08.2007 (Чт) 12:59

Что по твоему обозначает метод AddItem?
Lasciate ogni speranza, voi ch'entrate.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.08.2007 (Чт) 13:14

alibek
добавляет айтем. но мне нужно добавить айтем, допустим, в конретную папку (возможно какой-то подпапки), то создастся ли она автоматически(папка), или нужно будет еще как-то папку пустую (в тривью) создавать?

т.е. в моём файл-листе есть записи:
C:\Test\File1.txt
C:\Test\File2.txt
C:\Test\File3.txt
C:\Test\Folder2\File1.txt

хотя, на диске в этой папке 7 файлов:
C:\Test\File1.txt
C:\Test\File2.txt
C:\Test\File3.txt
C:\Test\File4.txt
C:\Test\File5.txt
C:\Test\Folder1\File1.txt
C:\Test\Folder2\File1.txt

если я сделаю через:
Код: Выделить всё
AddItem

ноды в тривью создадутся также как расположены каталоги?
CD
..|__Test
....|__File1.txt
....|__File1.txt
....|__File1.txt
..|__Folder2
....|__File1.txt

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.08.2007 (Чт) 13:38

А нельзя проверить самому?
Lasciate ogni speranza, voi ch'entrate.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.08.2007 (Чт) 14:21

Господа, ваши советы бесценны!
Спасибо!

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.08.2007 (Чт) 14:49

А кстати, можно ли как-то получить список всех файлов с путями, которые предназначаются на запись из FileLayout?

Там есть метод GetRoot, но не могу понять как его использовать.
Код: Выделить всё
objTemp = FileLayoutX.GetRoot

неработает. синтаксис явно неверный...

но как-то же можно получить список, или нет?

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 09.08.2007 (Чт) 17:59

Из текста постов я понял что есть переменная Data с (видимо коллекцией) Files. Так может получится получить список файлов циклом:
Код: Выделить всё

For each fl in Data.Files
    MsgBox fl.text 'или как там..
Next
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.08.2007 (Чт) 18:07

burik
да, но если файл был удалён из класса FileLayoutX, или наоборот добавлен, то придётся очищать весь FileLayoutX, и вновь заносить обновленный Data.Files в него. Т.е. придётся постоянно держать открытым Data.Files и вносить изменения синхронно и в Data.Files и в FileLayoutX

как-то известна же длл-ке структура образа диска и все пути его формирующие. вот какбы их заполучить? или класс может быть так сформирован, что пути могут быть ниоткуда не видны, а только использоваться каким-либо внутренним спсобом для записи дисков?

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 10.08.2007 (Пт) 14:18

всё. спасибо..
проблема решена
благодаря, Antonariy


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Majestic-12 [Bot] и гости: 11

    TopList