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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1] 2
1  Programación / Scripting / variable en un boton en: 28 Septiembre 2013, 23:17 pm
Hola me gustaria saber como cambiar el nombre de la etiqueta del boton sucesivamente segun los clicks que le demos al boton, es decir como un contador. Puedo cambiar el nombre del boton pero 1 sola vez. alguien sabria decirme una funcion para poder pasar variables donde los nombres del boton, es decir una variable x en vez de hello world.

Código
  1. #!/usr/bin/python
  2. from gi.repository import Gtk
  3.  
  4. class MyWindow(Gtk.Window):
  5.  
  6.    def variable_x (self, variable):
  7.        x=0
  8.  
  9.    def __init__(self):
  10.        Gtk.Window.__init__(self, title="cuantas veces puedes darle al contador")
  11.        self.resize(640, 480)
  12.  
  13.  
  14.        self.button = Gtk.Button(label= "1")
  15.        self.button.connect("clicked", self.on_button_clicked)
  16.        self.add(self.button)
  17.  
  18.    def on_button_clicked(self, widget):
  19.        widget.set_label("2")
  20.  
  21. win = MyWindow()
  22. win.connect("delete-event", Gtk.main_quit)
  23. win.show_all()
  24. Gtk.main()
  25.  

ahora mismo solo me cambia de 1 a 2 y quiero que me cambie de manera que si le doy de nuevo salga 3, si le doy 4 clicks salga 4 etc. gracias de antemano
2  Programación / Programación C/C++ / ¿Puedo hacer esto? en: 20 Julio 2013, 10:17 am
Hola de nuevo. Veran
[spoiler]
Código
  1. #include <allegro.h>
  2.  
  3. int main()
  4. {
  5.    allegro_init();
  6.    install_mouse();
  7.    install_keyboard();
  8.    set_color_depth(32);
  9.    set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);
  10.  
  11.    BITMAP *buffer = create_bitmap(640, 480);
  12.    BITMAP *FONDO = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/FONDO.bmp", NULL);
  13.    BITMAP *FONDO1 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/FONDO1.bmp", NULL);
  14.    BITMAP *FONDO2 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/FONDO2.bmp", NULL);
  15.    BITMAP *cursor = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/cursor3.bmp", NULL);
  16.    SAMPLE *musica;
  17.  
  18.    if (install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL) != 0) { allegro_message("Error: inicializando sistema de sonido\n%s\n", allegro_error); return 1; }
  19.    set_volume(100, 100);
  20.    musica = load_sample("C://users/alvaro/Desktop/menu/menu/menu/audio/musica.wav");
  21.    play_sample(musica,200,150,1000,0);
  22.  
  23.  
  24.    bool salida = false;
  25.    while(!salida)
  26.        {
  27.           if(mouse_x > 13 && mouse_x < 345 &&
  28.              mouse_y > 287 && mouse_y < 342)
  29.              {
  30.                  blit(FONDO1,buffer,0,0,0,0,640,480);
  31.                  if(mouse_b & 1)
  32.                  {
  33.                     salida = true; // como podria poner ahi que se imprimiera sobre la pantalla una nueva iagen, otro menu.
  34.                  }
  35.              }
  36.            else if(mouse_x > 19 && mouse_x < 231 &&
  37.              mouse_y > 391 && mouse_y < 463 )
  38.              {
  39.                  blit(FONDO2,buffer,0,0,0,0,640,480);
  40.                  if(mouse_b & 1)
  41.                  {
  42.                      salida = true;
  43.                  }
  44.              }
  45.            else blit(FONDO,buffer,0,0,0,0,640,480);
  46.            masked_blit(cursor,buffer,0,0,mouse_x,mouse_y,40,34);
  47.            blit(buffer,screen,0,0,0,0,640,480);
  48.        }
  49.  
  50.    destroy_bitmap(buffer);
  51.  
  52.    return 0;
  53. }
  54. END_OF_MAIN();
  55.  
[/spoiler]

la duda es que he intentado imprimir otra imagen cuando se pulsa click derecho sobre unas coordenadas dadas en el area de un rectangulo sin embargo me tira un error. en el codigo de arriba no he puesto la imagen y va bien y en este:

