Epb v2.68

Programmation d'applications complexes
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Epb v2.68

Message par Zorro »

²apres un bon moment d'absence, car je travaillais dessus

voici la version 2.68

Image


a telecharger ici :
http://michel.dobro.free.fr/STLINE/down ... on/29-epb/


PREMIERE CHOSE A FAIRE !

lancez EPB , redimensionnez la taille de la fenetre a votre gout
puis appuyez sur le touche F8 !
ça vous permettra d'indiquer a EPB ou se trouve les compilateurs 32 et 64 bits
puis de choisir votre profil de couleur
puis de mettre votre Pseudo
puis mettez a jour , EPB sera dorénavant utilisable :)


plus tard si vous voulez changer de compilo, c'est par F8 que ça se passe :)

j'ai corrigé pas mal de bugs ..... , il y en a encore , mais en partie je me bat contre Go_scintilla ....qui est .... Lent .
j'aurai jamais due utiliser cette lib

mais EPB est utilisable sur des codes Petits a moyen .. les trop gros codes , mieux vaut pas , ça rame !
ou alors utilisez les includes (Beurk )

je verrai le jour ou je refond complétement le cœur de EPB ...

je ne vais pas revendre ma sauce, EPB est précurseur dans bien des domaines ( :mrgreen: )

si vous voulez utiliser MLF avec, il suffit de poser l"exécutable qui doit porter ce nom "mlf.exe" (en minuscules)
dans le dossier /outils de EPB

vous aurez ainsi l'avantage de pouvoir accéder a mlf directement par le menu "outils" de EPB ou mieux
par le menu "projet" (F9) , ce dernier a l'avantage de prendre en compte directement le chemin du code
se trouvant dans l'onglet actif

et comme EPB lance le compilateur de Purebasic a chaque compilation , vous n'aurez pas a "relancer" le compilo
a chaque fois ... vous pourrez tester votre lib, directement apres l'avoir compilé avec mlf :)

je vous enjoint a regarder l'aide de EPB (menu aide)
pour prendre conscience de la grande puissance de EPB :mrgreen:

autre chose , si vous avez du code avec des Api genre

Code : Tout sélectionner

Beep_(440,20)
et que vous surlignez "Beep_" un appuis sur F1 vous emmènera direct chez Crosoft pour la doc
(ça fait longtemps que EPB fait ça, mais j'ai remarqué que l'editeur officiel ne le faisait pas :mrgreen: )

un petit coup d'oeil sur le Greeting (menu "A propos") pour ceux qui ne connaissais pas , c'est une petite demo
qui regroupe des algos des membres de Purebasic , que j'ai réuni dans un seul ecran :)
sur la musique de "Maupiti Island" (Gérôme Lange)


bon je m’arrête là , si vous avez des questions, n’hésitez pas :)

bon tests

ps:
F5 = compilation sans debugger
F6= compile avec debugger
F7 = creation Exe
F9 = mlf si présent dans dossier "outils"

