Page 1 of 1

OpenProject.......The first TIPS of KCC

Posted: Thu Nov 27, 2008 10:52 am
by Kwai chang caine
Hello at all

After the big bang, Adam and eve, The discovery of fire, The first foot of the man on the mon, The invention of the engine explosion, .......
Today is a great day.
Is the first trick and tips of KCC :D

I know that KCC ask thousand and thousand question, all much null, and never give anything in the forum. :?
But it's finish, today KCC give his first OPEN SOURCE code :D
Yes ladies and gentleman OPEN SOURCE code :lol:

Please don't be cruel with KCC, because he know it's pig programming :oops:
And the master of this site can programming the same thing with his finger of foot, and with eyes hiden 8)

But KCC his proud to give something at the family :D

This is an open project like VB.
You put an exe in each folder who contains ".pb" and his ".pbi".
Run the exe and select the PB Project that you want to OPEN
And KCC OpenProject load all the PBI who is in the PB code for you :D
It's an original idea of TsSoft, but his code is a tool who insert in the IDE.
And when i have installed the IDE V4.3 B4, i have several problem with it :cry:
Then i have decided to create a extern program for do this :D

I need that because i have a big DLL with much PBI and it's puzzling to open all each time that i need all :?

In VB i click on the PRoject.vbp and the code source load all the module and the main source, and i don't like that VB can do something that PB can't need :?

Well, again thanks for the code of all MASTER MEMBERS of all forum.

If a MASTER of this forum, want to optimize this code, or have a better way to do exactly the same function, please help me 8)

Be careful, the originaly of this code is that he works fine without care is the option "run only one instance" is or not checked :D

And because KCC speak very good english ........ :lol:
This code is Bi language :lol:

Code: Select all

