Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть ли готовый контрол выбора каталога 
V
    Опции темы
tonchitos
Дата 8.7.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



мне надо на диалоге указать имя файла и его корневой диалог, так же как в студии файл - нью - проект.. там есть поле location: и кнопочка browse...

вот есть может какой класс диалога - который выглядит как тот диалог выбора каталога в студии?

Добавлено через 2 минуты и 44 секунды
мне нужен этот диалог выбора каталога, если путанно объяснила вот скрин
user posted image


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Rapalex
Дата 8.7.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



SHBrowseForFolder Function


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
voov
Дата 8.7.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



Посмотри в мсдн Hierarchy Chart (диаграмму классов) наследников CDialog. Вроде такого нет.

Добавлено через 3 минуты и 24 секунды
Цитата(tonchitos @  8.7.2008,  15:52 Найти цитируемый пост)
мне нужен этот диалог выбора каталога, если путанно объяснила вот скрин

Этот похож на диалог открытия файла, посмотри может его можно привести к такому виду
PM MAIL   Вверх
tonchitos
Дата 8.7.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



SHBrowseForFolder  - удобная штука. Спасибо.

Добавлено через 7 минут и 46 секунд
а вот такой еще вопрос... рядом с кнопочкой брауз находится текстовое поле в которое тоже могут ввести путь...

вот так как мне тогда проверять существует ли такой каталог или нет? то есть верно ли введен путь...


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
voov
Дата 8.7.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: 8
Всего: 8



Цитата(tonchitos @  8.7.2008,  16:24 Найти цитируемый пост)
SHBrowseForFolder  - удобная штука.

Будем знать smile
PM MAIL   Вверх
dizzy1984
Дата 10.7.2008, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 10
Всего: 25



Цитата(tonchitos @  8.7.2008,  18:24 Найти цитируемый пост)
вот так как мне тогда проверять существует ли такой каталог или нет?

Попробуй PathIsDirectory, но для нее надо 
Код

#include <shlwapi.h>
#pragma comment(lib, "shlwapi.lib")

По крайней мере, для VS6
PM MAIL   Вверх
tonchitos
Дата 10.7.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



спасибо большое...
а вот еще такой вопрос, если мне надо получить путь к каталогу с документом, есть ли какая ф-ия (типа GetPthName, но без имени файла) или просто все отрубить от последнего слеша


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
T0ohtik
Дата 10.7.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



tonchitos, SHBrowseForFolder  принимает в качестве параметра структуру LPBROWSEINFO, одним из полей которой является  переменная pszDisplayName, в которую запишется указатель на строку содержащую путь к выбранной директории.  Если ты это имел в виду.
PM MAIL   Вверх
tonchitos
Дата 10.7.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



я имела ввиду метод CDocumenta, но уже не нужно

Цитата(T0ohtik @  10.7.2008,  13:45 Найти цитируемый пост)
Если ты это имел в виду. 


это...тока я деевочка   smile

Добавлено @ 13:58
вот еще такой вопрос:
у мя есть имя файла (не путь а имя) введенное юзером... Мне надо проверить его правильность (ну типа на допустимость тех или иных символов, как в проводнике если символ запрещенный - то сообщение об ошибке)
есть ли готовая ф-ия?

Добавлено @ 13:59
и еще проверить, существует ли файл с неким полным именем  уже..

Это сообщение отредактировал(а) tonchitos - 10.7.2008, 14:01


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
T0ohtik
Дата 10.7.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Цитата(tonchitos @  10.7.2008,  13:56 Найти цитируемый пост)
Добавлено @ 13:58
вот еще такой вопрос:
у мя есть имя файла (не путь а имя) введенное юзером... Мне надо проверить его правильность (ну типа на допустимость тех или иных символов, как в проводнике если символ запрещенный - то сообщение об ошибке)
есть ли готовая ф-ия?

Ты говори конкретней, что ты хочешь сделать. Если ты подразумеваешь, что ты где то ввела имя файла и хочешь проверить правильное оно или нет, то таких функций готовых я не встречал. А если ты имя вводишь в SHBrowseForFolder, то он сам автоматически должен проверить.

PM MAIL   Вверх
Rrader
  Дата 10.7.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 1
Всего: 191



Цитата(tonchitos @  10.7.2008,  20:56 Найти цитируемый пост)
и еще проверить, существует ли файл с неким полным именем  уже..


Код

bool FileExists(LPCTSTR FileName)
{
    WIN32_FIND_DATA FD;
    HANDLE H = FindFirstFile(FileName, &FD);
    bool Res = H != INVALID_HANDLE_VALUE;
    FindClose(H);
    return Res;
}



--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
tonchitos
Дата 10.7.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



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


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
T0ohtik
Дата 10.7.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Я ж говорю нету. Надо самому реализовывать. К примеру в векторе будут храниться недопустимые символы. В функцию передаешь указатель на имя файла, а далее в цикле попарно сравниваешь, каждый запрещенный символ с каждым символом имени файла, если находишь совпадение, то выходишь из функции с ошибкой.
Код

    bool  checkFileName (char* pchFileName, int sizeOfFileName)
    {
        char WrongSymbol[5] = "/.,=*";
        For(int i = 0; i < sizeOfFileName; i++ )
        {    
            For(int j = 0; j < 5; j++)
            {
                If(pchFileName[i]  ==  WrongSymbol[j])
                    return false;
            }
        }
        return true;
    }


Извиняюсь за ошибки, код не проверял.
PM MAIL   Вверх
tonchitos
Дата 10.7.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



мерси...ну раз нету значит нету )))


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
NOT
Дата 11.7.2008, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.6.2005
Где: UA::CK

Репутация: нет
Всего: нет



Не знаю, точно это, что тебе нужно, но посмотри ф-цию PathCleanupSpec
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0948 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.