Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » BIDE - Basic IDE
Zezombye Hors ligne Rédacteur Points: 1743 Défis: 13 Message

BIDE - Basic IDE

Posté le 26/08/2016 19:36

Je vous présente mon nouveau projet : un IDE pour le Basic (casio bien entendu).

Lien de téléchargement


Un petit malin a écrit :
Mais ça va faire un bide ton projet !

...
(bref, si quelqu'un a un meilleur nom pour ça, qu'il le dise. )

En particulier pour les prochains CPC, un IDE pour le basic serait assez utile (enfin pour tout programme basic, c'est horriblement chiant de faire de grands programmes illisibles sur un écran monochrome (donc sans coloration syntaxique) de 21*6 sans aucune indentation).

Todo list (ça c'est pour moi) :
- Conversion des lignes des options en \r\n (ou édition directement dans BIDE)
- Optimisation : enlèvement des accolades, crochets et parenthèses fermants
- Conversion optimisée png -> multi drawstat
- Importation automatique sur la calculatrice
- Option pour générer du super drawstat

Les features de cet IDE seraient :

- Remplacement automatique des caractères spéciaux : par exemple si l'utilisateur tape "- >" (sans l'espace bien entendu) ça le remplacera automatiquement par "→". Pareil pour =>, <=, >=, etc. (pas fait)
Pour les autres caractères qui n'ont pas vraiment de représentation ASCII (disp par exemple) le remplacement s'effectue en tapant un '&' avant le nom de caractère, dans ce cas taper "&disp" le remplaçera par "◢".
Si l'utilisateur ne veut pas le remplacement (par exemple, s'il veut avoir "- >" et non pas "→") il lui suffit de séparer le "mot-clé" en deux parties et de les recoller après. Le remplacement se fera uniquement si l'utilisateur tape tout le mot d'un coup.
Cela remplace aussi les noms de fonction, si l'utilisateur tape "locate" ce sera remplacé automatiquement par "Locate".

Là où vous pouvez m'aider : me fournir les caractères unicode correspondant à chaque caractère ("◢" = 0x0C, etc).

- Possibilité de nommer ses variables. Il sera possible par exemple de mettre "vieJoueur" comme nom de la variable "A", et dans ce cas la variable A sera remplacée par "vieJoueur" dans le programme. Ca évite de se rappeler à chaque fois de l'utilité de chaque variable. (pas fait, utiliser les octets de header pour identifier les g1m)

- Aide au niveau des fonctions graphiques : survoler une fonction graphique montrera son résultat dans une petite pop-up. (pas fait)

