LanceProjet (1er Truc et astuce à KCC aprés 4 ans de labeur)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

LanceProjet (1er Truc et astuce à KCC aprés 4 ans de labeur)

Message par Kwai chang caine »

Bonjour à tous

Comme tout le monde le sait, KCC il est connu pour poser noir de question qui paraissent toutes plus ridicules les unes que les autres, et jamais donner de reponse (Ou presque) :?

Apres le big bang, Adam et eve, la prise de la bastille, le premier pas sur la lune de l'homme, le vote des femmes, etc ...
Et bah aujourd'hui, c'est aussi un grand jour
C'est le jour de gloire a KCC (Peut etre il devrait demander que ce soit férié aujourd'hui :roll:)

Bref.......KCC il a fait son premier programme OPEN SOURCE, oui "mosieur" OPEN SOURCE :D

C'est parce que KCC, il en avait marre d'ouvrir tous les PBI de sa DLL a chaque fois qu'il ouvrait le programme principale de la DLL

Donc on compile le bébé, on en met un dans chaque repertoire ou y'a des PB avec ou sans PBI.
On choisi le PB que l'on desire ouvrir, et si il a des PBI il les ouvre tous à la suite les uns des autres :D

Voila, autant dire aux debutant qui arrivent, de ne pas prendre mon code comme exemple :oops:
Car j'aurais clapoté ça avec les narpions, j'aurais surement fait mieux :?

Mais bon, KCC il est content car ça marche à peu pres, (Jour férié, j'vous dis jour férié :lol: ), mais quand on est mauvais, faut pas etre difficille.

L'interet de ce code, c'est qu'il s'en fout de savoir si on a ou non coché l'option "Ne lancer qu'un editeur"

Si un CAID du site, veut l'ameliorer, ou a une autre idée qui donne le meme resultat, qu'il entre dans ma demeure ou il fait bon vivre, le pain est chaud et les femmes y danse nue et sont bon....hum hum :oops:

Code : Tout sélectionner

; 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
Merci à tous de me suporter autant dans mes POST et mes questions ridicules que tous les jours que les dieux font 8)
Dernière modification par Kwai chang caine le jeu. 27/nov./2008 14:09, modifié 6 fois.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Maj code :D

1/ Rajout de la config portable des preferences
2/ Controle de l'existance du process de purebasic, plutot que du handle pour ouvrir l'application
3 / Choix de la version dans une variable
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Maj code :D

1/ Skin de la fenetre (Plus joulie !!!)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Maj code :D

1/ Correction bug de non ouverture si aucun onglet ouvert :oops:
2/ Rajout d'une remontée de la barre des taches si besoin
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Apres le big bang, Adam et eve, la prise de la bastille, le premier pas sur la lune de l'homme, le vote des femmes, etc ...
Et bah aujourd'hui, c'est aussi un grand jour
C'est le jour de gloire a KCC (Peut etre il devrait demander que ce soit férié aujourd'hui Rolling Eyes)
J'adore, je me marre à chacun de tes posts :)

Bonne continuation
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

C'est marrant comme tout, ce petit programme.

J'aurais plutot vu la sélection par double clic moi
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci merci merci et autre chose de super plus important et qui n'a rien a voir .....MERCI :D

Vous me faites chaud au coeur 8)
Car KCC, il a cru que, personne il voulait essayer son programme qu'il a fait avec ses petits doigts boudinés :cry:

Il a attendu toute la journée avec le sourire "bananien" et puis il s'est retrouvé tout seul dans le noir le soir, au milieu de la salle de cinema quand la lumiere s'est eteinte, et que le vigil a fermé le cinema, avec son paquet de popcorn et plein de gras autour de la bouche :cry:

Vous etes des amis, encore merci, mille fois.

@COMTOIS
Merci beaucoup a toi aussi COMTOIS, je suis fier de pouvoir t'apporter un peu de rigolade, vu que j'suis un rigolo en programmation, ce serait un comble que je ne sois pas en dehors :D
C'est vrai dans ce monde y'a un paquet de charlot qui se prennent au serieux, moi j'suis un bouffon et j'assume mon role dans ce forum, et c'est avec la plus grande fierté que j'essaye de vous faire rigoler, car vous me donnez tellement et je ne sais pas quoi vous donner en echange :oops:
Comme je l'apprend a mon gamin, la vie est faite d'échange, il faut savoir donner pour recevoir, le bleme de la programmation pour ma part, c'est que j'ai les poches vides :oops:
Et pis, l'avantage de cette place, c'est que j'etais derriere, j'etais devant, j'etais tout seul a l'enterrement :D
La liste des postulants tenait sur un timbre poste, et j'ai eu le POSTE pour la premiere fois dans ma vie du premier coup :lol:
Merci de m'encourager, je suis fier de ce que tu viens de me dire 8)

