elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 [2] 3
11  Programación / Java / Problema WindowBuilder (Eclipse) - Ventana Cortada en: 5 Abril 2020, 06:58 am
El tema es que he instalado WindowBuilder en Eclipse para trabajar de forma gráfica y a la hora de utilizar la pestaña Design (que muestra la ventana con sus componentes), ésta aparece cortada. El lateral derecho se corta y no llegan a verse los botones de minimizar, maximizar y cerrar.
Además si agrando la ventana, los botones desaparecen completamente mientras que si la reduzco de tamaño se ven parcialmente.

He probado también a añadir un botón para ver si eso afecta al posicionamiento de los elementos y de momento parece que no pero de todas formas resulta molesto y me gustaría poder arreglarlo. Dejo una imagen para que se vea más claro lo que explico.


He probado varias versiones de Eclipse (4.15.0 2020-03 y 4.14.0 2019-12), varias versiones de WindowBuilder (la última y una anterior) y varios sistemas operativos (Ubuntu 18.04 y Windows 10) y el problema es el mismo siempre. También cambié los valores de xms y xmx del fichero eclipse.ini porque aparecía cierto lag al trabajar con ello y actualmente los tengo como estaban por defecto:
Código:
-Xms256m
-Xmx2048m

PD: Todo ello utilizando jdk-11.
12  Programación / Bases de Datos / [Resuelto] Insertar Xml con DTD interno en SQL Server en: 21 Marzo 2020, 21:03 pm
Mi problema, como dice el asunto es el siguiente: tengo un fichero xml muy sencillo con un dtd interno y quiero pasar su contenido a una tabla de SQL Server. (Estoy utilizando SSMS 2014). Lo primero que había intentado era:
Código
  1. DECLARE @doc xml
  2. SELECT @doc = (CAST x AS xml) FROM OPENROWSET(BULK 'ruta', SINGLE_BLOB) AS T(x)
  3.  
Pero al intentar ejecutarlo me aparecía el siguiente error:
Código:
No se permite analizar XML con DTD de un subconjunto interno. Utilice CONVERT con la opción de estilo 2 para habilitar la compatibilidad limitada con DTD de subconjuntos internos. 

Investigué un poco el uso de CONVERT y cambié la sentencia anterior por:
Código
  1. SELECT @doc = CONVERT(xml, x, 2) FROM OPENROWSET(BULK 'ruta', SINGLE_BLOB) AS T(x)
Parece que se ejecuta correctamente mostrando el siguiente mensaje:
Código:
Se ha quitado del DTD XML uno o más fragmentos XML. Se han omitido los subconjuntos externos existentes. 

Pero a la hora de intentar trabajar con la variable @doc me sale el siguiente error:
Código:
Debe declarar la variable escalar "@doc". 


Ya de paso aprovecho para preguntar si conocéis de alguna guía sobre SQL Server ya que voy buscando información según la voy necesitando pero no llego a consolidar nada de forma teórica. Muchas gracias desde ya.

PD: El documento xml es válido y como es lógico pero por si acaso lo digo: donde he ido poniendo 'ruta' obviamente es la ruta completa de mi fichero xml pero para no copiarla entera...  :-X


EDIT RESUELTO: Vale, problema resuelto. Tengo el día tonto y estaba ejecutando únicamente la última sentencia. He seleccionado desde el DECLARE hasta el final y ya funciona correctamente... :rolleyes: :rolleyes:
13  Media / Multimedia / Problema para reproducir vídeos de disco duro en tv en: 28 Noviembre 2019, 00:04 am
Buenas, me ha surgido un problema y ya adelanto que no tengo muchos conocimientos sobre este tema... :rolleyes:
Tengo una serie de vídeos guardados en el disco duro que puedo reproducir sin problemas en el ordenador. El problema viene cuando los conecto por USB a la tv e intento reproducirlos en ella.
Me he fijado en las propiedades de vídeo y son las siguientes:
  • Dimensiones: 1280 x 720
  • Códec: H.264 (Main Profile)
  • Tasa fotogramas: 25 fotogramas/s
  • Tasa bits: N/D
