Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - El_Java

#1
Java / Error: Misplaced contruct(s)
17 Julio 2012, 18:28 PM
Hola, estaba programando un manipulador de la entrada para android y en algún momento me ha dado un error qué no sé a que se debe y no consigo encontrar lo que lo provoca.
Os copio el código:
Código (java) [Seleccionar]
package es.javazek.buscaminas;

import java.util.Queue;

import android.view.*;
import android.view.View.*;

public class InputHandler implements OnTouchListener, OnClickListener, OnKeyListener{
//Class Pair
public class Pair<A, B>{
A first; B second;
public Pair(A first, B second){ this.first = first; this.second = second; }
}
//Class Trio
public class Trio<A, B, C> extends InputHandler.Pair<A, B>{
C third;
public Trio(A first, B second, C third){super(first, second); this.third = third; }
}

Queue<Trio<View, Integer, KeyEvent> > qOnKey;
Queue<Pair<View, MotionEvent> > qOnTouch;
Queue<View> qOnClick;

public InputHandler(Queue<View> qOnClick, Queue<Pair<View, MotionEvent> > qOnTouch, Queue<Trio<View, Integer, KeyEvent> > qOnKey){
this.qOnClick = qOnClick;
this.qOnKey = qOnKey;
this.qOnTouch = qOnTouch;
}///////////////////// ERROR

@Override
public void onClick(View v) {
qOnClick.add(v);
}

@Override
public boolean onTouch(View v, MotionEvent event) {
qOnTouch.add(new Pair<View, MotionEvent>(v, event));
return true;
}

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
qOnKey.add(new Trio<View, Integer, KeyEvent>(v, keyCode, event));
if(keyCode == KeyEvent.KEYCODE_BACK) return true;
return false;
}

}

El error lo da en la línea 28: "Syntax error on token(s), misplaced construct(s)"

Espero que me podais ayudar :)
#2
GNU/Linux / Problemas con el linker
2 Julio 2012, 17:25 PM
Hola a todos.
He estado instalando las librerias Ogre3D y todas las inmensas dependencias que tiene esta librería gráfica, al final del proceso traté de compilar un código de prueba y no he podido. El problema está en el linker ya que me da diversos errores del tipo "Undefined reference to...".
No es la primera vez que tengo problemas con el linker, así que lo que hice fue añadir la ruta de las librerias al linker para que las encontrase, lo hice con las de Ogre (que había instalado directamente desde el codigo fuente). Pero luego también tuve que hacerlo con la libreria OIS (la cual había instalado mediante los repositorios de Ubuntu, ya sabeis: sudo apt-get install ___), y eso ya me empezó a mosquear. Ahora me dice que el linker tampoco encuentra las librerias de X11 y ya empiezo a pensar que el problema puede estar en el linker, porque no son normales tantos problemas....

¿Alguna idea?

Un saludo
#3
Windows / Configurar VirtualBox wifi
5 Noviembre 2011, 16:34 PM
Hola, acabo de instalar una maquina virtual con Backtrack 5, y todo va bien menos una pequeña cosa. El problema es que backtrack me detecta mi entrada de red como cableada (etho0) y yo lo que quiero es que me la detecte como una wifi (wlan0) para poder ver las redes disponibles, pero no he encontrado ningun modo de configurar virtualbox para que haga esto, siempre me conecta con cable, segun he leido, virtualbox virtualiza una tarjeta de red que conecta con el wifi de mi SO..
¿Alguien sabe como puedo solucionar mi problema?
#4
ASM / Error de novato!
1 Noviembre 2011, 13:25 PM
Hola, he decidido introducirme en el mundo del ensamblador, y acabo de empezar, he intentado hacer un código sencillo para ver como salía, pero no consigo que me funcione. Estoy programando en ensamblador para linux y estoy usando para compilarlo y linkarlo, nasm y ld:
Lo que quiero hacer exactamente es crear un archivo llamado 'prueba.txt' y en el escribir lo que haya puesto en el argv[1] en la terminal, pero me da un error ("prueba.asm:2: error: comma expected after operand 1") en la creación del array.
Hechadle un ojo a ver si veis el fallo:
Código (asm) [Seleccionar]