EPB peut générer un fichier Asm (qu'il recharge dans un onglet )
il peut Re-asmbler le fichier ASm en exécutable apres modification

le menu "convert" contient divers prg :

pointeur type, pour convertir d'ancien codes, ayant encore des pointeurs typés

compress , permet de "compresser" un code, en retirant les lignes vides , on peut l'utiliser plusieurs fois pour augmenter la compression

Anti Com , vire les commentaires sur la sélection de lignes de code (supprime les lignes ) c'est pas comme l'option "dé-commenter"

convertisseur > 4.51 est un debut de code pour tenter de convertir de tres vieux codes antérieur a la version 4.51
c'est pas parfait loin de là , ça fait partie d'un projet, que je n'ai jamais le temps de finir
ça dépanne bien mais faudra de toutes façons faire des retouches a la main ...

débloquer "_" est un résidu , car avec EPB on pouvait deja depuis pas mal de temps
faire des blocs de code a l'aide de fonction "_Block" et "_endblock"
et pouvoir creer un "décroché" dans le code
mais il me fallait aussi pouvoir retirer ces fonctions spécifiques a EPB lors de partage de code sur le forum
d'ou l'option "débloquer"

d'ailleurs j'ajoute que EPB pouvais aussi ben avant l’éditeur officiel couper les lignes en morceau grâce au caractères " _" (espace+"_")

ainsi

on peut faire ceci avec EPB

Code : Tout sélectionner


If OpenWindow(0 _
,0, 0, 220, 100, _
 "Exemple...", _
 #PB_Window_SystemMenu | _
 #PB_Window_ScreenCentered)
ou ça :

Code : Tout sélectionner


If _
		OpenWindow _
		(0  ,0, 0, 220, 100, _
		"Exem _
		ple...",  #PB_Window_SystemMenu _
		|  #PB_Window_ScreenCentered)
EndIf
mais depuis Purebasic a permis les caracteres de "coupage" donc, c'est superflue, mais ça marche toujours :)
Utiliser "Débloquer" permet de remettre le code "normal" :)

Dépuncher, permet de remettre en plusieurs lignes un code ayant été "punché"
c'est a dire bourré de ligne séparé par des ":"

Puncher, est un code de Majickeric qui permet de "puncher" un code pour le réduire en taille
lorsqu'il y a des concours de punch , on entre le nombre de caractères par ligne, et ça essaie de le faire
n'entrez pas de chiffres trop petit, car il n'y a pas de test pour garantir le code complet
mais EPB ouvre un nouvel onglet de toute façon, pour ne pas remplacer le code original :)


le menu "Library" , qui vous affiche les librairies utilisateur !
si vous voulez désactiver une librairie utilisateur, il suffit de cliquer dessus , la librairie sera déplacé dans une dossier spécial
et ne sera plus active , on peut évidemment, la réactiver en Re-cliquetant dessus !

le principe est le meme pour les Résidents ;)

La recherche (Ctrl+F apres avoir surligné un terme )
EPB permet une recherche en partant du Haut du code !!
je trouve que ça manque sur l’éditeur officiel :)

La recherche par Fichier
dans la fenetre de recherche , on peut déplier le bas de la fenêtre en cliquant sur le bouton "recherche fichier"
dans ce cas, la recherche de votre "expression" se fera dans l'arborescence de votre disque dur , que vous aurez indiqué
et chaque fois que le terme sera trouvé dans un fichier *.pb , le nom de ce fichier s'ajoutera dans la liste
il suffit de cliquer dessus, pour charger le listing dans EPB :)



a droite de l’éditeur , vous avez plusieurs onglets
je ne vais pas tout détailler, mais

l'onglet "info", permet d'attribuer une icone a votre prg (utilisation du petit bouton )
vous choisissez un *.ico ou une image *.jpg ou *.png

l'onglet "Sign" permet de voir la liste des signes
un signe est une ligne de commentaire commençant par ";-" ou ";{-"
ensuite un clique sur ce sign, fera sauter l’éditeur a la ligne correspondante :)
notez que ";{" et ";}" permettent de creer des blocs de codes pliables :)

l'onglet "Proc" liste les procédures du code en cours
un clique sur un nom saute a la procédure en question ....

l'onglet "const" liste les constantes du prg en cours
plusieurs click sur une constante, permet de sauter automatiquement sur les différentes instances de cette constante :)

dans le menu les signes "<-" et "->" permettent d’échanger deux onglets entre eux (effet de déplacement d'onglet )
̷m̷a̷i̷s̷ ̷n̷'̷u̷t̷i̷l̷i̷s̷e̷z̷ ̷p̷a̷s̷ ̷t̷r̷o̷p̷ ̷ç̷a̷,̷ ̷c̷a̷r̷ ̷c̷'̷e̷s̷t̷ ̷p̷a̷s̷ ̷s̷t̷a̷b̷l̷e̷,̷ ̷e̷t̷ ̷c̷r̷e̷e̷r̷ ̷d̷e̷ ̷t̷e̷m̷p̷s̷ ̷e̷n̷ ̷t̷e̷m̷p̷s̷ ̷d̷e̷s̷ ̷p̷l̷a̷n̷t̷a̷g̷e̷s̷ ̷d̷e̷ ̷E̷P̷B̷ ̷.̷.̷.̷.̷ ̷:) , <-- Bug Corrigé :)

