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

Forum Casio - Autres questions


Index du Forum » Autres questions » **Le SDK pour fx-9860/Graph85** Topic officiel
Matronix Hors ligne Ancien administrateur Points: 6058 Défis: 82 Message

**Le SDK pour fx-9860/Graph85** Topic officiel

Posté le 18/07/2007 15:08

Vu la multitude de topics sur le SDK de la 85, j'ai décidé d'en faire un seul et unique, où l'on posera nos problèmes et explications sur ce même topic, et non pas sur 50, par souci de clareté et de facilité.

Des nouveautés ? Des problèmes ? Des idées ?
Exposez les ici !

Voici une liste de commandes commencées par Muelsaco. N'hésitez pas à rajouter vos commandes dans le topic je les rajouterai pour en faire profiter tout le monde. Merci.

// Locate X,Y,"Texte"
:arrow: locate(x,y); Print("Texte");

// Text X,Y,"Texte"
:arrow: PrintMini(x,y,"Texte",0);

// F-Line x1,y1,x2,y2
:arrow: Bdisp_DrawLineVRAM(x1,y1,x2,y2);

// Tracer une ligne blanche
:arrow: Bdisp_ClearLineVRAM(x1,y1,x2,y2);

// PxlOn x,y & PxlOff x,y
:arrow: Bdisp_SetPoint_VRAM(x,y,<couleur>)
<couleur> : 0 pour le blanc, 1 pour le noir

// Cls
:arrow: Bdisp_AllClr_DDVRAM();

// Actualiser l'écran
:arrow: Bdisp_PutDisp_DD();
Fonction très importante. Elle permet d'afficher une image tracée virtuellement dans la VRAM. Toute image doit d'abord être dessinée dans la VRAM puis affichée à l'écran. Vous ne verrez donc pas votre image s'afficher tant que vous n'aurez pas appelé Bdisp_PutDisp_DD(). À noter que les fonctions GetKey() et Print() l'appellent automatiquement.

While <exp1>
<code>
WhileEnd
:arrow:
while(<exp1>)
{
  <code>
}

// StoPict x
:arrow: SaveDisp(x);
x variant de 1 à 3 uniquement.

// RclPict x
:arrow: RestoreDisp(x);
  x variant de 1 à 3 uniquement.

// Ouvrir un popup (comme les erreurs syntaxe, etc)
:arrow: PopUpWin(<taille>);
  <taille> : de 1 à 8.


Rappels sur les variables globales : Source

* Les variables globales sont à utiliser avec précaution, puisqu'elles créent des liens invisibles entre les fonctions. La modularité d'un programme peut en souffrir et le programmeur risque de perdre la vue d'ensemble.
* Il faut faire attention à ne pas cacher involontairement des variables globales par des variables locales du même nom.
* Le codex de la programmation défensive nous conseille d'écrire nos programmes aussi 'localement' que possible.

L'utilisation de variables globales est jusitifiée, si

* Plusieurs fonctions qui ne s'appellent pas ont besoin des mêmes variables, ou
* Plusieurs fonctions d'un programme ont besoin du même ensemble de variables. Ce serait alors trop encombrant de passer toutes les variables comme paramètres d'une fonction à l'autre.


Précédente 1, 2, 3 ··· 10 ··· 20 ··· 30 ··· 36, 37, 38, 39, 40, 41, 42 ··· 46, 47, 48 Suivante
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 27/08/2014 19:49 | #


En réalité c'est un tableau, mais je ne vois pas en quoi ça serait problématique...
A noter d'ailleurs que seul le premier élément de ce tableau est concerné.
Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 27/08/2014 19:51 | #


laisse moi deviner, le tableau est un tableau de dimensions très grandes ? Genre tableau de sprites ?
Si oui, j'ai eu le même bug dans les succès de Fruit Ninja, et le l'ai passé en insérant un élément vide
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 27/08/2014 20:18 | #


C'est un tableau de 18 cases, mais comme c'est un tableau de structures il doit probablement peser lourd
Je vais essayer de l'allouer dynamiquement
Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 27/08/2014 20:27 | #


