Page 44 sur 55

Re: EPB

Publié : jeu. 20/sept./2012 6:41
par SPH
Ce code refuse d'etre executé alors qu'il fonctionne sous PB. Pkoi ?

Code : Tout sélectionner

i.l
a.l
b.l
c.l
t.l=ElapsedMilliseconds()
; for i=1 to 100000000
!  MOV    dword [v_i],1
!_For1:
!  MOV    eax,100000000
!  CMP    eax,dword [v_i]
!  JL    _Next2
; a=14
!  MOV    dword [v_a],14
; b=15
!  MOV    dword [v_b],15
; c=16
!  MOV    dword [v_c],16
; Next
!_NextContinue2:
!  INC    dword [v_i]
!  JNO   _For1
!_Next2:

t=ElapsedMilliseconds()-t
MessageRequester("Chrono", str(t)+"ms", 0)

Re: EPB

Publié : jeu. 20/sept./2012 9:23
par Backup
si tu utilise EPB

1er -- lis la Doc en PDF que j'ai fait expres pour éviter ce genre d'erreur !! ;)

il te faut Appuyer sur la touche F8 (située au dessus des touches du clavier .... on appel ça des touches de fonctions ;) )

ça va lancer les Options (remarque qu'il existe aussi un icone pour ça ... ) Image


Image


une fois les options lancés ... la première page , t'offre la possibilité de cocher plusieurs petite cases
parmi celles-ci une concerne "Activer l'assembleur en ligne" ;)
étonnant non ?


profite en pour paramétrer EPB comme il faut , en lui indiquant le chemin vers les 2 Compilateurs (32bit ET 64 bits)... ( il faut cliquer sur le fichier "pbcompiler.exe" du dossier "Compiler" )
et te choisir un profil de couleur ...
note que tu peux faire le tiens ....
tu sauvegarde ton Style :
que tu peux poster ici , de sorte que je l'inclue dans la prochaine archive ...
pour ça tu vas dans le dossier "Styles" apres avoir sauver ton style

tu édites le fichier "SPH" et tu copie son contenu ici ;)



je te re-conseil vivement de lire la Doc jointe avec EPB , elle contient d'autres informations tres importantes
notamment pour activer le Débuggeur ...

la doc se trouve dans le dossier "A lire"
et porte le nom "A lire.pdf"

:)

Re: EPB

Publié : jeu. 20/sept./2012 11:42
par Micoute
Si ça peut intéresser, je propose mes préférences

Code : Tout sélectionner

;  ********** styles de couleur de epb *********
[coloration]
fond = 15925245
ecriture = 3155994
ligne selectionne = -1
curseur = 0
blocs fond = 307864
blocs text = 0
numeros de ligne text = 0
numeros de ligne fond = 16777215
basic = 2002243
type du basic = 1
fonctions = 10761617
type des fonctions = 1
fonctions perso = 7626553
types de variables = 14899042
type de variables = 0
commentaires = 45056
type des commentaires = 0
strings = 255
type des strings = 0
chiffres = 0
type des chiffres = 0
constantes = 33023
type des constantes = 0
Apis = 7084280
type des Apis = 0
debugger = 16187647
type debugger = 0
Hexa = 6782995
type Hexa = 0
Binaire = 5291553
type Binaire = 0
Pointeur = 16753919
type Pointeur = 0
Fond Procedure = 14808764
signe = 359530
type signe = 0
Fonte = Verdana
Taille Fonte = 10
chemin icones = 

Re: EPB

Publié : jeu. 20/sept./2012 12:04
par Backup
ce sera integré dans le prochain opus :)

Re: EPB

Publié : dim. 23/sept./2012 17:21
par SPH
Le code generé en asm devrait etre executable. Mais il manque tous les "!" devant les instructions asm :idea:

Re: EPB

Publié : dim. 23/sept./2012 19:04
par Backup
SPH a écrit :Le code generé en asm devrait etre executable. Mais il manque tous les "!" devant les instructions asm :idea:
normal , je ressort un code que le compilateur Purebasic ,génère juste avant le linkage ...
EPB n'est pas un editeur Assembleur . mais un éditeur Purebasic . :)

