#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
Citer : Posté le 18/05/2015 20:57 | #
Ah, pour le KeyDown c'est sans doute que tu as deux fois la même fonction dans le code. Le tout c'est de savoir où
Une fois que t'en as une, supprime là. (ou commente-la, on ne sait jamais)
louisdu26 Invité
Citer : Posté le 18/05/2015 21:02 | #
Je ne vois pas ou
louisdu26 Invité
Citer : Posté le 18/05/2015 21:34 | #
mais comment ça la meme fonction ?
Citer : Posté le 18/05/2015 21:51 | #
L'erreur dit que le symbole est défini deux fois : il est donc probable qu'il ait compilé la fonction deux fois. Mais normalement, elle n'apparaît que dans le programme de compatibilité : ce qui est embêtant du coup...
aclec Invité
Citer : Posté le 27/05/2015 13:13 | #
Salut je suis entrain de tester un programme mais sdk ne veut pas le lancer je vous le donne si vous savez quoi faire.
#include "stdlib.h"
#include "fxlib.h"
#include "EasyInput.h"
/*toute les var que ta besoin*/
char *recupvardeux, *recupvarun, *recupvartrois;
double varun, vardeux, vartrois, result;
int page;
char tab[30];
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
menu();
while (1){
if (IsKeyDown(KEY_CTRL_F1)) { Bdisp_AllClr_DDVRAM(); menu(); }
if (IsKeyDown(KEY_CHAR_1)) { Bdisp_AllClr_DDVRAM(); pageun(); }
if (IsKeyDown(KEY_CHAR_2) && page == 1) { Bdisp_AllClr_DDVRAM(); equa("u ?", "r ?", "i ?"); }
}
}
int menu()
{
PrintMini(29, 4, "Statique Solide", 0);
Bdisp_DrawLineVRAM(0, 6, 26, 6);
Bdisp_DrawLineVRAM(102, 6, 127, 6);
PrintMini(10, 50, "By Pilou & AC!", 0);
PrintMini(80, 50, "[F1] Menu", 0);
PrintMini(10, 15, "Methode (P1-2)", 0);
PrintMini(10, 25, "Exemple (P3-6)", 0);
PrintMini(10, 35, "Graph (P6-7)", 0);
}
int pageun()
{
page = 1;
PrintMini(10, 10, "Test", 0);
}
int equa(char* phraseun, char* phrasedeux, char* phrasetrois)
{
EI_init(); // initialisation de la lib
EI_manage_config(EI_SET_START_MODE, EI_NORMAL); // Mode Chiffre (et pas lettre)
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.");
varun = atof(recupvarun);
EI_manage_config(EI_SET_ROW, 5);
EI_manage_config(EI_SET_COLUMN, 4);
recupvardeux = EI_input_string(10, "0123456789.");
vardeux = atof(recupvardeux);
result = varun + vardeux;
sprintf(tab, "%lf", result);
PopUpWin(1);
locate(3, 4);
Print((unsigned char *)tab);
}
#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
Citer : Posté le 27/05/2015 13:32 | #
Merci d'utiliser la balise code (dans la barre d'outils) pour insérer du code.
Par ailleurs, attendre les évènements avec IsKeyDown() est très moche et ne devrait être utilisé que dans les cas où le programme doit continuer à tourner en fond. Sinon, utilise GetKey() pour éviter de consommer très rapidement les piles.
Le reste est propre et normalement correct. Ah si, il faut prototyper les fonctions en début de fichier !
aclec Invité
Citer : Posté le 29/05/2015 19:07 | #
Bon jour, quand je met ceci :
Sdk me met :
Une solution ?
Citer : Posté le 29/05/2015 21:06 | #
Il faut savoir que "a" ≠ 'a'. Change les guillemets par des apostrophes simples.
En gros "a" est un pointeur sur la chaine "a", alors que 'a' est le code Ascii du caractère.
Citer : Posté le 30/05/2015 09:12 | #
Utilise la balise code, elle est faite pour ça ^^'
En C, la distinction est faite entre "a" et 'a' : en effet, "a" c'est une chaîne de caractères (terminée par un NUL), donc c'est de type const char * ; alors que 'a' est de type int, il est remplacé à la compilation.
Citer : Posté le 30/05/2015 14:20 | #
'a' c'est pas plutôt un const char?
Citer : Posté le 30/05/2015 14:21 | #
Non, c'est un int Un const int pour être précis.
En C, les caractères sont des int. fgetc() renvoie un int, etc.
Citer : Posté le 30/05/2015 14:26 | #
Non, c'est un int Un const int pour être précis.
En C, les caractères sont des int. fgetc() renvoie un int, etc.
Au temps pour moi, j'ai toujours cru que c'étaient des chars alors merci de l'info
aclec Invité
Citer : Posté le 30/05/2015 19:00 | #
Bonjour, mon code fonctionne mais le port serie ne reçoit pas, aider moi svp.
aclec Invité
Citer : Posté le 30/05/2015 19:01 | # | Fichier joint
Mon script
Citer : Posté le 30/05/2015 19:14 | #
Ouah, il faut utiliser moins de variables globales et donner des arguments aux fonctions !
À mon avis, si tu peux déjà nettoyer un peu, ça te permettra d'y voir plus clair pour la liaison série... ^^'
Citer : Posté le 10/07/2015 16:50 | #
Salut tout le monde, j'ai un petit soucis qui vient du ciel:
Le code
Le debug m'affiche d'abord 9/25 ce qui est normal.
Mais au second tour dans la boucle, je reçoit 8/115. En ayant fait des tests avec d'autres valeurs, nbShoots prend une valeur aléatoire
Je comprend pas où est mon erreur
Citer : Posté le 10/07/2015 18:20 | #
Hmm, tu sais que si tu veux passer un tableau tu peux donner le SpaceInv_Shoot * en argument ? Y'a pas de miracle, regarde : tu n'utilises que *shoots, donc autant donner le pointeur plutôt que son adresse
Passer par adresse n'est utile que sur les objets et variables, jamais sur les pointeurs.
Pour nbshoots, je te conseille de le prendre en int et de renvoyer la valeur modifiée : l'appel est un peu plus lourd mais ça te simplifie le problème.
Citer : Posté le 13/07/2015 13:29 | #
Merci j'ai fait ce que t'as dit au final, mais je comprend pas pourquoi mon ancien appel ne fonctionnait pas
Normalement, mon appel était pas mauvais si ?
Citer : Posté le 13/07/2015 13:33 | #
Ça fonctionne maintenant ?
À vue de nez, non, ça allait, mais on ne peut pas tout voir comme ça...
Citer : Posté le 13/07/2015 13:36 | #
Oui oui ca marche pour la suppression des tirs
Reste un bugs qui fait qu'ils reculent quand il y en a un qui est supprimé
Ajouté le 13/07/2015 à 13:44 :
C'est bon j'ai trouvé, erreur de copie-colle (un j a la place d'un i)
Citer : Posté le 13/07/2015 13:45 | #
C'est bon j'ai trouvé, erreur de copie-colle (un j a la place d'un i)
Erf, tu parles d'une erreur...