Page 2 sur 2

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:31
par Shadow
Hum, merci encore Falsam...
Mais hélas, c'est pas encore ça pour moi....

Il faut que je trouve un moyen....
Est ce que se serait possible de tous copier sans que l'utilisateur ne soit gêné dans sont travail ?

Il dois bien y avoir un moyen de dire, copie tous le texte.
Comme un GetGadgetTexte, est ce que tu vois se que je veux dire ? :)

Car là tu fais une sélection automatique, ça gène si je suis en train de taper du code par exemple ^^
Je compte lancer ce prog dans une boucle qui va copier le texte (le mieux serait dès qu'il y a une modification.)

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:33
par falsam
Shadow a écrit :Il dois bien y avoir un moyen de dire, copie tous le texte.
C'est ce que je fais dans mon dernier code ....

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:36
par Shadow
Oui mais je t'es expliquer, pas avec une sélection qui va gêner l'utilisateur
dans son code et il me faudrait un genre de GetGadgetTexte.

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:42
par falsam
Je pense que tu vas trop loin dans ton projet. Pars du principe que c'est l'utilisateur qui doit déclencher ton outil.

Ceci dit je ne sais toujours pas ce que tu veux faire avec ton outil. Ca serait bien de le présenter.

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:44
par Shadow
Je voudrais faire un débogueur en temps réel, tu sais comme dans Visual basic :)
Là je ne peut pas le faire ainsi... le texte dois être copier de façon transparente, pas ainsi !

Je suis sur qu'il dois exister un code pour choper le texte d'un éditeur tiers....
Je ne vais pas trop loin, c'est se que j'ai besoin ^^

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:47
par falsam
Shadow a écrit :Je voudrais faire un débogueur en temps réel, tu sais comme dans Visual basic
C'est le moment de se fâcher :mrgreen:

- Crois tu qu'il y a une demande utilisateur pour cet outil ?
- Penses tu que tu es capable de coder un tel outil ?

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : jeu. 30/mai/2019 19:50
par Shadow
falsam a écrit :
Shadow a écrit :Je voudrais faire un débogueur en temps réel, tu sais comme dans Visual basic
C'est le moment de se fâcher :mrgreen:

- Crois tu qu'il y a une demande utilisateur pour cet outil ?
- Penses tu que tu es capable de coder un tel outil ?
Bha... écoute je vais essayer, qui ne tente rien n'as rien pas vraie :mrgreen:
Je m'occupe comme je peut et j'ai envie de le faire !
Non, je ne veux pas me fâcher avec toi :wink:

J'ai essayer GetGadgetText(HandleIDESci), marche pas ni GetGadgetText(GadgetID(HandleIDESci)) :(

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : ven. 31/mai/2019 12:28
par Shadow
Alors faire un débogueur c'est un grand mot, disons plutôt un assistant.
Je vais pour cela m'aider du débogueur de PB.

J'ai trouvé ça sur le forum anglais de PB, c'est ce que je voulais:

Code : Tout sélectionner

; Compilez le programme et crééz en Exe.
; Crééz un nouvel outil dans PureBasic, mettez le nom que vous voulez puis mettez un raccourcis et c'est partie !

; Code créé par RSBasic du forum anglais de PureBasic.
; Process IDentifier, Identifiant de processus.

; Renvoie l'Identifiant du processus actuellement en court d’exécution.
Procedure GetParentPID()
  Protected hSnapshot
  Protected PROCESSENTRY32.PROCESSENTRY32
  Protected bProcess
  
  hSnapshot = CreateToolhelp32Snapshot_(#TH32CS_SNAPPROCESS, #Null)
  If hSnapshot
    PROCESSENTRY32\dwsize = SizeOf(PROCESSENTRY32)
    bProcess = Process32First_(hSnapshot, @PROCESSENTRY32)
    If bProcess
      Repeat
        If PROCESSENTRY32\th32ProcessID = GetCurrentProcessId_()
          CloseHandle_(hSnapshot)
          ProcedureReturn PROCESSENTRY32\th32ParentProcessID
        EndIf
        bProcess = Process32Next_(hSnapshot, @PROCESSENTRY32)
      Until Not bProcess
    EndIf
    CloseHandle_(hSnapshot)
  EndIf
  
EndProcedure

; Code créé par RSBasic du forum anglais de PureBasic.
; Renvoie le code taper dans l'éditeur actif de PB.
Procedure.s GetCurrentScintillaCode(PBScintillaHandle)
  Protected Code$
  Protected result
  Protected length
  Protected memory
  Protected hProcess
  
  SendMessageTimeout_(PBScintillaHandle, #SCI_GETCHARACTERPOINTER, 0, 0, #SMTO_ABORTIFHUNG, 1000, @result)
  If result
    SendMessageTimeout_(PBScintillaHandle, #SCI_GETTEXTLENGTH, 0, 0, #SMTO_ABORTIFHUNG, 1000, @length)
    memory = AllocateMemory(length+2)
    If memory
      hProcess = OpenProcess_(#PROCESS_ALL_ACCESS, #False, GetParentPID())
      ReadProcessMemory_(hProcess, result, memory, length,0)
      Code$ = PeekS(memory, -1, #PB_UTF8)
      
      CloseHandle_(hProcess)
      FreeMemory(memory)
    EndIf
    
  EndIf
  
  ProcedureReturn Code$
EndProcedure

;Handle de l'IDE / Handle of IDE
HandleIDESci=Val(GetEnvironmentVariable("PB_TOOL_Scintilla")) 

If HandleIDESci 
  MessageRequester("", GetCurrentScintillaCode(HandleIDESci))
EndIf

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : sam. 01/juin/2019 14:39
par grendizer
Salut

j'ai trouver ce tuto de falsam sur la création d'un outil pour l'ide de PB : https://www.purebasic.fr/french/viewtop ... 21&t=16963

si ça peux t'aider dans la conception de ton programme
j'ai bien saisi si c'est un outil pour PB qe tu veux crée ou un programme a part


Bonne aprés midi

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : sam. 01/juin/2019 15:07
par Shadow
Salut grendizer,

Un outil pour PB oui :)
Merci pour le lien.

Re: Récupérer le texte de l'onglet actif de l'éditeur PB...

Publié : sam. 01/juin/2019 15:59
par grendizer
Shadow a écrit :Salut grendizer,

Un outil pour PB oui :)
Merci pour le lien.

de rien il fallait juste faire une recherche sur le forum