Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » WebCalc
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

WebCalc

Posté le 26/03/2014 18:58

Je me suis rendu compte qu'on niveau lecteurs de documents... on n'avait pas grand-chose. Après divers tests et choix, je me suis tourné vers le standard : on aura donc un afficheur de documents basé sur les langages HTML/CSS.


À cette occasion, j'ai également programmé une petit lib (qui viendra en remplacement de l'actuelle libtext) qui permet d'utiliser des polices custom sans limites de proportionnalité, taille, alignement, etc., ainsi qu'un interpréteur TeX pour afficher les formules mathématiques, lui-même pas encore complet puisqu'il ne gère que quelques éléments (racines, fractions, vecteurs, ...).

\frac{\frac{12}{\sqrt{5}}+14}{\vec{AB}.\frac{3\vec{BC}}{2}}+\sqrt{\frac{4}{\frac{1}{2}at}} = \frac{\frac{2}{BC}}{17}\sum{x=\frac{2}{5}}{\sqrt{\frac{3}{n}}}\frac{x}{2}

L'image a expiré, j'en remettrai une avec la prochaine version du moteur !


Fichier joint


Précédente 1, 2, 3 ··· 10 ··· 14, 15, 16, 17, 18, 19, 20, 21 Suivante
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 27/03/2015 21:51 | #


Et pourquoi pas l'un et l'autre ?
Je te ferais remarquer qu'une limitation de vitesse existe dans les 25 ms de temps de répétition sur le défilement, et que par conséquent, le code étant assez optimisé pour atteindre facilement cette vitesse, je peux me concentrer sur la taille des fichiers tout en ne craignait pas pour la vitesse.
Et puis, les deux vont souvent de pair.

Alors oui, je m'en sortirai
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 27/03/2015 21:56 | #


Au pire un syscall et tu modifie la vitesse de répétition (j'ai déjà fait). Par contre faut penser à faire une fonction on_quit pour remettre les bons paramètres, y'a rien de plus chiant sinon.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 27/03/2015 21:59 | #


Non mais pas besoin de syscalls, y'a une fonction dans la lib.
Mais tout fonctionne par multiple de 25 ms. En fait c'est la config matérielle qui veut ça : je crois avoir vu passer que c'était dans un registre. Je vais pas m'amuser à aller y toucher, 2 pixels de scroll toutes les 25 ms c'est déjà bien suffisant.

Et l'exit handler existe, en fait celui qui est géré par crt0.s le fait déjà.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 27/03/2015 22:00 | #


Bah pas à tout les coups. Ça m'est déjà arrivé sur certains jeux.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 27/03/2015 22:01 | #


Celui de ctr0.s, c'est-à-dire quand on compile avec gcc.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 27/03/2015 22:05 | #


Ah, ok. Mais le SDK linke pas ça automatiquement lorsqu'il compilé ? Il me semblait que si. Comme quoi
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 27/03/2015 22:07 | #


Ben, le SDK a son script d'initialisation (le fameux INIT_ADDIN_APPLICATION() appelé par InitializeSystem() qui est le point d'entrée en section pretext, ce qui est défini par une des pragma), mais celui-ci ne rappelle pas Bkey_Set_RepeatTime_Default() à la fin de l'exécution.

Ajouté le 27/03/2015 à 22:12 :
Zut alors, en fait tout le temps de chargement c'est au lancement de WebCalc, le chargement et l'interprétation de la page c'est moins d'une demi-seconde !

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 27/03/2015 22:38 | #


Ben tu sais ce qu'il te reste à optimiser alors
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 28/03/2015 07:59 | #


Comme je le pensais, c'est le chargement des polices qui cause cette lenteur lorsque j'initialise le programme.
Je vais voir si je peux tenter de faire mieux, en jouant astucieusement je peux même faire beaucoup mieux...

Ajouté le 28/03/2015 à 08:28 :
Yeah, mon idée est carrément réalisable, et en plus c'est standard !

Ajouté le 29/03/2015 à 13:27 :
Et voilà, c'est implémenté
Il n'y a donc plus de fichiers externes, les polices sont intégrées au g1a ! Plus besoin pour vous de transférer tous ces fichiers, et plus besoin pour moi de me taper le feedback « j'ai rien affiché, c'est normal ? » x)

Et le temps de copie des données, initialisation de l'app, chargement de la page, interprétation et application des règles CSS fait à peine une demi-seconde sur ma sh4 !! \o/
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 29/03/2015 18:13 | #


Oh yeah
Une release ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 29/03/2015 20:30 | #


Dès que j'aurai nettoyé les sources et rétabli l'interface de chargement de fichiers
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 29/03/2015 20:34 | #


Je poste quand même un message ici pour phenix :

Merci pour cet outil, il est vraiment génial et je le recommande à tout le monde ! Par exemple pour faire un cours, vous avez tout ce qu'il faut, une bonne police d'écriture, une barre de scrolling, des commandes html et css pour organiser votre cours, tout ce qu'il faut pour que la lecture soit agréable et organisée ! Je vais faire de la pub dans ma classe pour les prochains contrôles et je mettrais un message ici pour te dire leurs impressions

Quelques trucs qui seraient sympas :

Les br pour sauter une ligne, plus simple
Les hr pour faire une ligne sur tous l'écran, pratique pour organiser la mise en page
Des ancres avec un menu pour se diriger facilement dans le cours (un menu avec des acnres pour aller à un point du cours et une touche pour pouvoir remonter tout en haut du cours et pour pouvoir descendre tout en bas quand on veux comme F1 et F2 par exemple)

Quelques soucis :

2 erreurs mémoire en lançant le logiciel venant des fonctions createfile() puis openfile()
En testant le code css d'un h1, on a un grand titre encadré (en haut et en bas, pas sur les côtés) avec un padding censé être à 2 px en haut et en bas mais en bas, il y a un plus grand espace

Question : Quelle est la plus grande taille de police de caractère, de border, de padding, de margin, ... ?

Voilà, encore merci pour ton logiciel. Je posterais ici dans un hastebin le code source de l'une de mes peut-être futures pages html pour que tout ceux qui le veulent l'ai
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 29/03/2015 20:37 | #


Ça me fait penser qu'il faut que je finisse mes eActs pour te les passer ... si tu es toujours intéressé bien sûr
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 29/03/2015 21:03 | #


Eltoredo a écrit :
Les br pour sauter une ligne, plus simple

Ça nécessite d'écrire le moteur d'interprétation du texte, donc un peu difficile... je le ferai, hein ! Mais c'est pas pour tout de suite.

Eltoredo a écrit :
Les hr pour faire une ligne sur tous l'écran, pratique pour organiser la mise en page

Ça c'est facile par contre.

Eltoredo a écrit :
Des ancres avec un menu pour se diriger facilement dans le cours (un menu avec des acnres pour aller à un point du cours et une touche pour pouvoir remonter tout en haut du cours et pour pouvoir descendre tout en bas quand on veux comme F1 et F2 par exemple)

Y'aura un index automatique qui permettra de sauter aux différents niveaux de titres (disons de h1 à h3).

Eltoredo a écrit :
2 erreurs mémoire en lançant le logiciel venant des fonctions createfile() puis openfile()

Normal, il tente de créer un log sur la carte SD. C'est corrigé depuis longtemps.

Eltoredo a écrit :
En testant le code css d'un h1, on a un grand titre encadré (en haut et en bas, pas sur les côtés) avec un padding censé être à 2 px en haut et en bas mais en bas, il y a un plus grand espace

Tu as un screen ?

Eltoredo a écrit :
Question : Quelle est la plus grande taille de police de caractère, de border, de padding, de margin, ... ?

Les tailles de caractères sont 5, 7 et 9 (juste alphanumérique). Lorsque la taille demandée n'existe pas, ta version met la petite, la nouvelle met la plus proche mais jamais plus grande.
Les border, margin et padding ne sont limités que par la taille du champ de bits, à savoir 255 dans chaque cas.

Eltoredo a écrit :
Voilà, encore merci pour ton logiciel. Je posterais ici dans un hastebin le code source de l'une de mes peut-être futures pages html pour que tout ceux qui le veulent l'ai

Merci
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 29/03/2015 21:38 | #


Pour les br et les hr, j'attendrais alors.

Pour les ancres, ok pour les h1-h2-h3, du coup il suffira d'en créer pour s'ancrer, feras-tu les touches F1 et F2 (ou autres) pour remonter tout en haut ou descendre tout en bas ?

Pour les erreurs, parfait, j'attendrais la prochaine version.

Un screen... J'essayerais quand j'aurai envie mais y'a juste genre un padding bottom 4 au lieu de 2 comme on l'a déclaré dans le css à peu près, ou 3, je suis pas certain.