(Tu as peut-être résolu ce bug, mais ça m'intéresse de savoir pourquoi il existait pour éviter de le reproduire.)

En gros tu passais l'adresse d'un structure à une fonction, le premier élément de cette structure étant un tableau (de sructures), et la première valeur du tableau (uns structure) est corrompue ?
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 27/08/2014 20:44 | #


Bon, en fait c'est pire en allouant dynamiquement... tant pis, va pour la composante kamikaze.

@Lephenixnoir : non, la fonction demande un tableau de structures, donc en le passant c'est l'adresse de la première structure que j'envoie. Ensuite le premier élément de cette structure, quel qu'il soit, est corrompu.
Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 27/08/2014 20:53 | #


Tu as comparé le pointeur envoyé et celui reçu ?
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 27/08/2014 20:55 | #


Tu veux parler de l'adresse mémoire ?
Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 27/08/2014 21:01 | #


Ben, le contenu, la valeur du pointeur quoi. Celle que tu affiches avec %p dans sprintf().
Darks-ninja Hors ligne Membre Points: 77 Défis: 16 Message

Citer : Posté le 28/08/2014 10:59 | #


Salut à tous, j'ai un problème, le voici :
J'essaye d'afficher une image mais ça marche pas. Voici mon code :
const unsigned char Menu[]={ ... };
    ML_clear_screen();
    ML_clear_vram();
    while(IsKeyDown(KEY_CTRL_SHIFT)!=1){
    ML_BMP_OR("Menu",1,1,127,63);
    ML_display_vram();
    }

    ML_clear_screen();
    ML_clear_vram();
    locate(1,1);
    Print("Menu");


Ça n'affiche rien. Mais lorsque j'appuie sur SHIFT : Ça affiche bien "menu".

Edit : Merci d'utiliser la balise code pour insérer du code dans les messages.
Casio Graph 35+ USB tweaké 75

Mes Projets
Mes Projets
♠ Galaxy Invader ++ ♠
♣ Jeu en BASIC CASIO ♣
Mes Passions
Mes Passions
♥ Les Mangas ♥
♥ La Programmation ♥
♥ Les Jeux Vidéo ♥
Mes Languages
Mes Languages
♠ HTML/CSS ♠
♠ JAVASCRIPT ♠
♠ JAVA ♠
♠ C ♠
♠ C# ♠
♠ PHP/MY SQL ♠
♠ BASIC CASIO ♠

* Pour la plupart de
ces languages, je ne
possède que des bases...
Mes Citations
Mes Citations
☺ Tout s'acquiert avec de la pratique :
La programmation ne fait pas exception
☺ La valeur n'attend pas le nombre des années. 8)
Images
Images

Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 28/08/2014 11:10 | #


D'un, regarde la taille de l'écran des Graph 35++/75/85/95 : http://wiki.planet-casio.com/fr/Graph_35%2B_USB
De deux, ceci remplace avantageusement le IsKeyDown(x) != 1
De trois, tout ce qui est entre guillemets sont des chaines de caractères
De quatre, ML_bmp_or() demande un pointeur sur un tableau : Wiki
De cinq, si tu avais lu la doc fournie avec MonochromeLib, tu aurai eu un exemple précis de comment utiliser la fonction.
Conclusion : "Menu" est strictement différent de Menu.

Conclusion de la conclusion : RTFM ! J'ai mis exprès des liens de partout pour te montrer que d'un Google sait beaucoup de choses, et que de deux si il y a un Wiki, des documentations, etc., c'est parce qu'une grande majorité de vos problèmes peut être évitée en lisant ces articles...

Ajouté le 28/08/2014 à 11:12 :
Ah, aussi, pour les fond d'écran, il y a un truc hyper rapide :
memcpy(ML_get_vram_adress(), image, 1024);

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Darks-ninja Hors ligne Membre Points: 77 Défis: 16 Message

Citer : Posté le 28/08/2014 11:15 | #


J'avait déjà essayer Menu sans guillemet mais ça m'affichait une erreur dans la console
La taille est d'un écran est de 128*64 je le savais déja...
J'ai besoin d'une image de 127*63...
Casio Graph 35+ USB tweaké 75

Mes Projets
Mes Projets
♠ Galaxy Invader ++ ♠
♣ Jeu en BASIC CASIO ♣
Mes Passions
Mes Passions
♥ Les Mangas ♥
♥ La Programmation ♥
♥ Les Jeux Vidéo ♥
Mes Languages
Mes Languages
♠ HTML/CSS ♠
♠ JAVASCRIPT ♠
♠ JAVA ♠
♠ C ♠
♠ C# ♠
♠ PHP/MY SQL ♠
♠ BASIC CASIO ♠

* Pour la plupart de
ces languages, je ne
possède que des bases...
Mes Citations
Mes Citations
☺ Tout s'acquiert avec de la pratique :
La programmation ne fait pas exception
☺ La valeur n'attend pas le nombre des années. 8)
Images
Images

Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 28/08/2014 11:18 | #


La réflexion n'existe pas en C... c'est évident puisque c'est un code compilé...
Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 28/08/2014 11:18 | #


T'as du caca devant les yeux ? Je te met un lien sur la doc de ML_bmp_or(Menu, 1, 1, 127, 64), je te l'écris, et tu vois pas où est le problème ?

Ajouté le 28/08/2014 à 11:19 :
La casse, tu connais ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Darks-ninja Hors ligne Membre Points: 77 Défis: 16 Message

Citer : Posté le 28/08/2014 11:19 | #


Et merci pour le IsKeyUp
Casio Graph 35+ USB tweaké 75

Mes Projets
Mes Projets
♠ Galaxy Invader ++ ♠
♣ Jeu en BASIC CASIO ♣
Mes Passions
Mes Passions
♥ Les Mangas ♥
♥ La Programmation ♥
♥ Les Jeux Vidéo ♥
Mes Languages
Mes Languages
♠ HTML/CSS ♠
♠ JAVASCRIPT ♠
♠ JAVA ♠
♠ C ♠
♠ C# ♠
♠ PHP/MY SQL ♠
♠ BASIC CASIO ♠

* Pour la plupart de
ces languages, je ne
possède que des bases...
Mes Citations
Mes Citations
☺ Tout s'acquiert avec de la pratique :
La programmation ne fait pas exception
☺ La valeur n'attend pas le nombre des années. 8)
Images
Images

Dark storm Hors ligne Labélisateur Points: 11571 Défis: 176 Message

Citer : Posté le 28/08/2014 11:21 | #


Désolé d'avoir pris ce ton, mais bon, t'es pas le premier à nous faire ce coup là...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Darks-ninja Hors ligne Membre Points: 77 Défis: 16 Message

Citer : Posté le 28/08/2014 11:22 | #


Oui je connait la casse et je n'ai jamais dit que je ne savais pas où était mon problème...

Ajouté le 28/08/2014 à 11:31 :
Merci, ça marche :boulet:
Casio Graph 35+ USB tweaké 75

Mes Projets
Mes Projets
♠ Galaxy Invader ++ ♠
♣ Jeu en BASIC CASIO ♣
Mes Passions
Mes Passions
♥ Les Mangas ♥
♥ La Programmation ♥
♥ Les Jeux Vidéo ♥
Mes Languages
Mes Languages
♠ HTML/CSS ♠
♠ JAVASCRIPT ♠
♠ JAVA ♠
♠ C ♠
♠ C# ♠
♠ PHP/MY SQL ♠
♠ BASIC CASIO ♠

* Pour la plupart de
ces languages, je ne
possède que des bases...
Mes Citations
Mes Citations
☺ Tout s'acquiert avec de la pratique :
La programmation ne fait pas exception
☺ La valeur n'attend pas le nombre des années. 8)
Images
Images

Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 28/08/2014 11:33 | #


J'ai modifié le post originel parce que c'en était insupportable tellement c'était le bordel (fonctions données deux fois, références incorrectes, infos oubliées, ...).
Déjà que l'idée de traduire le Basic en C est pas excellente, il faudrait au moins que ça soit propre.
Darks-ninja Hors ligne Membre Points: 77 Défis: 16 Message

Citer : Posté le 28/08/2014 11:38 | #


Nan c'est pas ce projet là, ces codes c'est pour celui sur les dragons...
Casio Graph 35+ USB tweaké 75

Mes Projets
Mes Projets
♠ Galaxy Invader ++ ♠
♣ Jeu en BASIC CASIO ♣
Mes Passions
Mes Passions
♥ Les Mangas ♥
♥ La Programmation ♥
♥ Les Jeux Vidéo ♥
Mes Languages
Mes Languages
♠ HTML/CSS ♠
♠ JAVASCRIPT ♠
♠ JAVA ♠
♠ C ♠
♠ C# ♠
♠ PHP/MY SQL ♠
♠ BASIC CASIO ♠

* Pour la plupart de
ces languages, je ne
possède que des bases...
Mes Citations
Mes Citations
☺ Tout s'acquiert avec de la pratique :
La programmation ne fait pas exception
☺ La valeur n'attend pas le nombre des années. 8)
Images
Images

Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 28/08/2014 11:39 | #


Le post originel c'est celui qui est tout en haut, le post de Matronix quoi...
Darks-ninja Hors ligne Membre Points: 77 Défis: 16 Message

Citer : Posté le 28/08/2014 11:46 | #


Ah ok.
Ahhhhhhh :demon:
Big problem. Quand je met le programme sur ma calto, ça affiche :
System ERROR
REBOOT : [EXIT]
INITIALIZE : [EXE]
ADDRESS(R)
TARGET=E6FF2136
PC=08100014

Je fais quoi ?
Casio Graph 35+ USB tweaké 75

Mes Projets
Mes Projets
♠ Galaxy Invader ++ ♠
♣ Jeu en BASIC CASIO ♣
Mes Passions
Mes Passions
♥ Les Mangas ♥
♥ La Programmation ♥
♥ Les Jeux Vidéo ♥
Mes Languages
Mes Languages
♠ HTML/CSS ♠
♠ JAVASCRIPT ♠
♠ JAVA ♠
♠ C ♠
♠ C# ♠
♠ PHP/MY SQL ♠
♠ BASIC CASIO ♠

* Pour la plupart de
ces languages, je ne
possède que des bases...
Mes Citations
Mes Citations
☺ Tout s'acquiert avec de la pratique :
La programmation ne fait pas exception
☺ La valeur n'attend pas le nombre des années. 8)
Images
Images

Lephenixnoir Hors ligne Administrateur Points: 22763 Défis: 149 Message

Citer : Posté le 28/08/2014 11:48 | #


Tu nous donnes ton code parce que là on peut rien faire.
Si, je peux au moins te dire que tu as tenté d'accéder à des données supposées être en-dehors de la mémoire physique de la machine.
Précédente 1, 2, 3 ··· 10 ··· 20 ··· 30 ··· 36, 37, 38, 39, 40, 41, 42 ··· 46, 47, 48 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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 47 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