Bonjour à tous
Voilà, j'ai des problemes avec ces deux fonction, elle marche ensemble, et quand je fais apel à AddConsoleLine(), j'ai droit à une belle erreur de mémoire ... :-(
Je pense qu'il faut que je mette des *, mais je sais pas du tout où, si vous pouviez m'aider, merci ;-)
La struct :
Code :
- struct
- {
- char line1[50];
- char line2[50];
- char line3[50];
- char newline[50];
- char currentline;
- } console;
|
Le code :
Code :
- void WriteConsoleLine(char line)
- {
- pos(2,console.currentline+26);
- textbackground(4);
- printf(line);
- textbackground(0);
- }
- void AddConsoleLine(char line)
- {
- if(console.currentline!=3)
- {
- console.currentline++;
- WriteConsoleLine(line);
- switch(console.currentline)
- {
- case 1:
- strcpy(console.line1,line);
- break;
- case 2:
- strcpy(console.line2,line);
- break;
- case 3:
- strcpy(console.line3,line);
- break;
- }
- }
- else
- {
- strcpy(console.line1,console.line2); ////
- strcpy(console.line2,console.line3); // Ici on décale les lignes et on rajoute la nouvelle en bas
- strcpy(console.line3,line); ////
-
- DrawConsole(); // On redessine la console
-
- textbackground(4);
- WriteConsoleLine(console.line1); ////
- WriteConsoleLine(console.line2); // On réécrit les deux ancienne phrase (maintenant décalée) + la nouvelle en bas = scrolling
- WriteConsoleLine(console.line3); ////
- textbackground(0);
- }
- }
|
edit : ca ne peut pas être la fonction DrawConsole() qui merde 
Message édité par Deather2 le 24-03-2004 à 16:41:43