il permet juste de voir a quoi ressemble notre code Purebasic en Assembleur ..
on peut coder en "Assembleur Purebasic" dans EPB , mais je n'ai jamais voulu en faire un éditeur d'Assembleur ..

Re: EPB

Publié : dim. 23/sept./2012 19:16
par SPH
pourtant, si tu rajoute un "!" devant toutes les instructions, ca le ferait...

Re: EPB

Publié : dim. 23/sept./2012 19:35
par Backup
t'es sur ?

je dois dire , que j'ai meme pas testé :)

Re: EPB

Publié : dim. 23/sept./2012 20:06
par Backup
oui mais bon , ça force a modifier pas mal le source quand meme :)

j'ai testé a partir de ce code Purebasic

Code : Tout sélectionner

for i=32 to 255
 debug i
next i
voici ce que j'ai du modifier sur la version assembleur pour que ça marche dans l'editeur Purebasic

Code : Tout sélectionner


; 
; PureBasic 4.61 (Windows - x86) generated code
; 
; (c) 2012 Fantaisie Software
; 
; The header must remain intact for Re-Assembly
; 
; :System
; KERNEL32
; :Import
; 
;format MS COFF
; 
; 
; !extrn _ExitProcess@4
; !extrn _GetModuleHandleA@4
; !extrn _HeapCreate@12
; !extrn _HeapDestroy@4
; !extrn _memset
; !public _PB_Instance
; !public _PB_ExecutableType
; !public _PB_OpenGLSubsystem
; !public _PB_MemoryBase
; !public PB_Instance
; !public PB_MemoryBase
; !public _PB_EndFunctions


; !macro pb_public symbol
; !{
; !public  _#symbol
; !public symbol
; !_#symbol:
; !symbol:
; !}
; 
; !macro    pb_align value { rb (value-1) - ($-_PB_DataSection + value-1) mod value }
; !macro pb_bssalign value { rb (value-1) - ($-_PB_BSSSection  + value-1) mod value }
; !public PureBasicStart
; ; 
; !section '.code' code readable executable align 8
; ; 
; ; 
; !PureBasicStart:

; 
i=0 ;  <<<<----------------------- re Ajouté a la main Par Dobro
!PUSH   dword I_BSSEnd-I_BSSStart
!PUSH   dword 0
!PUSH   dword I_BSSStart
!CALL  _memset
!ADD    esp,12
!PUSH   dword 0
!CALL  _GetModuleHandleA@4
!MOV    [_PB_Instance],eax
!PUSH   dword 0
!PUSH   dword 4096
!PUSH   dword 0
!CALL  _HeapCreate@12
!MOV    [PB_MemoryBase],eax
; 
; 
; for i=32 to 255
!MOV    dword [v_i],32
!_For1:
!MOV    eax,255
!CMP    eax,dword [v_i]
!JL    _Next2
debug i  ;<<<<<<<< -------------- re Ajouté a la main Par Dobro
; next i
!_NextContinue2:
!INC    dword [v_i]
!JNO   _For1
!_Next2:
; 
; 
; 
; 
; 

; 
; !_PB_EOP_NoValue:
; !PUSH   dword 0
; !_PB_EOP:
; !CALL  _PB_EndFunctions
; !PUSH   dword [PB_MemoryBase]
; !CALL  _HeapDestroy@4
; !CALL  _ExitProcess@4
; !_PB_EndFunctions:
; !RET
; ; 
; ; 
; !section '.data' data readable writeable
; 
; !_PB_DataSection:
; !_PB_OpenGLSubsystem: db 0
;  !pb_public PB_DEBUGGER_LineNumber
;  !dd     -1
;  !pb_public PB_DEBUGGER_IncludedFiles
;  !dd     0
;  !pb_public PB_DEBUGGER_FileName
;  !db     0
;  !_PB_ExecutableType: dd 0
;  !align 4
;  !align 4
;  !s_s:
;  !dd     0
;  !dd     -1
;  !align 4

; 
; !section '.bss' readable writeable
; !_PB_BSSSection:
; !align 4
; 
; !I_BSSStart:
; !_PB_MemoryBase:
; !PB_MemoryBase: rd 1
; !_PB_Instance:
; !PB_Instance: rd 1
; 
; !align 4
; !PB_DataPointer rd 1
; !v_i rd 1
; !align 4
; !align 4
; !align 4
; !align 4
; !I_BSSEnd:
; !section '.data' data readable writeable
; !SYS_EndDataSection:




; EPB
j'ai quand meme due ajouter les "!" .. mais aussi

j'ai due Commenter la majorité du code , mais en plus
ajouter a la main la variable i=1 , qui n'etait pas reconnue sinon ...
et Ajouter le Debug au bon endroit pour que ça marche ...

et là le code est tres simple , imagine sur un code plus complexe ... :roll:

donc, le simple fait d'ajouter des "!" ne suffit pas ... loin de là

je ne sais meme pas ce qu'il faudrait modifier si utilisation de structures , dataSection ...etc ... :?

c'est mal barré :lol:

Re: EPB

Publié : dim. 23/sept./2012 20:21
par SPH
En fait, il n'y a que ce code d'utile avec les "!" devant.
Mais il faut rajouter devant un i.l

Code : Tout sélectionner

; for i=32 to 255
!MOV    dword [v_i],32
!_For1:
!MOV    eax,255
!CMP    eax,dword [v_i]
!JL    _Next2
debug i  ;<<<<<<<< -------------- re Ajouté a la main Par Dobro
; next i
!_NextContinue2:
!INC    dword [v_i]
!JNO   _For1
!_Next2:

Re: EPB

Publié : dim. 25/août/2013 21:46
par Backup
EPB V2.40

passage du programme en version purebasic 5.11
correction d'un gros Bug , sur l'utilisation des menus "<-" et "->" (swap d'onglet )
qui pouvait amener un plantage si l'un des onglets a échanger avait le nom "Nouveau"

le problème de sélection des mots avec accent n'est pas vraiment résolu
mais je me suis rendu compte que ça variait avec le type de listing chargé
avec certains , ça marche très bien ... avec d'autres pas du tout ! :roll:

bref , j'ai décider de mettre un alerte pour avertir que la recherche d'un mot avec accent
pouvait occasionner des problèmes de sélection...heureusement, dans un code , les accents sont assez rares ...
pour les mots sans accent , ça marche tres bien :)

une recherche avec EPB , ont pose le curseur sur un mot , et Ctrl+F
c'est parti ... (pas de selection du mot a faire)
ou bien Ctrl+f et on entre le mot qu'on recherche ....



ajout d'une nouvelle commande de type $xxxxx
il s'agit de $intro
si vous écrivez "$intro" au debut du code , un cartouche viendra s'inserer a la place de cette commande
(c'est le même principe avec toute les commandes "$xxxx" de EPB )

le cartouche ressemble a ça :

;***********************************************
;Titre :le nom du prg en cours d'edition
;Auteur : Dobro <---- ici vous mettez votre pseudo
;Date :25/08/2013 ; la date du jour au moment de l'utilisation de la commande $intro
;Heure :22:25:45 ; l'heure au moment de l'utilisation de la commande $intro
;Version Purebasic : PureBasic 5.11 (Windows - x86) ; la version du compilateur utilisé au moment de l'utilisation de la commande $intro
;Version de l'editeur :EPB V2.40 ; Version de EPB utilisé
;***********************************************

ce sont de simples lignes, qui peuvent etre effacé , ou editer ....
ça permet d'avoir une information sur le code , et sur qu'elle version de purebasic il a été codé ...

je code tout les jours avec EPB , il ne montre pas de problemes d'utilisation
j'ai d'abord fait ce prg pour moi meme , mais peut etre allez vous l'adopter

il a sont petit lots d’inconvénients (peu en fait )

lenteur de la mise en forme
uniquement pour Windows
n'as pas la complétion des éléments d'une Structure, ni des variables (mais a la complétion des constantes, et des fonctions )


et beaucoup d'avantages ... l'air de rien , le principe des commandes ($path,$declare,$intro,etc... )
dépanne bien la vie :)

