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 » Problèmes SDK divers et variés
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Problèmes SDK divers et variés

Posté le 26/10/2013 11:00

Salut j'ai fait un petit programme mais je comprends pas pourquoi la fonction Print ne veut pas afficher la chaine que je lui demande ...

Le code
Cliquer pour enrouler
#include "fxlib.h"
#include "stdio.h"

unsigned int key;
int caractere, caractere2;
char chaine[21];
char ident[21];
char domaine[30];
char mdp[30];
char destinataire[40];
char sujet[30];
char corps[50];


int AddIn_main(int isAppli, unsigned short OptionNum){
    Bdisp_AllClr_DDVRAM();
    demmarage();
    identif();
    
    return 1;
}

demmarage(){
    int key;
    Bdisp_AllClr_DDVRAM();
    PrintMini(80,58,"Version 1.0",0);
    Bdisp_DrawLineVRAM(10,10,10,50);
    Bdisp_DrawLineVRAM(10,50,117,50);
    Bdisp_DrawLineVRAM(117,50,117,10);
    Bdisp_DrawLineVRAM(10,10,117,10);
    Bdisp_DrawLineVRAM(10,10,63,25);
    Bdisp_DrawLineVRAM(117,10,63,25);
    locate(7,5);
    Print("Messagerie");
    do{
        GetKey(&key);
    } while(key != 30004);
    
    Bdisp_AllClr_DDVRAM();
}

identif(){
    Bdisp_AllClr_DDVRAM();
    locate(1,1);
    Print("Identifiant:");
    locate(1,2);
    Print("+------------------+");
    locate(1,3);
    Print("|                  |");
    locate(1,4);
    Print("+------------------+");
    remplichaine();
    
    caractere2=0;
    do{
        caractere2++;
        ident[caractere2] = chaine[caractere2];
    } while(caractere2+1 != caractere);
    ========================== > ICI < ========
    locate(2,3);
    Print(ident);
    do{
        GetKey(&key);
    } while(key != 30004);
    
}

remplichaine(){
    caractere=0;
    do{
        caractere++;
    ======================= > ET ICI < ========
        locate(2,3);
        Print(chaine);
        GetKey(&key);
        //==========Conversion==========
        if (key==48)key= 71;
        if (key==46)key= 61;
        if (key==15)key= 51;
        if (key==135)key= 41;
        if (key==30004)key= 31;
        if (key==49)key= 72;
        if (key==50)key= 62;
        if (key==51)key= 52;
        if (key==137)key= 42;
        if (key==153)key= 32;
        if (key==52)key= 73;
        if (key==53)key= 63;
        if (key==54)key= 53;
        if (key==169)key= 43;
        if (key==185)key= 33;
        if (key==55)key= 74;
        if (key==56)key= 64;
        if (key==57)key= 54;
        if (key==30025)key= 44;
        if (key==30015)key= 34;
        if (key==187)key= 75;
        if (key==30046)key= 65;
        if (key==40)key= 55;
        if (key==41)key= 45;
        if (key==44)key= 35;
        if (key==14)key= 25;
        if (key==30001)key= 76;
        if (key==149)key= 66;
        if (key==133)key= 56;
        if (key==129)key= 46;
        if (key==130)key= 36;
        if (key==131)key= 26;
        if (key==30007)key= 77;
        if (key==205)key= 67;
        if (key==168)key= 57;
        if (key==30002)key= 47;
        if (key==30023)key= 37;
        if (key==30021)key= 27;
        if (key==30006)key= 78;
        if (key==30008)key= 68;
        if (key==30016)key= 58;
        if (key==30020)key= 38;
        if (key==30018)key= 28;
        if (key==30009)key= 79;
        if (key==30010)key= 69;
        if (key==30011)key= 59;
        if (key==30012)key= 49;
        if (key==30013)key= 39;
        if (key==30014)key= 29;
        //==============================
        if(key==31)caractere=19;
        if(key==76)chaine[caractere]='a';
        if(key==66)chaine[caractere]='b';
        if(key==56)chaine[caractere]='c';
        if(key==46)chaine[caractere]='d';
        if(key==36)chaine[caractere]='e';
        if(key==26)chaine[caractere]='f';
        if(key==75)chaine[caractere]='g';
        if(key==65)chaine[caractere]='h';
        if(key==55)chaine[caractere]='i';
        if(key==45)chaine[caractere]='j';
        if(key==35)chaine[caractere]='k';
        if(key==25)chaine[caractere]='l';
        if(key==74)chaine[caractere]='m';
        if(key==64)chaine[caractere]='n';
        if(key==54)chaine[caractere]='o';
        if(key==73)chaine[caractere]='p';
        if(key==63)chaine[caractere]='q';
        if(key==53)chaine[caractere]='r';
        if(key==43)chaine[caractere]='s';
        if(key==33)chaine[caractere]='t';
        if(key==72)chaine[caractere]='u';
        if(key==62)chaine[caractere]='v';
        if(key==52)chaine[caractere]='w';
        if(key==42)chaine[caractere]='x';
        if(key==32)chaine[caractere]='y';
        if(key==71)chaine[caractere]='z';
        if(key==61)chaine[caractere]='.';
        if(key==57)chaine[caractere]='@';
    } while(caractere!=19);
    
    if(key==31)chaine[caractere]='\0';
    if(key!=31)chaine[caractere+1]='\0';
}


#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


la chaine ident fait 21 caracteres


Précédente 1, 2, 3 ··· 10 ··· 19, 20, 21, 22, 23 Suivante
Lephenixnoir En ligne Administrateur Points: 22587 Défis: 149 Message

Citer : Posté le 13/07/2015 13:45 | #


Theprog a écrit :
C'est bon j'ai trouvé, erreur de copie-colle (un j a la place d'un i)

Erf, tu parles d'une erreur...
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 14/07/2015 11:40 | #


Toujours moi,
J'ai une erreur lors d'une realloc, et je sais pas trop comment la régler ...
Le code
Si j'ai bien compris ce que tu m'as dit plus haut, je dois pouvoir faire ça mais si je le fait j'ai un SE directement >.<
Enfin bref c'est la merdouillle
Lephenixnoir En ligne Administrateur Points: 22587 Défis: 149 Message

Citer : Posté le 14/07/2015 11:42 | #


Ah mais c'est différent là !

Si tu veux modifier la donnée (les SpaceInv_Shoot), il te faut le pointeur dessus, donc le SpaceInv_Shoot *.
Maintenant si tu veux modifier le pointeur il te faut toujours le pointeur dessus donc là c'est bien un SpaceInv_Shoot ** !

La première fonction est celle qu'il faut utiliser !
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 14/07/2015 11:44 | #


Ben du coup la derniere fois, avec la ligne 29, je pouvais pas changer le prototype si ?
Lephenixnoir En ligne Administrateur Points: 22587 Défis: 149 Message

Citer : Posté le 14/07/2015 11:47 | #


Theprog a écrit :
Ben du coup la derniere fois, avec la ligne 29, je pouvais pas changer le prototype si ?

Hmm, eh bien, tu vois...

Mais pourquoi tant de passages par pointeur aussi ? xD
On s'y pert...

Bon, mes excuses. J'avais pas remarqué cet appel de fonction, en fait : personnellement je n'alloue jamais en plein milieu d'une boucle de jeu donc je n'ai pas imaginé que tu puisses le faire aussi...
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 14/07/2015 11:58 | #


Ben j'ai pas trop le choix de passer par les pointeurs, a part si je fait des globales, mais après on m’engueule
Et malgré les modifs, le realloc amene toujours au SE
Lephenixnoir En ligne Administrateur Points: 22587 Défis: 149 Message

Citer : Posté le 14/07/2015 11:58 | #


Non, ce qu'il faut faire, c'est utiliser les valeurs de retour pour éviter de tout modifier par pointeur
Dark storm En ligne Labélisateur Points: 11566 Défis: 176 Message

Citer : Posté le 14/07/2015 12:13 | #


The Prog, le global c'est pas non plus la mort, faut juste bien se dire "est-ce que c'est plus propre de faire ça en global ?". Par exemple l'inventaire dans un RPG. Vu le nombre de fonctions qui ont besoin d'y accéder, oui c'est plus propre de mettre une structure en global. Après faut bien faire des structures et pas mettre 50 variables globales en vrac
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


aclec Invité

Citer : Posté le 17/09/2015 19:58 | #


Bonjour, dans mes programmes j utilise la commande "IsKeyDown" mais on ma dit que pour un menu getkey est mieux. Pouvez vous me donnez la syntaxe d un getkey svp.
Dark storm En ligne Labélisateur Points: 11566 Défis: 176 Message

Citer : Posté le 18/09/2015 07:38 | #


En gros tu va avoir ça :

unsigned int key = 0;
int choice = 0;

while(key != KEY_CTRL_EXE)
{
    GetKet(&key);
    
    switch(key)
    {
        case K_UP: choice--; break;
        case K_DOWN: choice++; break;
    }

    if(choice < 0) choice = 4; // comportement du curseur si il va plus loin que le nombre de choix
    if(choice > 4) choice = 0;

    draw_menu(choice);
}

switch(choice)
{
    case 0: play(); break;
    …
}

Finir est souvent bien plus difficile que commencer. — Jack Beauregard


aclec Invité

Citer : Posté le 07/10/2015 17:39 | #


Je ne peux pas utiliser le " - " avec la librairie EasyInput pourtant je l ai mit en caractère autorisé.
Dark storm En ligne Labélisateur Points: 11566 Défis: 176 Message

Citer : Posté le 07/10/2015 19:02 | #


Étonnant… Je regarde ça
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


aclec Invité

Citer : Posté le 08/10/2015 13:01 | #


Alors est-ce juste une erreur de ma part ??? Merdi d avance pour votre aide.
Dark storm En ligne Labélisateur Points: 11566 Défis: 176 Message

Citer : Posté le 08/10/2015 18:43 | #


Je viens de vérifier, si tu ajoute "-" à la liste (attention, le tiret anglais -, pas le cadratin ou demi cadratin : — ou –), tu devrais pouvoir récupérer des nombres négatifs.

Vérifie quand même que tu as bien la dernière version disponible en ligne (3.2 dans le read-me).
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


aclec Invité

Citer : Posté le 08/10/2015 19:19 | #


J ai mi à jour ma librairie, je clique sur le tiret du 6, j ai même copier coller ton moins et rien a faire, ça ne le prend toujours pas dans sdk.


aclec Invité

Citer : Posté le 08/10/2015 20:32 | #


Je te montre ma fonction :

int demandetrois(char* phraseun, char* phrasedeux, char* phrasetrois){
    EI_init();
    EI_manage_config(EI_SET_START_MODE, EI_NORMAL);

    PopUpWin(6);
    locate(4, 2);
    Print(phraseun);
    locate(4, 4);
    Print(phrasedeux);
    locate(4, 6);
    Print(phrasetrois);

    EI_manage_config(EI_SET_ROW, 3);
    EI_manage_config(EI_SET_COLUMN, 4);
    recupvarun = EI_input_string(10, "0123456789.e-");
    varun = atof(recupvarun);

    EI_manage_config(EI_SET_ROW, 5);
    EI_manage_config(EI_SET_COLUMN, 4);
    recupvardeux = EI_input_string(10, "0123456789.e-");
    vardeux = atof(recupvardeux);

    EI_manage_config(EI_SET_ROW, 7);
    EI_manage_config(EI_SET_COLUMN, 4);
    recupvartrois = EI_input_string(10, "0123456789.e-");
    vartrois = atof(recupvartrois);
}
Dark storm En ligne Labélisateur Points: 11566 Défis: 176 Message

Citer : Posté le 08/10/2015 21:35 | #


À la vue de ton code, je me demande si ça ne vient pas plutôt de la fonction atof. Est-ce que tu peux taper "-" lorsque tu exécute l'addin ?
Sinon, les variables recupvarun et autres, c'est bien des char* ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


aclec Invité

Citer : Posté le 08/10/2015 22:17 | #


Oui, ce sont des char* et quand j execute l addin, je clique sur le "-" mais rien ne se passe mais je crois que je peux cliquer dessus.


aclec Invité

Citer : Posté le 10/10/2015 22:39 | #


Je ne trouve aucune solution, vous n avez aucune idée svp ?? Et oui je peux cliquer mais rien ne se passe.
Dark storm En ligne Labélisateur Points: 11566 Défis: 176 Message

Citer : Posté le 10/10/2015 22:46 | #


Je n'ai pas mon PC avec moi ce WE, je regarderai ça plus tard
En attentand, essaie de regarder dans le code de EI si quelque chose cloche
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


aclec Invité

Citer : Posté le 10/10/2015 22:54 | #


Ok merci
Précédente 1, 2, 3 ··· 10 ··· 19, 20, 21, 22, 23 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 65 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