[spoiler]
Código
  1. #include <allegro.h>
  2.  
  3. int main()
  4. {
  5.    allegro_init();
  6.    install_mouse();
  7.    install_keyboard();
  8.    set_color_depth(32);
  9.    set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);
  10.  
  11.    BITMAP *buffer = create_bitmap(640, 480);
  12.    BITMAP *FONDO = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/FONDO.bmp", NULL);
  13.    BITMAP *FONDO1 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/FONDO1.bmp", NULL);
  14.    BITMAP *FONDO2 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/FONDO2.bmp", NULL);
  15.    BITMAP *cursor = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/cursor3.bmp", NULL);
  16.    BITMAP *comenzar = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/comenzar.bmp", NULL);
  17.    BITMAP *comenzar1 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/comenzar1.bmp", NULL);
  18.    BITMAP *comenzar2 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/comenzar2.bmp", NULL);
  19.    BITMAP *comenzar3 = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu/imagenes/comenzar3.bmp", NULL);
  20.    SAMPLE *musica;
  21.  
  22.    if (install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL) != 0) { allegro_message("Error: inicializando sistema de sonido\n%s\n", allegro_error); return 1; }
  23.    set_volume(100, 100);
  24.    musica = load_sample("C://users/alvaro/Desktop/menu/menu/menu/audio/musica.wav");
  25.    play_sample(musica,200,150,1000,0);
  26.  
  27.  
  28.    bool salida = false;
  29.    while(!salida)
  30.        {
  31.           if(mouse_x > 13 && mouse_x < 345 &&
  32.              mouse_y > 287 && mouse_y < 342)
  33.              {
  34.                  blit(FONDO1,buffer,0,0,0,0,640,480);
  35.                  if(mouse_b & 1)
  36.                  {
  37.                      if(mouse_x > 9 && mouse_x < 222 &&
  38.                      mouse_y > 365 && mouse_y < 442 )
  39.                      {
  40.                          blit(comenzar1,buffer,0,0,0,0,640,480);
  41.                          if(mouse_b & 1)
  42.                          {
  43.                              salida = true;
  44.                          }
  45.                      }
  46.  
  47.                      else if(mouse_x > 294 && mouse_x < 627 &&
  48.                      mouse_y > 372 && mouse_y < 435 )
  49.                      {
  50.                          blit(comenzar2,buffer,0,0,0,0,640,480);
  51.                          if(mouse_b & 1)
  52.                          {
  53.                              salida = true;
  54.                          }
  55.                      }
  56.  
  57.                      else if(mouse_x > 376 && mouse_x < 514 &&
  58.                      mouse_y > 31 && mouse_y < 90 )
  59.                      {
  60.                          blit(comenzar3,buffer,0,0,0,0,640,480);
  61.                          if(mouse_b & 1)
  62.                          {
  63.                              salida = true;
  64.                          }
  65.                      }
  66.  
  67.                      else blit(comenzar,buffer,0,0,0,0,640,480);
  68.                  }
  69.              }
  70.            else if(mouse_x > 19 && mouse_x < 231 &&
  71.              mouse_y > 391 && mouse_y < 463 )
  72.              {
  73.                  blit(FONDO2,buffer,0,0,0,0,640,480);
  74.                  if(mouse_b & 1)
  75.                  {
  76.                      salida = true;
  77.                  }
  78.              }
  79.            else blit(FONDO,buffer,0,0,0,0,640,480);
  80.            masked_blit(cursor,buffer,0,0,mouse_x,mouse_y,40,34);
  81.            blit(buffer,screen,0,0,0,0,640,480);
  82.        }
  83.  
  84.    destroy_bitmap(buffer);
  85.  
  86.    return 0;
  87. }
  88. END_OF_MAIN();
  89.  
[/spoiler]

he intentado crear otro menu al darle click en las coordenadas dadas de comenzar pero no funciona. creo que la he liado mucho ahi jaja me lie hasta yo :P si alguien sabe como puedo hacerlo o alguna funcion para hacerlo que me lo diga. Gracias
3  Programación / Programación C/C++ / Problema imagenes c++ en: 19 Julio 2013, 13:39 pm
Hola, estoy usando la libreria de allegro para crear un menu. si ejecuto el programa con imagenes de 640*480 me va bien pero no es la resolucion idonea que quiero por lo que escojo imagenes de 1280*720 lo que seria hd y el programa al compilar no me da errores pero no puedo ejecutarlo me dice this aplication has requested the runtime to terminate it in an unusual way. Alguien me podria decir si algo esta mal o como poner imagenes mas grandes de la resolucion 640*480. PD: cargo las imagenes en una ruta por lo que aunque cambie el ejecutable de directorio siempre localiza las imagenes.

Código:
#include <allegro.h>