- Indentation automatique lors de l'importation du projet (fait), et lors de l'écriture (pas fait) (par exemple, écrire "If A=2" puis faire une nouvelle ligne mettra automatiquement un ":Then" après le "A=2", un "IfEnd", puis augmentera le niveau d'indentation).

- La coloration syntaxique (c'est la base ), dites si vous voulez un style du type notepad++, eclipse, ou autre. Je préfère personnellement celui de notepad++. (fait à moitié)

- D'autres fonctions assez utiles inspirées d'eclipse : survoler une fonction affiche sa documentation, l'auto-completion, la sidebar à droite montrant les todos/warnings/erreurs, etc. (pas fait)

- Optimisation automatique lors de la compilation : enlever les guillemets/crochets/parenthèses/accolades à la fin d'une instruction (d'autres suggestions pour optimiser ?). La désoptimisation se fera à l'importation du .g1m (parce que des parenthèses pas fermées c'est chiant (pas fait)

- Support de B2C pour pouvoir tester sur l'émulateur facilement (pas fait)

- L'IDE refusera de compiler le programme s'il y a un quelconque goto dedans (j'ai du compromettre)

- Support de commentaires style C (// et /*...*/) (pas fait)

Voilà, si vous avez d'autres suggestions n'hésitez pas à les dire et aussi, si quelqu'un a un bon tutoriel sur les GUI en java, ça me serait bien utile (sachant que j'en ai trouvé aucun de compréhensible et que j'y comprends toujours rien).


Précédente 1, 2, 3, 4, 5
Rader Hors ligne Membre Points: 234 Défis: 0 Message

Citer : Posté le 29/01/2020 15:31 | #


En faisant ça, y'a pas d'erreurs, mais c'est chiant de lancer un cmd pour lancer bide ensuite
Lephenixnoir Hors ligne Administrateur Points: 20987 Défis: 143 Message

Citer : Posté le 29/01/2020 15:39 | #


Mets la commande dans un fichier .bat comme ceci :

@echo off
java -jar BIDE.jar

Et ensuite double-clique sur le .bat
Rader Hors ligne Membre Points: 234 Défis: 0 Message

Citer : Posté le 29/01/2020 15:40 | #


J'm'en suis résolu à ça, mais c'est con que ça ne marche pas sans le .bat
Breizh_craft Hors ligne Modérateur Points: 1103 Défis: 7 Message

Citer : Posté le 29/01/2020 15:41 | #


Mets java -jar C:\chemin\vers\BIDE.jar dans un fichier BIDE.bat et lance ce fichier à la place. C'est crade mais ça devrait résoudre le soucis

Sinon tu fais clic droit sur le .jar, ouvrir avec et tu cherches le javaws.exe, de mémoire. C'est juste que le double-clic ouvre un programme par défaut qui doit pas être le bon (comme quand ça t'ouvre une image avec Firefox ou autre mauvais réglage du genre).

Ajouté le 29/01/2020 à 15:43 :
Quand tu auras trouvé le bon exécutable (javaws.exe ou un autre si ça marche pas) faudra le mettre par défaut pour les .jar, mais je sais plus comment on fait sous Windows.
Breizh.pm – Un adminsys qui aime les galettes.
Rader Hors ligne Membre Points: 234 Défis: 0 Message

Citer : Posté le 29/01/2020 15:47 | #


L'astuce du programme par défaut, ça n'a pas l'air de vouloir fonctionner avec javaws.exe, ni javaw.exe, ni java.exe
Sinon si quelqu'un a le code, j'veux bien regarder pour réparer l'erreur...
Krevo_ Hors ligne Maître du Puzzle Points: 402 Défis: 2 Message

Citer : Posté le 29/01/2020 15:49 | #


Rader a écrit :
En faisant ça, y'a pas d'erreurs


De rien.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Rader Hors ligne Membre Points: 234 Défis: 0 Message

Citer : Posté le 29/01/2020 15:52 | #


Krevo_ a écrit :
De rien.

Je savais qu'on pouvais lancer bide depuis le cmd, de base c'était juste pour remonter l'erreur...
Krevo_ Hors ligne Maître du Puzzle Points: 402 Défis: 2 Message

Citer : Posté le 29/01/2020 15:52 | #


ça plante parce que BIDE imprime apparemment "args : []" sur la console ... donc quand il n'y en a pas (de console) ça plante ...
Voir aussi .. https://www.developpez.net/forums/d15983/java/general-java/jar-double-clique-ne-fonctionne/
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
Breizh_craft Hors ligne Modérateur Points: 1103 Défis: 7 Message

Citer : Posté le 29/01/2020 15:53 | #


Rader a écrit :
L'astuce du programme par défaut, ça n'a pas l'air de vouloir fonctionner avec javaws.exe, ni javaw.exe, ni java.exe
Sinon si quelqu'un a le code, j'veux bien regarder pour réparer l'erreur...


Aurais-tu plusieurs Java d'installés ? (32 et 64 bits, ou deux versions différentes)

Si oui, a tu essayé les binaires de chacune des versions ?

java --version indique bien la version que tu as essayé avec le programme par défaut ?
Breizh.pm – Un adminsys qui aime les galettes.
Rader Hors ligne Membre Points: 234 Défis: 0 Message

Citer : Posté le 29/01/2020 16:00 | #


J'ai que java 64 bits d'installé
Voilà le retour du java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)


Krevo_ a écrit :
ça plante parce que BIDE imprime apparemment "args : []" sur la console ... donc quand il n'y en a pas (de console) ça plante

"A Java Exception has occured"
Il n'y a pas le même problème que ce que me monte ton lien
Zezombye Hors ligne Rédacteur Points: 1743 Défis: 13 Message

Citer : Posté le 29/01/2020 18:11 | #


Ça m'étonnerait que ce soit les arguments (ce serait très con sinon).

J'ai la même erreur perso, et c'est parce que visiblement quand on double clique il le lance avec l'openjdk, et il aime pas (aucune idée de pourquoi). Si tu fais ouvrir avec il devrait y avoir le openjdk si c'est comme sur ma machine.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Rader Hors ligne Membre Points: 234 Défis: 0 Message

Citer : Posté le 29/01/2020 21:43 | #


J'ai pas openjdk, j'suis sur windows
Redcmd Hors ligne Membre Points: 306 Défis: 5 Message

Citer : Posté le 30/01/2020 04:24 | #


BIDE works fine for me on windows 10
both the .jar and .exe
I only have the latest 64bit java installed
RedCMD#4299 - Discord
Mandelbrot SNKEmini Minesweeper Sudoku
Calcloverhk Hors ligne Membre Points: 269 Défis: 4 Message

Citer : Posté le 30/01/2020 04:30 | #


@Rader:
Java 8 (update 171 or above) is enough for BIDE to run.
2045, the bright or dark future to the humanity?
https://youtu.be/WY4XLDBDyuk
Zezombye Hors ligne Rédacteur Points: 1743 Défis: 13 Message

Citer : Posté le 30/01/2020 07:30 | #




Windows ou pas tu peux quand même avoir le openjdk d'installé
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Précédente 1, 2, 3, 4, 5

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 40 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd