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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

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

Message 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.)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

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

Message 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 ....
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

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

Message 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.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

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

Message 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.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

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

Message 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 ^^
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

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

Message 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 ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

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

Message 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)) :(
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

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

Message 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
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
grendizer
Messages : 61
Inscription : mer. 29/mai/2019 6:29

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

Message 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
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

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

Message par Shadow »

Salut grendizer,

Un outil pour PB oui :)
Merci pour le lien.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
grendizer
Messages : 61
Inscription : mer. 29/mai/2019 6:29

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

Message 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
Répondre