PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Хочу создать прогу которая упростит мою работу с файлами pb.


Хочу создать прогу которая упростит мою работу с файлами pb.

Сообщений 1 страница 14 из 14

1

Хочу создать программу которая упростит мою работу с файлами ".pb". Мне нужно чтоб при открытии файла ".pb" я выберал с помощю какой версии Pure Basic будет открыт файл. Моя идея такова: программа стоит на автозапуске и смотрит какие файлы я открываю, как только она видит что открыт ".pb" файл сразу не открывается, а сначала открывает своё окно в котором 3 buttongadgeta: "4.00", "4.30" и "4.51". Как только я выбераю версию он закрывает своё окно и открывает этот pb файл с помощю той программы которую я выбрал. Из этого я именно хочу узнать оператор для определения расширения открытого файла и как открыть файл с помощю определённой программы. Подскажите с этими 2 вопросами.

0

2

Appolon написал(а):

оператор для определения расширения открытого файла

Код:
proga.s="C:\papka\моя прога.pb"
Debug GetExtensionPart(proga)
Appolon написал(а):

как открыть файл с помощью определённой программы

Код:
RunProgram("proga.exe", "Отерываемый файл.pb","")

PS.
Я эту задачу решил проще.
Версии PureBasic, которые редко использую, запускаю с ключом /PORTABLE и они не переписывают настройки и ассоциацию и файлов.

0

3

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

0

4

Пётр написал(а):

proga.s="C:\papka\моя прога.pb"
Debug GetExtensionPart(proga)

Да, спасибо, но вопрос был в том как определить расширение открытого файла, а не жесткозаданого. Тоесть если я открваю файл определённого вида моя программа недаёт ему открытся, а выводит своё окно. Как именно это осуществить?

Пётр написал(а):

Версии PureBasic, которые редко использую, запускаю с ключом /PORTABLE и они не переписывают настройки и ассоциацию и файлов.

Я неочень понял о чём идёт реч.

Отредактировано Appolon (29.03.2011 14:47:15)

0

5

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

Потом ассоциируешь её с расширением .pb и всё! Ассоциировать можно при помощи программы Associator.zip: http://purebasic.info/phpBB2/viewtopic. … table#9744
Она может как устанавливать ассоциации с расширениями, так и удалять ненужные.

0

6

Appolon написал(а):

Да, спасибо, но вопрос был в том как определить расширение открытого файла, а не жесткозаданого.

В переменную можно записать любой текст - любой путь к файлу.
Перенастраиваешь расширение PB на свою прогу и все, его даже определять не понадобится.

Appolon написал(а):

Я неочень понял о чём идёт реч.

У тебя есть ярлыки запуска PureBasic на рабочем столе?
Вот, в свойствах ярлыка нужно добавить ключ /PORTABLE

0

7

А можно вообще красиво сделать - не самому выбирать кнопками программу, а считывать из исходника в конце строчку типа

; IDE Options = PureBasic v4.02 (Windows - x86)

И в зависимости от этой строчки запускать уже нужный редактор.
P.s. Такая строчка есть во многих исходниках, если только он не редактировался в jaPBe.

0

8

Всё это куча не нужных телодвижений, запускаем файл.pb, затем ждем пока запустится наша программа и выбираем какой версией открыть...
Зачем всё это, ну если чтоб посмотреть как реализовать...
У меня на столе ярлыки: 4.00  4.30  4.40   4.41 и 4.50
Пользуюсь 4.41
4.50 - нет всех библиотек
4.00 и 4.30 - для "старых" примеров ...

0

9

ВиниПур написал(а):

А можно вообще красиво сделать - не самому выбирать кнопками программу, а считывать из исходника в конце строчку типа

Не, мне это не подходит, но всёрвно спасибо за совет

ВиниПур написал(а):

Потом ассоциируешь её с расширением .pb и всё! Ассоциировать можно при помощи программы Associator.zip: http://purebasic.info/phpBB2/viewtopic. … table#9744

А, тоесть асоцыировать файлы ".pb" с написаной мною программой. Ща попробую :yep:

0

10

Я написал эту программу, но есть ещё один вопрос. Что писать в моей программе всесто "???". Как узнать какой файл я открываю? Если оставить как у меня то открывается пустой документ.

Код:
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

0

11

Код:
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

0

12

:cool:  Написал, всё получилось

0

13

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

0

14

:)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Хочу создать прогу которая упростит мою работу с файлами pb.