int main()
{
    allegro_init();
    set_color_depth(32);
    install_mouse();
    install_keyboard();
    set_gfx_mode(GFX_AUTODETECT, 1280, 720, 0, 0);

    BITMAP *buffer = create_bitmap(1280, 720);
    BITMAP *FONDO = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu grande/imagenes/fondo.bmp", NULL);
    BITMAP *FONDO1 = load_bitmap("C://users/alvaro/Desktop/menu/menu grande/imagenes/menu/fondo1.bmp", NULL);
    BITMAP *FONDO2 = load_bitmap("C://users/alvaro/Desktop/menu/menu grande/imagenes/menu/fondo2.bmp", NULL);
    BITMAP *FONDO3 = load_bitmap("C://users/alvaro/Desktop/menu/menu grande/imagenes/menu/fondo3.bmp", NULL);
    BITMAP *CURSOR = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu grande/imagenes/cursor.bmp", NULL);

    bool salida = false;
    while(!salida)
        {
           if(mouse_x > 54 && mouse_x < 514 &&
              mouse_y > 84 && mouse_y < 150)
              {
                  blit(FONDO1,buffer,0,0,0,0,1280,720);
                  if(mouse_b & 1)
                  {
                      salida = true;
                  }
              }
            else if(mouse_x > 55 && mouse_x < 672 &&
              mouse_y > 263 && mouse_y < 353 )
              {
                  blit(FONDO2,buffer,0,0,0,0,1280,720);
                  if(mouse_b & 1)
                  {
                      salida = true;
                  }
              }
             else if(mouse_x > 49 && mouse_x < 321 &&
              mouse_y > 493 && mouse_y < 573 )
              {
                  blit(FONDO3,buffer,0,0,0,0,1280,720);
                  if(mouse_b & 1)
                  {
                      salida = true;
                  }
              }
            else blit(FONDO,buffer,0,0,0,0,1280,720);
            masked_blit(CURSOR,buffer,0,0,mouse_x,mouse_y,50,39);
            blit(buffer,screen,0,0,0,0,1280,720);
        }

    destroy_bitmap(buffer);

    return 0;
}
END_OF_MAIN();

la imagen cambia las letras de color cuando paso el raton por encima xD. Gracias
4  Programación / Programación C/C++ / eliminar caracteres en: 30 Octubre 2012, 18:04 pm
Hola veran quiero eliminar el primer y ultimo caracter de una cadena por ejemplo:

entrada: hola
salida: ol

se como quitar el ultimo pero no el primero:
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <string>
  5. #include <iostream>
  6.  
  7.  
  8. int main()
  9. {
  10.  char cadena[20];
  11.  printf("introduzca la cadena\n");
  12.  std::cin>>cadena;
  13.  int i = strlen(cadena) - 1;
  14.  cadena[i] = '\0';
  15.  printf("%s\n", cadena);
  16.  return 0;
  17. }

ayudenme porfavor

PD: en c xD me da = usar std::
5  Programación / Programación C/C++ / flooder en: 16 Octubre 2012, 18:09 pm
Hola alguien me dice por que no funciona este flooder xD nunca conecta con el servidor
Código
  1. #include <unistd.h>
  2. #include <stdio.h>
  3. #include <arpa/inet.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <netdb.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <iostream>
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13.  char request[1024];
  14.  char web[20];
  15.  int puertods;
  16.  printf("escribe la direccion web\n");
  17.  std::cin>>web;
  18.  printf("escribe el puerto (90 & 80) por defecto\n");
  19.  std::cin>>puertods;
  20.  struct hostent *host = gethostbyname(web);
  21.  if(!host)
  22.  {
  23.    printf("No se ha podido resolver la direccion del servidor");
  24.    exit(1);
  25.  }
  26.  struct sockaddr_in sock;
  27.  sock.sin_family = AF_INET;
  28.  sock.sin_port = htons(puertods);
  29.  sock.sin_addr.s_addr = inet_addr(host->h_addr);
  30.  
  31.  
  32. int sockfd = socket(AF_INET, SOCK_STREAM, 0);
  33. int aux = connect(sockfd, (struct sockaddr*) &sock, sizeof(sock));
  34. if(aux==-1)
  35. {
  36.  printf("No se pudo conectar al servidor");
  37.  exit(2);
  38. }
  39. sprintf(request, "GET / HTTP/1.1\nHost: %s\nUser-Agent: Mozilla/4.0\n\n ", host->h_name);
  40. for(aux=0; aux<2000; aux++)
  41. {
  42.   write(sockfd, request, strlen(request));
  43. }
  44.  
  45. }
  46.  