section .data
txt db 10 dup(?),10

section .text
global _start
_start:
pop eax;
pop eax;
pop txt;

mov eax,8
mov ebx,'prueba.txt'
mov ecx,00644Q
int 80h

test eax,eax
js skipWrite

call fileWrite

mov eax,1
xor ebx,ebx
int 80h

skipWrite:
mov ebx,eax
mov eax, 1
int 80h

fileWrite:
mov ebx,eax
mov eax,4

mov ecx,txt
mov edx,80
int 80h

mov eax,6
int 80h
ret


Un saludo!
#5
GNU/Linux / Problema ingresar clave WEP
11 Septiembre 2011, 12:46 PM
Hola a todos.
He abierto este tema porque llevo varios dias intentando conectarme a una contraseña WEP desde Ubuntu 11.04 y me es imposible, me lo tira todo para atrás, he leido por ahi que era un fallo de network-manager y que se arreglaba instalando wicd, pero a mi no me funciona.
He probado todas las opciones que me da para cambiar el network-manager menos una opcion que he visto por tutoriales "nosequé itinerante", que no se donde esta en 11.04
Cosas a tener en cuenta

  • No me he equivocado al meter la contraseña
  • No puedo modificar la contraseña
  • No puedo cambiar la cifrado

He tratado de instalar los ultimos headers del wifi en linux (compat-wireless), he borrado network-manager y instalado wicd, y otras cosas... pero no se que hacer más

AYUDA!
#6
Desarrollo Web / Problema html5
17 Agosto 2011, 00:00 AM
Hola gente, vereis, es la primera página web que hago, sin embargo tengo bastante idea sobre la teoria, como usarlo, sintaxis, etc etc.
He querido hacer la web en html5, por ahora solo llevo el principio, casi nada, ni imagenes ni nada, solo el posicionamiento de cada cosa, pero estoy teniendo bastantes problemas y me gustaria que le echarais un ojo :)
Código (html4strict) [Seleccionar]

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>e-links</title>
        <link rel="shortcut icon" href="favicon.jpg"/>
        <link rel="stylesheet" href="style.css" media="screen" type="text/css"/>
    </head>
    <body>
        <header id="cabecera">
            <h1>e-links</h1>
            <h2>Comparte tus links y gana dinero</h2>
        </header>
        <nav>
            <ul>
                <li><a href="#">Inicio</a></li>
                <li><a href="#">Registrate</a></li>
                <li><a href="#">¿Quienes somos?</a></li>
                <li><a href="#">Logueate</a></li>
            </ul>
        </nav>
        <div id="principal">
            <section id="intro">
                <div id="papel">
                    <!-- Imagen -->
                    <img src="post-it.png"></img>
                </div>
                <div>
                    <header>
                        <p>Comparte</p>
                    </header>
                    <div id="drop-zone">
                        <script>
                            var dropzone = document.querySelector('#drop-zone');
                           
                            dropzone.addEventListener('dragover', function(event){
                                if(event.preventDefault) event.preventDefault();
                                event.dataTransfer.dropEffect = 'copy';
                                return false;
                            }, false);
                           
                            dropzone.addEventListener('drop', function(event){
                                if(event.preventDefault) event.preventDefault();
                               
                                this.innerHTML = '';
                                if(event.dataTransfer.getData('text')){
                                    this.innerHTML = event.dataTransfer.getData('text');
                                }else if (event.dataTransfer.getData('text/plain')){
                                    this.innerHTML = event.dataTransfer.getData('text/plain');
                                }
                               
                                return false;
                            }, false);
                        </script>
                    </div>
                </div>
            </section>
            <section>
                <header>
                    <p>¿Como funciona?</p>
                </header>
                    <video controls="true" loop="false" onended="this.stop()">
                        <source src="http://studio.html5rocks.com/samples/video-cube/Chrome_ImF.ogv" type='video/ogg; codecs="theora, vorbis"'></source>
                    </video>
            </section>
            <section>
                <header>
                    <p>Comentarios</p>
                </header>
                <!-- Tabla con comentarios -->
            </section>
        </div>
        <footer>
            <ul>
                <li><small><a href="#">¿Quienes somos?</a></small></li>
                <li><small><a href="#">Política de privacidad</a></small></li>
                <li><small><a href="#">Como ganar dinero</a></small></li>
            </ul>
        </footer>
    </body>
</html>

Código (css) [Seleccionar]

div{
    border: solid red 2px;
}
/*-------
-----*/
* {
    margin: 0;
    padding: 0;
}

section, aside, header, footer, nav, article {
    display: block;
}

body{
    background: white;
}
/*----------
--> Header
----------*/
header#cabecera{
    background: #897a7a;
}
    header h1{
        text-align: center;
    }
   
/*----------
-->Nav
----------*/
nav{
    width: 100%;
    position: absolute;
    left: 0;
    background-color: orange;
    padding-left: 15%;
    padding-right: 15%;
}
    nav ul{
        padding: 3px;
        list-style: none;
    }
        nav ul li{
           
            text-align: center;
            float: left;
            margin: 10px 30px 10px 30px;
        }
            nav ul li a{
                display: block;
                text-decoration: none;
            }

   
/*----------
-->Main div
----------*/

div#principal{
    margin: 55px 15% 0 15%;
}

section#intro{
    border: solid black;
    width: 100%;   
}
    section#intro div{
        float: left;
        margin: auto 5% auto 5%;
    }
   
#drop-zone{
    width : 200px;
    height: 200px;
}

/*---------
-->Footer
---------*/
footer{
    background-color: #897a7a;
    padding: 0 10% 0 10%;
}
    footer ul{
        list-style: none;
    }
        footer ul li{
            float: left;
            margin-right: 10%;
            margin-top: 2%;
        }
            footer ul li a{
                display:block;
                text-decoration: none;
            }

La verdad es que hay varias cosas que me tienen pertubado en mi código:

  • Aunque le ponga un background al footer el color del footer no cambia mientras tenga definido el estilo de la lista del footer (solo con atributos sobre el texto)
  • Le he puesto borde a los div y a un section para saber donde estan, y el section (la linea de negro), aunque tiene contenido entre <section></section> lo que se supone que deberia estar dentro aparece debajo de este.
  • El div#principal no respeta la posición del nav, y se superpone con esta, (ahi no se vera porque le tengo puesto un margin-top.
  • Lo ultimo, aunque no es tan importante, es que no consigo hacer para que el section#intro me ocupe todo el ancho de la pagina, aunque le ponga width:100% el texto que se supone que esta fuera aparece a la derecha del section.
Si lo necesitais os marco las zonas que he señalado antes xD
OJALA PODAIS AYUDARME! :)
#7
Hola foreros.
Tengo algunas pequeñas dificultades al intentar instalar SDL en Ubuntu usando Codeblocks, lo he instalado desde consola, con Synaptic...
Bueno, la primera vez que lo he probado me ha estado dando un error que me daba unas 10 o 12 lineas en las que ponia "ld cannot find ---" donde --- era por ejemplo -lmingw32 o -SDL.dll (este me extrañó mucho)
Tras intentar muchas cosas he conseguido cambiar de error asignandole al linker esto: 'sdl-config --libs --cflags', ahora en todas las funciiones que uso de la SDL me dice: Undefined reference to `(la funcion)'

¿Sabeis como solucionarlo?

Espero que podais ayudarme, un saludo!
#8
Programación C/C++ / Maximizar programa
3 Julio 2011, 23:36 PM
Hola.
Yo lo que querría es mediante código, maximizar mi programa que previamente se ha minimizado en la bandeja del sistema (como hace JDownloader), alguno sabe como podría hacer esto? utilizo Ubuntu, y he leido algo sobre hilos y procesos...

Gracias a todos.
#9
GNU/Linux / Ubicar programas ubuntu
29 Mayo 2011, 18:16 PM
Buenas.
Mi duda es que tengo ya varios programas que no se pueden instalar de la manera tradicional a ubuntu y los tengo descargados y en una carpeta metidos.
Uno, por ejemplo, para inciarlo tengo que ejecutar un archivo bash.
para no tener que estar metiendome todo el tiempo en las mismas carpetas, queria preguntaros donde están ubicados los accesos directos a los programas (Por ejemplo, para que te salga en Unity en la barra de aplicaciones), asi puedo colocar mi programa ahi y que sea todo más rapido :)

Un saludo!
#10
Scripting / Pasar parametros a un array
16 Mayo 2011, 16:07 PM
Hola, estoy intentando hacer un programa en bash y quiero agregarle los parametros que se añaden desde el terminal a un array que he creado yo, el problema es que no se como asignarle al array los parametros:
Os copio el mejor intento que he hecho xD
Código (bash) [Seleccionar]

#!/bin/bash

declare -a opciones;

if [ $@ ]
then
echo "Parametros pasados: $#"
echo "El primer parametro es $1"
opciones="$*"
for (( y=1; y<=$#; y+=1)); do
opciones[$y]=${(("$y"))} #Aqui esta el meollo del problema
echo ${opciones[$y]}
done


Lo maximo que he conseguido es que le asigne el numero del argumento... por favor, echarme una mano :)
#11
Hola, edito mi anterior mensaje en el foro ya que no obtuve respuesta y asi ahorro espacio a elhacker

Estoy creando una aplicación y para que interactue con Ubuntu estoy haciendo uso de "linux/input.h" y "linux/uinput.h", el problema está en que me compila sin ningún tipo de error pero no hace nada, el fallo está hay casi seguro porque los he hecho un seguimiento a la aplicacion y registra los botones que pulso y todo, pero no ocurre nada.

Os dejo mi codigo para inicializar el driver.
Código (cpp) [Seleccionar]
int wmDevice::init_device(){
   //open uinput and creating descriptor
   if ((fd = open("/dev/uinput", O_WRONLY | O_NONBLOCK | O_NDELAY)) == 0){
       std::cout << "Unable to open /dev/uinput" << std::endl;
       return 1;
   }

   //configure uinput device parameters
   ret = ioctl(fd, UI_SET_EVBIT, EV_KEY);
   ret = ioctl(fd, UI_SET_EVBIT, EV_ABS);
  // ret = ioctl(fd, UI_SET_EVBIT, EV_SYN);

   ret = ioctl(fd, UI_SET_KEYBIT, KEY_SELECT); //left button mouse = A wiimote button wiimote
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_CONTEXT_MENU); // right button mouse = B button wiimote
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_SCROLLDOWN); // wiimote = 2
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_SCROLLUP); //wiimote = 1
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_POWER); //power (hold)
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_ZOOM); //Zoom = +
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_DELETEFILE); // (hold) -
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_CLOSE); // -

   ret = ioctl(fd, UI_SET_ABSBIT, ABS_X);
   ret = ioctl(fd, UI_SET_ABSBIT, ABS_Y);

   //****************************************//

   memset(&userDev, 0, sizeof(userDev));

   strcpy(userDev.name, "wiimote");
   userDev.id.bustype = BUS_BLUETOOTH;
   userDev.id.vendor = 0x1234;
   userDev.id.product = 0x01;
   userDev.id.version = 1;

   userDev.absmax[ABS_X] = 1920;
   userDev.absmin[ABS_X] = 0;
   userDev.absmax[ABS_Y] = 1080;
   userDev.absmin[ABS_Y] = 0;

   //*****************************************//

   ret = write(fd, &userDev, sizeof(userDev));
   ret = ioctl(fd, UI_DEV_CREATE);

   return 0;
}

Ojala podais ayudarme! :D
#12
Hola a todos.

Estoy intentando crear un script que me permita cada X tiempo cambiar automáticamente el fondo de pantalla.
No sé casi nada de bash, pero pensé que no sería muy complicado hacerlo, pero se me esta complicando un poquitin xD

He probado varios metodos pero sin exito ninguno, aquí os dejo lo ultimo que he hecho:

Edito: Este Script ya funciona, lo pongo aqui por si a alguien le es útil!
Código (bash) [Seleccionar]

#!/bin/sh

#Script para cambiar de fondo de escritorio cada X minutos


cd ~/Imagenes/Fondos\ pantalla/

while [ 1 ]; do

for aux in $(ls) ; do
#echo "gconftool-2 --type string --set /desktop/gnome/background/picture_filename  ~/Imagenes/Fondos\ pantalla/$aux"
sleep 15m
gconftool-2 --type string --set /desktop/gnome/background/picture_filename  ~/Imagenes/Fondos\ pantalla/$aux
done

done

wait

#13
Hola, vereis, estoy haciendo un ejercicio en el que hay que comparar los tiempos de unos pilotos durante 3 tamos de carrera y mostrar el mayor, pero como no me salia, me he puesto a hacerlo paso por paso comprobando todos los pasos. Y he encontrado un fallo y no se porque ocurre esto:

Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;

struct teams{ //puse structs porque no conseguia hacerlo con class
   char nombre[30];
   float et1, et2, et3, total;
};

int main(){
   unsigned int numcasos;
   char caso[20];
   teams piloto[30];
   cin >> numcasos;

   for (unsigned int x=0; x<numcasos; x++){
       cin >> caso; //si pongo cin.getline(caso, 20) ni siquiera lo reconoce y no lo guarda
       for (unsigned int y=0; y<30; y++){
           cin >> piloto[y].nombre >> piloto[y].et1 >> piloto[y].et2 >> piloto[y].et3;
           piloto[y].total = piloto[y].et1 + piloto[y].et2 + piloto[y].et3;

           cout << piloto[y].nombre <<" "<< piloto[y].et1 <<" "<< piloto[y].et2 <<" "<< piloto[y].et3 <<" "<< piloto[y].total;
       }
   }

   return 0;
}



El caso es que si omito la line cin >> code (que me pide el ejercicio que la ponga, pues debe introducirse para cada caso "caso N") funciona, pero si no lo quito aparecen muchisimos caracteres extraños, podeis decirme porque?
#14
Programación C/C++ / Error aplicacion Qt4
19 Marzo 2011, 18:53 PM
Hola, estoy aprendiendo a usar la libreria Qt, y estoy haciendo por mi mismo un ejemplo que aparece en un tutorial pdf que estoy siguiendo, pero cuando intento ejecutarlo me da multiples errores como estos:

  • multiple definition of `Dialogo::Dialogo(QWidget*)'  (y ~Dialogo)
  • undefined reference to `vtable for Dialogo' (y ~Dialogo)

Otros programas en Qt no me han dado ningun tipo de problema, aqui os pongo el codigo( SI, es un tochazo, pero espero que hagais un esfuerzo en ayudarme) :P

dialogo.h

#ifndef DIALOGO_H
#define DIALOGO_H

#include <QDialog>

class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;

class Dialogo : public QDialog{
    Q_OBJECT //Siempre necesario para declarar SIGNALS AND SLOTS

    public:
        Dialogo(QWidget *parent = 0);
        ~Dialogo();

    signals:
        void findNext(const QString &str, Qt::CaseSensitivity cs);
        void findPrevious(const QString &str, Qt::CaseSensitivity cs);

    private slots:
        void findClicked();
        void enableFindButton(const QString &text);

    private:
        QLabel *label;
        QLineEdit *lineEdit;
        QCheckBox *caseCheckBox;
        QCheckBox *backwardCheckBox;
        QPushButton *findButton;
        QPushButton *closeButton;
};

#endif // DIALOGO_H






Dialogo.cpp

#include <QtGui>
#include "dialogo.h"

Dialogo::Dialogo(QWidget *parent) : QDialog(parent){
    label = new QLabel(tr("Find &what:"));
    lineEdit = new QLineEdit;
    label->setBuddy(lineEdit);

    caseCheckBox = new QCheckBox(tr("Match &case"));
    backwardCheckBox = new QCheckBox(tr("Search &backward"));

    findButton = new QPushButton(tr("&Find"));
    findButton->setDefault(true);
    findButton->setEnabled(false);

    closeButton = new QPushButton(tr("Close"));

    connect(lineEdit, SIGNAL(textChanged(const QString &)),
            this, SLOT(enableFindButton(const QString &)));
    connect(findButton, SIGNAL(clicked()),
            this, SLOT(findClicked()));
    connect(closeButton, SIGNAL(clicked()),
            this, SLOT(close()));

    QHBoxLayout *topLeftLayout = new QHBoxLayout;
    topLeftLayout->addWidget(label);
    topLeftLayout->addWidget(lineEdit);

    QVBoxLayout *leftLayout = new QVBoxLayout;
    leftLayout->addLayout(topLeftLayout);
    leftLayout->addWidget(caseCheckBox);
    leftLayout->addWidget(backwardCheckBox);

    QVBoxLayout *rightLayout = new QVBoxLayout;
    rightLayout->addWidget(findButton);
    rightLayout->addWidget(closeButton);
    rightLayout->addStretch();

    QHBoxLayout *mainLayout = new QHBoxLayout;
    mainLayout->addLayout(leftLayout);
    mainLayout->addLayout(rightLayout);
    setLayout(mainLayout);

    setWindowTitle(tr("Find"));
    setFixedHeight(sizeHint().height());
}

Dialogo::~Dialogo(){
    delete this;
}

void Dialogo::findClicked(){
    QString text = lineEdit->text();
    Qt::CaseSensitivity cs =
            caseCheckBox->isChecked() ? Qt::CaseSensitive
                                      : Qt::CaseInsensitive;
    if (backwardCheckBox->isChecked()){
        emit findPrevious(text,cs);
    }
    else {
        emit findNext(text, cs);
    }
}

void Dialogo::enableFindButton(const QString &text){
    findButton->setEnabled(!text.isEmpty());
}




 
main.cpp

#include <QApplication>

#include "dialogo.h"
#include "dialogo.cpp" /*Este paso no aparece en el ejemplo del tutorial, pero crei que solucionaria el error */

int main(int argc, char *argv[]){
    QApplication app(argc, argv);
    Dialogo *dialogo = new Dialogo;
    dialogo->show();
    return app.exec();
}

#15
GNU/Linux / Ayuda sobre linux!
7 Marzo 2011, 16:20 PM
Hola, este es mi primer post por lo que si es un poco chorra espero que no me lo tengais en cuenta :P

Vereis, queria saber si hay algun tipo de archivo en el que colocar los comandos del terminal y que se ejecuten al clickar en él. Porque hay cosas que siempre tengo que estar haciendo y se hacen pesadas...

Y otra cosa, he actualizado mi version de ubuntu a la 10.10 27 y no se me ve nada, ni siquiera arranca en modo grafico, sino que se me pone la terminal desde un principio, es esto normal?
Tengo una ati 6950 y una placa P8P67

Graciiias!