il reste rapide quelque soit la taille du code
seule la mise en forme (Ctrl+tab ) peut prendre du temps
ça permet de reflechir :lol:

dans les avantages :
on peut cliquer sur tout les éléments des liste a droite de l'editeur , ça marchera , l'editeur sautera au bon endroit
on peut cliquer a gauche des ligne de code pour effectuer une selection
ça ne refermera pas le Folder (ça c'est pénible avec Jabpe :) )

l'essayer c'est l'adopter :)


ps : pour le télécharger , il vous faut ouvrir un compte sur mon site ! (adresse dans mon profil)
je confirme les comptes a la main... donc ne cherchez pas a vous connecter tout de suite
vous seriez vue comme un Spammeur et votre ip serai automatiquement Bannis ....
vous recevrez un email qui vous dira que votre compte est ouvert ..
donc renseignez une bonne adresse email ;)
et utilisez le meme pseudo qu'ici .. si je ne connais pas , je valide pas ..

si par hasard vous aviez un probleme de connexion
un petit message privé ici .... :)

Re: EPB

Publié : dim. 25/août/2013 23:01
par Ar-S
Dobro a écrit :EPB V2.40

passage du programme en version purebasic 5.11
correction d'un gros Bug , sur l'utilisation des menus "<-" et "->" (swap d'onglet )
qui pouvait amener un plantage si l'un des onglets a échanger avait le nom "Nouveau"

le problème de sélection des mots avec accent n'est pas vraiment résolu
mais je me suis rendu compte que ça variait avec le type de listing chargé
avec certains , ça marche très bien ... avec d'autres pas du tout ! :roll:

bref , j'ai décider de mettre un alerte pour avertir que la recherche d'un mot avec accent
pouvait occasionner des problèmes de sélection...heureusement, dans un code , les accents sont assez rares ...
pour les mots sans accent , ça marche tres bien :)

une recherche avec EPB , ont pose le curseur sur un mot , et Ctrl+F
c'est parti ... (pas de selection du mot a faire)
ou bien Ctrl+f et on entre le mot qu'on recherche ....



ajout d'une nouvelle commande de type $xxxxx
il s'agit de $intro
si vous écrivez "$intro" au debut du code , un cartouche viendra s'inserer a la place de cette commande
(c'est le même principe avec toute les commandes "$xxxx" de EPB )

le cartouche ressemble a ça :

;***********************************************
;Titre :le nom du prg en cours d'edition
;Auteur : Dobro <---- ici vous mettez votre pseudo
;Date :25/08/2013 ; la date du jour au moment de l'utilisation de la commande $intro
;Heure :22:25:45 ; l'heure au moment de l'utilisation de la commande $intro
;Version Purebasic : PureBasic 5.11 (Windows - x86) ; la version du compilateur utilisé au moment de l'utilisation de la commande $intro
;Version de l'editeur :EPB V2.40 ; Version de EPB utilisé
;***********************************************

ce sont de simples lignes, qui peuvent etre effacé , ou editer ....
ça permet d'avoir une information sur le code , et sur qu'elle version de purebasic il a été codé ...

je code tout les jours avec EPB , il ne montre pas de problemes d'utilisation
j'ai d'abord fait ce prg pour moi meme , mais peut etre allez vous l'adopter

il a sont petit lots d’inconvénients (peu en fait )

lenteur de la mise en forme
uniquement pour Windows
n'as pas la complétion des éléments d'une Structure, ni des variables (mais a la complétion des constantes, et des fonctions )


et beaucoup d'avantages ... l'air de rien , le principe des commandes ($path,$declare,$intro,etc... )
dépanne bien la vie :)

il reste rapide quelque soit la taille du code
seule la mise en forme (Ctrl+tab ) peut prendre du temps
ça permet de reflechir :lol:

dans les avantages :
on peut cliquer sur tout les éléments des liste a droite de l'editeur , ça marchera , l'editeur sautera au bon endroit
on peut cliquer a gauche des ligne de code pour effectuer une selection
ça ne refermera pas le Folder (ça c'est pénible avec Jabpe :) )

l'essayer c'est l'adopter :)

ps : pour le télécharger , il vous faut ouvrir un compte sur mon site ! (adresse dans mon profil)
je confirme les comptes a la main... donc ne cherchez pas a vous connecter tout de suite
vous seriez vue comme un Spammeur et votre ip serai automatiquement Bannis ....
vous recevrez un email qui vous dira que votre compte est ouvert ..
donc renseignez une bonne adresse email ;)