faudra que je fasse le meme systeme que l'editeur Officiel , lorsque j'aurai compris comment on fait :)

un simple click bouton droit sur l'editeur , un menu vous propose de sauver votre code !
EPB retient tout les chemins de chaque Code
ça vous fera un "sauver sous" histoire de vérifier qu'il n'y a pas d'erreur , ou possiblement changer le nom ..
mais par defaut le chemin
sera toujours le bon ;)

un clique Gauche Sur l'etiquette de l'onglet, permet de mettre a jour les listes a droite de l'editeur (Sign,Proc,Const)

autre chose , si vous surligné un commande "RGB(56,87,125)
vous aurez un aperçut de la couleur dans le petit Carré complétement en haut a gauche dans le menu :)

enfin , EPB contient un système de mot clef , ils commencent tous par "$"

exemple :
si vous tapez "$forum" ça va ouvrir votre navigateur pour venir ici meme !! :lol:

"$intro" permet de poser a l'endroit du curseur (donc mieux vaut etre tout en haut du listing) votre cartouche d'informations/présentation

si comme moi vous mettez vos procédures en fin de code
mettez vous tout en haut du listing là, ou vous voulez les déclarer
et tapez "$declare" , voila, toutes les procédures seront déclarées ! :)


la commande $crypt et $decrypt
permet de crypter le code de l'onglet en cours
ça demande un mot de passe , et ça crypte vigenere !
permet ainsi d'échanger du code sans partager :mrgreen:
bon c'est pour le Fun , on peut meme s'en servir pour crypter un message qu'on envoi par email par exemple :)
seul celui qui a le passe (et EPB) pourra lire le message ... c'est gadget, mais c'est marrant :)

je vais pas expliquer toute les commandes "$"
mais pour chaque commande, vous avez une petite explication en utilisant le menu d'aide -EPB :)
on peut ainsi faire pas mal de chose avec les commandes Maison :)

pour la Tabulation sur EPB
soit vous sélectionnez une partie du code, et utilisation des touches Ctrl+Tab pour tabuler
et Shift+Tab pour Détabuler

soit vous ne sélectionnez rien du tout et Ctrl+Tab tabule tout le code
et Shift+Tab dé-tabule tout le code :)

les deux boutons "32" et "64"
permettent si vous avez bien renseigné les chemins vers les compilateurs respectif
de compiler le code en cours d'edition, en 32bit ou en 64 bits, ou les deux ! (l'un apres l'autre)

mais si vous avez renseigné dans le compilo 32 bits le chemin vers le compiler de Purebasic 5.60 32bits
et dans le chemin 64 bits, le chemin vers le compiler de Purebasic 5.30 32bits

vous pourrez alors compiler votre prg pour les deux compilo 5.60 et 5.30 en 32 bits .....


petit trucs a savoir en ce qui concerne la tabulation
EPB utilise une Tabulation "Maison" elle n'est pas parfaite , et quelques fois peut donner d'etrange résultat

par exemple ce code :

Code : Tout sélectionner