Me comentaron que podía ser por el códec, que igual la tv no era capaz de reproducirlo pero he visto otros vídeos que sí puedo reproducir en ella y tienen el mismo códec. También he podido reproducir vídeos con las mismas dimensiones y no sé si puede estar relacionado con esas tasas... :-\
No sé si alguien puede ayudarme o si es necesario que aporte más información.
14  Programación / Programación C/C++ / Operadores incremento/decremento en prefijo y postfijo. en: 2 Octubre 2019, 14:46 pm
Ya sé que este suele ser un tema básico pero me he encontrado con un resultado inesperado en el funcionamiento de estos operadores.
Mi problema es que estaba implementando un algoritmo de ordenamiento por inserción tanto en C++ como en Java; sin embargo, el resultado obtenido en C++ no era el que esperaba por eso pongo la duda en este foro.
Aquí el código en Java:
Código
  1. public static void insertionSort(int[] numbers){
  2.    for(int i = 1; i < numbers.length; ++i){
  3.        int currentValue = numbers[i];
  4.        int previousIndex = i-1;
  5.        while(previousIndex >= 0 && currentValue < numbers[previousIndex])
  6.            numbers[previousIndex+1] = numbers[previousIndex--];
  7.        numbers[previousIndex+1] = currentValue;
  8.        showArray(numbers);
  9.    }
  10. }

Y aquí el código en C++:
Código
  1. void insertionSort(int *numbers, const int size){
  2.    for(size_t i = 1; i < size; ++i){
  3.        int currentValue = numbers[i];
  4.        int previousIndex = i-1;
  5.        while(previousIndex >= 0 && currentValue < numbers[previousIndex])
  6.            numbers[previousIndex+1] = numbers[previousIndex--];
  7.        numbers[previousIndex+1] = currentValue;
  8.        showArray(numbers, size);
  9.    }
  10. }
Como se puede ver, códigos idénticos. El problema está en la línea 6 del código en C++. He visto que había valores que se repetían y después de un rato investigando he visto que si en C++ se cambia la línea 6 por:
Código
  1. numbers[previousIndex+2] = numbers[previousIndex--];
Entonces sí funciona. Y si se cambia el bucle <while> por:
Código
  1. while(previousIndex >= 0 && currentValue < numbers[previousIndex]){
  2.    numbers[previousIndex+1] = numbers[previousIndex];
  3.    --previousIndex;
  4. }
También funciona correctamente. Entonces el problema sé que está en el orden en que se realiza el decremento. Me gustaría sabes cómo funciona eso en profundidad ya que veo que no funciona igual en Java que en C++.

PD: Agradecería también una explicación del funcionamiento en Java para ver cuáles son las diferencias exactamente. O si es mejor que abra otro tema en el foro de Java para esta parte me lo podéis decir también. :-X :-X
15  Programación / Programación C/C++ / Uso de referencias con memoria dinámica [C++] en: 30 Marzo 2019, 14:23 pm
Cuando trabajamos con memoria dinámica y pasamos una variable (ya sea un array, una variable sencilla o un objeto), hasta el punto que yo sé, lo que estamos pasando es el puntero que apunta a la dirección de memoria donde hemos guardado esa variable. Entonces me surgen las siguientes preguntas:
  • ¿Por qué si pasamos un puntero a una función y queremos reservar memoria una vez en la función, hay que pasar ese puntero además por referencia?
  • Tenemos, imaginemos, un array bidimensional (matriz) que ha sido reservada con memoria dinámica, ¿hay diferencia entre pasarla por referencia o por valor?
En ambos casos estamos pasando la dirección de memoria de su primer elemento, pero viendo que para la primera pregunta que he planteado sí hay diferencia entre usar referencias o no, quería saber si para este segundo caso es más "eficiente" pasarla por referencia.
16  Informática / Hardware / Pendrive dejó de funcionar en: 26 Enero 2019, 23:27 pm
Compré dos pendrives y al principio podía utilizarlos bien, sin problemas. SIn embargo un día estaba formateando uno de ellos cuando por error lo desconecté antes de que terminara el formateo y ha dejado de funcionar por completo. Es decir, que no lo reconoce el pc cuando lo conecto a este.
He probado en distintos puertos de distintos ordenadores y también he probado en distintos sistemas operativos y nada. El pendrive ha quedado inutilizable... :-\
Me gustaría saber si existe alguna solución para recuperar el pendrive. :-X
17  Sistemas Operativos / GNU/Linux / Problema con synaptics [Ubuntu 18.04] en: 26 Enero 2019, 11:51 am
Recientemente he instalado Ubuntu 18.04 en un laptop junto a Windows 10. Al principio con el escritorio por defecto (GNOME) me di cuenta de que el click derecho del touchpad no funcionaba pero enseguida encontré la solución (usando GNOME Tweaks).

El problema llega cuando decidí cambiar de escritorio a Unity. Con el cambio de escritorio se arregló lo del click derecho automáticamente, sin embargo; noté que ahora lo que no funcionaba era el click tocando en el touchpad (no en el botón que hay en la parte inferior del touchpad). Estuve buscando información y encontré que podía deberse a que no estuviese instalado el <xserver-xorg-input-synaptics>.
Decidí instalarlo mediante
Código:
sudo apt-get install xserver-xorg-input-synaptics 

Después de la instalación, reinicié el laptop y me encontré con que ya funcionaba el toque del touchpad. Sin embargo, dejaron de funcionar las teclas de subir/bajar volumen al igual que las combinaciones de teclas que incluían <alt>. (Es decir <ctrl> + <w> por ejemplo funcionaba pero <ctrl> + <alt> + <t> no).
Decidí volver a desinstalarlo y recuperé el uso de esas teclas pero perdiendo de nuevo el toque del touchpad.

Me gustaría saber si hay alguna forma/solución para tener las dos cosas disponibles. Es decir habilitar el toque del touchpad sin perder las funciones de las teclas físicas del volumen ni los atajos que incluyen <alt>. Gracias :-X
18  Programación / Programación C/C++ / Sobrecarga operador -> [C++] en: 6 Enero 2019, 10:30 am
Tengo la siguiente clase y estoy intentando sobrecargar el operador -> pero sólo puedo sobrecargarlo con constantes, me explico:
Código
  1. class ConjuntoEnteros{
  2.    private:
  3.        std::set<int> private_set;
  4.    public:
  5.        ConjuntoEnteros();
  6.        // ...
  7.        class Iterator{
  8.            private:
  9.                 std::set<int>::iterator private_iterator;
  10.            public:
  11.                  Iterator();
  12.                  // ...
  13.                  int* operator->(){
  14.                      return &*private_iterator;
  15.                  }
  16.         };
  17. };

Entonces si intento sobrecargar ese operador -> me da un error. Lo he conseguido solucionar modificándolo así:
Código
  1. const int* operator->(){
  2.     return &*private_iterator;
  3. }

Entonces no sé si es posible sobrecargar ese operador cómo lo había intentado al principio o siempre tiene que ser constante. :-X
19  Programación / Programación C/C++ / Usar varios templates en una misma función en: 14 Diciembre 2018, 21:44 pm
Mi pregunta es si es posible definir una función con varios <templates>. Para que se entienda mejor os pongo un ejemplo sencillo, imaginad tener una función que devuelve el tamaño de una pila <stack> de cualquier tipo (sí, ya se que eso ya existe pero para hacer sencillo el ejemplo):
Código
  1. template <class T>
  2. size_t stackSize(const stack<T> &s){
  3.    return s.size();
  4. }

Hasta aquí todo bien pero si queremos hacer una función que reciba dos pilas de distinto tipo y devuelva el tamaño de la más grande... La idea es algo así, pero tendríamos errores de compilación por un conflicto entre el tipo de la primera pila y el de la segunda si no son iguales.
Código
  1. template <class T>
  2. size_t biggestStackSize(const stack<T> &st1, const stack<T> &st2){
  3.    size_t size = st1.size();
  4.    if(st2.size() > size)
  5.        size = st2.size();
  6.    return size;
  7. }
Ya sé que en este caso podría hacerse sin tanta función ni <template> pero es posible hacerlo así definiendo dos <template> distintos?? :huh:
20  Programación / Programación C/C++ / Compilar C/C++ en Windows en: 4 Diciembre 2018, 21:16 pm
Bueno el tema es que yo empecé a programar usando Dev C++ en Windows, pero después empecé a usar distribuciones Linux y entonces empecé a compilar mis programas con gcc y g++. Me gusta poder editar mi código con editores de texto ya sea con gedit, sublime text y no usar IDEs como Dev, NetBeans, Eclipse...

Entonces ahora estoy usando en ocasiones Windows y me gustaría saber que métodos hay para compilar programas en este sistema sin usar IDEs. Por ejemplo he leído un poco de MinGW y no sé si existen otras alternativas similares o esa es la forma más similar de compilar como en Linux. :-X
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines