Диалоговое окно "Выбор папки"

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

Диалоговое окно "Выбор папки"

Сообщение Pasha47 » 22.07.2007 (Вс) 18:53

Здравствуйте.

Нашёл http://bbs.vbstreets.ru/viewtopic.php?t=7767
Но тут достаточно криво.... Можно например сделать так чтоб в поле где долженн быть путь, стало "Мой компьютер\" .
Тобишь несуществующий путь.....

Может кто подскажет что по лучше?
Впринципе и это годится.... Но тест "на криворукость" программа непройдёт :roll:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.07.2007 (Вс) 20:24

Подсунь каллбак, который не даст выбрать "Мой компьютер".
Сможешь?
Изображение

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 22.07.2007 (Вс) 21:49

Можно проверить Right'oм, есть ли слеш в окончании, и при его наличии убрать его.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 22.07.2007 (Вс) 22:43

Подсунь каллбак, который не даст выбрать "Мой компьютер".
Сможешь?


"каллбак" - ?. Немного непонял......

Можно проверить Right'oм, есть ли слеш в окончании, и при его наличии убрать его.

И что даст удаление слеша?
Код: Выделить всё

Len(Dir(TXTpath.Text)) <> 0 Then

Впринципе эта строчка проверит существование пути. А также несложно наверное и добавить слеш..... Если это нужно... Как мне например...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.07.2007 (Вс) 22:44

"каллбак" - ?. Немного непонял......


Callback, aka Функция обратного вызова
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 23.07.2007 (Пн) 21:34

Я всёже решил просто перед выполнением программы просто проверить наличие такой дериктории.

Код: Выделить всё
Len(Dir(TXTsave.Text))


И вот тут меня поджидал сюрприз... Я думал что эта строчка ставит 0 (фаил отсутствует) и 1 (есть фаил).... Ах нет... и 9 тоже было....

Так вот первый вопрос: что означает цифра (желательнно немного пояснить строку) и как можно организовать False-True проверку?

А вторая проблемма которую мне подсунула программа заключается в попытке запуска .bat файла который сама ещё неуспевает создать.
Нужна значит программная задержка на 2-3 сек.

Кто что посоветует?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.07.2007 (Пн) 21:37

1) какая цифра?? То что возвращает Len(...) ?

Len возвращает не цифру а число. В данном случае, длину строки, которую вернула функция Dir.

2) Что значит неуспевает создать? :roll:

Код в студию.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 23.07.2007 (Пн) 22:24

Немного расскажу о программе:
Есть программа DjVuDecode, которая работает под ДОС.
Она занимается тем, что берёт книгу в формате .djvu и преобразует страницы в картинки (например .bmp). Тобишь с ней надо работать в командной строке.... Но дело в том что не все разберутся с командами и 90% пользователей просто небудут её пользовать. Незнаю кто сделал эту программу но в добавок к ДОСу ещё можно прибавить, то, что в программе нельзя указать диапазон страниц для преобразования.
Для этих целей один из людей приспособил .bat фаил...... А я хочу сделать редактор этово файла, дабы облегчить жизнь пользователям :)
Незнаю кому данная утилита ещё может пригодится, но как минимум она мне нужна для создания растров научной онлайн библиотеки.


Я недавно начал серьёзно изучать VB и поэтому нестал вдаваться пока в API. Поэтому частенько просто копировал с примеров. Код скорее всего тоже "дубовый", но тем не менее, какой есть.
Вложения
Test.rar
(89.49 Кб) Скачиваний: 81

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.07.2007 (Пн) 22:28

Я недавно начал серьёзно изучать VB и поэтому нестал вдаваться пока в API.


Читаю. Делаю вывод. Этот человек не стал [изучать API], потому что [VB изучает недавно].

Вопрос: простите, а какое отношение изучение API имеет к VB ? API это основа Windows-программирования. В на чём бы вы не писали, вы обязаны эти функции знать - хотя бы основные.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 23.07.2007 (Пн) 22:35

Этот раздел у меня в конце книге.... И я подумал что начну разбирать когда доберусь до нево....
В ближайшии дни куплю книгу про API.........

Я пока знаю как обьявлять их... Но незнаю где находится нужная мне функция....
Последний раз редактировалось Pasha47 23.07.2007 (Пн) 22:37, всего редактировалось 1 раз.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 23.07.2007 (Пн) 22:35

Хакер
Не всегда. Для кросс-платформенного программирования привязка к конкретному API - зло
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.07.2007 (Пн) 22:36

Категрически несогласен.
Если я батники пишу, я должен знать WinAPI?
А если скрипты на Актив-Перле?
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.07.2007 (Пн) 22:36

Ага. VB это кросс-платформаенное программирование, да..
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.07.2007 (Пн) 22:38

tyomitch
Ты ещё скажи "а если я на .NET пишу, я должен знать API"?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.07.2007 (Пн) 22:39

При чём здесь кросс-платформенность?
Батники никуда не переносимы.
Однако для их написания знание WinAPI малополезно.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.07.2007 (Пн) 23:21

Я вообще изначально имел ввиду [программирование с целью написания прикладных приложений]. Батники != прикладные приложения.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.07.2007 (Вт) 0:35

Ага. VB это кросс-платформаенное программирование, да..

При написании програмки на VB.NET, которая должна была запуститься на ПК и КПК с некоторыми апями была засада
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.07.2007 (Вт) 0:39

Раздел вообще-то Visual Basic 1-6. Не "Visual Basic .NET". И даже не "Visual Basic для мобильных устройств".
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.07.2007 (Вт) 0:42

Хакер
Были тулзы для пятого и шестого бейсиков, добавляющие компиляцию под WinCE
Изображение

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 24.07.2007 (Вт) 9:02

Pasha47, редактировать батник - это ИМХО принципиально неправильный подход(если он не генерируется один единственный раз, а потом запускается только БАТ). Лучше сделать красивую формочку с настройками и на основании нее генерировать коммандную строку, с которой запусать приложение.
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.07.2007 (Вт) 9:27

Хакер писал(а):Я вообще изначально имел ввиду [программирование с целью написания прикладных приложений]. Батники != прикладные приложения.

А что они такое тогда? И в чём разница?
Изображение

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 24.07.2007 (Вт) 17:10

to Matew
Тоже верно... Я тоже так думал... Порылся в поисковиках и ничево ненашёл нужново... Поэтому БАТ фаил родился :)

Да неизвестно как вот такое вот посылать в командную строку..... Тут же чтото вроде цикла. Тобишь надо немного усложнять программу.... А у меня и так всё криво работает :roll:

for /l %%i in (56,1,60) do DjVuDecode.exe --output-format=jpeg --page-range=%%i D:\djvudecode\45.djvu D:\djvudecode\folder\%%i.jpeg


Да и чтото опять с кодировкой.... То работает то не работает....

Я недавно начал серьёзно изучать VB и поэтому нестал вдаваться пока в API. Поэтому частенько просто копировал с примеров. Код скорее всего тоже "дубовый", но тем не менее, какой есть.


Нашли что обсуждать..... В конкретно сложившийся ситуации API изучать надо обязательнно....

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.07.2007 (Вт) 17:19

Pasha47 писал(а):Я всёже решил просто перед выполнением программы просто проверить наличие такой дериктории.

А ведь запретить выбор нефайловых объектов даже проще, чем я думал сначала:

a = dhBrowseForFolder(CSIDL_DRIVES, BIF_RETURNONLYFSDIRS, strFolder, 0, "Выберите каталог")
Изображение

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 24.07.2007 (Вт) 17:38

Variable not defined
На "CSIDL_DRIVES".........

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.07.2007 (Вт) 17:39

Pasha47
И что, нет никаких догадок, почему так может быть?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 24.07.2007 (Вт) 17:48

Я просто сообщил.... А так, добавил

Dim CSIDL_DRIVES As String
Dim BIF_RETURNONLYFSDIRS As String

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.07.2007 (Вт) 17:48

LOL :lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 24.07.2007 (Вт) 17:50

А теперь моё любимое окошко "Type mismatch"
Щас и его примну.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 24.07.2007 (Вт) 17:51

Pasha47 :lol:

Это константы, вообще-то :lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pasha47
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 22.07.2007 (Вс) 18:29

Сообщение Pasha47 » 24.07.2007 (Вт) 17:52

Судя по всему не String :)

След.

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

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

Сейчас этот форум просматривают: Google-бот и гости: 102

    TopList