Page 1 sur 3

Ajouter une couche objet avec PB OOP

Publié : jeu. 04/janv./2018 17:23
par microdevweb
Bonjour à tous,

C'est évidement loin d'être fini car c'est un projet conséquent. Il ne fonctionne actuellement que pour des classes simples sans héritage.

Installation :

Télécharger le pack :arrow: ICI Version 1.0 BETA 1

Ajouter dans l'éditeur PureBasic un outil personalisé comme l'image ci-dessous (en choisissant le fichier Jar du pack)

Image

Tester le code suivant

Code : Tout sélectionner

Class Drawing
	private name.s,width.l,height
	public  Method Drawing(name.s,width,height.l)
		this.name = name
		this.width = width
		this.height = height
	EndMethod
	public Method getName.s()
		Return this.name
	EndMethod
	public Method getWidth()
		Return this.width
	EndMethod
	public Method getHeight()
		Return this.height
	EndMethod
EndClass
Global myDrawing.Drawing = new Drawing("Teste",800,600)
MessageRequester("",myDrawing\getName())
MessageRequester("",Str(myDrawing\getWidth()))

Re: Ajouter une couche objet avec PB OOP

Publié : mar. 09/janv./2018 10:53
par Kwai chang caine
Bonjour MicroDevWeb et merci du partage 8)

J'ai essayé en lançant l'outil personnalisé PB_POO dans le menu et il ne se passe rien
Et si je lance le code dans l'IDE, évidemment le compilateur est pas content des la première ligne "Class Drawing" :|

Re: Ajouter une couche objet avec PB OOP

Publié : mar. 09/janv./2018 11:58
par microdevweb
@Kwai chang caine,

il faut voir si tu a bien configurer l'outils personnalisé comme sur l'image.

Re: Ajouter une couche objet avec PB OOP

Publié : mar. 09/janv./2018 13:43
par Mindphazer
Bonjour Microdevweb

J'ai configuré l'outil de la bonne manière à priori, mais à la compilation de ton code exemple, j'ai d'abord un message d'erreur je pense Java : "This code is illega private name.s,width.l,heightl", puis si je clique sur OK, une message d'erreur de l'IDE à la ligne 1 "Erreur de syntaxe"

Re: Ajouter une couche objet avec PB OOP

Publié : mar. 09/janv./2018 13:55
par Kwai chang caine
microdevweb a écrit :@Kwai chang caine,
il faut voir si tu a bien configurer l'outils personnalisé comme sur l'image.
Normalement oui, j'ai bien regardé à deux fois :wink:

J'ai donc les mêmes symptômes que MindPhaser, sauf que moi , j'ai pas le message d'erreur
Peut être une version de JAVA différente de la tienne...
JAVA le sais que je l'aime pas :lol: :mrgreen:

Re: Ajouter une couche objet avec PB OOP

Publié : mar. 09/janv./2018 16:23
par Mindphazer
Kwai chang caine a écrit : JAVA le sais que je l'aime pas :lol: :mrgreen:
Moi non plus il ne m'aime pas ; mais ça tombe bien : je ne l'aime pas non plus :twisted: :mrgreen:

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 8:18
par Micoute
Pourquoi tant de haine ?

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 9:26
par Kwai chang caine
Paaaaaarrrrceeeee queeeeeeeuuuu !

Image

Programmer en JAVA, c'est..c'est....... c'est...... :

- Coucher avec sa belle mère
- Sucer l'os du chien
- Passer une journée de soldes avec sa femme
- Sortir toutes les poubelles de l'année en une seule fois
- Etre en t-shirt/tong et dire "enculé" à un CRS en tenue
- Traverser un autoroute à quatre pattes
- Mettre une tarte à un T-rex adulte
- Embrasser sur la bouche un gorille en ruth...

Bref tu l'auras compris... c'est se faire chier et vivre dangereusement à la fois :mrgreen:

@MindPhazer
Bienvenue au club :wink: 8)

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 12:13
par microdevweb
Merci de vos retours,

Cela confirme mes craintes.... A savoir que la gestion d'erreur, étant donné que le code est transformé risque d'être difficile.

@Mindphazer , le premier msg d'erreur vient du pré-compilateur private name.s,width.l,heightl, mais cela n'arrête pas le compilateur Pb qui évidement enverra une erreur sur le code pré compilé.