@SOLDAT
Merci aussi a toi, d'avoir regardé mon humble code.
Tu as raison, j'y ai aussi pensé, je vais le faire surement, car on a trop l'habitude de double cliqué, en plus ceux qui reglent leur windows sur 1 seul clic, ils me gonflent, alors tu vois si c'est pas un paradoxe ça :lol:
Je voulais que l'utilisateur ai le moins de chose a faire.

Si un de vous deux (ou un autre evidemment, qui est peut etre caché derriere un buisson et qui nous regarde en ce moment :lol: ) a une idée pour ne pas passer par les SENDKEYS et par RUNPROGRAM, je suis super preneur.
Car j'ai posé la question et personne ne m'a répondu :cry:
Il doit bien y avoir un code qui permette d'ouvrir un onglet de charger dans l'ide un code que l'on aurait mis dans le presse papier ou autre :roll:
Mais la ça dépasse de loin mes compétences :oops:

Je trouve que cette fonction est super cool, en un seul clic on a tous les codes qui concerne une application, je comprend pas que FRED est pas incorporé ça, ce n'est pas tres compliqué quand on a le code source de l'IDE.
D'ailleur FRED, il est mechant, depuis 4 ans, il a jamais voulu faire une idée de KCC, pourtant elles sont bien plus simples que la 3D, les bases de données, etc .....et en plus y'a pas que KCC qui les reclament :?
Parfois on a l'impression que dans cette famille, les parents aiment pas leurs nombreux enfants :cry:

En tout cas merci a mes deux MAITRES d'avoir daigné poser les yeux sur le code de leur humble serviteur 8)

Grace à vous, KCC il a repris un peu le moral, car il croyait que plus personne ne l'aimait :cry:

Je vous souhaite une excelente journée
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

une autre idée, utilise une listicon pour avoir l'icone des fichiers affichés, ce sera plus sympa.

pour choper une icone d'un fichier, c'est ça :

Code : Tout sélectionner

