Jump to content

zafrada

Warianos
  • Posts

    199
  • Joined

  • Last visited

Everything posted by zafrada

  1. Sin publicidad? y cuál es la "trampa"? igual voy a probar. Saludos.
  2. Primero tienes que ver qué datos se repiten tanto para venta como para factura, y esos los pones arriba, y en un combobox o en algún otro widget poner si quiere boleta o factura, y que al momento de seleccionar el medio, se muestren los datos adicionales si es que se necesitan. Las estructuras de datos persistentes del sistema deberían estar directamente relacionadas con el modelo de clases del sistema, por lo que te recomiendo echarle un ojo a tu modelo de clases, y ahí te preguntas: cuáles de estas clases necesito guardar de forma persistente, y con eso armas el modelo relacional, por lo que no podría decirte cuál es la mejor forma de guardar los datos, ya que depende de tu modelo de clases (o estructuras), que en esta fase de implementación deberías de disponer.
  3. Aprovecha el hecho de que el index de un elemento del List se corresponde con el del ListBox. Por lo que si el elemento seleccionado en la ListBox es el 5, entonces tienes que obtener el elemento 5 del List. Es bastante sencillo en realidad, sólo requiere que hayas ingresado los elementos en ese orden. Si no te sirve este método porque los elementos están ordenados de forma distinta, entonces yo crearía una nueva clase extendiéndome de ListBox que mantuviera una referencia a cada elemento de la List ingresada al ListBox en el orden en que fue ingresado. Es decir, habría que reescribir el método add del ListBox para que además de agregar un nuevo elemento, lo añadiera también al final de la lista. No sé si VB soporta overwrite y/o override (no programo en VB), pero si es que no, entonces en vez de extenderte, creas un método wrapper o una clase wrapper.
  4. Lo que te dicen, ocupa String.isEmpty() Las aplicaciones modernas deberían ser capaces de validar el rut en "caliente". Podrías agregar un action listener al textentry, de modo que cada vez que se escriba (o borre) algo del textentry se vaya validando y te vaya arrojando búsquedas, o que sólo te deje apretar el botón "buscar" cuando el rut sea válido, así te ahorras andar creando tanto diálogo. Esto es a modo de sugerencia :)
  5. Ocupas CentOS y no sabes solucionar esto? O.o hace lo que dice ahí: fsck en forma manual sobre la partición afectada. Por ejemplo: esfsck -f /dev/sda3
  6. Está muy raro tu código, sobre todo porque haces esto: Nodo z=null; z=this; Creo que estás confundiéndote, porque al hacer esa asignación no estás creando una copia, estás creando una referencia, por lo que si modificas z, también se modifica this, y viceversa. Por otro lado, lo más raro es que no haya ningún while en tu código, porque si te piden eliminar el último, lo lógico es que tengas que recorrer la lista para llegar hasta el último elemento, para luego borrarlo. Algo así: Esta es una implementación bien charcha, no me puse en todos los casos public void eliminarUltimo() //usamos un nodo auxiliar para recorrer la lista Nodo aux = this; //recorremos la lisa hasta llegar al final while(aux.sig!=null) aux = aux.sig; //mandamos a null aux, y de esa forma, lo eliminamos aux = null; } o en su forma recursiva: public void eliminarUltimo() { //si somos el nodo final if(aux.sig != null){ if(aux.sig.sig = null) aux.sig = null; else aux.sig.eliminarUltimo(); } } creo que así sería, disculpa si me equivoqué, estoy cagao desueño en todo caso yo implementé una librería de lista enlazada en java hace un tiempo, si sigues teniendo problemas te puedo mostrar mi implementación saludos
  7. yo crearía un hashmap (en vb se llama HashTable), en el que le asignas un id al textbox como clave y el textbox en si. Luego puedes recuperar el textbox por su id. Pero eso que dices "existe alguna manera de rescatar los datos que estos textbox almacenaran?" no lo entiendo, cómo un computador va a predecir el futuro, si pudieras redactar mejor tu pregunta sería ideal. Saludos. PD: En los tags dice vb.net
  8. Me recuerda a esta aplicación: Se llama maya, del proyecto elementary. Te puedes basar en su código fácilmente porque es un código muy limpio y fácil de entender, está escrito en Vala, un lenguaje orientado a objetos del proyecto gnome. Hay muchas cosas parecidas a Java y otras no tanto, pero yo creo que te será útil. Además aprovecha ahora que el código está limpio, no tiene más de 3500 lineas de código, y el proyecto lleva como 1 año de desarrollo apenas. Tiene un desarrollo bien lento por lo que me he fijado. El código lo puedes ver acá: http://bazaar.launchpad.net/~elementary-apps/maya/trunk/files Y lo puedes bajar entero con bazaar ("bzr branch lp:maya")
  9. No debería pedirte contraseña, según la documentación oficial: http://www.linuxmint.com/documentation.php
  10. Por el enunciado del problema, yo creo que apunta a el uso del switch case múltiple. Es una paja, pero el código queda entendible. void codificar(char *string ){ int i; for(i=0;i<strlen(string);i++){ switch (*(string + i)){ //si son vocales, le asignamos el número correspondiente case 'a': case 'A': *(string+i) = '1'; break; case 'e': case 'E': *(string+i) = '2'; break; case 'i': case 'I': *(string+i) = '3'; break; case 'o': case 'O': *(string+i) = '4'; break; case 'u': case 'U': *(string+i) = '5'; break; //si son consonantes que preceden a una vocal, le sumamos 2 para saltar la vocal case 'd': case 'h': case 'n': case 't': case 'D': case 'H': case 'N': case 'T': *(string+i) = *(string+i) + 2; break; //si es la z o Z, como precede a la "a", no basta con sumarle 1 case 'z': *(string+i) = 'b'; break; case 'Z': *(string+i) = 'B'; break; //también podríamos ver los símbolos que no son letras, esto es un ejemplo, pero lo conveniente //sería verificar antres de entrar al switch case si el carácter es una letra o no case ' ': case '.': case ',': case '-': break; default: *(string+i) = *(string+i) + 1; break; } } } Entonces desde el main vas leyendo carácter a carácter y guardando en un buffer, y cuando te metan un punto, terminas de leer y llamas a la función pasándole como parámetro la cadena de carácteres. Como lo que le pasas es el puntero a la cadena, entonces te modifica la cadena automáticamente, por eso la función es void. Un ejemplo de uso: int main(){ char palabra[100]; printf("Ingrese palabra a codificar: "); scanf("%s", palabra); codificar(palabra); printf("\nPalabra codificada: %s\n", palabra); return 0; } Saludos ;)
  11. Te sale algún error cuando lo intentas? si es así, qué error?
  12. RESUELTO: Para los que les pase lo mismo, es simplemente debido al cache de Cmake, hay que borrar la carpeta build si es que hacen un build externo y volver a compilar, y ahí se soluciona todo :tonto: Miren, escribí este CMakeLists.txt que me funcionaba perfecto (tuve un problema con SQLite pero lo logré solucionar, aunque no muy elegantemente), pero cuando intenté agregar un módulo que ocupa las librerías clutter y clutter-gtk no me funciona. El programa está escrito en Vala, valac genera el código en C perfecto, pero a la hora de compilar con gcc, me manda el típico error de que no encuentra la librería. Bueno, les dejo acá el contenido de mi cmake, si necesitan algún otro archivo o dato, pregunten. El problema está relacionado con el linkeo en si con clutter-gtk, no así con clutter. project(Project) cmake_minimum_required (VERSION 2.8) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ) list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/vala) # # Base bits # set (DATADIR "${CMAKE_INSTALL_PREFIX}/share") set (PKGDATADIR "${DATADIR}/project") set (GETTEXT_PACKAGE "project") set (RELEASE_NAME "Project") set (VERSION "0.1") set (VERSION_INFO "Release") # # Niceties # set (ARCHIVE_NAME project-${VERSION}) add_custom_target (dist COMMAND bzr export --root=${ARCHIVE_NAME} ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) add_custom_target (distcheck COMMAND cd ${CMAKE_BINARY_DIR} && rm -rf ${ARCHIVE_NAME} && tar xf ${ARCHIVE_NAME}.tar.bz2 && mkdir ${ARCHIVE_NAME}/build && cd ${ARCHIVE_NAME}/build && cmake -DCMAKE_INSTALL_PREFIX=../install -DGSETTINGS_LOCALINSTALL=ON .. -DCMAKE_MODULE_PATH=/usr/share/cmake && make -j8 && make -j8 install && make check ) add_dependencies(distcheck dist) add_custom_target (uninstall "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/cmake/uninstall.cmake") # # config.h # configure_file (${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h) add_definitions(-include config.h) # # Data # file (GLOB _imagefiles "${CMAKE_CURRENT_SOURCE_DIR}/data/images/*") install (FILES ${_imagefiles} DESTINATION ${PKGDATADIR}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/project.desktop DESTINATION /usr/share/applications) # # i18n # add_subdirectory(po) # # SRC # set (PROJECT_DEPS "gobject-2.0;glib-2.0;gio-2.0;gtk+-3.0;granite;gee-1.0;sqlite3;clutter-gtk-1.0;clutter-1.0;") find_package(PkgConfig) pkg_check_modules(CLUTTERGTK REQUIRED "clutter-gtk-1.0 >= 1.0.0") pkg_check_modules(CLUTTER REQUIRED "clutter-1.0 >= 1.0.0") pkg_check_modules(SQLITE3 REQUIRED "sqlite3") pkg_check_modules(GLIB REQUIRED "glib-2.0 >= 2.26.0") pkg_check_modules(GOBJECT REQUIRED "gobject-2.0 >= 2.26.0") pkg_check_modules(GIO REQUIRED "gio-2.0 >= 2.26.0") pkg_check_modules(GTK+ REQUIRED "gtk+-3.0 >= 3.0.8") pkg_check_modules(GEE REQUIRED "gee-1.0 >= 0.5.0") pkg_check_modules(LIBGRANITE REQUIRED "granite") pkg_check_modules(DEPS REQUIRED ${PROJECT_DEPS} gthread-2.0) add_definitions(${DEPS_CFLAGS}) link_libraries(${DEPS_LIBRARIES}) link_directories(${DEPS_LIBRARY_DIRS}) find_package(Vala REQUIRED) include(ValaVersion) ensure_vala_version("0.18.0" MINIMUM) include(ValaPrecompile) vala_precompile(VALA_C etc etc... PACKAGES gtk+-3.0 sqlite3 granite gio-2.0 gee-1.0 clutter-1.0 clutter-gtk-1.0 CUSTOM_VAPIS vapi/config.vapi OPTIONS --thread -g ) add_definitions(${CFLAGS}-Wall -Winit-self -Wwrite-strings -Wunreachable-code -Wstrict-prototypes) add_executable(project ${VALA_C}) target_link_libraries(project ${SQLITE_LIBRARIES}) install(TARGETS project RUNTIME DESTINATION bin) # # GSettings Schema # include(GSettings) add_schema("org.pantheon.Project.gschema.xml")
  13. Podrías usar la "Convert Extension" Algo así: $ echo include subfoo > /tmp/myfilemap $ echo rename subfoo . >> /tmp/myfilemap $ hg convert --filemap /tmp/myfilemap /path/to/repo/foo /tmp/mysubfoo-repo http://mercurial.sel...onvertExtension En este thread recomiendan eso, pero esto es del 2009, no tengo idea si lo habrán implementado ya o si hay una mejor solución, además yo ocupo bzr y no estoy familiarizado mucho con mercurial. http://stackoverflow.com/questions/920355/how-do-i-clone-a-sub-folder-of-a-repository-in-mercurial Saludos.
  14. La idea es la siguiente, cuando alguien te quotee, que se mande una notificación a la persona quoteada, no es muy complicado de implementar, se puede usar cookies para ir guardando cada vez que el usuario va quoteando. En la BD sería una simple tabla, con el id del quoteado, el id del que quotea, la fecha, el id del post donde se hizo el quote y un booleano si la notificación fue vista o no. No gasta mucho espacio en disco porque se puede crear una subrutina para limpiar notificaciones antiguas ya vistas por ejemplo, y se puede implementar un sistema de notificaciones por mail también. Y si además hay una opción para desactivar las notificaciones, mejor aun. En un inicio, la caracterítica podría correr para admins y moderadores, y con el tiempo ir agregando a los users, por lo que el probar la característica en cuestión tampoco es un riesgo de estabilidad para el sitio. Saludos.
  15. Tenis que meterte a la opción a pantalla y cambiarla manualmente. Si aun así no pesca, intenta reiniciando con el cable puesto. Si así no pesca tampoco, entonces intenta instalar el driver privativo en caso de tener instalado el libre, y si aún así no pesca, es porque Linux siempre ha tenido y tendrá problemas de drivers, sobre todo con los de video, que son extremadamente complejos de escribir sin la documentación adecuada.
  16. Wena, está simpático, no es otro típico video en que los protagonistas se tratan de hacer los chistosos y no les sale. PD: Puta que es feo el pueblo ql :tonto:
  17. Es bastante viejo, pero además inválido. Se supone que si una persona es floja, la flojera no le permitiría hacer los 10 mandamientos, ya que le daría flojera. :mmm:
  18. jaja, no, lo que pasa es que es un arbol de búsqueda de soluciones de un juego, mediante BFS, y como crea todas las opciones posibles nivel por nivel, y cada nodo tiene cientos de hijos, se puede llegar a tener más de 15 mil nodos como si nada, y no es una opción mejorar la aplicación porque así tiene que ser. Gracias por el enlace RA, probaré y te digo
  19. No, no estoy manejando archivos, sólo estructuras de datos muy grandes. No he intentado ejecutarlo así, tengo que cachar primero dónde está el ejecutable del JVM porque estoy desde windows trabajando (con Linux sería llegar y tirar) PD: Ash por favor, necesito tu conocimiento supremo PS2: zafrada por favor
  20. Resulta que estoy corriendo una app que hice que hace uso intensivo de memoria, y se queda pegado en los 270mb aprox, dándome una excepción de AWT out of memory: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space He asignado 1024 mb a la máquina virtual, pero sigue pasando, acá pueden apreciar mi configuración: La aplicación la corro directamente desde el eclipse, tengo que hacer algo más? les agradecería una ayuda. Gracias.
  21. tengo una carpeta llena de esto: tengo + http://s1193.photobucket.com/albums/aa348/th3_k4t/troll%20science/#!cpZZ2QQtppZZ20
  22. no tiene bd, aprende a leer :tonto: pd: hace el respaldo con el cpanel, es más rápido wn, te crea un tar.gz comprimido y por http es más rápido que por ftp. Cito: zafrada tu argumento es inválido ...y si te fijas en una de las fotos que subiste sale como respaldar la BD ;) Saludos :krider: no es inválido porque modificó el post después de que yo posteara :cafe: Lo que yo hago es respaldar por tablas, y luego importas las tablas desde el otro hosting luego de haber creado la nueva bd.
  23. no tiene bd, aprende a leer :tonto: pd: hace el respaldo con el cpanel, es más rápido wn, te crea un tar.gz comprimido y por http es más rápido que por ftp.
  24. es facilísimo migrarla entonces si no tienes bases de datos. Basta con crear el backup y resubirlo a tu nuevo hosting.
×
×
  • Create New...