Хочу создать программу которая упростит мою работу с файлами ".pb". Мне нужно чтоб при открытии файла ".pb" я выберал с помощю какой версии Pure Basic будет открыт файл. Моя идея такова: программа стоит на автозапуске и смотрит какие файлы я открываю, как только она видит что открыт ".pb" файл сразу не открывается, а сначала открывает своё окно в котором 3 buttongadgeta: "4.00", "4.30" и "4.51". Как только я выбераю версию он закрывает своё окно и открывает этот pb файл с помощю той программы которую я выбрал. Из этого я именно хочу узнать оператор для определения расширения открытого файла и как открыть файл с помощю определённой программы. Подскажите с этими 2 вопросами.
Хочу создать прогу которая упростит мою работу с файлами pb.
Сообщений 1 страница 14 из 14
Поделиться229.03.2011 14:25:58
оператор для определения расширения открытого файла
proga.s="C:\papka\моя прога.pb" Debug GetExtensionPart(proga)
как открыть файл с помощью определённой программы
RunProgram("proga.exe", "Отерываемый файл.pb","")
PS.
Я эту задачу решил проще.
Версии PureBasic, которые редко использую, запускаю с ключом /PORTABLE и они не переписывают настройки и ассоциацию и файлов.
Поделиться329.03.2011 14:40:11
Appolon
ПКМ по файлу, открыть с помощью, выбираешь свою прогу и ставишь галочку "использовать для всех файлов с этим расширением"
Твоя прога:
;сдесь окно с кнопками purik_400$ = "путь до пурика 4.00" purik_430$ = "путь до пурика 4.30" purik_451$ = "путь до пурика 4.51" PR$ = ProgramParameter() Select EventGadget Case Knopka_1 RunProgram(purik_400$, PR$,"") Case Knopka_2 RunProgram(purik_430$, PR$,"") Case Knopka_3 RunProgram(purik_451$, PR$,"") EndSelect
Поделиться429.03.2011 14:45:04
proga.s="C:\papka\моя прога.pb"
Debug GetExtensionPart(proga)
Да, спасибо, но вопрос был в том как определить расширение открытого файла, а не жесткозаданого. Тоесть если я открваю файл определённого вида моя программа недаёт ему открытся, а выводит своё окно. Как именно это осуществить?
Версии PureBasic, которые редко использую, запускаю с ключом /PORTABLE и они не переписывают настройки и ассоциацию и файлов.
Я неочень понял о чём идёт реч.
Отредактировано Appolon (29.03.2011 14:47:15)
Поделиться529.03.2011 15:02:29
Тоесть если я открваю файл определённого вида моя программа недаёт ему открытся, а выводит своё окно. Как именно это осуществить?
Элементарно! Вначале пишешь свою программу, примерно как и тебе подсказали
;сдесь окно с кнопками purik_400$ = "путь до пурика 4.00" purik_430$ = "путь до пурика 4.30" purik_451$ = "путь до пурика 4.51" PR$ = ProgramParameter() Select EventGadget Case Knopka_1 RunProgram(purik_400$, PR$,"") Case Knopka_2 RunProgram(purik_430$, PR$,"") Case Knopka_3 RunProgram(purik_451$, PR$,"") EndSelect
Потом ассоциируешь её с расширением .pb и всё! Ассоциировать можно при помощи программы Associator.zip: http://purebasic.info/phpBB2/viewtopic. … table#9744
Она может как устанавливать ассоциации с расширениями, так и удалять ненужные.
Поделиться629.03.2011 15:02:30
Да, спасибо, но вопрос был в том как определить расширение открытого файла, а не жесткозаданого.
В переменную можно записать любой текст - любой путь к файлу.
Перенастраиваешь расширение PB на свою прогу и все, его даже определять не понадобится.
Я неочень понял о чём идёт реч.
У тебя есть ярлыки запуска PureBasic на рабочем столе?
Вот, в свойствах ярлыка нужно добавить ключ /PORTABLE
Поделиться729.03.2011 15:11:19
А можно вообще красиво сделать - не самому выбирать кнопками программу, а считывать из исходника в конце строчку типа
; IDE Options = PureBasic v4.02 (Windows - x86)
И в зависимости от этой строчки запускать уже нужный редактор.
P.s. Такая строчка есть во многих исходниках, если только он не редактировался в jaPBe.
Поделиться829.03.2011 15:21:58
Всё это куча не нужных телодвижений, запускаем файл.pb, затем ждем пока запустится наша программа и выбираем какой версией открыть...
Зачем всё это, ну если чтоб посмотреть как реализовать...
У меня на столе ярлыки: 4.00 4.30 4.40 4.41 и 4.50
Пользуюсь 4.41
4.50 - нет всех библиотек
4.00 и 4.30 - для "старых" примеров ...
Поделиться929.03.2011 16:20:07
А можно вообще красиво сделать - не самому выбирать кнопками программу, а считывать из исходника в конце строчку типа
Не, мне это не подходит, но всёрвно спасибо за совет
Потом ассоциируешь её с расширением .pb и всё! Ассоциировать можно при помощи программы Associator.zip: http://purebasic.info/phpBB2/viewtopic. … table#9744
А, тоесть асоцыировать файлы ".pb" с написаной мною программой. Ща попробую
Поделиться1029.03.2011 16:58:22
Я написал эту программу, но есть ещё один вопрос. Что писать в моей программе всесто "???". Как узнать какой файл я открываю? Если оставить как у меня то открывается пустой документ.
OpenWindow(0,1,1,200,180,"PureBasic",#PB_Window_MinimizeGadget| #PB_Window_ScreenCentered) ButtonGadget(1,10,10,180,50,"4.00") ButtonGadget(2,10,65,180,50,"4.30") ButtonGadget(3,10,120,180,50,"4.51") Repeat q=WindowEvent() If q=#PB_Event_Gadget If EventGadget()=1 RunProgram("C:\Всеволод\Программы\PureBasic4_00\PureBasic.exe", "???","") EndIf If EventGadget()=2 RunProgram("C:\Всеволод\Программы\PureBasic\PureBasic.exe", "???","") EndIf If EventGadget()=3 RunProgram("C:\Всеволод\Программы\PureBasic4_51\PureBasic.exe", "???","") EndIf EndIf Until q=#PB_Event_CloseWindow
Поделиться1129.03.2011 17:06:10
File.s=ProgramParameter(0) If File OpenWindow(0,1,1,200,180,"PureBasic",#PB_Window_MinimizeGadget| #PB_Window_ScreenCentered) ButtonGadget(1,10,10,180,50,"4.00") ButtonGadget(2,10,65,180,50,"4.30") ButtonGadget(3,10,120,180,50,"4.51") Repeat q=WindowEvent() If q=#PB_Event_Gadget If EventGadget()=1 RunProgram("C:\Всеволод\Программы\PureBasic4_00\PureBasic.exe", File,"") EndIf If EventGadget()=2 RunProgram("C:\Всеволод\Программы\PureBasic\PureBasic.exe", File,"") EndIf If EventGadget()=3 RunProgram("C:\Всеволод\Программы\PureBasic4_51\PureBasic.exe", File,"") EndIf EndIf Until q=#PB_Event_CloseWindow EndIf
Поделиться1229.03.2011 17:59:29
Написал, всё получилось
Поделиться1329.03.2011 18:05:02
Appolon
Для разнообразия
File.s=ProgramParameter(0) If File OpenWindow(0,1,1,200,180,"PureBasic",#PB_Window_MinimizeGadget| #PB_Window_ScreenCentered) ButtonGadget(1,10,10,180,50,"4.00") ButtonGadget(2,10,65,180,50,"4.30") ButtonGadget(3,10,120,180,50,"4.51") Repeat EventWindow=WindowEvent() Select EventGadget() Case 1 proga$ = "C:\Всеволод\Программы\PureBasic4_00\PureBasic.exe" Case 2 proga$ = "C:\Всеволод\Программы\PureBasic\PureBasic.exe" Case 3 proga$ = "C:\Всеволод\Программы\PureBasic4_51\PureBasic.exe" Default Continue EndSelect RunProgram(proga$, File,"") End Until EventWindow=#PB_Event_CloseWindow EndIf