|
Mostrar Temas
|
Páginas: 1 2 [3] 4 5 6 7 8 9
|
21
|
Programación / Java / Error Leyendo un archivo con varios objetos
|
en: 11 Febrero 2016, 16:42 pm
|
Saludo para todos!! les cuento he estado tratando de escribir una clase pueda leer de una arhivo varios objetos y cuando encuentre el null salga de la func pero lo unico que me da es un par de exceptiones dejare el codigo abajo pienso que es la forma correcta asi pero si alguien me aconseja. package Data; import Data.InventarioData; import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; public class ReadData { public ReadData(){} { try { ret = inputFile.readObject(); inputFile.close(); e.printStackTrace(); e.printStackTrace(); } return ret; } public void ReadAllData (String filename ) { InventarioData inv = null; boolean reading = true; { try { // TODO Auto-generated catch block e.printStackTrace(); } while( reading == true ) { try { if((inv = (InventarioData ) inputFile.readObject())!= null) { inv.PrintConsole(); } reading = false; e.printStackTrace(); reading = false; e.printStackTrace(); } } } } }
la exception es la siguiente : at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) at Data.ReadData.ReadAllData(ReadData.java:50) at Main.Main.main(Main.java:23)
tambien me gustaria agregar que la clase inventario Implementa serializable de hecho si leo individualmente un objeto me devuleve bien , pero ahora me estoy preguntado si esta bien el metodo que uso para escrbir el objeto y que append al archivo ... //// no se si hay otra forma de hacerlo. fileOutput.writeObject(object);
tambien me gustaria agregar que no estoy usando la documentacion de oracle simplemente estoy usando algo que tome de una clase y por eso quizas me hace falta algo , soy nuevo en java vengo de c++ , cualquier consejo o critica es bien tomado y agradecido...!!! gracias de antemano.
|
|
|
22
|
Programación / Programación C/C++ / intercambiar valores dentro de un vector
|
en: 20 Enero 2016, 20:31 pm
|
Un saludo a todos !! tengo una duda , yo quiero intercambiar valores dentro de un vector , pero cada vez que accedo a algun elemento usando un objeto temporal recibo un error , vi la funcion std::swap pero ella intercambia entre dos vectores y yo solo tengo uno estoy pensando probar con algun iterador pero me gustaria saber su opinion. abajo dejo el codigo aunque es algo sencillo void SwapVectorValue(vector<Tile *>&ref,int index1, int index2) { Tile *temp = NULL; temp->x = ref[index1]->x; temp->y = ref[index1]->y; temp->color = ref[index1]->color; temp->index = ref[index1]->index; ref[index1]->x = ref[index2]->x; ref[index1]->y = ref[index2]->y; ref[index1]->color = ref[index2]->color; ref[index1]->index = ref[index2]->index; ref[index2]->x = temp->x; ref[index2]->y = temp->y; ref[index2]->color = temp->color; ref[index2]->index = temp->index; }
gracias por su pronta respuesta...!!
|
|
|
23
|
Programación / Programación C/C++ / fltk
|
en: 9 Diciembre 2015, 06:22 am
|
saludos a todos !!
tengo una duda tengo un proyecto que usa fltk pero no se como hacer que se compile en windows usando mingw , he intentado usar fltk-config pero no lo reconoce me gustaria saber si existe otra forma estoy usando codeblocks o eclipse para ese proyeto.
|
|
|
24
|
Programación / Java / Class ArrayIndexOutOfBoundsException : error [codigo]
|
en: 13 Noviembre 2015, 15:45 pm
|
Saludos a todos. tengo una duda tengo en mi codigo un arreglo que me da el error del titulo pero el arreglo que tengo es de 5 * 5 entonces no se por que me da error que dice que estoy accediendo a un indice que esta fuera de rango por favor si alguien me puede aconsejar seria un exito.. dejo el codigo. { tilesize = size; try { mapwidth = Integer. parseInt(br. readLine()); mapheight = Integer. parseInt(br. readLine()); System. out. printf("width [%d], height[%d]",mapwidth , mapheight ); map = new int[mapheight][mapwidth]; System. out. printf("Lenght [%d}",map. length); for(int row = 0;row < map.length ;row++ ) { String[] tokens = line. split(del ); System. out. printf("Tokens [%s]\n", tokens ); ///for(int col = 0; col < mapheight; col++) for(int col = 0; col < map[row].length; col++) { ///eclipse me redirecciona aqui. map [row ][col ] = Integer. parseInt(tokens [col ]); } } br.close(); { e.printStackTrace(); } } public void update() { } { for(int row = 0; row < map.length; row++) { for(int col= 0; col < map[row].length; col++) { int rc = map[row][col]; if(rc == 0) { } if(rc == 1) { } g.fillRect(x+col *tilesize, y + row * tilesize, tilesize, tilesize); } } } }
Gracias por los consejos.
|
|
|
25
|
Programación / Programación C/C++ / error en bucle[codigo fuente]
|
en: 4 Noviembre 2015, 16:34 pm
|
Buenas a todos !! he estado programando un aplicacion mobil usando sdl y cuando cargo para probar me da errores la verdad tengo un buen tiempo y no doy con lo que me causa problema. mas abajo dejo el codigo , aunque estoy pensando que es por un bucle que tengo pero no estoy seguro #include<SDL.h> #include<cstdlib> #include<ctime> using namespace std; void CopiarPantalla(SDL_Renderer *renderer, SDL_Rect start_pos[256],SDL_Texture *img) { for(unsigned int Drawers = 0; Drawers <255; Drawers++) { SDL_RenderCopy(renderer, img,NULL,&start_pos[Drawers]); } } int main(int argc, char *argv[]) { SDL_Rect player = {10,12,32,32}; SDL_Window *window = NULL; SDL_Renderer *renderer = NULL; int width = 0 ; int height = 0 ; bool Run = true; SDL_Surface *unloaded = NULL; SDL_Surface *opt_img = NULL; SDL_Texture *img = NULL; SDL_Event event; SDL_DisplayMode mode; unsigned int start = 0; SDL_Rect start_pos[256]; SDL_Color color_pantalla = {0,0x12,0xa,0xff}; SDL_Rect fillRect; if(SDL_Init(SDL_INIT_EVERYTHING) < 0 ) { SDL_Log("Imposible Cargar SDL_INIT [%s]", SDL_GetError()); Run = false; } srand(time(NULL)); for(unsigned int initializer = 0; initializer <255; initializer++) { start_pos[initializer].x = 10 + rand() % width; start_pos[initializer].y = 10 + rand() % height; start_pos[initializer].w = 32; start_pos[initializer].h = 32; } unloaded = SDL_LoadBMP("color.bmp"); if(unloaded == NULL) { SDL_Log("No se cargo el graficio"); Run = false; } else { opt_img = SDL_ConvertSurfaceFormat( unloaded, SDL_PIXELFORMAT_RGBA8888, NULL ); if(opt_img == NULL) { SDL_Log("Imposible optimizar"); Run = false; } } if(Run == true) { //obtner el tamano de los valores de la pantalla. if( SDL_GetCurrentDisplayMode( 0, &mode ) == 0 ) { width = mode.w; height = mode.h; fillRect.w = width; fillRect.h = height; player.x = width /2; player.y = height/2; } //crear la ventana SDL window = SDL_CreateWindow("Neo.App",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,width, height, SDL_WINDOW_SHOWN); if(window == NULL) { SDL_Log("Imposible crear la ventana ,[%s]", SDL_GetError()); Run = false; } else { Run = true; } if(Run == true) { renderer = SDL_CreateRenderer(window , -1 , SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if(renderer == NULL) { Run = false; } } ///Creamo la textura aqui. SDL_SetColorKey(opt_img, SDL_TRUE, SDL_MapRGB(opt_img->format, 0,0,0)); img = SDL_CreateTextureFromSurface( renderer, opt_img); ///bucle principal. while(Run) { start = SDL_GetTicks(); ///pollEvent's while(SDL_PollEvent(&event)) { if(event.type == SDL_QUIT) { Run = false; #ifdef _DEBUG_ENABLE SDL_Log("se acabo"); #endif } if(event.type == SDL_KEYDOWN || event.type == SDL_FINGERDOWN) { if(event.type == SDL_FINGERDOWN) { color_pantalla.g +=32 ; if(color_pantalla.g == 256) { color_pantalla.g = 0; color_pantalla.r += 32; color_pantalla.b += 64; if(color_pantalla.r == 256) color_pantalla.r = 0; if(color_pantalla.b == 256) color_pantalla.b = 0; } } } }//end event; //update for(unsigned int initializer = 0; initializer <255; initializer++) { start_pos[initializer].x = 10 + rand() % width; start_pos[initializer].y = 10 + rand() % height; start_pos[initializer].w = 32; start_pos[initializer].h = 32; } //Draw SDL_RenderClear(renderer); SDL_SetRenderDrawColor( renderer, color_pantalla.r, color_pantalla.g, color_pantalla.b, color_pantalla.a); SDL_RenderFillRect( renderer, &fillRect ); CopiarPantalla(renderer,start_pos,img); SDL_RenderCopy(renderer, img,NULL,&player); SDL_RenderPresent(renderer); //FPS } } return 0; }
pienso que el error puede estar la funcion copiar.. pero no estoy seguro. por cierto en Desktop cuando la corro la aplicacion cierra desde que entra al primer for , pero en mobil es diferente y es confuso. gracias
|
|
|
26
|
Programación / Programación C/C++ / Leer caracteres de la tabla ascii dentro de un std::string [PERGUNTA]
|
en: 20 Julio 2015, 22:34 pm
|
Buenaas !! Saludo !!! tengo una pequena duda estoy leyendo algo sobre caracteres de la tabla ascii estoy usando un cast a char pero cuando ingreso el retorno de linea (13) por ejemplo nop pasa nada por lo menos cuando comparo directamente con caracteres quizas lo estoy haciendo mal , por que tengo una funcion que si me da los espacios que quiero por ejemplo dejare los codigos de ambos para que vean que trato de decir .... gracias ... solo me gustaria un consejo que deberia de hacer por favor no quiero el codigo me he dado cuenta que quizas a veces pregunto por algo y me dan el codigo y la verdad me gustaria solo un consejo gracias !!!! y disculpen las molestias !!!!!! void Editor() { string filename; cout <<"por favor ingrese el del fichero que va a editar"<<endl; ///analizar texto/ getline(cin , filename, '$'); for(string::iterator it =filename.begin(); it != filename.end(); it++) { if(*it == (char)13 || *it == (char)3) cout <<"Salto de linea \n "<<endl; else cout << '\n' << *it <<endl; ///aqui me imprime todo los caracteres ///incluyendo los espacios y los enter ////solo es parte del codigo de la //// asi que el nomnre lo pueden ignorar..... } }
en este por ejemplo el espacio si sale como deseo pero en el codigo de arrba no pasa nda d void PrintSpace(unsgined int cnt) { for(auto e(0) : cnt ) cout <<( char ) 32; }
Gracias por los consejos !!
|
|
|
27
|
Programación / Programación General / capturar comandos en la consola de eclipse
|
en: 17 Julio 2015, 21:08 pm
|
Buenas a tod@s aqui !! tengo una duda estoy usando eclipse para un proyecto y tengo configurado un .bat y tengo dos inconvientes uno es que cuando le doy a build me muestra el path y no corre el comando y de ser posible como se configura para que capture la salda ,gracia !!!
|
|
|
28
|
Programación / Programación C/C++ / creando un registro
|
en: 9 Julio 2015, 05:50 am
|
Saludos a todos tengo un pequeno incoviente con el siguiente codigo cuando lo uso mi aplicacion se cae , creo que estoy manejando mal los archivos bueno dejo el codigo a ver si me aconsejn #include... ////librerias esas estanbien incluida ///usare una funcion getTransaccionActual() void CopiarFichero(){ int inFhandle; int outFhandle; int cnt; int bytesLeidos; int bytesEscrito; TRAN_STRUCT stTran; inFhandle = open("lect.dat", O_RDONLY); outFhandle = open("lect.dat", O_WRONLY | O_CREAT); if(inFhandle < 0 || outFhandle < 0) { LOG("Error abriendo el fichero"); /// si pudiera salir o hacer Ret ,aunque no hay salida en log } else { do{ bytesLeidos = read(inFhandle , (char *)&srTran, sizeof(srTran)); if(bytesLeidos == sizeof(srTran)) { if(strcmp(srTran.code, "mivalor") != 0) { bytesEscritos = write(outFhandle , (char *)&srTran, sizeof(srTran)); } else { ////simplemente ignoro } }else { /////mas codigo para mostrar el error } }while(bytesLeidos == sizeof(srTran)); close(inFhandle); close(outFhandle);' } ////mas codgio }
bueno es parte de lo que tengo hecho se utiliza y me pregunto que podria estar haciendo mal ? me como alguna variable , el dispositvo al que se la pongo truena... no se que hacer ya. GRACIAS !!
|
|
|
29
|
Programación / Programación C/C++ / typedef struct vs struct
|
en: 7 Julio 2015, 19:47 pm
|
Buenas a todos me pregunto si alguien me podria decir por favor la diferencia entre
typedef struct y struct . que diferencias en codigo , se que typedef se usa para declarar tipos .
|
|
|
30
|
Programación / Programación C/C++ / append , . a un string existente
|
en: 5 Junio 2015, 17:56 pm
|
Buenas a todos en mi afan de aprender me he topado con lo siguiente tengo cantidades monetarias en string y quiero agregarles en su debido lugar un caracter espeficio como son comas y puntos pero no me explota el programa cuando lo corro pior que seria eso ? abajo dejo parte del codigo ,gracias por los consejos. char *addComma(char *szValue){ char *szReturn = NULL; char *szTemp1 = NULL; char *szTemp2 = NULL; int inLength = strlen(szValue); /* * 10000.00 -->> 10,000.00 * 9000.00 -->> 9,000.00 * * * * */ if(inLength >= 6 ){ switch(inLength){ case 7: strncpy(szTemp1,szValue, 2 ); strncat(szTemp1, ",", 1); strncat(szTemp1, szValue+3,3); strncpy(szTemp1, ".", 1); break; case 5: } } return szTemp1; }
solo importa la parte que hago strncat , strncpy
|
|
|
|
|
|
|