Page 1 sur 1

Editor en string

Publié : mer. 30/juil./2008 13:37
par kernadec
bonjour
je ne sais pas si cette question a deja eté posée?

StringGadjet a la fonction souris popmenu copier coller integree mais avec des ascenseurs déclares non escamotable sinon grises
et copier coller clavier

EditorGadjet n'as pas l'option souris copier coller integree mais avec des ascenseurs escamotable avec copier coller clavier

EditorGadjet ne devrait il pas possède cette fonction intégrée??
il porte le nom d'editor mais stringgadget lui ravi le titre lol!!!

mais peut être il y a une astuce que je n'ai pas saisie
voila deux code trouves dans code archive et sur le forum
pour l'exemple :

Code : Tout sélectionner

; English forum:
; Author: Unknown (updated for PB4.00 by blbltheworm)
; Date: 23. January 2003
; OS: Windows
; Demo: No

If OpenWindow(0,200,200,300,150,"test",#PB_Window_SystemMenu)
  CreateGadgetList(WindowID(0))
  t$="This text goes inside a multiline StringGadget."+Chr(13)+Chr(10)
  For r=2 To 10 : t$+Str(r)+Chr(13)+Chr(10) : Next
  StringGadget(0,10,10,200,100,t$,#ES_MULTILINE|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL)
  ButtonGadget(1,230,10,50,20,"Save")
  ButtonGadget(2,230,40,50,20,"Load")
  ButtonGadget(3,230,70,50,20,"Info")
  Repeat
    ev=WaitWindowEvent()
    If ev=#PB_Event_Gadget
      Select EventGadget()
        Case 1 ; Save
          If CreateFile(0,"MultiLine.txt")
            WriteStringN(0,GetGadgetText(0))
            CloseFile(0)
          EndIf
        Case 2 ; Load
          If ReadFile(0,"MultiLine.txt")
            A$=""
            Repeat
              A$+ReadString(0)+Chr(13)+Chr(10)
            Until Eof(0)<>0
            CloseFile(0)
            SetGadgetText(0,A$)
          EndIf
        Case 3 ; Info
          lines=SendMessage_(GadgetID(0),#EM_GETLINECOUNT,0,0)
          where=SendMessage_(GadgetID(0),#EM_LINEFROMCHAR,-1,0)+1
          MessageRequester("Info",Str(lines)+" lines in the box."+Chr(13)+"You are on line "+Str(where)+".",0)
      EndSelect
    EndIf
  Until ev=#PB_Event_CloseWindow
EndIf


second code:

Code : Tout sélectionner

; Author: Andre Beer / PureBasic Team modifié par KCC et remodifier par MetalOS :D 

Global IdGadgetSurvoler 
OpenWindow(0, 200, 200, 200, 120, "Popup-Menu Example", #PB_Window_SystemMenu) 
CreateGadgetList(WindowID(0)) 
EditorGadget(1, 5, 5, 150, 80) 
    
If CreatePopupMenu(10)      ; here the creating of the pop-up menu begins... 

 MenuItem(40, "Annuler") 
 MenuBar() 
 MenuItem(41, "Couper") 
 MenuItem(42, "Copier") 
 MenuItem(43, "Coller") 

EndIf 

Repeat 

 GetCursorPos_(@point.POINT) 
 Handle = WindowFromPoint_(point\X,point\Y) 
 IdGadgetSurvoler = GetDlgCtrlID_(Handle) ; Id du gadget survolé 

 Select WaitWindowEvent()     ; check for window events 
  
  Case #WM_RBUTTONDOWN       ; right mouse button was clicked => 
  
   If IdGadgetSurvoler = 1 
    DisplayPopupMenu(10,WindowID(0),point\X,point\Y)  ; now display the popup-menu 
   EndIf 
  
  Case #PB_Event_Menu         ; an item of the popup-menu was clicked 
  
   Select EventMenu()     ; get the clicked menu item... 
    Case 40 : Debug "Menu: Annuler" 
    Case 41 : Debug "Menu: Couper" 
    ;Code Couper 
    Vide$ = "" 
          SendMessage_(GadgetID(1),#EM_GETSEL,@StartSel,@EndSel) 
          Buffer$ = Space(EndSel-StartSel) 
          SendMessage_(GadgetID(1),#EM_GETSELTEXT,0,@Buffer$) 
          ClearClipboard() 
          SetClipboardText(Buffer$) 
          SendMessage_(GadgetID(1),#EM_REPLACESEL,#True,@Vide$) 
     ;Fin Couper 
    Case 42 : Debug "Menu: Copier" 
    ;Code Copier 
    SendMessage_(GadgetID(1),#EM_GETSEL,@StartSel,@EndSel) 
          Buffer$ = Space(EndSel-StartSel) 
          SendMessage_(GadgetID(1),#EM_GETSELTEXT,0,@Buffer$) 
          ClearClipboard() 
          SetClipboardText(Buffer$) 
    ;Fin Copier 
    Case 43 : Debug "Menu: Coller" 
    ;Code coller 
      Buffer$ = GetClipboardText() 
          SendMessage_(GadgetID(1),#EM_REPLACESEL,#True,@Buffer$) 
    ;Fin de code Coller 
   EndSelect 
    
   Case #PB_Event_CloseWindow 
   Quit = 1 
 EndSelect 
  
Until Quit = 1 

Publié : mer. 30/juil./2008 18:23
par Ar-S
Je suis de ton avis,
Un menu copier/coller intégré en natif au clique droite sur un string ou un editor ce serait vraiment sympa.

Genre

Code : Tout sélectionner

EditorGadget(#Editor_gad1, 0, 0, 400, 150, #PB_Editor_ReadOnly)
ou on pourrait ajouter l'option #PB_RightMouseButton_COPY par exemple pour activer ce fameux menu.

Publié : mer. 30/juil./2008 21:22
par kernadec
merci Ar-S
je suis aussi d'accord pour une constante
d'autant qu'il n'en a qu'une : lire ou ne pas lire c'est la question

je trouve dommage que dans les constantes acceptees par les gadjets
seules les "#PB" sonts documentees dans l'aide de purebasic
car pour les 2,4,6,8,16,32,64 c'est bon lol!!!
mais par exemple :#WS_HSCROLL=1048576
faut vraiment avoir la tete dans tout les manuels

Publié : mer. 30/juil./2008 22:46
par Chris
Si seules les constantes #Pb sont documentées, c'est parce que c'est celles de PureBasic. Les autres sont celles de l'Api Windows et c'est dans la doc Windows qu'elles sont documentées.

Il ne te viendrait pas à l'idée d'aller demander la doc d'une Volvo chez Renault, non? :roll:


Idem pour l'EditorGadget ou le StringGadget.

Sous Windows, le composant Edit (le StringGadget) a un menu "Copier/Couper/Coller" alors que le RichEdit (Editorgadget) n'en a pas.
Les commandes de Pure ne sont qu'une réutilisation des composants Windows existants.

Si tu veux un menu sur un EditorGadget, tu peux le faire toi même, c'est simple comme bonjour.

Pour les autre OS, par contre, je ne sais pas

Publié : mer. 30/juil./2008 23:13
par kernadec
merci chris
c'est gentil
mais il pourrait etre indiquer que des otpions ascenseur ou scrolls etc
sur les OS suivants sont acceptes juste par categories sans avoir a en faire la nomenclature simplement prevenir des ces options
car pour les options fenetres tous le monde connais mais certains gadjets c'est pas evident? enfin pour moi car je n'ai ton niveau je me suis lancer avec purebasic que depuis quatre mois

Publié : jeu. 31/juil./2008 7:56
par gnozal
kernadec a écrit :...
mais il pourrait etre indiquer que des otpions ascenseur ou scrolls etc
sur les OS suivants sont acceptes juste par categories sans avoir a en faire la nomenclature simplement prevenir des ces options
...
Pour windows, la solution c'est le fichier Win32.hlp (déjà ancien mais contient les bases) ou le SDK.
En anglais bien entendu ...

Publié : jeu. 31/juil./2008 12:05
par kernadec
bonjour et merci Gnozal
j'ai un ptit truc a te faire part au sujet de JaPBe
j'aimerais bien avoir si c'etait possible car je ne l'ai pas trouve l option
pour configurer des raccourci clavier juste pour les touche direct de f1 a 12 par exemple
car l'option shift f4 pour sauvegarder une position dans le source
je l'utilise beaucoup il me semble qu'elle devrait etre direct
genre f2 et f4 retour
alors que f7 create un executable pourrait passer derriere un shift
car je ne cree pas d'executable tous les jours avec JaPBe comme interpreteur , le moment j'utilise ;// bien pratique aussi
ton menu constante explorer est deja une bonne aide pour les constantes
merci encore pour ton travail
au revoir

Publié : jeu. 31/juil./2008 15:57
par gnozal
kernadec a écrit :j'ai un ptit truc a te faire part au sujet de JaPBe
j'aimerais bien avoir si c'etait possible car je ne l'ai pas trouve l option
pour configurer des raccourci clavier juste pour les touche direct de f1 a 12 par exemple
Non, pas possible, les touches F1-F12 et SHIFT F1-F12 sont réservées. Il reste ALT F1-F12.

Publié : jeu. 31/juil./2008 17:43
par kernadec
sans parler de f1qui est reservee a l'aideen f3 a nest general mais f2
pourraiit pas devenir memorise a lieu de shit f4 et deplacer
le reste jusqu'a f7 qui lui a mon sens creerun executable je le repete en touche direct c'est vraiment pour le fun
mais bon puisque ce n'est pas possible ce'n'etait qu'une suggestion dommage merci de ta reponse

Publié : jeu. 31/juil./2008 19:52
par poshu
Sans vouloir être ni désagréable ni agressif, j'aimerais vraiment que tu fasses un effort sur la ponctuation kernadec... Je comprends rien du tout à tes phrases >.<,,

Le menu copier/coller de manière native, je suis contre parce que ça interférerait avec un popupmenu manuel. Le mettre en option est une idée viable, mais j'y vois un autre inconvénient: fred est occupé à des choses à mon sens plus importantes, et ça reste très simple à mettre en œuvre pour l'utilisateur.

Publié : jeu. 31/juil./2008 20:08
par kernadec
merci de ta remarque.
je vais essayer de te satisfaire.
je n'ai ecris cela que pour le fun,
sinon la solution se trouve dans ces deux exemples.
merci. de votre indulgence ....

Publié : lun. 04/août/2008 5:17
par kernadec
bonjour
quelqu'un connait il un moyen dans le mode debugger pas a pas
pour faire fonctionner le clavier et sa repetition quand on reste appuyer
pour passer les boucle ca serait cool.
merci

Publié : lun. 04/août/2008 8:56
par Backup
kernadec a écrit :bonjour
quelqu'un connait il un moyen dans le mode debugger pas a pas
pour faire fonctionner le clavier et sa repetition quand on reste appuyer
pour passer les boucle ca serait cool.
merci
le bouton "[Set Breakpoint]" sert a designer une ligne ou l'ordi s'arretera
apres un appuis sur [RUN]

:)

Publié : lun. 04/août/2008 9:22
par Chris
Faut dire aussi que le débogueur est plutôt mal foutu, à mon avis.

Le bouton "Passer au delà" se limite à exécuter les procédures sans rentrer dedans, alors qu'il pourrait faire la même chose pour les boucles.

Idem pour le bouton "Sortir" qui devrait permettre de sortir d'une boucle (ou plutôt, de finir d'exécuter le boucle) quand on a commencé à la tester avec le bouton "Pas à pas"

Publié : lun. 04/août/2008 9:30
par kernadec
la repetition clavier ca aurait ete genial pour accelerer
l'execution car quand on a 100 lignes ca va,
pour moi en ca moment j'en suis a 7000 lignes, je sais je peux utiliser
les libs je le fais aussi lollll
j'ecris un truc d'astronomie pour le fun