Procedure SaveContent(ThisFileName.s) ; Vérifie si le contenu du gadget peut être sauvegardé et effectue la sauvegarde
		
		; on compte les characteres pour pas dépasser 64000 (64kilo par fichier !)
		compte$ = GetGadgetText(#Editor_0)
		compteur=Len(compte$)
		Debug  "il y a "+Str(compteur)+" charactere"
		fichiersav=CreateFile(#PB_Any, ThisFileName.s) 
		If   fichiersav<>0 And  compteur <= 64000
				WriteString(fichiersav,GetGadgetText(#Editor_0))
		CloseFile( fichiersav)  
Else
		MessageRequester("erreur", "le fichier " + ThisFileName.s + " ne peut être créé ", #PB_MessageRequester_Ok)
EndIf
EndProcedure
on vois que le Else et le Endif, ne sont pas a leur place !
parceque il y a la fonction "CloseFile( fichiersav)" qui est considéré comme une tabulation de fin (comme "EndProcedure")
corriger ça, m'aurai demandé un algo bien plus poussé ... alors j'ai inclu des caracteres spéciaux qui permettent de corriger ce genre de chose

dans notre exemple il suffit de mettre ";|" pour suprimer l'effet de tabulation de la fonction "CloseFile()"
donc "CloseFile( fichiersav) ;| " corrigera le probleme :)

Code : Tout sélectionner

Procedure SaveContent(ThisFileName.s) ; Vérifie si le contenu du gadget peut être sauvegardé et effectue la sauvegarde		
		; on compte les characteres pour pas dépasser 64000 (64kilo par fichier !)
		compte$ = GetGadgetText(#Editor_0)
		compteur=Len(compte$)
		Debug  "il y a "+Str(compteur)+" charactere"
		fichiersav=CreateFile(#PB_Any, ThisFileName.s) 
		If   fichiersav<>0 And  compteur <= 64000
				WriteString(fichiersav,GetGadgetText(#Editor_0))
		CloseFile( fichiersav);| 
		Else
				MessageRequester("erreur", "le fichier " + ThisFileName.s + " ne peut être créé ", #PB_MessageRequester_Ok)
		EndIf
EndProcedure

il existe d'autres caracteres spéciaux comme
";>"+numero = tire cette ligne de "numero" caracteres vers la droite
";<"+numero = pousse cette ligne de "numero" caracteres vers la gauche
";[" toute ligne suivante est décalée vers la droite (en respectant leur tabulations respectives )
";]" toute ligne suivante est décalée vers la gauche (en respectant leur tabulations respectives
";|" annule la tabulation généré par cette ligne

ainsi on peut faire ce genre de choses completement debile avec EPB
mais EPB n'a rien contre les débiles :lol: :) nous codeurs , ont est tous un peut dingue

Code : Tout sélectionner


												Procedure SaveContent(ThisFileName.s) ;>6 ; Vérifie si le contenu du gadget peut être sauvegardé et effectue la sauvegarde
										;>5 on compte les characteres pour pas dépasser 64000 (64kilo par fichier !)
								compte$ = GetGadgetText(#Editor_0);>4
						compteur=Len(compte$);>3
				Debug  "il y a "+Str(compteur)+" charactere" ;>2
		fichiersav=CreateFile(#PB_Any, ThisFileName.s) ;>
				If   fichiersav<>0 And  compteur <= 64000;>2
						WriteString(fichiersav,GetGadgetText(#Editor_0));>3
								CloseFile( fichiersav);>4
										Else;>5
												MessageRequester("erreur", "le fichier " + ThisFileName.s + " ne peut être créé ", #PB_MessageRequester_Ok);>6
														EndIf ;>7
																EndProcedure ;>8



POUR LES ANCIENS UTILISATEURs
remplacez TOUT les PRG par ceux de l'archive !!
chaque fois, les prg Satéllites sont prevus pour la version en cours !!
n'utilisez pas par exemple le prg outils Palette de l'ancienne version avec la nouvelle
ça ne marchera pas ;)
Dernière modification par Zorro le jeu. 19/oct./2017 15:30, modifié 17 fois.
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
raven
Messages : 222
Inscription : jeu. 06/janv./2005 15:45

Re: Epb v2.68

Message par raven »

bonjour Zorro,

après test,antivirus désactiver récupération de l'archive,exclusion du dossier Epb dans l'antivirus.
je lance Epb en administrateur et j'ai un message "parametres absent Epb doit fermer".

pourtant j'ai bien tout les fichiers dans le dossier Epb y compris l'exe parametres 185 Ko
la version Epb 2.64 se lance sans soucis
je suis sur w10,pour info
Dernière modification par raven le lun. 16/oct./2017 16:41, modifié 1 fois.
Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Epb v2.68

Message par Micoute »

J'en profite pour signaler que j'ai le même problème.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

bon apparemment, j'avais pas mis la bonne version de EPB dans l'archive .. :roll:

vous pouvez retestez SVp ??
sorry pour le dérangement :oops:
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

voila , maintenant, ça doit le faire :)

excusez le cafouillage :lol:
c'est Winrar qui m'a trompé !! et moi qui suit un peut dans la lune :)

j'ai retelechargé pour voir, une fois desarchivé, ça marche chez moi maintenant :)
Merci encore pour le retour :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
raven
Messages : 222
Inscription : jeu. 06/janv./2005 15:45

Re: Epb v2.68

Message par raven »

c'a fontionne :)
merci pour cette nouvelle version.
Pb5.24 Lts/5.31 Windows 7 64 nvidia 560 ti E8500 8g ram
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

haaa cool :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Epb v2.68

Message par Micoute »

Merci Zorro, je suis bien content d'avoir retrouvé mon éditeur favori.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

:)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Epb v2.68

Message par Kwai chang caine »

J'ai eu un problème d'affichage au premier lancement dans la partie de droite qui était tronquée, apparemment résolue à partie du second. :wink:
Par contre, le mode admin obligatoire m’empêche en tant normal de le lancer :|
Perso, j'aurais plutôt signalé que pour certaines fonctions le mode admin est obligatoire, et au pire les grisailler si on ne l'est pas
Parce que si l'on ne peut pas l'utiliser du tout dans certaines entreprises, c'est peut être dommage. :|
Autrement, que de boulot !!! 8O
Merci 8)
Dernière modification par Kwai chang caine le mar. 17/oct./2017 10:49, modifié 1 fois.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

je pourrai ne plus demander le mode Admin,
le probleme c'est que j'ai peur que ça nous empeche de compiler certains codes ....
avec un editeur pour programmer, il vaut mieux avoir acces a toute la machine non ?

Merci :)

ps: les problemes d'affichage proviennent du CallBack qui de temp en temps
tarde a redessiner l'interface
en bougeant un Spilter a la main, ça résous le problème :)
Dernière modification par Zorro le mar. 17/oct./2017 10:52, modifié 1 fois.
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Epb v2.68

Message par Kwai chang caine »

Ce mode admin...quant on est chez nous on l'oublie...mais quand j'arrive au boulot, je peux te dire que t'es vite rappelé à l'ordre :?
Je ne l'utilise quasi jamais sauf obligation, sinon je passerais mon temps à ne rien pouvoir lancer :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

je vais tester en local , le mode User, je verrai si je rencontre un soucis :)
si c'est probant, je passerai en mode user :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Epb v2.68

Message par Kwai chang caine »

C'est cool !!!! :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Epb v2.68

Message par Zorro »

bon je viens de tester, et deja un soucis !!

si je passe EPB en mode User
si je compile la libUser de Papipp

Code : Tout sélectionner


ProcedureDLL.d FACTd(jj)
		res.d=1
		If jj<2
		Else 
				For i=2 To jj
						res=res*i
				Next
		EndIf
		ProcedureReturn res
EndProcedure

ProcedureDLL.s FACTDS(jj)
		ProcedureReturn strd(FACTD(jj))
EndProcedure
;
procedureDLL.S ARRDS(nb.q,PAR.Q)
		resultars.d=nb-Par
		if resultars=>0
				resultars=factd(nb)/factd(resultars)
		endif
		procedurereturn strd(resultars)
endprocedure 

je ne peux plus utiliser la fonction "ARRDS(nb.q,PAR.Q)"

j'ai une erreur
ARRDS() n'est pas une fonction, un tableau, une macro ou une liste.
chose que je n'ai pas si EPB est en mode Admin !
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Répondre