Alors certains se demanderons pourquoi avoir fait ce projet en Java ? Je l'avais commencé en Pb et en objet et la gestion d'objet n'étant pas évidente (en Pb) je l'ai réalisé par la suite en Java pour le réaliser plus rapidement.

Conclusion:
Sans la création d'un ide adapté ce projet sera difficile à mener à terme et cela représente un gros travail. Ajouté une couche Poo à Pb est possible, mais cela demanderais un énorme travail pour obtenir quelque chose de fiable.
Alors cela en vaut-il la peine ? Peut-être vaut-il mieux laissé Pb pour ce qu'il est vraiment "Un excellent langage procédural", bon perso je suis plus objet mais il faut avouer que les utilisateurs de Pb sont plus procédural alors réaliser un tel travail pour me satisfaire ainsi que peut-être quelques autres utilisateurs.

Donc actuellement je range ce projet dans mes carton et vous remercie de vos testes.

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 12:25
par Kwai chang caine
Bon dommage....merci à toi d'avoir essayé :wink:

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 12:47
par Micoute
Ca me rappelle l'histoire d'un gars qui s'est acharné toute sa vie pour explorer sa mine sans jamais rien trouver, il a finit par vendre sa concession et le nouveau propriétaire du premier coup de pioche a découvert une pépite de 900 Kg.

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 14:09
par Kwai chang caine
:lol:
Et ben faudrait un sacré coups de pioche, pour coder toute une couche de POO et son IDE 8O
Si tu connais le casto qui vends ça .... :mrgreen:

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 15:30
par Micoute
C'est juste pour dire qu'on peut être tout près du but sans le savoir et qu'il ne faut jamais rien lâcher.

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 16:43
par falsam
@microdevweb : Enfin une bonne nouvelle : Tu vas arrêter de nous présenter le xeme projet ayant comme leitmotiv la POO adapté à PureBasic :mrgreen:

Et bonne Année :wink:

Re: Ajouter une couche objet avec PB OOP

Publié : mer. 10/janv./2018 18:48
par G-Rom
microdevweb a écrit :Merci de vos retours,

Cela confirme mes craintes.... A savoir que la gestion d'erreur, étant donné que le code est transformé risque d'être difficile.

@Mindphazer , le premier msg d'erreur vient du pré-compilateur private name.s,width.l,heightl, mais cela n'arrête pas le compilateur Pb qui évidement enverra une erreur sur le code pré compilé.

Alors certains se demanderons pourquoi avoir fait ce projet en Java ? Je l'avais commencé en Pb et en objet et la gestion d'objet n'étant pas évidente (en Pb) je l'ai réalisé par la suite en Java pour le réaliser plus rapidement.

Conclusion:
Sans la création d'un ide adapté ce projet sera difficile à mener à terme et cela représente un gros travail. Ajouté une couche Poo à Pb est possible, mais cela demanderais un énorme travail pour obtenir quelque chose de fiable.
Alors cela en vaut-il la peine ? Peut-être vaut-il mieux laissé Pb pour ce qu'il est vraiment "Un excellent langage procédural", bon perso je suis plus objet mais il faut avouer que les utilisateurs de Pb sont plus procédural alors réaliser un tel travail pour me satisfaire ainsi que peut-être quelques autres utilisateurs.

Donc actuellement je range ce projet dans mes carton et vous remercie de vos testes.
Salut MDV ! , si tu avait suivi ce que je t'ai dit , aussi en me posant des questions sur le dit sujet , tu aurais compris que la méthode ISO-1664 ne marche pas , surtout dans ce domaine. Le traitement des erreurs est hyper simplifié avec la méthode que je t'avais donné, faire une "surcouche" à un compilateur, reviens a faire une partie de compilateur. le traitement des erreurs est réduit à un simple test de valeurs arithmétique , et pas de test comme d'autre le font sur des strings...

l'idée est la suivante :

IF = 1
VARIABLE = 2
OPERATEUR_EGAL = 3
NOMBRE = 4

if MaVar = 512
deviens :
IF VARIABLE OPERATEUR_EGAL NOMBRE

La somme de la ligne est de 10, si tu as un autre résultat , il y a erreur de syntaxe, évidement, ici , j'ai simplifié , je ne prend pas en compte d'autres cas de figure, mais il sont limité , d'ou ma discution sur l'importance du byte code intermédiare, cela simplifie la création d'un compilateur/langage de script.