Anuncios Google

¿¡¡Que le pasa al teclado de PAlib!!?

Hola, quisiera que alguien me puediera corregir el codigo que viene aora. Esque intento poner unos botones con funciones API y un teclado. Por separado el codigo me funciona, pero junto, no se por que no...
Ay va el codigo:  (109 lineas, el error está en la linea 80)

#include <PA9.h>       // Include for PA_Lib
 
#include "gfx/all_gfx.c"
#include "gfx/all_gfx.h"
 
u8 line = 0;
 
void Empezar(void){
	PA_OutputSimpleText(1, 0, line, "Se iniciara el Homebrew");
	line++;
}
void Creditos(void){
	PA_OutputSimpleText(1, 0, line, "Se iniciaran los creditos");
	line++;
}
void Finalizar(void){
	PA_OutputSimpleText(1, 0, line, "Se apagara la consola");
	line++;
}
 
 
int main(int argc, char ** argv)
{
	PA_Init();
	PA_InitVBL();
	PA_InitText(1, 0);
	PA_SetTextCol(1, 31, 0, 0); // pone color al texto, color: rojo
	// para activar las funciones API
	PA_Init8bitBg(0, 3);
	PAPI_Init(0);
	// Funciones API activadas
 
	// Crear el menu de inicio
 
	// Crear el boton
	PAPI_CreateButton(0, 20, 10, 59, 30, &Empezar, "Empezar", 1, 1); // Avajo la esplicacion
	/*PAPI_CreateButton(0, 20, 20, 32, 32, &Test, "Test", 1, 1);
	(0, 20, 20, 32, 32, &Test, "Test", 1, 1);+
   0= screen	20= X posicion, 20= Y posicion  32= X size 32= Y size
	*/
	// Esplicacion terminada
	// Boton creado
	// Otro boton
	PAPI_CreateButton(0, 20, 45, 59, 30, &Creditos, "Creditos", 1, 1); 
	// Boton terminado
	//tercer boton de el menu de inicio
	PAPI_CreateButton(0, 85, 10, 59, 30, &Finalizar, "Finalizar", 1, 1);
	// Boton terminado
 
	// Menu de inicio terminado.
 /*
***************************************************
 Algo nuebo, pondremos un teclado virtual
***************************************************
 */
 	PA_InitText(1, 0); 
	PA_InitKeyboard(2);
	PA_KeyboardIn(20, 95);
 
 
	s32 nletter = 0; 
	char letter = 0;
 /*
**************************************************
 Teclado casi terminado, continua avajo
**************************************************
 */
	// Bucle infinito
	while (1){
	   // De aqui para avajo, terminará el teclado virtual
 /**************************************************************************/
 		if (Pad.Newpress.A) PA_SetKeyboardColor(0, 1); // Azul y Rojo
		if (Pad.Newpress.B) PA_SetKeyboardColor(1, 0); // Rojo y Azul
		if (Pad.Newpress.X) PA_SetKeyboardColor(2, 1); // Verde y Rojo
		if (Pad.Newpress.Y) PA_SetKeyboardColor(0, 2); // Azul y Verde
 
		letter = PA_CheckKeyboard();
 
		if (letter > 31) {
			text[nletter] = letter;
			nletter++;
		}
		else if(letter == PA_TAB){
			u8 i;
			for (i = 0; i < 4; i++){ 
				text[nletter] = ' ';
				nletter++;
			}
 
		}
		else if ((letter == PA_BACKSPACE)&&nletter) {
			nletter--;
			text[nletter] = ' ';
		}
		else if (letter == '\n'){ 
			text[nletter] = letter;
			nletter++;
		}
 
		PA_OutputSimpleText(1, 20, 11, text); // la posicion de donde empieza el texto
 
 /*************************************************************************/
  // De aqui para arriva, termina el teclado virtual
		PAPI_CheckButton();
		PA_WaitForVBL();
	}
 
	return 0;
}

Espero que puedan ayudarme. Gracias, adiós.


I like:


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de sarutoby

Es cierto

solo tenia que poner eso, ya me funciona gracias. Por cierto, como as podido corregirlo, si tu version de PAlib no tiene las funciones API ?

No me digas que as ido mirando linea por linea las 109 que hay asta saver el problema?


I like:

Imagen de best_guitar

no hombre,

he copiado el codigo tal y como lo tenias y en el compilador, al compilarlo me ha dado error en la linea 80 igual que a tí. pero no he podido ejecutarlo porque no tengo la PA_API. Es una declaración char text[80] debes ponerlo despues de los includes.

Saludos!

Imagen de sarutoby

A vale

me avias asustado...   ...y gracias otra vez, es que estoy haciendo un proyecto junto a otro usuario y bueno, que boy un poco atrasado, asi que no me puedo permitir el lujo de tener errores de forma frecuente. Gracias.


I like:

Imagen de best_guitar

en mi version de PAlib no me

en mi version de PAlib no me viene la PA_API.h y no puedo probar tu aplicación, de todas maneras tu error está en que no has definido text[]

debes crearla por ejemplo como un vector de caracteres, así:

char text[80];

Saludos!

EDITO: En otra ocasión dinos que error te da asi nos será mas facil darte la solución que no mirar en un codigo de mas de 100 lineas. Gracias.

Imagen de sarutoby

Deacuerdo gracias

pero, donde devo poner lo de char text[80];    Antes de os includes, luego, donde?

A y de acuerdo, este es el error:


main.c

c:/devkitPro/homebrew/DubuntuS/source/main.c: In function 'main':

c:/devkitPro/homebrew/DubuntuS/source/main.c:80: error: 'text' undeclared (first use in this function)

c:/devkitPro/homebrew/DubuntuS/source/main.c:80: error: (Each undeclared identifier is reported only once

c:/devkitPro/homebrew/DubuntuS/source/main.c:80: error: for each function it appears in.)

make[1]: *** [main.o] Error 1

make: *** [build] Error 2


aora es mas senzillo, verdad?


I like:

Imagen de best_guitar

es cierto.

es cierto.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.