0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 27
1

Добавление файла из опен диалога

17.12.2012, 16:58. Показов 443. Ответов 0
Метки нет (Все метки)

Добрый день
нашел на просторах этого же форума код по добавлению файлов в лист бокс (лист вью...)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
ofn.Flags        = OFN_ALLOWMULTISELECT | OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
-------//-------------
    DialogResult = GetOpenFileNameA(&ofn);
    if(DialogResult == true)
{
    ofn.lpstrFile+=ofn.nFileOffset;
    while((*ofn.lpstrFile!=0)&&(ofn.nMaxFile!=0))
    {
         strcpy(szFilePath,szFileName);
         strcat(szFilePath,ofn.lpstrFile);
        // бла бла бла добавляем файл
        while(*(ofn.lpstrFile++)&&(--ofn.nMaxFile));
  }

В таком виде он прекрасно работал для выбора многих файлов в диалоге
но для выбора одного файла он выдавал ошибку, имя файла удваивалось

немного изменил его

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ofn.Flags        = OFN_ALLOWMULTISELECT | OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
----------//-----------------------
    DialogResult = GetOpenFileNameA(&ofn);
    if(DialogResult == true)
{
    ofn.lpstrFile+=ofn.nFileOffset;
    while((*ofn.lpstrFile!=0)&&(ofn.nMaxFile!=0))
    {
         strcpy(szFilePath,szFileName);
             DWORD dwAttrs;
             dwAttrs = GetFileAttributes(szFilePath);
             if ((dwAttrs == INVALID_FILE_ATTRIBUTES) || (dwAttrs == FILE_ATTRIBUTE_DIRECTORY))
             {
                    strcat(szFilePath,(const char *)"\\");
                    strcat(szFilePath,ofn.lpstrFile);
             }
        // бла бла бла добавляем файл
        while(*(ofn.lpstrFile++)&&(--ofn.nMaxFile));
  }

сам понимаю, что смотрится не очень красиво
но более лучшего решения выдумать не могу.

Не подскажет кто нибудь более простой способ?
P.S.
МНе самому мой способ не нравится
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2012, 16:58
Ответы с готовыми решениями:

Не видно окна диалога открытия файла
void OpenProject ( )...

Добавление в CommoBox из диалога
Всем привет! Ребят возникла следующая задача: добавить в комбобокс данные из диалогового окна....

Получить имя файла из диалога выбора файла
Нашел класс диалога выбора файла: package com.stetsenko.openfiledialog; import...

API для вызова диалога цвета и диалога шрифта
Подскажите API для вызова диалога цвета и диалога шрифта ЗЫ : желательно чтобы работал не только...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2012, 16:58

Сохранение файла с использованием диалога
Как сохранить переменную s типа string в файл при помощи диалога?

Вызов диалога печати файла
что в коде нужно прописать чтобы вызвать диалог печати файла?

Вызов диалога сохранения файла
Подскажите, как назначить вызов проводника для сохранения файла, при нажатии на кнопку "Сохранить...

Средства диалога выбора файла
Есть ли какие-то минимальные средства для реализации диалога выбора файла на С (в консольной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.