Вопрос № 100503: Здравствуйте уважаемые эксперты.
Помогите, пожалуйста, решить следующую задачу:
1. Необходимо найти все диски (в частности их буквы, т.е.
также, как и в проводнике, но это мне не для проводника).
2. В каждом из дисков надо найти все ...Вопрос № 100519: Здравствуйте!
Скажите пожалуйста а какими функциями можно запускать файлы. Я знаю только ShellExecute(...)...Вопрос № 100530: Здравствуйте, уважаемые эксперты. Наткнулся на статью ( http://rsdn.ru/article/openoffice/ooautomation.xml ) в которой расказывается как можно обратиться к openoffice через com интерфейс в windows...Возник вопрос возможно ли каким-то образом (или ана...Вопрос № 100559: Здравствуйте эксперты!Скажите где можно
скачать справку по функциям С++ как например
в Builder 6 (желательно в формате chm или hlp) Заранее спасибо...Вопрос № 100570: В консольном приложении в С++ Builder у меня вместо текста ф№я, помогите, что не так, вроде по началу было нормально. Может дело в настройках среды?!, я там по лазил перед этим....
Вопрос № 100.503
Здравствуйте уважаемые эксперты.
Помогите, пожалуйста, решить следующую задачу:
1. Необходимо найти все диски (в частности их буквы, т.е.
также, как и в проводнике, но это мне не для проводника).
2. В каждом из дисков надо найти все папки.
Среда Visual C++ 6.0, желательно средствами MFC.
2а. Возможно Вы знаете, где почитать о функциях работы с
дисками, папками, файлами (кроме World C++ и FirstSteps).
Заранее благодарен за ответы.
Отправлен: 02.09.2007, 01:30
Вопрос задал: Лис Иван (статус: 1-ый класс)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: din
Здравствуйте, Лис Иван!
1. Диски Вам вернет функция WinAPI GetLogicalDriveStrings она описана в Windows.h.
2. Используйте для этого класс CFileFind. В приложении пример взятый с официального MSDN.
2а. Кроме MSDN ничего не могу посоветовать.
P.S. Я не программирую на VS и не работал с MFC, просто иногда приходится решать мелкие задачи.
Приложение:
--------- Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 02.09.2007, 10:33
Отвечает: Aristos
Здравствуйте, Лис Иван!
Подскажу как это сделать средвами WinAPI.
1. Вам поможет функция _GetLogicalDrives() Она возврашает битовую маску присутствующих в системе дисков. А функция GetDriveType() позволяет определить тип найденного "диска". Вообще можно опросить тип для всех букв (A-Z), но _getdrives позволяет сократить количество вариантов.
2. Тут подойдут функции FindFirstFile/FindNextFile.
2a. Посмотрите помощь в MSDN по приведенным функциям, там должны быть ссылки на общие разделы по функциям и методам работы с дисками, разделами, файлами и т.д.
Приложение:
Ответ отправил: Aristos (статус: 5-ый класс)
Ответ отправлен: 02.09.2007, 18:42
Отвечает: Sema
Здравствуйте, Лис Иван!
Вот код ответа на Ваш первый вопрос.
CString str;
char str1[100], *buf, str2[2];
GetLogicalDriveStrings(100,str1);
int i = 0,b = 0;
buf = str1;
while (str1[i] != NULL && str1[i+1] != NULL){
if (GetDriveType(strcpy(str2,buf)) == DRIVE_FIXED){
b++;
str = str + str2;
}
i = i + 4;
buf = &str1[i];
}
mass = str;
count = b;
данный код получает строку в которой перечислены все разделы жесткого диска...(переменная mass) и яисло разделов на ЖД (count)
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
CString str = finder.GetFileName();
CString str1 = finder.GetFilePath();
// If it's a directory, recursively search it
if (finder.IsDirectory())
{
pathStr = finder.GetFilePath()+ "\*.*";
Page(pathStr,index ++,hItem);
}
}
finder.Close();
}
передаете в функцию имя логического диска и он его отсканирует...
Ответ отправил: Sema (статус: 3-ий класс)
Ответ отправлен: 03.09.2007, 12:13
Отвечает: Maxim V.G.
Здравствуйте, Лис Иван!
Отвечу на вопрос 2а:
http://www.realcoding.net/article/view/121 - WinAPI. Функции работы с файлами
http://www.realcoding.net/article/view/122 - WinAPI. Функции работы с файлами.
http://www.realcoding.net/article/view/120 - WinAPI. Функции работы с файлами.
И конечно же
www.msdn.com
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 4-ый класс)
Ответ отправлен: 03.09.2007, 15:46
Вопрос № 100.519
Здравствуйте!
Скажите пожалуйста а какими функциями можно запускать файлы. Я знаю только ShellExecute(...)
Отправлен: 02.09.2007, 10:45
Вопрос задал: Tatarin (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Sov
Здравствуйте, Tatarin!
Есть еще две
WinExec
CreateProcess
Ответ отправил: Sov (статус: 6-ой класс)
Ответ отправлен: 02.09.2007, 11:46
Отвечает: Aristos
Здравствуйте, Tatarin!
Еще есть функция CreateProcess(). Пример использования в приложении.
Приложение:
Ответ отправил: Aristos (статус: 5-ый класс)
Ответ отправлен: 02.09.2007, 18:51
Вопрос № 100.530
Здравствуйте, уважаемые эксперты. Наткнулся на статью ( http://rsdn.ru/article/openoffice/ooautomation.xml ) в которой расказывается как можно обратиться к openoffice через com интерфейс в windows...Возник вопрос возможно ли каким-то образом (или аналогичным ) обратиться к openoffice в linux.Буду рад любым статьям или примерам. Заранее спасибо.
Отвечает: Shurka
Здравствуйте, Иван Николаевич!
Linux ни в какой мере не поддерживает COM
Ответ отправил: Shurka (статус: 3-ий класс)
Ответ отправлен: 02.09.2007, 16:40
Вопрос № 100.559
Здравствуйте эксперты!Скажите где можно скачать справку по функциям С++ как например
в Builder 6 (желательно в формате chm или hlp) Заранее спасибо
Отправлен: 02.09.2007, 18:39
Вопрос задал: Hunter20 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Boriss
Здравствуйте, Hunter20!
Отвечу так же, как на № 241
вот здесь достаточно современное есть http://e-sementsov.narod.ru/download.htm
рекомендую BookC.chm и BiblFunc.chm
:)) Спасибо Евгению Леонидовичу Семенцову
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: mte WWW:Программирование на Паскале ---- Ответ отправлен: 04.09.2007, 15:30
Вопрос № 100.570
В консольном приложении в С++ Builder у меня вместо текста ф№я, помогите, что не так, вроде по началу было нормально. Может дело в настройках среды?!, я там по лазил перед этим.
Разница в кодировках. В окне редактора у вас cp-1251, а в консольном окне cp-866. Попробуйте функции OemToChar и CharToOem для преобразования строки перед выводом.
Ответ отправил: Aristos (статус: 5-ый класс)
Ответ отправлен: 02.09.2007, 20:59
Отвечает: Терсков Сергей
Здравствуйте, Пупкин вася Леопольдович!
Популярный вопрос на портале... Вот подобный - № 98301. В ответе есть ссылка на статью с сайта rsdn.ru - "Почему вместо русских букв в консольном приложении выводится мусор?". В ней подробно описывается сама проблема и средства избавления от нее.
Ответ отправил: Терсков Сергей (статус: Студент)
Ответ отправлен: 03.09.2007, 03:49