Определение пути КПК

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
А копирование в корень работает, или опять перестало?
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
А кнопка 2. Перечислить всё - в нормальном виде перечисляет?
Покажи пару примеров пути, которые выведет в консоль.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Теперь всё понятно. У тебя объекты в виде идентификаторов. У меня - в виде полного пути.
Я немного дописал программу. Попробуй теперь запустить, нажать пункт 29.
Должны появится имена всех файлов и папок 1-го уровня и соответствующие им идентификаторы.
Как только увидишь там свою папку Pictures, то при попытке скопировать файл вводи не ее имя, а ID.

На счет VB6, это довольно сложно. Там приходится переписывать библиотеку интерфейсов, т.к. там типизация данных не поддерживается VB6 напрямую.
Проще на C++ создать dll, и её подключить к твоему проекту VB6.
 

Вложения

  • WpdApiSample2.zip
    105.8 KB · Просмотры: 2

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Я правильно сделал?
Код:
DEVICE = (null)
s10001 = (null)
o1 = Music
o3 = Ringtones
o6 = Pictures
o7 = Movies
o8 = Download
o9 = DCIM
oC = Logs
oD = ASUS
o10 = Android
o444E = 2gisMobile
o9E31 = Mail.Ru
o9E32 = WeatherTime
oFFA3 = documents
oFFA4 = Fonts
o3094C = viber
o4250A = DownloadAndUploadCache
o42688 = CrystalExpressGlobal
o6EABE = 22.JPG



=======================================


>s10001\o6
! Failed to write 262144 bytes of object data to the destination stream, hr = 0x
80070057
! Failed to transfer object to device, hr = 0x80070057
Вот,вот так удача:
Код:
>o6
Read 90996 bytes from the source stream...Wrote 90996 bytes to the destination s
tream...
The file 'C:\Users\Fire\Pictures\2.jpg' was transferred to the device.
The newly created object's ID is 'o6EABF'
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
На счет VB6, это довольно сложно. Там приходится переписывать библиотеку интерфейсов, т.к. там типизация данных не поддерживается VB6 напрямую.
Проще на C++ создать dll, и её подключить к твоему проекту VB6.
Проект не такой и сложный - если dll писать заморочка,то могу заморочиться на С++
Когда то ж надо начинать))
неее, надо просто o6
Все получилось,я уже так попробовал ранее,спасибо.
Секретом поделишься?
объекты в виде идентификаторов
Интересно на разных устройствах это будет разный идентификатор или нет?
Завтра надо попробовать.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Интересно на разных устройствах это будет разный идентификатор или нет?
Да. Разный.
Секретом поделишься?
Каким секретом?
Проект не такой и сложный - если dll писать заморочка,то могу заморочиться на С++
Когда то ж надо начинать))
Не сложно.
Если серъезно заниматься не собираешься, то начинать не стоит. Лучше уж сразу VB.NET (с учётом того, что ты VB6 как никак знаешь).
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Угу. Только я их давно не собирал, а если и собирал, то на Си. Надо вспомнить.
Теперь осталось придти к финалу...путь определился.
А тут секрет небольшой. Маппинг будет от обратного. Перечисление корня, и при совпадении имени с искомым берём его идентификатор.

По тех.заданию не совсем понятно:
Пока делаем одну полного объема для пустых устройств и несколько по датам.
Что значит по датам?
И папка, с которой синхронизироваться, в ней будут подкаталоги?
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
по датам - значит папка: имя_дата
что бы весь объем картинок (а это несколько гигов) не заливать заново,а затем не перезаписывать в базе просто докидывается объем фоток, скажем, за неделю
папка, с которой синхронизироваться, в ней будут подкаталоги?
если только те,о которых только что говорил - понедельные.
если что,можем просто выделить каталог под все фото-но мне не кажется что это умный ход.
зато формат имен каталогов соблюдать можно легко любой-для более приятного комплектования к коду.
с которой синхронизироваться, в ней будут подкаталоги?
туплю похоже уже,ночь - на компе как говорил,каталоги по датам,а на кпк все в одной папке,одной кучей с уникальными именами.
На кпк в синхронизируемом каталоге вложенных подкаталогов нет.
На компьютере файлы лежат на сетевом диске.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Понял. То есть на сетевом подкаталоги есть в 1 уровень.
Но на КПК все файлы нужно слаживать в одну папку, т.к. все они с уникальными именами. Так?
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Над твоим последним пожеланием в ЛС пришлось здорово помозговать.
Скачивай новую версию. Нужна проверка.

Выбираешь устройство, как обычно.
Затем вводишь 30.
Вводишь относительный путь к подкаталогу, куда тебе нужно скопировать фотки (без буквы диска), например: pictures\pic1\10.01.2016
В ответ должен получить идентификатор этой папки.

Ну и теперь заодно попробуй ввести этот идентификатор по нажатию меню 6 (копирование фото на ус-во).
 

Вложения

  • WpdApiSample3.zip
    55.3 KB · Просмотры: 1

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,250
Реакции
6,279
Хм...


upload_2016-7-25_7-55-18.png
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Ах, сорри. Менял тип проекта.
Пробуй с этим:
 

Вложения

  • WpdApiSample.zip
    213.1 KB · Просмотры: 4

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,643
Реакции
6,100
Если запустилось без ошибок, то скорее всего не найдено ни одного MTP устройства.
Если стартанёшь программу через cmd, то должен увидеть:
0 Windows Portable Device(s) found on the system
 
Сверху Снизу