si par hasard vous aviez un probleme de connexion
un petit message privé ici .... :)
il devient vraiment intéressant le petit epb.
Comme il est compilé en 5.11 est-ce que les modifs frame3Dgadget etc... de la 5.20 sont prises en compte si on le met dans le rep de ce dernier ?

Re: EPB

Publié : dim. 25/août/2013 23:58
par Backup
Ar-S a écrit : Comme il est compilé en 5.11 est-ce que les modifs frame3Dgadget etc... de la 5.20 sont prises en compte si on le met dans le rep de ce dernier ?
t’étais pas obligé de citer tout mon message :)

normalement oui !
parceque la coloration /syntaxe des mots clef c'est le compilateur qui me les envoient

donc si tu met le chemin du compilateur de la 5.20
ça doit marcher :)

deja que j'ai rien eu a faire pour les decoupes de la version 5.10

ce sont les chemins des compilateur , indiqué dans EPB qui font que EPB, travail avec Tel ou tel version ...
Epb peut etre a un endroit et travailler avec un compilateur situé a un autre ....
pas obligé de mettre EPB dans un dossier d'une version de Purebasic...
chez moi EPB est meme carrément ailleurs dans une autre arborescence

j'ai différents dossier avec chaque version de Purebasic
il m'arrive de mettre la version 4.61
et aussi la Version 5.11 (les 2 version en 32bits ) simplement je renseigne le chemin prevu pour la 64bits avec un compilo d'une version 32 bits
comme ça je dispose de 2 version de Purebasic en 32 bits
on pourrai mettre une 32 et une 64 :)

j'avais ajouté des coches pour activer ou pas un compilo au choix :)
c'es l'avantage de lancer le compilo au vol a chaque compilation ... (au lieu de l'avoir en permanence en Ram )
Image

Re: EPB

Publié : sam. 31/août/2013 11:39
par Backup
correction d'un bug de derniere minute ; qui pouvais empêcher le lancement de la fenetre d'option (F8)
si l'on copiait le dossier EPB, en lieu et place d'une ancienne config

j'ai repassé EPB en téléchargement publique
je pense que l'inscription sur mon site peut etre un frein a sa récupération...

d'autant que le menu "mise a jour" de EPB, au cas ou une mise a jour se présente
nous téléporte directement sur la Page de téléchargement , ce qui , si on est obligé de s'inscrire
peut empêcher son rapatriement ....puisqu'il faut repasser par la page d'accueil du site...

bon, voici donc le lien direct vers EPB
http://michel.dobro.free.fr/download.php?view.25

Re: EPB

Publié : sam. 31/août/2013 13:14
par Backup
arf ! desolé pour celui qui viens de recuperer EPB
http://michel.dobro.free.fr/download.php?view.25

je viens de mettre en ligne une version legerement améliorée :)

ajout des commandes
$dec
$hex
$bin


ces commandes inserent a l'endroit du curseur une valeur traduite
par exemple vous tapez

Code : Tout sélectionner

a=$hex
....... un input requester s'ouvre , vous entrez "15" puis [enter]
EPB ecrira

Code : Tout sélectionner

a=$f
on peut entrer un chiffre binaire en précédant avec '%' ex : "%1001"
Epb ecrira

Code : Tout sélectionner

a=$9
pareil pour les autres commandes
$dec pour avoir en decimal
$hex pour avoir en hexa
$bin pour avoir en binaire


la commande $pi ...... insérera a l'emplacement du curseur "3.1415926536"
la commande $date .... insèrera la date du moment (sous la forme : "31/08/2013" )
la commande $heure ... insèrera l'heure du moment ( sous la forme : "14:14:19" )

voila ... c'est tout pour le moment :)

ps: si vous avez des idées de commandes "$xxx" dites toujours :)

(pas de $faitmoiunfpsquiarrache ...:lol:)