6  Programación / Programación C/C++ / contraseñas en: 16 Octubre 2012, 14:52 pm
Hola intento hacer un sistema de contraseñas pero debido a mi poca experiencia en la programacion de c o c++ no detecto el error por el cual el compilador no me deja compilarlo ya que me tira un error
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <iostream>
  4.  
  5. void pass();
  6. void cp();
  7. char contra[20];
  8. FILE *fichero = fopen("contrasen.txt", "wt");
  9.  
  10. int main()
  11. {
  12. printf("1.crear conraseña\n");
  13. printf("2.comprobacion\n");
  14. switch(getchar())
  15. {
  16.  case '1': pass();
  17.  break;
  18.  case '2': cp();
  19.  break;
  20. }
  21. fclose(fichero);
  22. return 0;
  23. }
  24.  
  25.  
  26. void pass()
  27. {
  28. printf("Escribe una contra\n");
  29. std::cin>>contra;
  30. fputs(contra, fichero);
  31. main();
  32. }
  33.  
  34. void cp()
  35. {
  36. char *resultado;
  37. resultado = fgets(contra, 20, fichero);
  38. printf("introduzca la contra\n");
  39. if(getchar()==resultado)
  40. {
  41.  printf("correcto");
  42. }
  43. else
  44. {
  45.  printf("incorrecto");
  46. }
  47. }

ayudenme plz
7  Programación / Programación C/C++ / ayuda con sockets en: 12 Octubre 2012, 11:26 am
hola veran hice un programa que te pide la web y un puerto y te saca por pantalla la ip(v4) del servidor donde este alojada la pagina sin embargo cuando lo inicio me pide la web y el puerto hasta ahi todo bien pero despues me sale el siguiente error "core dump"  el compilador ni me da problemas ni alertas ademas trabajo en ubuntu ayudenme plz
Código
  1. #include <sys/socket.h>
  2. #include <unistd.h>
  3. #include <fcntl.h>
  4. #include <netinet/in.h>
  5. #include <arpa/inet.h>
  6. #include <netdb.h>
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #include <string.h>
  10.  
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14.  int sockfd = socket(AF_INET, SOCK_STREAM, 0);
  15.  int stat = fcntl(sockfd, F_GETFL, 0);
  16.  char web[20];
  17.  int puertosd;
  18.      printf("Escriba el nombre de la web (www.nombre.extension)\n");
  19.      fgets(web, 20, stdin );
  20.      printf("Escriba el puero\n");
  21.      scanf("%d",&puertosd);
  22.      fcntl(sockfd, F_SETFL, stat | O_NONBLOCK);
  23.      struct hostent *host = gethostbyname(web);
  24.      struct sockaddr_in sock;
  25.      sock.sin_family = AF_INET;
  26.      sock.sin_port = htons(puertosd);
  27.      sock.sin_addr.s_addr = inet_addr(host->h_addr);
  28.      connect(sockfd, (struct sockaddr*) &sock, sizeof(sock));
  29.      printf("Nombre: %s\n", host->h_name);
  30.      printf("Direccion IP(v4) del servidor: %s\n", inet_ntoa(*((struct in_addr *)host->h_addr)));
  31.      close(sockfd);
  32.  
  33.  
  34.  
  35. return 0;
  36. }
8  Programación / Programación C/C++ / duda c++ en: 10 Octubre 2012, 20:43 pm
no se como hacer para que si un int te retorne char te devuelva un error en vez de un buffer overflow
esto es lo que tengo ya se que os puede parecer una aberracion pero no se me ocurre otra cosa
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int num;
  8.    cout<<"escribe un numero"<<endl;
  9.    cin>>num;
  10.    if (num return char)
  11.    {
  12.        cout<<"no ha escrito un numero"<<endl;
  13.    }
  14.    else
  15.    {
  16.        cout<<num<<endl;
  17.    }
  18. }
  19.  
9  Programación / Programación C/C++ / Plugins en c/c++ en: 4 Octubre 2012, 21:35 pm
ola he buscado por google aver si encontraba algún tuto/manual de plugins en c/c++ y no lo he encontrado xD alguien sabe de algún tuto bueno para aprender de plugins en c/c++ hacerlos y demás gracias
10  Programación / Programación C/C++ / duda c++ en: 2 Octubre 2012, 11:58 am
Hola veran me gustaria saber como hacer que cuando se le pida un numero al usuario para acceder a un menu no tenga que escribirlo, si no solo pulsarlo ej:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int num;
  8.    cout<<"pulse 1 para acceder a menu1"<<endl;
  9.    cout<<"pulse 2 para acceder a menu2"<<endl;
  10.    cin>>num; /* aqui lee la variable pero tienes que escribirla y pulsar intro
  11.                  y yo quiero que lo coja directamente al pulsar el numero en el
  12.                  teclado */
  13.    switch(num)
  14.    {
  15.        case '1': cout<<"ha accedido al menu 1"<<endl;
  16.        break;
  17.        case '2': cout<<"ha accedido al menu 2"<<endl;
  18.        break;
  19.    }
  20.    return 0;
  21. }

no se si sera con (stdin) y la biblioteca cstdio espero respuesta :D
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines