Открытие своего файла в своей программе |
Здравствуйте, гость ( Вход | Регистрация )
Открытие своего файла в своей программе |
RazrFalcon |
1.6.2010, 19:53
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Прога сохраняет к примеру .prm и по нажатии на него открывается моя прога и в ней открывается сразу же и файл.
Как это сделать? |
|
|
Litkevich Yuriy |
2.6.2010, 15:08
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
RazrFalcon |
2.6.2010, 15:25
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Имеется в виду что при двойном клике по .blend .max .txt и тд и тп открываются соответствующие приложения и соответственно "нажимаемый файл тоже", как это реализовать со своей прогой и своим форматом, да и с другим тоже. Грубо говоря надо передать проге путь к файлу на который кликаем. |
|
|
Litkevich Yuriy |
2.6.2010, 16:06
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
MoPDoBoPoT |
2.6.2010, 16:29
Сообщение
#5
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
|
|
|
RazrFalcon |
2.6.2010, 16:32
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
двойном клике по .blend .max .txt а клик-то где? В файловом менеджере?Ну да, в проводнике или на рабочем столе хоть. Ну даже пусть в тотал командере, которым в принципе не пользуюсь. QFileDialog или как-то так это работает, нажал кнопку, выбрал файл и он открылся, а вот как впихнуть в QFile путь к файлу открытому мной, так скажем. Все остальные мало-мальские проги это делают. Соответствие ставить пробовал, толку 0. Просто прога по нажатии открывается и все, без файла. Ну я это делал просто через "Открыть с помощью" -> Использовать всегда только эту программу. Прога запустилась но без файла опять же. Сообщение отредактировал RazrFalcon - 2.6.2010, 16:34 |
|
|
Litkevich Yuriy |
2.6.2010, 16:53
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
RazrFalcon, тут нужно с задачей (вопросом) определится точнее:
1) Как открыть файл данных некой программой из командной строки? 2) Как открыть файл данных из самой программы (как пользоваться QFileDialog)? Ответы 1) файл данных передаётся как аргумент командной строки программы, этот аргумент можно получить из функции main или через QCoreApplication::args() 2) Смотри пример %QTDIR%\examples\dialogs\standarddialogs, там ты узнаешь как получить полное имя файла (вместе с путём), это имя передаёшь в конструктор QFile |
|
|
RazrFalcon |
2.6.2010, 17:31
Сообщение
#8
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Не то, не то, не то.
В программе я могу сделать, и сделано в принципе, нажал кнопку открылся/сохранился файл (путь указан статически или вводится) Могу и по типу "Открыть/Сохранить как": нажал кнопку-> открылся диалог-> выбрал файл/путь -> прога открывает/сохраняет файл. Но вот задача: Я на рабочем столе, к примеру, имею файл с расширение .primer, допустим. И хочу его открыть. Дважды на нем клацаю и открывается моя прога и в нее передается путь и файл на который я клацал тут же открывается. Без командных строк и тп. При условии конечно что у меня установлена аасоциация с моей прогой, но даже без этого оно спросит какой прогой открыть и я выберу свою. Вроде бы все. Может что-то еще уточнить? Пример: клацнул по текстовику и открылся блокнот, КАК он узнал какой файл открыть? Сообщение отредактировал RazrFalcon - 2.6.2010, 17:34 |
|
|
Litkevich Yuriy |
2.6.2010, 17:58
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Без командных строк и тп на самом деле всё работает через командную строкуКАК он узнал какой файл открыть? в реестре записаноHKEY_CLASSES_ROOT\.txt -- (по умолчанию) = txtfile HKEY_CLASSES_ROOT\txtfile -- (по умолчанию) = Текстовый документ HKEY_CLASSES_ROOT\txtfile\shell\open\command -- (по умолчанию) = %SystemRoot%\system32\NOTEPAD.EXE %1 И, как видишь, командная строка, аргумент командной строки - шаблон, вместо которого подставится имя файла |
|
|
RazrFalcon |
2.6.2010, 18:24
Сообщение
#10
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Хмммм... Весьма странно но теперь работает
MoPDoBoPoT дал полезную ссылку, спасибо. Только все равно как то странно, по этому пути в реестре пусто ведь, все время, сам проверял. Но путь пишет и открывает, а мне большего и не нужно. Все спасибо за еще один шаг вперед. |
|
|
Текстовая версия | Сейчас: 28.11.2024, 22:14 |