|
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 59
|
||||||
Как правильно работать с OpenDialog и SaveDialog?16.05.2015, 08:04. Показов 5142. Ответов 10
Метки нет (Все метки)
Доброго времени суток, есть непонятные моменты связанные с OpenDialog и SaveDialog - пожалуйста помогите разобраться!
При нажатии на кнопку на Form2, я хочу открыть Form3 и загрузить в ListBox (на Form3) данные из текстового документа и делаю это так:
1) Как указать программе, чтобы она искала *.txt документ - именно в папке откуда был запущен *.exe? Пробовал так: AnsiString s(__FILE__); Но путь возвращает до Unit.CPP 2) Если такого документа не существует, то программа крашится с ошибкой и Form3 в итоге не запускается Как сделать исключение? Что если такого документа нет, то просто загрузить форму с пустым ListBox И еще есть вопрос связанный с SaveDialog Допустим в ListBox у меня хранится путь до PDF-документа, который расположен в папке "Документы" на Рабочем столе Как мне сделать так, чтобы при нажатии на кнопку "Сохранить" (в моей программе) - у меня открывалось окошко, которое предлагало сохранить этот PDF-документ в другом месте - которое я укажу? Т.е. грубо говоря скопировать этот документ в новое место
0
|
||||||
| 16.05.2015, 08:04 | |
|
Ответы с готовыми решениями:
10
Как вызвать OpenDialog и SaveDialog? Opendialog и Savedialog
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||||||||||||
| 16.05.2015, 10:07 | |||||||||||||
0
|
|||||||||||||
|
Супер-модератор
|
|||||||
| 16.05.2015, 10:11 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 59
|
|
| 16.05.2015, 11:56 [ТС] | |
|
Огромное спасибо, за ответы
Подскажите, еще пожалуйста, проект делаю в C++ Builder 6.0 на Windows 8 C++ Builder 6.0 вообще не хочет видеть русские символы, например, если добавляю в ListBox название файла на русском, то строка просто пустая (т.е. строка пустая, но букв нет) Это из-за несовместимости 8ки и билдера?
0
|
|
|
|
|||||||
| 16.05.2015, 12:41 | |||||||
|
попробуйте следующее: добавьте в пустой проект на форму ListBox и выполните
0
|
|||||||
|
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 59
|
|
| 16.05.2015, 13:45 [ТС] | |
|
Я проверил, такое только на Windows 8
На XP и Windows 7 - всё ок
0
|
|
|
|
||
| 16.05.2015, 13:50 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 59
|
||||||
| 16.05.2015, 13:58 [ТС] | ||||||
|
nick42, Не получается использовать твой пример
Помоги еще пожалуйстаЗадача: Документ 1.txt перенести в указанное место через SaveDialog1 Делаю это так: В ListBox1 определяю выделенную строчку (в строчке указан путь до документа, например C:\1.txt)
0
|
||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||
| 16.05.2015, 14:14 | ||||
|
Вообще, как я понял, требуется означенный файл переместить? То-есть FileRemove или как-то наподобие? Из того положения, что в листбоксе в другую папку (выбирается в диалоге). Тогда лучше спрашивайте не у меня, - у меня версия Билдера, которой вы наверняка не пользуетесь, и мои советы будут просто старомодными...
0
|
||||
|
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 59
|
||||||||||||||||
| 16.05.2015, 15:00 [ТС] | ||||||||||||||||
|
да, вы поняли абсолютно верно
Добавлено через 39 минут nick42, получается что-то такое... Определяю выделенную строку, в которой содержится ссылка на копируемый файл
[C++ Error] Unit3.cpp(60): E2034 Cannot convert 'AnsiString' to 'const char *' [C++ Error] Unit3.cpp(60): E2342 Type mismatch in parameter 'lpExistingFileName' (wanted 'const char *', got 'AnsiString') Добавлено через 2 минуты Всё получилось ![]()
0
|
||||||||||||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 16.05.2015, 15:07 | ||||||
0
|
||||||
| 16.05.2015, 15:07 | |
|
Помогаю со студенческими работами здесь
11
Потеря фокуса ячейки грида при вызове OpenDialog/SaveDialog
OpenDialog, как работать с мультиселектом? OpenDialog - после открытия файла перестает работать функция copy()
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|