Pour les tailles, pas de soucis.


Sinon, feras-tu des id / classes ? Histoire de pouvoir mettre du css seulement à la ligne de texte à laquelle on veux attribuer un code css !

Merci pour ta réponse
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 29/03/2015 21:46 | #


Ce qu'on peut déjà faire, c'est créer ses propres éléments en changeant le nom de la balise. Par contre ça ne concerne que des conteneurs, pas des éléments de texte, et comme les propriétés CSS ne sont pas héritées...
Les ids, oui, il y en aura. Les classes, aussi.

Pour le padding, je vais voir. Ça doit être une bête erreur de +/- 1, dès que j'aurai rétabli les logs j'aurai plus d'infos.

Les raccourcis [F1]/[F2] ça se défend, mais avec le déplacement rapide (gauche/droite) on peut déjà se déplacer très rapidement.

Ajouté le 29/03/2015 à 21:46 :
Scientifix a écrit :
Ça me fait penser qu'il faut que je finisse mes eActs pour te les passer ... si tu es toujours intéressé bien sûr

Bien sûr
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 29/03/2015 22:07 | #


Créer ses propres éléments, c'est à dire ?

Bonne nouvelle pour les classes

Pour les raccourcis, c'est histoire que si t'as un truc très long, c'est sympa de retourner tout en haut ou direct en bas
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 30/03/2015 06:38 | #


Dans la page de test, il y a ceci :
<test1><div></div></test1>

Et ensuite du CSS :
test1 { ... }
test1 div { ... }

Ce qui fonctionne tout à fait.

Ajouté le 31/03/2015 à 21:04 :
ElToredo m'a rappelé le « bug » au sujet du texte coupé, en fait c'est pas du tout ça ! x)

Tout simplement que l'interpréteur limite cette taille à 300 caractères !

Je m'arrangerai dès la prochaine version pour retirer cette limite.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 31/03/2015 21:06 | #


Je viens de voir qu'en appuyant à gauche ou à droite, ça baissait ou montait plus vite, je savais pas et c'est vachement utile !

Pour ton truc de test, j'ai toujours pas pigé
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 31/03/2015 21:12 | #


ElToredo a écrit :
Je viens de voir qu'en appuyant à gauche ou à droite, ça baissait ou montait plus vite, je savais pas et c'est vachement utile !

Je l'ai dit plein de fois ! xD

ElToredo a écrit :
Pour ton truc de test, j'ai toujours pas pigé

Mon interpréteur divise les balises en deux catégories :
→ Conteneur. Ces balises, comme <div>, <body> ou <ul> par exemple, sont supposées contenir d'autres balises. Elles ne contiennent pas de texte, et même si vous en mettez il ne sera pas affiché.
→ Balises textuelles : <p>, <h2>, <math>, <li>, <center>, etc. Celles-ci contiennent du texte, et il est affiché tel quel. Seules quelques balises seront supportées pour formater ce texte, notamment <b>, <i> ou <br> (ou <br /> pour les puristes des balises orphelines). Mais impossible de mettre des conteneurs dans des balises textuelles, ils ne sont pas formatés (c'est ce qui s'est passé avec ton <center><h1>...</h1></center>). Pour ça, il faut utiliser le CSS et appliquer text-align: center à ton h1.

Ce qui se passe avec mon « test1 », c'est quand dans le code HTML je décide d'introduire une balise absolument pas standard dont le nom est justement test1. Mais ça ne pose pas de problème à mon interpréteur, et je peux même appliquer du CSS dessus ! En revanche, ce sera forcément une balise de type conteneur donc impossible d'afficher du texte avec.
Dans ce cas précis, ça permet de remplace les ids puisque le CSS appliqué sur « test1 div » ne le sera qu'une fois car je n'ai mis qu'une balise avec le nom test1.

Je suis clair ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 31/03/2015 21:16 | #


J'ai du mal à piger, tu veux dire que y'a déjà une sorte d'id fait et donc qu'on peux appliquer du texte seulement à une partie de texte ? Réexplique clairement comment faire cette chose s'il te plait

Sinon, faudrait faire un listing de toutes les commandes dispo, math, b, i, je savais pas que tu les avais mises à moins que j'ai pas lu un truc
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Précédente 1, 2, 3 ··· 10 ··· 14, 15, 16, 17, 18, 19, 20, 21 Suivante

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 91 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