disons, que en dehors d'une image ,
transformer un fichier, un son, un exécutable
en Data , n'est pas avantageux , car ça prends trop de place
ça alourdit les Listings pour rien , puisqu'on peut inclure ces choses avec les fonctions d'includes ...
quoiqu'il en soit , faire un outils pour EPB est enfantin
il suffit de compiler son utilitaire , et de le mettre dans le dossier OUTILS
pour qu'il soit disponible dans l’éditeur Via le menu Outils
pour ensuite interagir avec EPB , et ses Onglets , il suffit de regarder comment est conçut le listing
"
envoie_message_EPB.pb"
qui montre comment on peut creer un onglet dans epb avec un prg externe
ou bien inserer une ligne etc .... comuniquer avec Epb
Code : Tout sélectionner
; ************ OBLIGATOIRE *****************************************
;- structure memoire partagé
Structure Partage
declencheur.b
valeur1.i
message.s {500}
EndStructure
Global *ram.Partage
MemoirePartagee=CreatefileMapping_($FFFFFFFF,#Null, #PAGE_READWRITE, 0, SizeOf(Partage),"EPB_RAM")
*ram=MapViewOfFile_(MemoirePartagee, #FILE_MAP_WRITE, 0, 0, 0)
Declare envoie_epb(text.s,type)
Procedure envoie_epb(text.s,type)
*ram\declencheur.b=1
*ram\valeur1.i=type
*ram\message.s=text.s
EndProcedure
;*****************************************************************************
; cette procedure vous permettra d'envoyer des commandes a EPB
; utile si vous développez un utilitaire, qui aurai besoin de poser un résultat dans EPB
; utilisation : envoie_epb("message",ORDRE)
; ****************** exemple d'utilisation **************************************
;envoie_epb("un Petit Message",0) ; ORDRE 0, pose au curseur
; ; *******************************************************************
;envoie_epb("Remplace",1) ; ORDRE 1 , Remplace la ligne en cours (par rapport au curseur)
; ; *******************************************************************
;envoie_epb("un Petit Message",2) ; ORDRE 2 ,insert une ligne (par rapport au curseur)
; ; *******************************************************************
;Debug GetCurrentDirectory()
;envoie_epb("20",3) ; ORDRE 3 ,saute a la ligne 20
; ; *******************************************************************
;envoie_epb("10",4) ; ORDRE 4 ,positionne le curseur apres le 10eme caratere
; ; *******************************************************************
;envoie_epb("5,10",5) ; ORDRE 5 ,selectione apres le 5em caractere sur une longueur de 10 caractere de la ligne en cours
; *******************************************************************
; exemple de selection et remplacement :
; envoie_epb("5,10",5) ; selectione apres le 5em caractere sur une longueur de 10 caractere de la ligne en cours
; envoie_epb("message qui remplace",6) ; ORDRE 6 et remplace par le message
; ; *******************************************************************
; exemple de recuperation de la ligne en cours par le clipboard()
; envoie_epb(" ",7) ; ORDRE 7, Recupere la ligne en cours,( celle ou se trouve le curseur !! ) retour par le clipboard
; Delay(200)
; Debug GetClipboardText()
; ; *******************************************************************
; exemple de creation d'un onglet et du chargement d'un code dedans :
; file$=OpenFileRequester("load pb",Home$,"*.pb",0)
; envoie_epb(file$ ,8) ; ORDRE 8, creer un onglet, et charger un fichier *.pb
; ; *******************************************************************
; exemple de recuperation du code complet de l'onglet précisé , dans le clipboard()
; envoie_epb("3",9) ; ORDRE 9 , Recupere le code complet de l'onglet précisé (ici l'onglet 3), retour par le clipboard
; *************************************************************************
; exemple d'activation des onglets , rien de plus
; envoie_epb("0",10) ; ORDRE 10 ,Active l'onglet précisé (ici l'onglet 1 ... les onglets commencent a 0), rien de plus...
;Delay(1000)
;envoie_epb("1",10) ; Active l'onglet précisé (ici l'onglet 2 ... les onglets commencent a 0), rien de plus...
; Delay(1000)
; envoie_epb("2",10) ; Active l'onglet précisé (ici l'onglet 3 ... les onglets commencent a 0), rien de plus...
; **************************************************************************
; EPB