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 - Autres questions


Index du Forum » Autres questions » Problème à la creation de variable (sdk)
Enderdead14 Hors ligne Membre Points: 28 Défis: 0 Message

Problème à la creation de variable (sdk)

Posté le 23/12/2013 17:06

Bonjour
Je débute dans les add-ins ,j'ai donc décidé de commencer avec un petit texte déroulant de haut en bas.
Pour se faire,j'essaie de faire ma propre variable "text" avec dedans des coordonnée et du texte.
Malheureusement j'ai des erreurs dont je ne trouve pas de solution , voici mon code ...


[brown]#include [gray]"fxlib.h"[/gray][/brown]
[brown]#include <stdio.h>[/brown]
[brown]#include [gray]"text.h"[/gray][/brown]
[brown]#include <stdlib.h>[/brown]


[purple]int[/purple] AddIn_main(int isAppli, unsigned short OptionNum)
{
    [purple]unsigned int[/purple] key;


    Bdisp_AllClr_DDVRAM();
    Text menu;
    menu.x = [maroon]5[/maroon];
    menu.y = [maroon]5[/maroon];
    menu.text = [gray]"Menu"[/gray];

    [b][blue]while[/blue][/b](1){
        GetKey(&key);
    }

    [b][blue]return[/blue][/b] 1;
}





[brown]#pragma section _BR_Size[/brown]
unsigned long BR_Size;
[brown]#pragma section[/brown]


[brown]#pragma section _TOP[/brown]


[purple]int[/purple] InitializeSystem(int isAppli, unsigned short OptionNum)
{
    [b][blue]return[/blue][/b] INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

[brown]#pragma section[/brown]



et voici mon .h

typedef struct Text Text;
struct Text
{
    int x;
    int y;
    char text;
};


Les message d’erreurs sont :
W:\François\Documents\CASIO\Add in\defikage\defi.c(14) : C2234 (E) Illegal typedef name reference
W:\François\Documents\CASIO\Add in\defikage\defi.c(15) : C2225 (E) Undeclared name "menu"
W:\François\Documents\CASIO\Add in\defikage\defi.c(15) : C2203 (E) Illegal member reference for "."
W:\François\Documents\CASIO\Add in\defikage\defi.c(15) : C2220 (E) Modifiable lvalue required for "="
W:\François\Documents\CASIO\Add in\defikage\defi.c(16) : C2203 (E) Illegal member reference for "."
W:\François\Documents\CASIO\Add in\defikage\defi.c(17) : C2203 (E) Illegal member reference for "."
W:\François\Documents\CASIO\Add in\defikage\defi.c(17) : C2222 (E) Type not compatible for "="

Merci de prendre de votre temps pour m'aider.


Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 23/12/2013 18:01 | #


D'abord, yu dois déclarer menu avant Bdisp_AllClr_DDVRAM. Ensuite, les Char sont (des tanks ) des chaînes de caractères donc des tableaux, je pense(mais je ne suis pas sur) que tu devras faire char text [nombre de caractères du mot];
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 23/12/2013 18:09 | #


Dans ton structure, 'text' est une chaîne de caractère, donc il ne faut pas mettre 'char text', mais 'char* text'

voilà le .h

typedef struct Text
{
    int x;
    int y;
    char[b]*[/b] text;
} Text;


Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 23/12/2013 18:16 | #


tu doit effectivement déclarer toutes tes variables avant de faire quoi que ce soit (uniquement si tu es en C, en C++ on peut les déclarer n'importe ou), et les chaines de caractères doivent être comprises dans un tableau de char de taille = nombre de caractères +1
D'ailleurs, je pense que tu ne peut remplir une chaîne de caractère comme ça, tu peut juste le faire a la déclaration. Utilise memcpy ou strcat pour pallier a ce problème.
@smash : il veut l'utiliser comme chaine de caractère, il faut donc déclarer un tableau, et pas un pointeur

#include "fxlib.h"
#include <stdio.h>
#include "text.h"
#include <stdlib.h>
#include "string.h"

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;

Text menu;
    Bdisp_AllClr_DDVRAM();
    
menu.text[0]=0; //pour eviter les problemes avec strcat
    menu.x = 5;
    menu.y = 5;
   strcat(menu.text,"Menu");

    while(1){
        GetKey(&key);
    }

    return 1;
}





#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP


int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section

typedef struct Text Text;
struct Text
{
    int x;
    int y;
    char text[100];//on prend large au cas ou
};

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Enderdead14 Hors ligne Membre Points: 28 Défis: 0 Message

Citer : Posté le 24/12/2013 13:10 | #


Merci , j'ai une dernière erreur
main.c(17) : C2233 (E) Illegal array reference
ps j'ai pris la version de Dodormeur.
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 24/12/2013 14:07 | #


As-tu bien créé la structure (2ème code) ?

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