PureBasic
https://www.purebasic.fr/french/

Ajouter une couche objet avec PB OOP
https://www.purebasic.fr/french/viewtopic.php?f=3&t=17117
Page 1 sur 3

Auteur:  microdevweb [ Jeu 04/Jan/2018 17:23 ]
Sujet du message:  Ajouter une couche objet avec PB OOP

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:
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()))

Auteur:  Kwai chang caine [ Mar 09/Jan/2018 10:53 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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" :|

Auteur:  microdevweb [ Mar 09/Jan/2018 11:58 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

@Kwai chang caine,

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

Auteur:  Mindphazer [ Mar 09/Jan/2018 13:43 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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"

Auteur:  Kwai chang caine [ Mar 09/Jan/2018 13:55 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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:

Auteur:  Mindphazer [ Mar 09/Jan/2018 16:23 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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:

Auteur:  Micoute [ Mer 10/Jan/2018 8:18 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

Pourquoi tant de haine ?

Auteur:  Kwai chang caine [ Mer 10/Jan/2018 9:26 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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)

Auteur:  microdevweb [ Mer 10/Jan/2018 12:13 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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.

Auteur:  Kwai chang caine [ Mer 10/Jan/2018 12:25 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

Bon dommage....merci à toi d'avoir essayé :wink:

Auteur:  Micoute [ Mer 10/Jan/2018 12:47 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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.

Auteur:  Kwai chang caine [ Mer 10/Jan/2018 14:09 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

: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:

Auteur:  Micoute [ Mer 10/Jan/2018 15:30 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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.

Auteur:  falsam [ Mer 10/Jan/2018 16:43 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

@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:

Auteur:  G-Rom [ Mer 10/Jan/2018 18:48 ]
Sujet du message:  Re: Ajouter une couche objet avec PB OOP

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.

Page 1 sur 3 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/