Procedure.l GetSmallIconFile(IconPath.s) ; Extraire l'icône 16*16 d'un fichier
  ; Cette procedure permet d'extraire l'ID de l'icône 16*16 associé au type de fichier ou au dossier dont l'adresse est IconPath
  Extension.s = LCase(GetExtensionPart(IconPath))
  If Extension = "ico" Or Extension = "exe"
    ExtractIconEx_(IconPath, IconIndex, 0, @SmallIcon, 1)
    ProcedureReturn SmallIcon
  Else
    SHGetFileInfo_(IconPath, 0, @InfosFile.SHFILEINFO, SizeOf(SHFILEINFO), #SHGFI_ICON | #SHGFI_SMALLICON)
    ProcedureReturn InfosFile\hIcon
  EndIf
EndProcedure
Ca te renvoie le handle de l'icone (un imageid() en gros)

oubli pas de faire un DestroyIcon_( pour chaque icône charger à la fin de ton programme.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci SOLDAT

Dans une listicon je peux mettre l'icone et le texte a coté ??? :roll:
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Salut KCC, ah ba ça y est tu nous l'as pondu ton fameux projet :D bravo !
Je n'ai pas pu le tester pleinement vu que je n'utilise pas de PBI (oui je suis un gros veau qui fou tout dans le même code) mais j'ai une tite question.

Dans ce que j'ai lu, j'ai l'impression que ton soft recherche purebasic.exe or moi par exemple j'utilise JaPbe et seul JaPBe.exe apparait dans le listing des processus. il faudrait donc peut-être ajouter un test genre :
1 - Detecter si PBcompiler.exe tourne (car il tourne que l'on lance purebasic.exe ou japbe.exe..)
2 - Si il tourne, est-ce que japbe.exe est là et/ou est-ce que purebasic.exe tourne.

Voilou.
En tout cas je suis très content que tu ais réussi à concrétiser ce projet qui peut s'avérer très utile.

P.S : Si j'ai dit une grosse connerie j'en suis navré :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci beaucoup ARS de tes encouragement.
Ce n'est pas mon premier programme, mais le probleme des autres c'est que je ne peux pas donner les codes, car ils sont pour mon travail et c'est "secret defense" , "copyright" et tout le toutim :lol:

C'est par contre mon premier POST dans truc et astuce ou je donne le code source, comme les vrais qui font de l'OPEN SOURCE :D

Tu as raison, j'ai pas pensé a JAPBE, et je m'excuse aupres de maitre GNOZAL.
Mais en fait, c'est juste une idée que je donne pour ceux qui en aurait besoin.
Chacun peut l'adapter a sa sauce, c'est le but de l'open source.

Par contre l'ouverture avec SENDKEY, c'est pas top :oops:
IDLE m'a donné une combine en drag and drop sur le bureau qui m'a l'air super cool.
Je vais peut etre changer le "moteur" de chargement et me remettre a runprogram
J'avais abandonné runprogram car selon les options que tu choisi dans l'IDE le chargement n'avait pas la meme reaction :?

Par exemple, si tu ne cochais pas "un seul IDE" et bah ça ouvrait autant d'IDE que de code source :?
Et on sait bien que le but est de reunir la maman PB avec ses petits enfants PBI

Moi non plus je n'utilisais pas de PBI avant.
Mais je me suis mis a me créer une DLL avec pres de 100 fonctions de categorie differentes.
Des fonctions pour les fichiers, le systeme, le cryptage etc...
Et le probleme c'est qu'avec mon PB j'avais beau y mettre plein de separateur, je ne m'y retrouvais plus.
Surtout que je continue a en créer.
Donc le PBI s'est imposé, un PBI pour chaque categorie et hop tu clique sur l'onglet de categorie de la DLL qui t'interesse et tu as toutes tes fonctions mathematiques (Par exemple).
Plus besoin de faire marcher l'ascenseur de bas en haut en se disant "Nadine boudin elle est ou cette procedure de biiiiip" :?

Voila encore merci de ton message, je vais quand meme tenter de prendre le temps de l'ameliorer au moins pour le chargement des codes.

Bonne journée
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

Pour info (il me semble que c'est la fonction du soft de KCC [si j'ai bien compris]), les dernières versions de jaPBe permettent de charger tous les fichiers inclus d'une source automatiquement.
C'est une option, il faut l'activer dans Préférences -> Généralités -> Chargement auto des fichiers inclus.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

gnozal a écrit :Pour info (il me semble que c'est la fonction du soft de KCC [si j'ai bien compris]), les dernières versions de jaPBe permettent de charger tous les fichiers inclus d'une source automatiquement.
C'est une option, il faut l'activer dans Préférences -> Généralités -> Chargement auto des fichiers inclus.
arg !!! tu vas faire attraper une crise cardiaque a KCC :lol:

je lui avais caché ce fait pour le preserver !!
ça fait 4 ans qu'il bosse sur ce prg !!!

t'es fou, tu vas nous le tuer, lorsqu'il va découvrir, que son prg ne sert a rien !! :lol: :lol: :lol: :lol: :lol: :lol: :lol:
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

Dobro a écrit :t'es fou, tu vas nous le tuer, lorsqu'il va découvrir, que son prg ne sert a rien !! :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Mais si il sert ... :lol:
Son soft n'est prévu que pour l'IDE officiel de toute façon.

C'était pour répondre en fait à ce post :
Ar-S a écrit :...Dans ce que j'ai lu, j'ai l'impression que ton soft recherche purebasic.exe or moi par exemple j'utilise JaPbe ...
pour indiquer que jaPBe le faisait déjà tout seul.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Code : Tout sélectionner

t'es fou, tu vas nous le tuer, lorsqu'il va découvrir, que son prg ne sert a rien !! 
Image
ROOOOOO c'ki lé vilain ce DOBLO

AAAARrrrgggghhhh !!!!!
Je suis mort..............






Mais de rire :lol: :lol: :lol: :lol: :lol:

@GNOZAL
Pitié mon bon GNOZAL, rien que pour la serpillere du forum, si tu pouvais inclure le retour à la ligne avec un underscore dans ton splendide JAPBE :cry:

Dis oui
Dis oui
Dis oui
Dis oui
Dis oui

C'est bientot NOEL :D

Dis oui
Dis oui
Dis oui
Dis oui

Et la t'auras un client de plus.
Parce qu'apparement du coté JAPBE ça bouge un peu plus que du coté FREDPBE :?

Ok ok ok , je sais,......... m'avoir comme client c'est comme s'asseoir sur un "ChienGomme" un jour de grand soleil........, on s'en depetre plus :?

Mais j'suis un bon test, car moi les bugs ça me connait, j'arrive parfois a faire un programme qui marche :D
Mais seulement quand j'ai la chance dans le dos, et que je le fais pas expres :D

Dans mon entourage, y'en a qui disent que j'ai quand meme pas de chance,............c'est peut etre vrai :

Je suis tombé du premier etage
J'ai pris un chapiteau sur la tete
Je suis resté coincé 3 fois dans l'ascenseur
Je suis passé a travers un plancher qu'il a fallu tout refaire, ......

Et pour pas remplir le forum une derniere, je suis aussi resté coincé dans un sas de banque dans lequel il y avait un capteur au sol mesurant le poid, cet abruti d'ordinateur y gueulait "Veuillez ne sortir qu'une personne a la fois","Veuillez ne sortir qu'une personne a la fois","Veuillez ne sortir qu'une personne a la fois".
Et comment j'explique moi, à cet abruti de tas de silicium, que je pese 150 Kg, c'est à dire presque le poid de son illustre ancetre IBM, et que je peux quand meme pas laisser une jambe dedans pour pouvoir sortir :?

Donc, j'suis le client ideal, que j'te dis !!! :D

Dis oui
Dis oui
Dis oui
Dis oui
Dis oui

C'est bientot NOEL :D
Dernière modification par Kwai chang caine le mar. 02/déc./2008 12:20, modifié 3 fois.
Répondre