; Ouverture d'un PROJET (Fichier principal .Pb et ses .Pbi) avec la methode SENDKEY
; OpenProject (Master file PB and his PBI) with SENDKEY METHOD
; Mal codé par KCC (Mais ça marche à peu pres) :-( 
; Pig coded by KCC (But it's works a little bit) :-(
; Merci à TS-SOFT, FREAK, BROSSDEN, ORYAAAAA, SOLDAT INCONNU, MILAN1612, DOBRO, CHRIS
; Thanks to TS-SOFT, FREAK, BROSSDEN, ORYAAAAA, SOLDAT INCONNU, MILAN1612, DOBRO, CHRIS

Global AppPath.s
Global FichierACharger.s
Global NomLogiciel.s = "ProjetPB"
Global VersionLogiciel.s = "v1.0"
Global VersionPB.s = "E:\PureBasic\v4.20\PureBasic.exe"

AppPath = Space(200)
GetCurrentDirectory_(200, @AppPath)
AppPath = Trim(AppPath)
PathAddBackslash_(@AppPath)

UseJPEGImageDecoder()

Enumeration
 #FormProjet
 #ListViewPb 
 #TextPb
 #TextFermer
 #TextNomLogiciel
 #ImageG
 #ImageD
 #FontArial12
EndEnumeration 

Declare.s ProcessNameFromHwnd(hwnd) 
Declare CheckWindowsProcess(HwndRequester, p) 

Procedure.b CheckRunningExe(FileName.s) 
  Protected snap.l , Proc32.PROCESSENTRY32 , dll_kernel32.l 
  FileName = GetFilePart( FileName ) 
  dll_kernel32 = OpenLibrary (#PB_Any, "kernel32.dll") 
  If dll_kernel32 
    snap = CallFunction (dll_kernel32, "CreateToolhelp32Snapshot",$2, 0) 
    If snap 
      Proc32\dwSize = SizeOf (PROCESSENTRY32) 
      If CallFunction (dll_kernel32, "Process32First", snap, @Proc32) 
        While CallFunction (dll_kernel32, "Process32Next", snap, @Proc32) 
          If PeekS (@Proc32\szExeFile)=FileName 
            CloseHandle_ (snap) 
            CloseLibrary (dll_kernel32) 
            ProcedureReturn #True 
          EndIf 
        Wend 
      EndIf    
      CloseHandle_ (snap) 
    EndIf 
    CloseLibrary (dll_kernel32) 
  EndIf 
  ProcedureReturn #False 
EndProcedure 

Procedure SendKey(Key.s) 
  ; get virtual key code and shift state 
  VK.w = VkKeyScan_(Asc(Key)) 
  If VK = -1 
    ProcedureReturn 
  EndIf 
  
  ; get scan code if an extended key 
  If MapVirtualKey_(VK, 2) = 0 
    Extended.l = #KEYEVENTF_EXTENDEDKEY 
    ; get scan code 
    Scan.l = MapVirtualKey_(VK, 0) 
  Else 
    Extended = 0 
    Scan = 0 
  EndIf 
  
  ; press shift/ctrl/alt if needed 
  Shift.l = VK & $100 
  Ctrl.l = VK & $200 
  Alt.l = VK & $400 
  If Shift 
    keybd_event_(#VK_SHIFT, 0, 0, 0) 
  EndIf 
  If Ctrl 
    keybd_event_(#VK_CONTROL, 0, 0, 0) 
  EndIf 
  If Alt 
    keybd_event_(#VK_MENU, 0, 0, 0) 
  EndIf 
  
  ; press and release key 
  VK & $ff 
  keybd_event_(VK, Scan, Extended, 0) 
  keybd_event_(VK, Scan, #KEYEVENTF_KEYUP | Extended, 0) 
  
  ; release shift/ctrl/alt if pressed 
  If Shift 
    keybd_event_(#VK_SHIFT, 0, #KEYEVENTF_KEYUP, 0) 
  EndIf 
  If Ctrl 
    keybd_event_(#VK_CONTROL, 0, #KEYEVENTF_KEYUP, 0) 
  EndIf 
  If Alt 
    keybd_event_(#VK_MENU, 0, #KEYEVENTF_KEYUP, 0) 
  EndIf 
EndProcedure 

Procedure SendKeys(String.s) 
  For Letter.l = 1 To Len(String) 
    SendKey(Mid(String, Letter, 1)) 
  Next 
EndProcedure 

ProcedureDLL FindHwndWindowByPartName(Part$) 

 r = GetWindow_(GetDesktopWindow_(),#GW_CHILD) 

 Repeat
  
  t$ = Space(999)
  GetWindowText_(r,t$,999) 
 
  If FindString(LCase(t$), LCase(part$),1) <> 0 And IsWindowVisible_(r) = #True 
   w = r 
  Else 
   r = GetWindow_(r, #GW_HWNDNEXT) 
  EndIf 
  
 Until r = 0 Or w <> 0 

 ProcedureReturn w 

EndProcedure 

Procedure CheckWindowsProcess(HwndRequester, p) 
  
  Protected ProcessPath.s = ProcessNameFromHwnd(HwndRequester) 
  Protected Caption.s = Space(255) 
  
  GetWindowText_(HwndRequester, @Caption, 255) 
  
  If FindString(UCase(Caption), "OUVRIR UN FICHIER...", 1) Or FindString(UCase(Caption), "CHOOSE A FILE TO OPEN...", 1) 
  
   SetForegroundWindow_(HwndRequester)
   SendKeys(AppPath + Trim(FichierACharger)) 
   keybd_event_(#VK_RETURN,0,0,0)
   Delay(100)
    
  EndIf 
  
  ProcedureReturn #True   ; return 1 to continue the enumeration 
  
EndProcedure 

Procedure.s ProcessNameFromHwnd(hwnd) 
  
  Protected   ProcessID 
  Protected   hProcess 
  Protected   hModule 
  Protected   ProcessName.s   =   Space(#MAX_PATH) 
  Protected   EnumProcessModules 
  Protected   GetModuleFileNameEx 
  
  If  OpenLibrary(0, "psapi.dll") 
    EnumProcessModules  =   GetFunction(0, "EnumProcessModules") 
    GetModuleFileNameEx =   GetFunction(0, "GetModuleFileNameExA") 
    
    GetWindowThreadProcessId_(hwnd, @ProcessID) 
    hProcess    =   OpenProcess_(#PROCESS_QUERY_INFORMATION|#PROCESS_VM_READ, 0, ProcessID) 
    
    CallFunctionFast(EnumProcessModules, hProcess, @hModule, 1, 0) 
    CallFunctionFast(GetModuleFileNameEx, hProcess, hModule, @ProcessName, #MAX_PATH) 
    
    CloseHandle_(hProcess) 
    CloseLibrary(0) 
  EndIf 
  
  ProcedureReturn ProcessName 
EndProcedure 

OpenWindow(#FormProjet, 380, 113, 300, 300, NomLogiciel + " " + VersionLogiciel, #PB_Window_BorderLess)
SetWindowColor(#FormProjet, RGB(0, 128, 0)) 
Region = CreateEllipticRgn_(#FormProjet, 0, WindowWidth(#FormProjet), WindowHeight(#FormProjet)) 
SetWindowRgn_(WindowID(#FormProjet), Region, #True ) 
DeleteObject_(Region) 
CreateGadgetList(WindowID(#FormProjet))
LoadFont(#FontArial12, "Arial", 12, #PB_Font_Bold)
TextGadget(#TextNomLogiciel, 68, 17, 150, 22, "KCC ProjetPB",#PB_Text_Center)
SetGadgetFont(#TextNomLogiciel, FontID(#FontArial12))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_FrontColor, RGB(237, 245, 18))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextPb, 68, 40, 150, 22, "Choisissez votre projet",#PB_Text_Center)
SetGadgetColor(#TextPb, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextPb, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextFermer, 75, 273, 150, 22, "Quitter",#PB_Text_Center|#SS_NOTIFY)
SetGadgetColor(#TextFermer, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextFermer, #PB_Gadget_BackColor, RGB(0,128,0))
ListViewGadget(#ListViewPb, 66, 58, 165, 206)
ImageG = CatchImage(#ImageG, ?ImageDataG)
ImageGadget(#ImageG, 3, 120, 0, 580, ImageG) 
ImageD = CatchImage(#ImageD, ?ImageDataD)
ImageGadget(#ImageD, 235, 120, 0, 580, ImageD) 
UpdateWindow_(WindowID(#FormProjet)) 

UsedDirectory = ExamineDirectory(#PB_Any, AppPath, "*.*") 

While NextDirectoryEntry(UsedDirectory) 
  
 NomElement.s = DirectoryEntryName(UsedDirectory) 
                  
 If DirectoryEntryType(UsedDirectory) = #PB_DirectoryEntry_File 
 
  If Not FindString(NomElement,".pbi", 1) And FindString(UCase(NomElement), ".PB", 1) And Not FindString(UCase(NomElement), "PROJETSPB", 1)
   AddGadgetItem(#ListViewPb, - 1, NomElement)
  EndIf  
  
 EndIf
     
Wend
 
FinishDirectory(UsedDirectory)

Repeat

 Evenement = WaitWindowEvent() 
 
 Select Evenement
  
  Case #WM_LBUTTONDOWN 
  
   SendMessage_(WindowID(#FormProjet), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
  
  Case #PB_Event_Gadget
   
   EvenementGadget = EventGadget()
   
   If EvenementGadget = #TextFermer
    
    End
   
   ElseIf EvenementGadget = #ListViewPb
  
    FichierACharger = GetGadgetItemText(#ListViewPb, GetGadgetState(#ListViewPb), 0)
             
    If Not CheckRunningExe("PureBasic.exe")
     
     If FileSize(VersionPB) = - 1
      RunProgram(#PB_Compiler_Home + "Purebasic.exe", "/PORTABLE", #PB_Compiler_Home)
     Else
      RunProgram(VersionPB, "/PORTABLE", GetPathPart(VersionPB))
     EndIf 
     
     Delay(1000)
          
    EndIf
    
    HwndPb = FindHwndWindowByPartName("PureBasic")     
    
    If IsIconic_(HwndPb)
     SendMessage_(HwndPb,#SW_SHOWNORMAL,0,0) 
     ShowWindow_(HwndPb,#SW_RESTORE) 
     ShowWindow_(HwndPb,#SW_SHOW) 
    EndIf
     
    SetForegroundWindow_(HwndPb)
    
    ; Ouverture du selecteur de fichier par la methode sendkey
    keybd_event_(#VK_CONTROL,0,0,0) 
    keybd_event_($4F,0,0,0) 
    keybd_event_(#VK_CONTROL,0,#KEYEVENTF_KEYUP,0) 
    Delay(100)
    EnumWindows_(@CheckWindowsProcess(), 1) 
    
    ReadFile(1, AppPath + FichierACharger)    
        
    Repeat
     
     LigneCode$ = ReadString(1)
     
     If FindString(LigneCode$, "IncludeFile", 1)
     
      SetForegroundWindow_(HwndPb) 
      FichierACharger = ReplaceString(LigneCode$, "IncludeFile", "")
      FichierACharger = ReplaceString(FichierACharger, Chr(34), "")
      
      ; Ouverture du selecteur de fichier par la methode sendkey
      keybd_event_(#VK_CONTROL,0,0,0) 
      keybd_event_($4F,0,0,0) 
      keybd_event_(#VK_CONTROL,0,#KEYEVENTF_KEYUP,0) 
      Delay(100)
      EnumWindows_(@CheckWindowsProcess(), 1) 
 
     EndIf
     
    Until Eof(1) <> 0
    
    CloseFile(1)
  
   EndIf
   
   Break
       
 EndSelect
  
Until Evenement = #PB_Event_CloseWindow

End

DataSection

 ImageDataD :
 ;*********

 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12
 Data.b 25,18,19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60
 Data.b 46,51,52,50,-1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
 Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0
 Data.b 63,0,59,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16
 Data.b 0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63
 Data.b 21,82,-47,-16,36,51,98,114,-126,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84
 Data.b 85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118
 Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62
 Data.b -61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13
 Data.b -12,-11,-10,-9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2
 Data.b 4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16
 Data.b 21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87
 Data.b 88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118
 Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70
 Data.b -62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12
 Data.b -11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0,-75,-32,-71,96,-46,52,-63,123,-80,125,-86,-27,-104,121,-124,114
 Data.b 16,28,96,126,57,-82,-122,125,110,-26,64,94,-34,86,-35,-35,9,-21,-12,-82,106,-38,-34,72,116,29,51,-116,-81,-112,28,-111
 Data.b -37,113,45,-2,20,-47,59,70,122,-12,-11,21,-59,79,-35,-126,72,-41,5,73,66,-116,82,93,13,27,-113,20,-22,16,-95,105,22,85
 Data.b 76,-32,-102,-117,-2,19,91,-120,-41,62,107,96,117,-25,-91,83,-2,-48,-36,-28,57,-50,59,-118,-95,-88,-63,111,36,113,24,-95
 Data.b 88,-27,-28,54,-45,-43,-69,113,-100,0,122,96,99,-100,82,115,107,-87,-35,41,66,10,-14,55,-32,-15,-76,-73,3,42,-52,8,28,100
 Data.b -11,-89,-81,-115,101,99,-27,-69,22,86,4,16,78,65,30,-11,-54,64,-15,-96,80,112,49,-45,-116,-102,-106,-18,6,12,-9,8,0,13
 Data.b -119,8,-49,56,61,79,-48,28,-113,-53,-81,90,92,-19,14,112,-90,-83,126,-91,93,123,77,-74,-116,125,-70,-59,-126,-64,-51,-75
 Data.b -31,-2,-31,61,8,-10,63,-89,-27,88,-96,-100,116,-82,-122,45,-105,81,-75,-76,-124,-31,-58,-48,113,-48,-10,63,-99,115,-28
 Data.b 121,108,81,-57,-52,-92,-125,92,56,-104,40,-54,-15,62,71,56,-63,-3,90,-83,-30,-76,103,89,-10,-21,-113,-80,105,-9,22,-83
 Data.b -73,22,-87,11,99,-71,65,-76,-126,63,12,-2,53,98,41,-83,-11,13,-63,8,73,-108,124,-47,-114,-121,-35,127,-62,-71,43,13,66
 Data.b 109,62,115,36,74,-110,35,2,-81,20,-96,-108,113,-17,-126,15,-30,57,-83,-37,107,107,109,82,54,-102,-59,-116,109,24,44
 Data.b -42,-18,-39,112,125,-67,71,-31,-102,-24,-93,87,-104,-10,-14,-52,-62,-115,120,42,51,-46,72,124,-47,-108,-111,-72,-63,39
 Data.b -14,-86,-5,-73,73,-119,0,32,122,-116,-29,63,-25,-4,42,113,112,110,45,101,123,-59,-56,-127,119,23,-116,97,-56,-50,49,-41
 Data.b 28,113,-41,-109,-51,58,59,104,-34,40,-90,-118,-30,57,35,-105,-18,-20,-5,-39,-12,35,-79,-6,-42,-82,75,84,-49,66,-92,-88
 Data.b -87,58,53,31,65,33,-47,100,119,105,-46,69,-112,-79,-50,115,-48,-15,-111,-50,123,-1,0,-98,-108,106,-74,87,-48,-37,-39,-53
 Data.b 21,-74,-15,11,-69,56,94,120,59,120,32,30,-8,63,-99,105,67,115,-93,-119,-26,-122,27,-69,-113,-110,66,-84,21,84,116,-22,121
 Data.b 108,109,-9,-6,-5,102,-107,-25,-119,-20,-83,-18,29,45,99,-72,-72,85,99,-119,29,-126,-122,-4,-71,-59,76,-36,57,117,103,-103
 Data.b -115,-59,83,-99,46,71,61,58,119,-48,-52,77,75,76,-13,124,-17,42,-30,44,-99,-58,21,33,-128,-10,12,127,-97,95,-83,100,-35,77
 Data.b -10,-101,-71,103,49,32,-13,28,-74,49,-100,100,-12,-90,77,43,79,115,44,-17,-115,-14,57,118,-64,-57,36,-26,-103,92,18,-88
 Data.b -34,-121,-49,-30,49,-75,-79,22,83,-106,-120,58,115,78,73,30,57,4,-111,-69,35,-114,67,41,-63,20,-38,43,52,-20,113,39,103
 Data.b 116,105,-99,67,83,-43,85,108,60,-60,117,99,-109,-124,84,45,-127,-100,-77,96,19,-113,115,77,-2,-58,-72,15,-14,72,-116,-68
 Data.b -4,-61,119,-14,-64,63,-91,67,-91,-112,53,8,-1,0,120,-15,-100,29,-123,14,9,108,112,62,-107,30,-93,-89,106,-13,-54,-26,-44
 Data.b 91,-60,-51,-112,54,-55,39,-82,79,25,-64,-21,93,-40,122,74,-86,110,108,-11,-16,116,-106,37,57,85,109,-65,82,-36,-102,21
 Data.b -46,-29,107,-60,-7,-20,9,92,127,-33,64,85,121,52,-21,-56,-48,-77,-37,-66,-47,-44,-88,-56,31,-107,81,-117,73,-15,92,75,-76
 Data.b 106,16,-88,60,18,-60,-1,0,74,-38,-48,-20,53,120,110,21,-81,47,-30,42,27,-18,64,-71,46,48,127,-120,-98,14,70,48,70,61,-5
 Data.b 86,-77,-63,-62,-37,-99,21,50,-54,86,110,45,-93,32,14,-12,-20,-44,-9,-13,53,-58,-95,113,51,-62,-80,-77,57,-35,26,-1,0,9
 Data.b -24,106,-67,121,-49,71,100,120,50,86,-109,65,69,20,84,-110,92,-46,96,-122,-29,84,-126,43,-116,121,68,-110,65,56,7,3,-127
 Data.b -6,86,-82,-89,96,-73,73,-5,-101,-5,123,88,88,-25,59,84,-97,65,-125,-7,-15,91,62,2,-47,-12,-19,86,-34,-24,-70,-84,-105,-79
 Data.b -80,37,93,114,21,58,2,15,78,78,107,-96,-69,-8,109,-93,-33,72,36,-71,-76,89,27,31,120,-73,65,-24,43,-42,-63,-45,-27,-123
 Data.b -5,-97,67,-105,82,113,-89,-51,-36,-14,-79,-31,116,-35,-72,120,-114,66,122,112,-32,-42,-33,-39,-89,-45,108,38,-98,43,-13
 Data.b -67,21,72,42,-95,73,-32,14,-3,121,31,-41,-95,-82,-72,-4,39,-16,-1,0,-16,-40,-127,-12,115,87,37,-16,110,-105,99,-91,-79
 Data.b -71,71,123,75,85,103,-61,49,109,-117,-44,-29,-67,111,82,45,-59,-40,-20,-81,23,42,109,71,115,-55,9,39,-110,114,79,90,90
 Data.b 67,-126,78,-33,-69,-98,62,-108,-93,-91,120,76,-7,57,110,127,-1,-39

 ImageDataG :
 ;*********

 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12,25,18
 Data.b 19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60,46,51,52,50
 Data.b -1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
 Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0,63,0,59,3,1,34,0,2,17,1,3
 Data.b 17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1
 Data.b 125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9
 Data.b 10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102
 Data.b 103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105
 Data.b -104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54
 Data.b -46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-60,0
 Data.b 31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3
 Data.b 17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37
 Data.b -15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104
 Data.b 105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104
 Data.b -103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46
 Data.b -45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17
 Data.b 3,17,0,63,0,-28,-20,108,-38,-2,-11,45,-60,-117,24,57,44,-19,-47,84,114,77,119,86,58,-35,-73,-121,-20,-59,-83,-126,-108
 Data.b 82,114,-19,-4,76,125,78,61,-65,42,-27,116,-72,-106,27,55,-70,111,-67,33,42,-98,-54,58,-44,-22,26,-26,70,25,27,0,44,-28
 Data.b -12,-57,111,-49,-91,121,56,120,-88,67,-101,-87,-106,81,-125,-116,40,-3,98,-95,-42,127,-62,101,57,-115,-100,-69,96,123,-43
 Data.b 113,-29,-87,-92,102,10,-20,49,-44,103,-102,-61,-100,-92,11,28,47,-123,104,-41,4,117,-7,-113,39,-97,-81,31,-121,122,-83
 Data.b 111,4,114,93,-93,72,62,66,-64,99,56,30,-28,-5,99,31,-104,-83,-7,-35,-82,123,51,-10,80,-121,59,58,120,-4,93,121,44,-37,33
 Data.b 105,36,114,58,2,77,105,91,107,-70,-124,-33,52,-114,-15,39,114,79,39,-23,92,-7,-71,-122,0,-62,24,-124,105,-100,-86,14,-61
 Data.b -36,-11,39,-21,74,111,90,69,7,118,106,-93,38,-59,36,-74,72,-23,-18,117,-117,123,-5,83,97,118,-66,109,-68,-65,43,43,125
 Data.b 122,-3,123,-41,-111,-36,-60,109,-82,-90,-128,-11,-115,-39,63,35,-118,-18,33,18,73,34,-19,4,-112,115,-128,58,87,39,-30
 Data.b 104,-116,30,36,-65,77,-53,-52,-91,-121,61,-101,-97,-21,92,-8,-75,-52,-109,62,123,57,-94,-83,25,36,88,-125,81,-76,-5,4,54
 Data.b -9,11,44,111,22,70,-24,-64,33,-127,57,31,66,51,83,-38,23,-65,-44,44,-42,-58,-55,-59,-67,-68,-86,-46,57,57,47,-13,100,-106
 Data.b -24,6,7,97,88,29,70,43,119,75,-15,10,-40,-39,-57,107,52,12,-23,25,59,90,54,-38,112,78,121,29,-21,-98,-99,75,-76,-92,-12
 Data.b 56,-88,-29,-89,56,-86,53,103,104,-93,82,-29,70,-98,98,-63,-107,49,-110,115,-100,3,-49,95,90,-94,-48,11,68,88,-73,-84,-84
 Data.b -128,97,-74,-13,-17,-41,-33,-45,3,-12,-58,-36,122,-114,-109,113,104,-109,-117,-69,-108,12,48,-30,64,-72,67,-24,-36,-25
 Data.b -14,6,-88,-68,86,119,105,111,37,-108,-52,99,-107,127,-27,-78,-123,33,-78,114,14,15,95,-14,43,-75,-72,-23,102,125,45,60,77
 Data.b 42,-42,83,-110,-14,42,38,-25,-58,114,114,58,-98,-11,-93,12,49,-59,111,-25,76,-30,56,-44,114,-57,-65,-45,-42,-87,-59,-10
 Data.b 104,-26,-99,99,117,-72,-106,-40,110,124,115,17,-25,24,4,16,79,-41,-91,11,111,54,-93,28,-105,119,19,36,81,-62,126,-13,124
 Data.b -85,-113,76,15,-14,105,-13,39,-86,58,105,-44,-89,82,46,105,-5,-85,-87,51,-33,79,116,-21,13,-88,41,110,-60,13,-128,-14,-57
 Data.b -43,-113,-83,115,-66,38,117,-67,-15,13,-44,-56,112,-93,100,99,29,14,-60,9,-97,-4,118,-84,94,-22,-56,96,123,75,8,-68,-88
 Data.b 24,-4,-13,55,50,73,-19,-24,23,-40,115,-22,77,100,-116,87,29,90,-35,17,-13,57,-82,99,10,-51,66,-110,-47,117,3,-51,75,5,-84
 Data.b -9,4,-120,98,121,8,-21,-76,103,21,23,-29,-118,-34,2,-18,-13,64,-128,91,-56,44,-52,89,64,118,6,89,0,7,-100,100,115,-98,-71
 Data.b 63,79,74,-50,-115,53,82,86,108,-13,48,-76,21,105,-14,-73,99,61,116,107,-57,35,114,34,3,-35,-104,113,-8,14,127,74,-110,77
 Data.b 18,-23,56,18,35,-5,-82,-32,63,80,43,49,-76,-65,20,-14,18,-2,-44,110,-32,-86,49,-64,-3,41,-111,104,-2,34,73,9,-72,-98,41,81
 Data.b -72,0,-69,14,127,-32,36,87,122,-63,-64,-10,99,-106,-47,-113,86,-51,113,21,-18,-118,86,-14,9,99,35,38,54,96,55,14,115,-63
 Data.b 12,57,28,122,17,85,111,47,-18,111,-104,27,-119,119,1,-56,69,80,-88,62,-118,56,21,110,-19,100,77,33,22,124,70,-5,-14,-111
 Data.b -58,-60,-85,30,-28,-25,39,-113,90,-54,-82,26,-53,-110,78,41,-24,121,88,-90,-23,73,-46,-125,-9,123,92,94,-40,-94,-118,43,3
 Data.b -124,59,-42,-66,-116,-45,79,-25,91,125,-88,-92,74,-91,-10,-15,-125,-49,60,117,63,65,89,61,-21,-72,-16,38,-117,97,-85,-39
 Data.b -50,-52,-124,-34,-63,38,-30,-35,54,-87,3,110,59,117,6,-73,-61,38,-22,36,-114,-52,12,101,42,-55,68,-27,47,124,57,-25,-54
 Data.b 11,-21,111,9,-38,-93,106,-31,7,3,25,-6,-5,-12,-12,-89,-23,-6,39,-39,38,83,30,-71,28,-4,-14,-78,-123,115,-114,-11,-24,83
 Data.b -4,48,-47,-18,-25,105,-18,32,105,-92,114,75,59,-56,73,39,-34,-111,62,20,-8,125,48,87,79,76,-113,86,-81,101,35,-23,-114,47
 Data.b 92,-73,-75,77,62,25,99,49,-3,-95,36,-14,-37,107,3,-111,-126,121,-6,113,88,53,-21,-9,-34,19,-46,-83,52,-69,-119,47,17,69,-76
 Data.b 72,89,-28,32,-77,32,-11,29,-21,-56,14,50,112,73,29,-77,94,86,50,28,-77,-65,115,-25,-77,42,78,21,57,-69,-123,20,81,92,-121,-100,127,-1,-39

EndDataSection
Thanks at all for your precious help on the forum, and all the days i need you 8)

Posted: Thu Nov 27, 2008 11:57 am
by Kwai chang caine
Update :D

1/ Add config portable for the preferences
2/ Check if process of purebasic exist, (Replace check of handle) for know if i must open a new application of PB
3 / Choice of PB version in a variable (If you have several)

Posted: Thu Nov 27, 2008 1:14 pm
by Kwai chang caine
Update :D

1/ Skin of window

Posted: Thu Nov 27, 2008 2:14 pm
by Kwai chang caine
Update :D

1/ Fix bug not open code if none code already open :oops:
2/ Add show if the PB ide is in the taskbar

Posted: Fri Nov 28, 2008 6:15 am
by idle
I could have sworn it's smiled at me! :D

Posted: Fri Nov 28, 2008 8:51 am
by Kwai chang caine
I don't know why you say that :roll:
But if you said that, it is true that :D

Posted: Fri Nov 28, 2008 4:10 pm
by pdwyer
I get a window with nothing it in, what a I supposed to do?

Posted: Fri Nov 28, 2008 4:36 pm
by SFSxOI
I get a green circle background with some form in the center with two hands (i guess) over something that looks possibly like coins, on the left and right. There is also the word 'Quitter' at the bottom and your title at the top. Is it supposed to do anything? Good job on it though. Thank You :)

Posted: Fri Nov 28, 2008 10:52 pm
by Kwai chang caine
You must modify the path, and write your favorit PB in line 12
You compile the code in exe
You put the exe in this example folder

http://purebasic.myftp.org/?filename=fi ... roject.zip

In this folder there are two PB, the second don't have any includefile
The first have several includefile

Launch the exe, two PB appears, Main1.pb and Main2.pb
Simple clic to Main1.pb, and my exe load automaticaly all the PBI in the main1 :D
This exe do like the loader project of VB

There are again some little bugs :oops:
IDLE give me another way for load the code without sendkey.

http://www.purebasic.fr/english/viewtop ... 733#268733

Because sendkeys is not a sure command :?
But i have no found any command who open a new tab in a PB IDE, and put a code read in a file, like runprogram(purebasic.exe) do, but without use runprogram

Posted: Tue Dec 02, 2008 12:12 pm
by Kwai chang caine
New version, more simple, more trusty, more faster (Use Runprogram) but for the time not manage the double launch of IDE

; Add the DbleClick for launch the project

Code: Select all

; Ouverture d'un PROJET (Fichier principal .Pb et ses .Pbi) avec la methode SENDKEY
; OpenProject (Master file PB and his PBI) with RunProgram METHOD
; Mal codé par KCC (Mais ça marche à peu pres) :-( 
; Pig coded by KCC (But it's works a little bit) :-(

; Merci à TS-SOFT (Idée du chargement auto des includes)
;         MILAN1612 (Click sur Label)
;         DOBRO (Createur de DATA à partir d'une image)
;         #NUL (Chargement de plusieurs source dans la meme phrase parametre)
;         SOLDAT INCONNU (Forme de la fenetre ronde)

Global AppPath.s
Global FichierACharger.s
Global PhraseFichierACharger.s
Global NomLogiciel.s = "ProjetPB"
Global VersionLogiciel.s = "v1.0"
Global VersionPB.s = "E:\DONNEES\ksa8d4\MES DOCUMENTS\0 Program files 0\PureBasic\v4.20\PureBasic.exe"

AppPath = Space(200)
GetCurrentDirectory_(200, @AppPath)
AppPath = Trim(AppPath)
PathAddBackslash_(@AppPath)

UseJPEGImageDecoder()

Enumeration
 #FormProjet
 #ListViewPb 
 #TextPb
 #TextFermer
 #TextNomLogiciel
 #ImageG
 #ImageD
 #FontArial12
EndEnumeration 

OpenWindow(#FormProjet, 380, 113, 300, 300, NomLogiciel + " " + VersionLogiciel, #PB_Window_BorderLess)
SetWindowColor(#FormProjet, RGB(0, 128, 0)) 
Region = CreateEllipticRgn_(#FormProjet, 0, WindowWidth(#FormProjet), WindowHeight(#FormProjet)) 
SetWindowRgn_(WindowID(#FormProjet), Region, #True ) 
DeleteObject_(Region) 
CreateGadgetList(WindowID(#FormProjet))
LoadFont(#FontArial12, "Arial", 12, #PB_Font_Bold)
TextGadget(#TextNomLogiciel, 68, 17, 150, 22, "KCC ProjetPB",#PB_Text_Center)
SetGadgetFont(#TextNomLogiciel, FontID(#FontArial12))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_FrontColor, RGB(237, 245, 18))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextPb, 68, 40, 150, 22, "Choisissez votre projet",#PB_Text_Center)
SetGadgetColor(#TextPb, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextPb, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextFermer, 75, 273, 150, 22, "Quitter",#PB_Text_Center|#SS_NOTIFY)
SetGadgetColor(#TextFermer, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextFermer, #PB_Gadget_BackColor, RGB(0,128,0))
ListViewGadget(#ListViewPb, 66, 58, 165, 206)
ImageG = CatchImage(#ImageG, ?ImageDataG)
ImageGadget(#ImageG, 3, 120, 0, 580, ImageG) 
ImageD = CatchImage(#ImageD, ?ImageDataD)
ImageGadget(#ImageD, 235, 120, 0, 580, ImageD) 
UpdateWindow_(WindowID(#FormProjet)) 

UsedDirectory = ExamineDirectory(#PB_Any, AppPath, "*.*") 

While NextDirectoryEntry(UsedDirectory) 
  
 NomElement.s = DirectoryEntryName(UsedDirectory) 
                  
 If DirectoryEntryType(UsedDirectory) = #PB_DirectoryEntry_File 
 
  If Not FindString(NomElement,".pbi", 1) And FindString(UCase(NomElement), ".PB", 1) And Not FindString(UCase(NomElement), "PROJETSPB", 1)
   AddGadgetItem(#ListViewPb, - 1, NomElement)
  EndIf  
  
 EndIf
     
Wend
 
FinishDirectory(UsedDirectory)

Repeat

 Evenement = WaitWindowEvent() 
 
 Select Evenement
  
  Case #WM_LBUTTONDOWN 
  
   SendMessage_(WindowID(#FormProjet), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
  
  Case #PB_Event_Gadget
   
   EvenementGadget = EventGadget()
   
   If EvenementGadget = #TextFermer
    
    End
   
   ElseIf EvenementGadget = #ListViewPb
   
    Start = GetTickCount_()  
    GetAsyncKeyState_(#VK_LBUTTON) 
        
    Repeat : Until GetAsyncKeyState_(#VK_LBUTTON) <> 0 Or GetTickCount_() - Start > GetDoubleClickTime_() 
        
    If GetTickCount_() - Start < GetDoubleClickTime_()
       
     FichierACharger = GetGadgetItemText(#ListViewPb, GetGadgetState(#ListViewPb), 0)
     PhraseFichierACharger + " " + Chr(34) + AppPath + FichierACharger + Chr(34) 
     ReadFile(1, AppPath + FichierACharger)    
         
     Repeat
      
      LigneCode$ = ReadString(1)
      
      If FindString(LigneCode$, "IncludeFile", 1)
          
       FichierACharger = ReplaceString(LigneCode$, "IncludeFile", "")
       FichierACharger = ReplaceString(FichierACharger, Chr(34), "")
       FichierACharger = Trim(FichierACharger)
       PhraseFichierACharger + " " + Chr(34) + AppPath + FichierACharger + Chr(34) 
                    
      EndIf
      
     Until Eof(1) <> 0
     
     CloseFile(1)
 
     If FileSize(VersionPB) = - 1
      RunProgram(#PB_Compiler_Home + "Purebasic.exe", PhraseFichierACharger + " /PORTABLE", #PB_Compiler_Home)
     Else
      RunProgram(VersionPB, PhraseFichierACharger + " /PORTABLE", GetPathPart(VersionPB))
     EndIf 
     
     Delay(1000)

    EndIf 
    
   EndIf
   
   Break
       
 EndSelect
  
Until Evenement = #PB_Event_CloseWindow

End

DataSection

 ImageDataD :
 ;*********

 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12
 Data.b 25,18,19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60
 Data.b 46,51,52,50,-1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
 Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0
 Data.b 63,0,59,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16
 Data.b 0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63
 Data.b 21,82,-47,-16,36,51,98,114,-126,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84
 Data.b 85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118
 Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62
 Data.b -61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13
 Data.b -12,-11,-10,-9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2
 Data.b 4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16
 Data.b 21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87
 Data.b 88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118
 Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70
 Data.b -62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12
 Data.b -11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0,-75,-32,-71,96,-46,52,-63,123,-80,125,-86,-27,-104,121,-124,114
 Data.b 16,28,96,126,57,-82,-122,125,110,-26,64,94,-34,86,-35,-35,9,-21,-12,-82,106,-38,-34,72,116,29,51,-116,-81,-112,28,-111
 Data.b -37,113,45,-2,20,-47,59,70,122,-12,-11,21,-59,79,-35,-126,72,-41,5,73,66,-116,82,93,13,27,-113,20,-22,16,-95,105,22,85
 Data.b 76,-32,-102,-117,-2,19,91,-120,-41,62,107,96,117,-25,-91,83,-2,-48,-36,-28,57,-50,59,-118,-95,-88,-63,111,36,113,24,-95
 Data.b 88,-27,-28,54,-45,-43,-69,113,-100,0,122,96,99,-100,82,115,107,-87,-35,41,66,10,-14,55,-32,-15,-76,-73,3,42,-52,8,28,100
 Data.b -11,-89,-81,-115,101,99,-27,-69,22,86,4,16,78,65,30,-11,-54,64,-15,-96,80,112,49,-45,-116,-102,-106,-18,6,12,-9,8,0,13
 Data.b -119,8,-49,56,61,79,-48,28,-113,-53,-81,90,92,-19,14,112,-90,-83,126,-91,93,123,77,-74,-116,125,-70,-59,-126,-64,-51,-75
 Data.b -31,-2,-31,61,8,-10,63,-89,-27,88,-96,-100,116,-82,-122,45,-105,81,-75,-76,-124,-31,-58,-48,113,-48,-10,63,-99,115,-28
 Data.b 121,108,81,-57,-52,-92,-125,92,56,-104,40,-54,-15,62,71,56,-63,-3,90,-83,-30,-76,103,89,-10,-21,-113,-80,105,-9,22,-83
 Data.b -73,22,-87,11,99,-71,65,-76,-126,63,12,-2,53,98,41,-83,-11,13,-63,8,73,-108,124,-47,-114,-121,-35,127,-62,-71,43,13,66
 Data.b 109,62,115,36,74,-110,35,2,-81,20,-96,-108,113,-17,-126,15,-30,57,-83,-37,107,107,109,82,54,-102,-59,-116,109,24,44
 Data.b -42,-18,-39,112,125,-67,71,-31,-102,-24,-93,87,-104,-10,-14,-52,-62,-115,120,42,51,-46,72,124,-47,-108,-111,-72,-63,39
 Data.b -14,-86,-5,-73,73,-119,0,32,122,-116,-29,63,-25,-4,42,113,112,110,45,101,123,-59,-56,-127,119,23,-116,97,-56,-50,49,-41
 Data.b 28,113,-41,-109,-51,58,59,104,-34,40,-90,-118,-30,57,35,-105,-18,-20,-5,-39,-12,35,-79,-6,-42,-82,75,84,-49,66,-92,-88
 Data.b -87,58,53,31,65,33,-47,100,119,105,-46,69,-112,-79,-50,115,-48,-15,-111,-50,123,-1,0,-98,-108,106,-74,87,-48,-37,-39,-53
 Data.b 21,-74,-15,11,-69,56,94,120,59,120,32,30,-8,63,-99,105,67,115,-93,-119,-26,-122,27,-69,-113,-110,66,-84,21,84,116,-22,121
 Data.b 108,109,-9,-6,-5,102,-107,-25,-119,-20,-83,-18,29,45,99,-72,-72,85,99,-119,29,-126,-122,-4,-71,-59,76,-36,57,117,103,-103
 Data.b -115,-59,83,-99,46,71,61,58,119,-48,-52,77,75,76,-13,124,-17,42,-30,44,-99,-58,21,33,-128,-10,12,127,-97,95,-83,100,-35,77
 Data.b -10,-101,-71,103,49,32,-13,28,-74,49,-100,100,-12,-90,77,43,79,115,44,-17,-115,-14,57,118,-64,-57,36,-26,-103,92,18,-88
 Data.b -34,-121,-49,-30,49,-75,-79,22,83,-106,-120,58,115,78,73,30,57,4,-111,-69,35,-114,67,41,-63,20,-38,43,52,-20,113,39,103
 Data.b 116,105,-99,67,83,-43,85,108,60,-60,117,99,-109,-124,84,45,-127,-100,-77,96,19,-113,115,77,-2,-58,-72,15,-14,72,-116,-68
 Data.b -4,-61,119,-14,-64,63,-91,67,-91,-112,53,8,-1,0,120,-15,-100,29,-123,14,9,108,112,62,-107,30,-93,-89,106,-13,-54,-26,-44
 Data.b 91,-60,-51,-112,54,-55,39,-82,79,25,-64,-21,93,-40,122,74,-86,110,108,-11,-16,116,-106,37,57,85,109,-65,82,-36,-102,21
 Data.b -46,-29,107,-60,-7,-20,9,92,127,-33,64,85,121,52,-21,-56,-48,-77,-37,-66,-47,-44,-88,-56,31,-107,81,-117,73,-15,92,75,-76
 Data.b 106,16,-88,60,18,-60,-1,0,74,-38,-48,-20,53,120,110,21,-81,47,-30,42,27,-18,64,-71,46,48,127,-120,-98,14,70,48,70,61,-5
 Data.b 86,-77,-63,-62,-37,-99,21,50,-54,86,110,45,-93,32,14,-12,-20,-44,-9,-13,53,-58,-95,113,51,-62,-80,-77,57,-35,26,-1,0,9
 Data.b -24,106,-67,121,-49,71,100,120,50,86,-109,65,69,20,84,-110,92,-46,96,-122,-29,84,-126,43,-116,121,68,-110,65,56,7,3,-127
 Data.b -6,86,-82,-89,96,-73,73,-5,-101,-5,123,88,88,-25,59,84,-97,65,-125,-7,-15,91,62,2,-47,-12,-19,86,-34,-24,-70,-84,-105,-79
 Data.b -80,37,93,114,21,58,2,15,78,78,107,-96,-69,-8,109,-93,-33,72,36,-71,-76,89,27,31,120,-73,65,-24,43,-42,-63,-45,-27,-123
 Data.b -5,-97,67,-105,82,113,-89,-51,-36,-14,-79,-31,116,-35,-72,120,-114,66,122,112,-32,-42,-33,-39,-89,-45,108,38,-98,43,-13
 Data.b -67,21,72,42,-95,73,-32,14,-3,121,31,-41,-95,-82,-72,-4,39,-16,-1,0,-16,-40,-127,-12,115,87,37,-16,110,-105,99,-91,-79
 Data.b -71,71,123,75,85,103,-61,49,109,-117,-44,-29,-67,111,82,45,-59,-40,-20,-81,23,42,109,71,115,-55,9,39,-110,114,79,90,90
 Data.b 67,-126,78,-33,-69,-98,62,-108,-93,-91,120,76,-7,57,110,127,-1,-39

 ImageDataG :
 ;*********

 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12,25,18
 Data.b 19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60,46,51,52,50
 Data.b -1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
 Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0,63,0,59,3,1,34,0,2,17,1,3
 Data.b 17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1
 Data.b 125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9
 Data.b 10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102
 Data.b 103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105
 Data.b -104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54
 Data.b -46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-60,0
 Data.b 31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3
 Data.b 17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37
 Data.b -15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104
 Data.b 105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104
 Data.b -103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46
 Data.b -45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17
 Data.b 3,17,0,63,0,-28,-20,108,-38,-2,-11,45,-60,-117,24,57,44,-19,-47,84,114,77,119,86,58,-35,-73,-121,-20,-59,-83,-126,-108
 Data.b 82,114,-19,-4,76,125,78,61,-65,42,-27,116,-72,-106,27,55,-70,111,-67,33,42,-98,-54,58,-44,-22,26,-26,70,25,27,0,44,-28
 Data.b -12,-57,111,-49,-91,121,56,120,-88,67,-101,-87,-106,81,-125,-116,40,-3,98,-95,-42,127,-62,101,57,-115,-100,-69,96,123,-43
 Data.b 113,-29,-87,-92,102,10,-20,49,-44,103,-102,-61,-100,-92,11,28,47,-123,104,-41,4,117,-7,-113,39,-97,-81,31,-121,122,-83
 Data.b 111,4,114,93,-93,72,62,66,-64,99,56,30,-28,-5,99,31,-104,-83,-7,-35,-82,123,51,-10,80,-121,59,58,120,-4,93,121,44,-37,33
 Data.b 105,36,114,58,2,77,105,91,107,-70,-124,-33,52,-114,-15,39,114,79,39,-23,92,-7,-71,-122,0,-62,24,-124,105,-100,-86,14,-61
 Data.b -36,-11,39,-21,74,111,90,69,7,118,106,-93,38,-59,36,-74,72,-23,-18,117,-117,123,-5,83,97,118,-66,109,-68,-65,43,43,125
 Data.b 122,-3,123,-41,-111,-36,-60,109,-82,-90,-128,-11,-115,-39,63,35,-118,-18,33,18,73,34,-19,4,-112,115,-128,58,87,39,-30
 Data.b 104,-116,30,36,-65,77,-53,-52,-91,-121,61,-101,-97,-21,92,-8,-75,-52,-109,62,123,57,-94,-83,25,36,88,-125,81,-76,-5,4,54
 Data.b -9,11,44,111,22,70,-24,-64,33,-127,57,31,66,51,83,-38,23,-65,-44,44,-42,-58,-55,-59,-67,-68,-86,-46,57,57,47,-13,100,-106
 Data.b -24,6,7,97,88,29,70,43,119,75,-15,10,-40,-39,-57,107,52,12,-23,25,59,90,54,-38,112,78,121,29,-21,-98,-99,75,-76,-92,-12
 Data.b 56,-88,-29,-89,56,-86,53,103,104,-93,82,-29,70,-98,98,-63,-107,49,-110,115,-100,3,-49,95,90,-94,-48,11,68,88,-73,-84,-84
 Data.b -128,97,-74,-13,-17,-41,-33,-45,3,-12,-58,-36,122,-114,-109,113,104,-109,-117,-69,-108,12,48,-30,64,-72,67,-24,-36,-25
 Data.b -14,6,-88,-68,86,119,105,111,37,-108,-52,99,-107,127,-27,-78,-123,33,-78,114,14,15,95,-14,43,-75,-72,-23,102,125,45,60,77
 Data.b 42,-42,83,-110,-14,42,38,-25,-58,114,114,58,-98,-11,-93,12,49,-59,111,-25,76,-30,56,-44,114,-57,-65,-45,-42,-87,-59,-10
 Data.b 104,-26,-99,99,117,-72,-106,-40,110,124,115,17,-25,24,4,16,79,-41,-91,11,111,54,-93,28,-105,119,19,36,81,-62,126,-13,124
 Data.b -85,-113,76,15,-14,105,-13,39,-86,58,105,-44,-89,82,46,105,-5,-85,-87,51,-33,79,116,-21,13,-88,41,110,-60,13,-128,-14,-57
 Data.b -43,-113,-83,115,-66,38,117,-67,-15,13,-44,-56,112,-93,100,99,29,14,-60,9,-97,-4,118,-84,94,-22,-56,96,123,75,8,-68,-88
 Data.b 24,-4,-13,55,50,73,-19,-24,23,-40,115,-22,77,100,-116,87,29,90,-35,17,-13,57,-82,99,10,-51,66,-110,-47,117,3,-51,75,5,-84
 Data.b -9,4,-120,98,121,8,-21,-76,103,21,23,-29,-118,-34,2,-18,-13,64,-128,91,-56,44,-52,89,64,118,6,89,0,7,-100,100,115,-98,-71
 Data.b 63,79,74,-50,-115,53,82,86,108,-13,48,-76,21,105,-14,-73,99,61,116,107,-57,35,114,34,3,-35,-104,113,-8,14,127,74,-110,77
 Data.b 18,-23,56,18,35,-5,-82,-32,63,80,43,49,-76,-65,20,-14,18,-2,-44,110,-32,-86,49,-64,-3,41,-111,104,-2,34,73,9,-72,-98,41,81
 Data.b -72,0,-69,14,127,-32,36,87,122,-63,-64,-10,99,-106,-47,-113,86,-51,113,21,-18,-118,86,-14,9,99,35,38,54,96,55,14,115,-63
 Data.b 12,57,28,122,17,85,111,47,-18,111,-104,27,-119,119,1,-56,69,80,-88,62,-118,56,21,110,-19,100,77,33,22,124,70,-5,-14,-111
 Data.b -58,-60,-85,30,-28,-25,39,-113,90,-54,-82,26,-53,-110,78,41,-24,121,88,-90,-23,73,-46,-125,-9,123,92,94,-40,-94,-118,43,3
 Data.b -124,59,-42,-66,-116,-45,79,-25,91,125,-88,-92,74,-91,-10,-15,-125,-49,60,117,63,65,89,61,-21,-72,-16,38,-117,97,-85,-39
 Data.b -50,-52,-124,-34,-63,38,-30,-35,54,-87,3,110,59,117,6,-73,-61,38,-22,36,-114,-52,12,101,42,-55,68,-27,47,124,57,-25,-54
 Data.b 11,-21,111,9,-38,-93,106,-31,7,3,25,-6,-5,-12,-12,-89,-23,-6,39,-39,38,83,30,-71,28,-4,-14,-78,-123,115,-114,-11,-24,83
 Data.b -4,48,-47,-18,-25,105,-18,32,105,-92,114,75,59,-56,73,39,-34,-111,62,20,-8,125,48,87,79,76,-113,86,-81,101,35,-23,-114,47
 Data.b 92,-73,-75,77,62,25,99,49,-3,-95,36,-14,-37,107,3,-111,-126,121,-6,113,88,53,-21,-9,-34,19,-46,-83,52,-69,-119,47,17,69,-76
 Data.b 72,89,-28,32,-77,32,-11,29,-21,-56,14,50,112,73,29,-77,94,86,50,28,-77,-65,115,-25,-77,42,78,21,57,-69,-123,20,81,92,-121,-100,127,-1,-39

EndDataSection

Posted: Tue Dec 02, 2008 12:30 pm
by pdwyer
Am I supposed to run it from a certain location? It still doesn't do anything :?

Posted: Thu Jan 15, 2009 10:47 pm
by Kwai chang caine
Hello it's again me :D
In the time serie of the biggers applications of the world, after OFFICE, LOTUS NOTE, .....this the version 2 of the ProjectPB :lol:

I have add a choice to load PBI.(Ouille ouille ouille...that's a great move :shock: )
If you don't want appears an include, because, you never need to modify it, KCC have all think :D
Only the include who have this comment appears in the list(Case not important)

Code: Select all

IncludeFile "Essai2.pbi" ; ProjetPB
or
IncludeFile "Essai4.pbi" ;ProjetPB
or
IncludeFile "Essai4.pbi" ; PBB
or
IncludeFile "Essai3.pbi" ;PBB
Because, KCC have so much PBI in one of his code, that the PBI fall out of the right of the screen in the desktop of KCC :?
KCC is tired to clean up the PBI on his desktop, then KCC add this function, like this you can load only several PBI :D

This application must be in the folder who there are all the PBI and the application master.

Code: Select all

; Ouverture d'un PROJET (Fichier principal .Pb et ses .Pbi) avec la methode SENDKEY
; OpenProject (Master file PB and his PBI) with RunProgram METHOD
; Mal codé par KCC (Mais ça marche à peu pres) :-( 
; Pig coded by KCC (But it's works a little bit) :-(

; Merci à TS-SOFT (Idée du chargement auto des includes)
;         MILAN1612 (Click sur Label)
;         DOBRO (Createur de DATA à partir d'une image)
;         #NUL (Chargement de plusieurs source dans la meme phrase parametre)
;         SOLDAT INCONNU (Forme de la fenetre ronde)

Global AppPath.s
Global FichierACharger.s
Global PhraseFichierACharger.s
Global NomLogiciel.s = "ProjetPB"
Global VersionLogiciel.s = "v2.0"
Global VersionPB.s = "PureBasic.exe"

Dim PbIdTexte(100)
Dim PbIdCheck(100)

AppPath = Space(200)
GetCurrentDirectory_(200, @AppPath)
AppPath = Trim(AppPath)
PathAddBackslash_(@AppPath)

UseJPEGImageDecoder()

Enumeration
 #FormProjet
 #FormChoix
 #ListViewPb 
 #TextPb
 #TextFermer
 #TextNomLogiciel
 #ImageG
 #ImageD
 #ScrollArea
 #FontArial12
 #LabelOuvrir
 #CheckProgramme
 #TextProgramme
 #LabelVersion
EndEnumeration 

OpenWindow(#FormProjet, 380, 113, 300, 300, NomLogiciel + " " + VersionLogiciel, #PB_Window_BorderLess)
SetWindowColor(#FormProjet, RGB(0, 128, 0)) 
Region = CreateEllipticRgn_(#FormProjet, 0, WindowWidth(#FormProjet), WindowHeight(#FormProjet)) 
SetWindowRgn_(WindowID(#FormProjet), Region, #True ) 
DeleteObject_(Region) 
LoadFont(#FontArial12, "Arial", 12, #PB_Font_Bold)
TextGadget(#TextNomLogiciel, 68, 17, 150, 22, "KCC ProjetPB",#PB_Text_Center)
SetGadgetFont(#TextNomLogiciel, FontID(#FontArial12))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_FrontColor, RGB(237, 245, 18))
SetGadgetColor(#TextNomLogiciel, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextPb, 68, 40, 150, 22, "Choisissez votre projet",#PB_Text_Center)
SetGadgetColor(#TextPb, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextPb, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#TextFermer, 75, 273, 150, 22, "Quitter",#PB_Text_Center|#SS_NOTIFY)
SetGadgetColor(#TextFermer, #PB_Gadget_FrontColor, RGB(255,255,255))
SetGadgetColor(#TextFermer, #PB_Gadget_BackColor, RGB(0,128,0))
TextGadget(#LabelVersion, 201, 22, 50, 20, VersionLogiciel)
SetGadgetColor(#LabelVersion, #PB_Gadget_BackColor, RGB(0,128,0))
SetGadgetColor(#LabelVersion, #PB_Gadget_FrontColor, RGB(251, 242, 119))
ListViewGadget(#ListViewPb, 66, 58, 165, 206)
ImageG = CatchImage(#ImageG, ?ImageDataG)
ImageGadget(#ImageG, 3, 120, 0, 580, ImageG) 
ImageD = CatchImage(#ImageD, ?ImageDataD)
ImageGadget(#ImageD, 235, 120, 0, 580, ImageD) 
UpdateWindow_(WindowID(#FormProjet)) 

UsedDirectory = ExamineDirectory(#PB_Any, AppPath, "*.*") 

While NextDirectoryEntry(UsedDirectory) 
  
 NomElement.s = DirectoryEntryName(UsedDirectory) 
                  
 If DirectoryEntryType(UsedDirectory) = #PB_DirectoryEntry_File 
 
  If Not FindString(NomElement,".pbi", 1) And FindString(UCase(NomElement), ".PB", 1) And Not FindString(UCase(NomElement), "PROJETSPB", 1)
   AddGadgetItem(#ListViewPb, - 1, NomElement)
  EndIf  
  
 EndIf
     
Wend
 
FinishDirectory(UsedDirectory)

Repeat

 Evenement = WaitWindowEvent() 
 
 Select Evenement
  
  Case #WM_LBUTTONDOWN 
  
   SendMessage_(WindowID(#FormProjet), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
  
  Case #PB_Event_Gadget
   
   EvenementGadget = EventGadget()
   
   If EvenementGadget = #TextFermer
    
    End
   
   ElseIf EvenementGadget = #ListViewPb
   
    Start = GetTickCount_()  
    GetAsyncKeyState_(#VK_LBUTTON) 
        
    Repeat : Until GetAsyncKeyState_(#VK_LBUTTON) <> 0 Or GetTickCount_() - Start > GetDoubleClickTime_() 
        
    If GetTickCount_() - Start < GetDoubleClickTime_()
     
     OpenWindow(#FormChoix, x, y, 200, 500, Titre$, #PB_Window_ScreenCentered|#PB_Window_BorderLess)
     SetWindowColor(#FormChoix, RGB(0,128,0)) 
     ScrollAreaGadget(#ScrollArea, 0, 0, WindowWidth(#FormChoix), WindowHeight(#FormChoix), WindowWidth(#FormChoix) - 40, 500)
     SetGadgetColor(#ScrollArea, #PB_Gadget_BackColor, RGB(0,128,0))
     TextGadget(#LabelOuvrir, 5, 5, WindowWidth(#FormChoix) - 40, 30, "Cliquer ici pour lancer ou tapez ''Return'' (Echappe pour sortir)", #PB_Text_Center|#PB_Text_Border|#SS_NOTIFY)
     SetGadgetColor(#LabelOuvrir, #PB_Gadget_BackColor, RGB(0,128,0))
     SetGadgetColor(#LabelOuvrir, #PB_Gadget_FrontColor, RGB(251, 242, 119))
     AddKeyboardShortcut(#FormChoix, #PB_Shortcut_Return, 13) 
     AddKeyboardShortcut(#FormChoix, #PB_Shortcut_Escape, 27) 
     
     FichierACharger = GetGadgetItemText(#ListViewPb, GetGadgetState(#ListViewPb), 0)
     PhraseFichierACharger + " " + Chr(34) + AppPath + FichierACharger + Chr(34) 
     CheckBoxGadget(#CheckProgramme, 10, 50, 13, 13, "")
     TextGadget(#TextProgramme, 30, 50, 100, 20, FichierACharger)
     SetGadgetColor(#TextProgramme, #PB_Gadget_BackColor, RGB(0,128,0))
     SetGadgetColor(#TextProgramme, #PB_Gadget_FrontColor, RGB(255,255,255))
     SetGadgetState(#CheckProgramme, 1)
     DisableGadget(#CheckProgramme, 1)
       
     ReadFile(1, AppPath + FichierACharger)    
     Ligne = 75
     MaxTexte = 0
         
     Repeat
      
      LigneCode$ = ReadString(1)
            
      If FindString(LigneCode$, "IncludeFile", 1) And (FindString(UCase(LigneCode$), "; PROJETPB", 1) Or FindString(UCase(LigneCode$), ";PROJETPB", 1) Or FindString(UCase(LigneCode$), ";PPB", 1) Or FindString(UCase(LigneCode$), "; PPB", 1))
       
       PointVirgule = FindString(LigneCode$, ";", 1)
       
       If PointVirgule
        LigneCode$ = Left(LigneCode$, PointVirgule - 1)
       EndIf
       
       MaxTexte + 1    
       FichierACharger = ReplaceString(LigneCode$, "IncludeFile", "")
       FichierACharger = ReplaceString(FichierACharger, Chr(34), "")
       FichierACharger = Trim(FichierACharger)
       
       PbIdCheck(MaxTexte) = CheckBoxGadget(#PB_Any, 10, Ligne, 13, 13, "")
       PbIdTexte(MaxTexte) = TextGadget(#PB_Any, 30, Ligne, 100, 20, FichierACharger)
       
       SetGadgetColor(PbIdCheck(MaxTexte), #PB_Gadget_BackColor, RGB(0,128,0))
       SetGadgetColor(PbIdTexte(MaxTexte), #PB_Gadget_BackColor, RGB(0,128,0))
       SetGadgetColor(PbIdTexte(MaxTexte), #PB_Gadget_FrontColor, RGB(255,255,255))
       SetGadgetState(PbIdCheck(MaxTexte), 1)
       Ligne + GadgetHeight(PbIdTexte(MaxTexte)) + 5
                    
      EndIf
            
     Until Eof(1) <> 0
     
     CloseFile(1)
     CloseGadgetList()
     ResizeWindow(#FormChoix, #PB_Ignore, #PB_Ignore, #PB_Ignore, Ligne + 30)
     ResizeGadget(#ScrollArea, #PB_Ignore, #PB_Ignore, #PB_Ignore, WindowHeight(#FormChoix))
     
     Repeat  
      
      Evenement = WaitWindowEvent() 
      
      If GetAsyncKeyState_(#VK_ESCAPE)
       Quit = #True
       Break
      EndIf
            
      Select Evenement
       
       Case #PB_Event_Menu
        
        If EventMenu() = 13
         Quit = #False
         Break
        EndIf
      
       Case  #PB_Event_Gadget 
      
        If EventGadget() = #LabelOuvrir
         Break
        EndIf
      
      EndSelect
      
     Until Evenement = #PB_Event_CloseWindow
     
     If Quit = #True
      End
     EndIf
     
     For i = 1 To MaxTexte
      
      If GetGadgetState(PbIdCheck(i)) = #True
       PhraseFichierACharger + " " + Chr(34) + AppPath + GetGadgetText(PbIdTexte(i)) + Chr(34) 
      EndIf
       
     Next
     
     CloseWindow(#FormChoix)
     
     If FileSize(#PB_Compiler_Home + VersionPB) <> - 1
      RunProgram(#PB_Compiler_Home + "Purebasic.exe", PhraseFichierACharger + " /PORTABLE", #PB_Compiler_Home)
     EndIf 
     
     Delay(800)

    EndIf 
    
   EndIf
   
   Break
       
 EndSelect
  
Until Evenement = #PB_Event_CloseWindow

End

DataSection

 ImageDataD :
 ;*********

 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12
 Data.b 25,18,19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60
 Data.b 46,51,52,50,-1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
 Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0
 Data.b 63,0,59,3,1,34,0,2,17,1,3,17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16
 Data.b 0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63
 Data.b 21,82,-47,-16,36,51,98,114,-126,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84
 Data.b 85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118
 Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62
 Data.b -61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13
 Data.b -12,-11,-10,-9,-8,-7,-6,-1,-60,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2
 Data.b 4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16
 Data.b 21,98,114,-47,10,22,36,52,-31,37,-15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87
 Data.b 88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118
 Data.b -110,-109,-108,-107,-106,-105,-104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70
 Data.b -62,-61,-60,-59,-58,-57,-56,-55,-54,-46,-45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12
 Data.b -11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17,3,17,0,63,0,-75,-32,-71,96,-46,52,-63,123,-80,125,-86,-27,-104,121,-124,114
 Data.b 16,28,96,126,57,-82,-122,125,110,-26,64,94,-34,86,-35,-35,9,-21,-12,-82,106,-38,-34,72,116,29,51,-116,-81,-112,28,-111
 Data.b -37,113,45,-2,20,-47,59,70,122,-12,-11,21,-59,79,-35,-126,72,-41,5,73,66,-116,82,93,13,27,-113,20,-22,16,-95,105,22,85
 Data.b 76,-32,-102,-117,-2,19,91,-120,-41,62,107,96,117,-25,-91,83,-2,-48,-36,-28,57,-50,59,-118,-95,-88,-63,111,36,113,24,-95
 Data.b 88,-27,-28,54,-45,-43,-69,113,-100,0,122,96,99,-100,82,115,107,-87,-35,41,66,10,-14,55,-32,-15,-76,-73,3,42,-52,8,28,100
 Data.b -11,-89,-81,-115,101,99,-27,-69,22,86,4,16,78,65,30,-11,-54,64,-15,-96,80,112,49,-45,-116,-102,-106,-18,6,12,-9,8,0,13
 Data.b -119,8,-49,56,61,79,-48,28,-113,-53,-81,90,92,-19,14,112,-90,-83,126,-91,93,123,77,-74,-116,125,-70,-59,-126,-64,-51,-75
 Data.b -31,-2,-31,61,8,-10,63,-89,-27,88,-96,-100,116,-82,-122,45,-105,81,-75,-76,-124,-31,-58,-48,113,-48,-10,63,-99,115,-28
 Data.b 121,108,81,-57,-52,-92,-125,92,56,-104,40,-54,-15,62,71,56,-63,-3,90,-83,-30,-76,103,89,-10,-21,-113,-80,105,-9,22,-83
 Data.b -73,22,-87,11,99,-71,65,-76,-126,63,12,-2,53,98,41,-83,-11,13,-63,8,73,-108,124,-47,-114,-121,-35,127,-62,-71,43,13,66
 Data.b 109,62,115,36,74,-110,35,2,-81,20,-96,-108,113,-17,-126,15,-30,57,-83,-37,107,107,109,82,54,-102,-59,-116,109,24,44
 Data.b -42,-18,-39,112,125,-67,71,-31,-102,-24,-93,87,-104,-10,-14,-52,-62,-115,120,42,51,-46,72,124,-47,-108,-111,-72,-63,39
 Data.b -14,-86,-5,-73,73,-119,0,32,122,-116,-29,63,-25,-4,42,113,112,110,45,101,123,-59,-56,-127,119,23,-116,97,-56,-50,49,-41
 Data.b 28,113,-41,-109,-51,58,59,104,-34,40,-90,-118,-30,57,35,-105,-18,-20,-5,-39,-12,35,-79,-6,-42,-82,75,84,-49,66,-92,-88
 Data.b -87,58,53,31,65,33,-47,100,119,105,-46,69,-112,-79,-50,115,-48,-15,-111,-50,123,-1,0,-98,-108,106,-74,87,-48,-37,-39,-53
 Data.b 21,-74,-15,11,-69,56,94,120,59,120,32,30,-8,63,-99,105,67,115,-93,-119,-26,-122,27,-69,-113,-110,66,-84,21,84,116,-22,121
 Data.b 108,109,-9,-6,-5,102,-107,-25,-119,-20,-83,-18,29,45,99,-72,-72,85,99,-119,29,-126,-122,-4,-71,-59,76,-36,57,117,103,-103
 Data.b -115,-59,83,-99,46,71,61,58,119,-48,-52,77,75,76,-13,124,-17,42,-30,44,-99,-58,21,33,-128,-10,12,127,-97,95,-83,100,-35,77
 Data.b -10,-101,-71,103,49,32,-13,28,-74,49,-100,100,-12,-90,77,43,79,115,44,-17,-115,-14,57,118,-64,-57,36,-26,-103,92,18,-88
 Data.b -34,-121,-49,-30,49,-75,-79,22,83,-106,-120,58,115,78,73,30,57,4,-111,-69,35,-114,67,41,-63,20,-38,43,52,-20,113,39,103
 Data.b 116,105,-99,67,83,-43,85,108,60,-60,117,99,-109,-124,84,45,-127,-100,-77,96,19,-113,115,77,-2,-58,-72,15,-14,72,-116,-68
 Data.b -4,-61,119,-14,-64,63,-91,67,-91,-112,53,8,-1,0,120,-15,-100,29,-123,14,9,108,112,62,-107,30,-93,-89,106,-13,-54,-26,-44
 Data.b 91,-60,-51,-112,54,-55,39,-82,79,25,-64,-21,93,-40,122,74,-86,110,108,-11,-16,116,-106,37,57,85,109,-65,82,-36,-102,21
 Data.b -46,-29,107,-60,-7,-20,9,92,127,-33,64,85,121,52,-21,-56,-48,-77,-37,-66,-47,-44,-88,-56,31,-107,81,-117,73,-15,92,75,-76
 Data.b 106,16,-88,60,18,-60,-1,0,74,-38,-48,-20,53,120,110,21,-81,47,-30,42,27,-18,64,-71,46,48,127,-120,-98,14,70,48,70,61,-5
 Data.b 86,-77,-63,-62,-37,-99,21,50,-54,86,110,45,-93,32,14,-12,-20,-44,-9,-13,53,-58,-95,113,51,-62,-80,-77,57,-35,26,-1,0,9
 Data.b -24,106,-67,121,-49,71,100,120,50,86,-109,65,69,20,84,-110,92,-46,96,-122,-29,84,-126,43,-116,121,68,-110,65,56,7,3,-127
 Data.b -6,86,-82,-89,96,-73,73,-5,-101,-5,123,88,88,-25,59,84,-97,65,-125,-7,-15,91,62,2,-47,-12,-19,86,-34,-24,-70,-84,-105,-79
 Data.b -80,37,93,114,21,58,2,15,78,78,107,-96,-69,-8,109,-93,-33,72,36,-71,-76,89,27,31,120,-73,65,-24,43,-42,-63,-45,-27,-123
 Data.b -5,-97,67,-105,82,113,-89,-51,-36,-14,-79,-31,116,-35,-72,120,-114,66,122,112,-32,-42,-33,-39,-89,-45,108,38,-98,43,-13
 Data.b -67,21,72,42,-95,73,-32,14,-3,121,31,-41,-95,-82,-72,-4,39,-16,-1,0,-16,-40,-127,-12,115,87,37,-16,110,-105,99,-91,-79
 Data.b -71,71,123,75,85,103,-61,49,109,-117,-44,-29,-67,111,82,45,-59,-40,-20,-81,23,42,109,71,115,-55,9,39,-110,114,79,90,90
 Data.b 67,-126,78,-33,-69,-98,62,-108,-93,-91,120,76,-7,57,110,127,-1,-39

 ImageDataG :
 ;*********

 Data.b -1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,72,0,72,0,0,-1,-37,0,67,0,8,6,6,7,6,5,8,7,7,7,9,9,8,10,12,20,13,12,11,11,12,25,18
 Data.b 19,15,20,29,26,31,30,29,26,28,28,32,36,46,39,32,34,44,35,28,28,40,55,41,44,48,49,52,52,52,31,39,57,61,56,50,60,46,51,52,50
 Data.b -1,-37,0,67,1,9,9,9,12,11,12,24,13,13,24,50,33,28,33,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50
 Data.b 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,-1,-64,0,17,8,0,63,0,59,3,1,34,0,2,17,1,3
 Data.b 17,1,-1,-60,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1
 Data.b 125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,-127,-111,-95,8,35,66,-79,-63,21,82,-47,-16,36,51,98,114,-126,9
 Data.b 10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102
 Data.b 103,104,105,106,115,116,117,118,119,120,121,122,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105
 Data.b -104,-103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54
 Data.b -46,-45,-44,-43,-42,-41,-40,-39,-38,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-60,0
 Data.b 31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,-1,-60,0,-75,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3
 Data.b 17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,-127,8,20,66,-111,-95,-79,-63,9,35,51,82,-16,21,98,114,-47,10,22,36,52,-31,37
 Data.b -15,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104
 Data.b 105,106,115,116,117,118,119,120,121,122,-126,-125,-124,-123,-122,-121,-120,-119,-118,-110,-109,-108,-107,-106,-105,-104
 Data.b -103,-102,-94,-93,-92,-91,-90,-89,-88,-87,-86,-78,-77,-76,-75,-74,-73,-72,-71,-70,-62,-61,-60,-59,-58,-57,-56,-55,-54,-46
 Data.b -45,-44,-43,-42,-41,-40,-39,-38,-30,-29,-28,-27,-26,-25,-24,-23,-22,-14,-13,-12,-11,-10,-9,-8,-7,-6,-1,-38,0,12,3,1,0,2,17
 Data.b 3,17,0,63,0,-28,-20,108,-38,-2,-11,45,-60,-117,24,57,44,-19,-47,84,114,77,119,86,58,-35,-73,-121,-20,-59,-83,-126,-108
 Data.b 82,114,-19,-4,76,125,78,61,-65,42,-27,116,-72,-106,27,55,-70,111,-67,33,42,-98,-54,58,-44,-22,26,-26,70,25,27,0,44,-28
 Data.b -12,-57,111,-49,-91,121,56,120,-88,67,-101,-87,-106,81,-125,-116,40,-3,98,-95,-42,127,-62,101,57,-115,-100,-69,96,123,-43
 Data.b 113,-29,-87,-92,102,10,-20,49,-44,103,-102,-61,-100,-92,11,28,47,-123,104,-41,4,117,-7,-113,39,-97,-81,31,-121,122,-83
 Data.b 111,4,114,93,-93,72,62,66,-64,99,56,30,-28,-5,99,31,-104,-83,-7,-35,-82,123,51,-10,80,-121,59,58,120,-4,93,121,44,-37,33
 Data.b 105,36,114,58,2,77,105,91,107,-70,-124,-33,52,-114,-15,39,114,79,39,-23,92,-7,-71,-122,0,-62,24,-124,105,-100,-86,14,-61
 Data.b -36,-11,39,-21,74,111,90,69,7,118,106,-93,38,-59,36,-74,72,-23,-18,117,-117,123,-5,83,97,118,-66,109,-68,-65,43,43,125
 Data.b 122,-3,123,-41,-111,-36,-60,109,-82,-90,-128,-11,-115,-39,63,35,-118,-18,33,18,73,34,-19,4,-112,115,-128,58,87,39,-30
 Data.b 104,-116,30,36,-65,77,-53,-52,-91,-121,61,-101,-97,-21,92,-8,-75,-52,-109,62,123,57,-94,-83,25,36,88,-125,81,-76,-5,4,54
 Data.b -9,11,44,111,22,70,-24,-64,33,-127,57,31,66,51,83,-38,23,-65,-44,44,-42,-58,-55,-59,-67,-68,-86,-46,57,57,47,-13,100,-106
 Data.b -24,6,7,97,88,29,70,43,119,75,-15,10,-40,-39,-57,107,52,12,-23,25,59,90,54,-38,112,78,121,29,-21,-98,-99,75,-76,-92,-12
 Data.b 56,-88,-29,-89,56,-86,53,103,104,-93,82,-29,70,-98,98,-63,-107,49,-110,115,-100,3,-49,95,90,-94,-48,11,68,88,-73,-84,-84
 Data.b -128,97,-74,-13,-17,-41,-33,-45,3,-12,-58,-36,122,-114,-109,113,104,-109,-117,-69,-108,12,48,-30,64,-72,67,-24,-36,-25
 Data.b -14,6,-88,-68,86,119,105,111,37,-108,-52,99,-107,127,-27,-78,-123,33,-78,114,14,15,95,-14,43,-75,-72,-23,102,125,45,60,77
 Data.b 42,-42,83,-110,-14,42,38,-25,-58,114,114,58,-98,-11,-93,12,49,-59,111,-25,76,-30,56,-44,114,-57,-65,-45,-42,-87,-59,-10
 Data.b 104,-26,-99,99,117,-72,-106,-40,110,124,115,17,-25,24,4,16,79,-41,-91,11,111,54,-93,28,-105,119,19,36,81,-62,126,-13,124
 Data.b -85,-113,76,15,-14,105,-13,39,-86,58,105,-44,-89,82,46,105,-5,-85,-87,51,-33,79,116,-21,13,-88,41,110,-60,13,-128,-14,-57
 Data.b -43,-113,-83,115,-66,38,117,-67,-15,13,-44,-56,112,-93,100,99,29,14,-60,9,-97,-4,118,-84,94,-22,-56,96,123,75,8,-68,-88
 Data.b 24,-4,-13,55,50,73,-19,-24,23,-40,115,-22,77,100,-116,87,29,90,-35,17,-13,57,-82,99,10,-51,66,-110,-47,117,3,-51,75,5,-84
 Data.b -9,4,-120,98,121,8,-21,-76,103,21,23,-29,-118,-34,2,-18,-13,64,-128,91,-56,44,-52,89,64,118,6,89,0,7,-100,100,115,-98,-71
 Data.b 63,79,74,-50,-115,53,82,86,108,-13,48,-76,21,105,-14,-73,99,61,116,107,-57,35,114,34,3,-35,-104,113,-8,14,127,74,-110,77
 Data.b 18,-23,56,18,35,-5,-82,-32,63,80,43,49,-76,-65,20,-14,18,-2,-44,110,-32,-86,49,-64,-3,41,-111,104,-2,34,73,9,-72,-98,41,81
 Data.b -72,0,-69,14,127,-32,36,87,122,-63,-64,-10,99,-106,-47,-113,86,-51,113,21,-18,-118,86,-14,9,99,35,38,54,96,55,14,115,-63
 Data.b 12,57,28,122,17,85,111,47,-18,111,-104,27,-119,119,1,-56,69,80,-88,62,-118,56,21,110,-19,100,77,33,22,124,70,-5,-14,-111
 Data.b -58,-60,-85,30,-28,-25,39,-113,90,-54,-82,26,-53,-110,78,41,-24,121,88,-90,-23,73,-46,-125,-9,123,92,94,-40,-94,-118,43,3
 Data.b -124,59,-42,-66,-116,-45,79,-25,91,125,-88,-92,74,-91,-10,-15,-125,-49,60,117,63,65,89,61,-21,-72,-16,38,-117,97,-85,-39
 Data.b -50,-52,-124,-34,-63,38,-30,-35,54,-87,3,110,59,117,6,-73,-61,38,-22,36,-114,-52,12,101,42,-55,68,-27,47,124,57,-25,-54
 Data.b 11,-21,111,9,-38,-93,106,-31,7,3,25,-6,-5,-12,-12,-89,-23,-6,39,-39,38,83,30,-71,28,-4,-14,-78,-123,115,-114,-11,-24,83
 Data.b -4,48,-47,-18,-25,105,-18,32,105,-92,114,75,59,-56,73,39,-34,-111,62,20,-8,125,48,87,79,76,-113,86,-81,101,35,-23,-114,47
 Data.b 92,-73,-75,77,62,25,99,49,-3,-95,36,-14,-37,107,3,-111,-126,121,-6,113,88,53,-21,-9,-34,19,-46,-83,52,-69,-119,47,17,69,-76
 Data.b 72,89,-28,32,-77,32,-11,29,-21,-56,14,50,112,73,29,-77,94,86,50,28,-77,-65,115,-25,-77,42,78,21,57,-69,-123,20,81,92,-121,-100,127,-1,-39

EndDataSection

Posted: Fri Jan 16, 2009 1:31 pm
by SFSxOI
@Kwaï chang caïne

Thank you very much for your post. Unfortunately i'm a little confused over what this code is supposed to do. Would you please provide a description of what this is supposed to do?

Posted: Fri Jan 16, 2009 4:59 pm
by Kwai chang caine
No problem my good SFSxO1

In fact it's for add a function at the native IDE.
The management of project.

In Visual basic, you have a file "*.vbp" who load all the file that is needed for editing (The code of all the FORM, All the module, All the class, ....)

With a simple click, all is in the IDE

This function exist also in Japbe, i believe, but not in the IDE of FRED :?

I have programming a big DLL, and with the advise of SROD i believe, he say to me, to cut it in more little PBI file, by type of function.

A PBI for NETWORK
A PBI for Windows
A PBI for Crypting
A PBI for ...
A PBI for ...

But the problem, is that with all this PBI, i'm forced to open it, one by one.
Or to choose in the directory this or that, and it's long :?

Well the IDE can memorize the last file open, but not always.

Then with this little code, you compile, and put it in the folder who you have much PB and PBI.
The first windows show to you, all the PB project.

You choose one, and if he has include inside, this is my program who load hitself all the include.
You have a list of the include who appears, you can uncheck several include if you don't want to load it :D

And you can also select the include who appears the next time in the list of check
For that, you must add this comment in your code

Code: Select all

IncludeFile "Essai2.pbi" ; ProjetPB 
or 
IncludeFile "Essai4.pbi" ;ProjetPB 
or 
IncludeFile "Essai4.pbi" ; PBB 
or 
IncludeFile "Essai3.pbi" ;PBB 
So i hope, i'm enough explicit :roll:
Because it's hard to explain in french, then in english .................ouille ouille ouille :lol:

For better understand this is the full folder with PBI demonstration :wink:

http://purebasic.myftp.org/?filename=fi ... B_v2.0.zip

Thanks to you for interesting to my modest project 8)