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 - diegoCmC

#2
Hola a todos. Ando creando una aplicacion en c#, y quiero mostrar una ventana desde mi aplicacion (como se haria con un messagebox).

El problema esta en que en lugar de una ventana con texto lo que quiero invocar es un grupo de textbox, pero sin que se encuentren dentro de una ventana con bordes, solo los textbox.

La unica solucion que he encontrado es crear un form, definir los bordes y el fondo transparentes, y poner dentro los textbox, pero mi pregunta es si no existe ninguna clase en System.windows.forms en la que se permita mostrar solo controles, sin falta de encontrarse en ventanas.

Espero que la pregunta quede mas o menos clara, que no es nada facil de explicar :huh:

gracias de antemano.
#3
Electrónica / Portatil hace Tic-tac
16 Junio 2013, 18:30 PM
Hola a todos. Tengo un problema con mi ordenador portátil (Toshiba satelite pro c-650)

Resulta que si no tengo conectada la batería el ordenador no enciende aunque esté conectado a la corriente.

Por otro lado, si pongo la batería, y el cable de corriente a la vez, me pasan 2 cosas:
- Si el ordenador está apagado, el funcionamiento es normal, y la batería se carga.
- Si enciendo el ordenador es como si no tuviera el cable conectado y funciona con la batería.

Y ya por ultimo, me he dado cuenta que al conectar el cable de corriente suena un tic tac muy bajito.

Alguien sabe cual puede ser el problema?
#4
A ver si alguien me puede orientar un poco sobre como hacer un código, no quiero códigos solo una idea de por donde van los tiros.

Resulta que tengo una aplicación en la que hay un cuadro de dibujo, en el que dibujo lineas, puntos, circunferencias, etc (tal como hace autocad), este cuadro está hecho en openGl, aunque mis aplicaciones las desarrollo en C#.

El problema está en que quiero ampliar la funcionalidad para que al pasar el ratón por encima de una linea me la seleccione. La cosa está en que la única idea que se me ocurre, es que cuando mueva el ratón, comprobar una a una las lineas con las coordenadas del ratón.

No creo que esta sea la mejor idea, por que como haya muchas lineas va a ser una perdida enorme de recursos, alguna idea de como puedo hacerlo, o esa es la única. Trate de buscar algo de información de como hace windows con sus botones, pero no encontré nada. A ver si alguien me orienta

Gracias de antemano =)
#5
Programación C/C++ / Usos fwrite, fread
11 Septiembre 2012, 17:09 PM
Hola a todos, estoy siguiendo un manual de programación, y ando con el manejo de ficheros, el problema es que me mandan mejorar un programa que ya he creado y no entiendo las mejoras.

En el programa leo los datos del fichero con fgets y fscanf para almacenarlos en el struct, y me mandan leerlos mediante fread y escribirlos con fwrite en lugar de con fprintf, pero no entiendo porque mejora eso el programa

A ver si alguien me orienta un poco, pongo el código que tengo hasta ahora, aunque no quiero que nadie implemente el uso de fwrite y fread, solo quiero una explicación

Un saludo


#include <stdio.h>
#include <string.h>

struct fecha{
    int dia, mes, año;
};

struct{
    char nombre[21], direccion[41], email[41];
    int telefono;
    struct fecha nacimiento;
}agenda[100];

int main(){
    int opcion;//Almacena la opcion elegida en el menu
    int i=0;//Contador del stuct para saber los datos leidos y escritos
    int j,k; //Variables auxiliares para los bucles
    int tipo_busqueda;
    char cadena_temporal[9], nombre_buscar[20]; //Cadenas auxiliares para leer numeros con gets()
    FILE* fichero;

    //Leemos los datos existentes
    fichero=fopen("agenda.dat", "rt");

    if(fichero==NULL){//Si no existe el fichero damos aviso de que lo vamos a crear
        printf("El fichero aun no existe, asi que se creara\n\n");
    }
    else{
        printf("Lectura correcta del fichero\n\n");
        while(! feof(fichero)){//Leemos los datos del fichero y los almacenamos en el struct
            fgetc(fichero);
            fgets(agenda[i].nombre,20,fichero);
            //Quitamos los espacios que hay antes de la cadena
            for(k=0; k<21;k++){
                if(agenda[i].nombre[k]!=' '){
                    j=0;
                    for(;k<21;k++){
                        agenda[i].nombre[j]=agenda[i].nombre[k];
                        j++;
                    }
                }
            }
            fgetc(fichero);
            fgets(agenda[i].direccion,40,fichero);
            //Quitamos los espacios que hay antes de la cadena
            for(k=0; k<41;k++){
                if(agenda[i].direccion[k]!=' '){
                    j=0;
                    for(;k<41;k++){
                        agenda[i].direccion[j]=agenda[i].direccion[k];
                        j++;
                    }
                }
            }
            fscanf(fichero,"%9d", &agenda[i].telefono);
            fgetc(fichero);
            fgets(agenda[i].email,40,fichero);
            //Quitamos los espacios que hay antes de la cadena
            for(k=0; k<41;k++){
                if(agenda[i].email[k]!=' '){
                    j=0;
                    for(;k<41;k++){
                        agenda[i].email[j]=agenda[i].email[k];
                        j++;
                    }
                }
            }
            fscanf(fichero,"%d%d%d", &agenda[i].nacimiento.dia, &agenda[i].nacimiento.mes,
                   &agenda[i].nacimiento.año);
            fgetc(fichero);
            i++;
        }
    }


    fclose(fichero);


    //Interactuamos con el usuario
    do{
        //Imprimimos el menu de opciones
        printf("1. Anadir nuevo dato\n");
        printf("2. Visualizar los nombres registrados\n");
        printf("3. Mostrar todos los datos de alguien\n");
        printf("4. Salir\n");
        printf("Opcion: ");
        gets(cadena_temporal);
        sscanf(cadena_temporal,"%1d", &opcion);
        printf("\n");

        if(opcion==1 && i>99){//Si la agenda esta llena no tomara mas datos
            printf("La agenda ya esta llena\n\n");

        }
        else{//Cuando la agenda no esta llena aun

            //Creamos un switch con las opciones
            switch(opcion){
                case 1://Añadimos un nuevo dato al struct
                    printf("Introduce el nombre: ");
                    gets(agenda[i].nombre);
                    printf("Introduce la direccion: ");
                    gets(agenda[i].direccion);
                    printf("Introduce el telefono: ");
                    gets(cadena_temporal);
                    sscanf(cadena_temporal,"%9d", &agenda[i].telefono);
                    printf("Introduce el e-mail: ");
                    gets(agenda[i].email);
                    printf("Introduce la fecha de nacimiento\n");
                    printf("\tdia: ");
                    gets(cadena_temporal);
                    sscanf(cadena_temporal,"%2d", &agenda[i].nacimiento.dia);
                    printf("\tmes: ");
                    gets(cadena_temporal);
                    sscanf(cadena_temporal, "%2d", &agenda[i].nacimiento.mes);
                    printf("\tanio: ");
                    gets(cadena_temporal);
                    sscanf(cadena_temporal, "%4d", &agenda[i].nacimiento.año);
                    i++;
                    break;
                case 2://Mostrar por pantalla los nombres registrados
                    for(j=0; j<i; j++){
                        puts(agenda[j].nombre);
                    }
                    printf("\n");
                    break;
                case 3://Mostrar todos los datos de alguna persona

                    do{//Busqueda parcial o busqueda completa
                        printf("Busqueda completa(0) o busqueda parcial(1): ");
                        gets(cadena_temporal);
                        sscanf(cadena_temporal, "%1d", &tipo_busqueda);
                        if(tipo_busqueda!=0 && tipo_busqueda!=1)
                            printf("La opcion introducida no es correcta\n");
                    }while(tipo_busqueda!=0 && tipo_busqueda!=1);

                    printf("Nombre a buscar: ");
                    gets(nombre_buscar);
                    printf("\n");

                    switch(tipo_busqueda){
                        case 0://Busqueda completa
                            for(j=0; j<i; j++){
                                if(strcmp(nombre_buscar,agenda[j].nombre)==0){
                                    printf("Nombre: %s, direccion: %s, Telefono %d\ne-mail: %s, Fecha nacimiento: %d/%d/%d\n\n",
                                        agenda[j].nombre, agenda[j].direccion, agenda[j].telefono, agenda[j].email,
                                        agenda[j].nacimiento.dia, agenda[j].nacimiento.mes, agenda[j].nacimiento.año);
                                }

                            }
                            break;
                        case 1://Busqueda parcial
                            for(j=0; j<i; j++){
                                if(strstr(agenda[j].nombre,nombre_buscar)!=NULL){
                                    printf("Nombre: %s, direccion: %s, Telefono %d\ne-mail: %s, Fecha nacimiento: %d/%d/%d\n\n",
                                        agenda[j].nombre, agenda[j].direccion, agenda[j].telefono, agenda[j].email,
                                        agenda[j].nacimiento.dia, agenda[j].nacimiento.mes, agenda[j].nacimiento.año);
                                }
                            }
                            break;
                        default:;
                    }
                    break;
                case 4://Opcion de salir
                    break;
                default: printf("La opcion elegida no es correcta\n");
            }
        }
        printf("\n");


    }while(opcion!=4);


    //Guardamos los datos existentes en el fichero de agenda
    fichero=fopen("agenda.dat", "wt");
    for(j=0; j<i; j++){
        if(j!=i-1){
            fprintf(fichero, "%20s%40s%9d%40s%2d %2d %4d\n", agenda[j].nombre, agenda[j].direccion, agenda[j].telefono,
                    agenda[j].email, agenda[j].nacimiento.dia, agenda[j].nacimiento.mes, agenda[j].nacimiento.año);
        }
        else
            fprintf(fichero, "%20s%40s%9d%40s%2d %2d %4d", agenda[j].nombre, agenda[j].direccion, agenda[j].telefono,
                    agenda[j].email, agenda[j].nacimiento.dia, agenda[j].nacimiento.mes, agenda[j].nacimiento.año);
    }

    fclose(fichero);

    return 0;
}
#6
Hardware / Ati 3650 con fuente de 250W?
24 Agosto 2012, 17:04 PM
Puedo conectar esta tarjeta grafica si tengo una fuente de solo 250W? es solo para hacer la prueba de si lo que falla en mi ordenador es la grafica
Un saludo
#7
Hola buenas, acabo de aprender el manejo de estructuras en lenguaje C, y me gustaría que me dierais vuestra opinión sobre un código
La función de esto seria saber que cosas hago y no debería hacer, o que no hago y debería de hacer, mas que nada para  no ir cogiendo vicios que no sean adecuados
Muchas gracias a todos.

Acabo de ver el post http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html tendre que echarle un ojo jeje
#include<stdio.h>

//Estructuras para los datos personales
struct nombre_completo{
   //Datos personales: Nombre Apellido Apellido
   char nombre[40], apellido1[40], apellido2[40];
};

struct fecha_nacimiento{
   int dia, mes, año;
};

//Estructura en la que se almacenaran todos los datos de una persona
struct datos{
   //Datos personales (estructura externa)
   struct nombre_completo persona;
   //Fecha de nacimiento (estructura externa)
   struct fecha_nacimiento nacimiento;
   long telefono;

};

//Funciones de asignacion de datos
struct nombre_completo nuevo_nombre(){
   struct nombre_completo nombre1;

   printf("Datos personales\n");
   printf("Dime tu nombre: ");
   fflush(stdin);
   gets(nombre1.nombre);
   printf("Primer apellido: ");
   fflush(stdin);
   gets(nombre1.apellido1);
   printf("Segundo apellido: ");
   fflush(stdin);
   gets(nombre1.apellido2);


   return nombre1;
}

struct fecha_nacimiento nueva_fecha(){
   struct fecha_nacimiento fecha1;

   printf("\nFecha de nacimiento\n");
   printf("Dia: ");
   fflush(stdin);
   scanf("%d", &fecha1.dia);
   printf("Mes: ");
   fflush(stdin);
   scanf("%d", &fecha1.mes);
   printf("Año: ");
   fflush(stdin);
   scanf("%d", &fecha1.año);

   return fecha1;
}

//Funcion que asigna todos los datos personales por medio de llamadas a las otras funciones
struct datos nuevos_datos(){
   struct datos usuario;

   //Llamada a la funcion que asigna Nombre y apellidos
   usuario.persona=nuevo_nombre();

   //Llamada a la funcion que asigna la fecha de nacimiento
   usuario.nacimiento=nueva_fecha();

   //Peticion del telefono al usuario
   printf("\nTelefono: ");
   fflush(stdin);
   scanf("%d",&usuario.telefono);

   return usuario;
}

//Funcion que imprime por pantalla los datos
void mostrar_datos(struct datos asignado){
   printf("\n\nLos datos que se han introducido son los siguientes:");
   printf("\n----------------------------------------------------\n");
   printf("Nombre completo: %s %s %s\n", asignado.persona.nombre, asignado.persona.apellido1, asignado.persona.apellido2);
   printf("Fecha de nacimiento: %d/%d/%d\n", asignado.nacimiento.dia, asignado.nacimiento.mes, asignado.nacimiento.año);
   printf("Numero de telefono: %d", asignado.telefono);

}


int main(){
   struct datos persona1;

   //Asignacion de datos a persona1
   persona1=nuevos_datos();

   //LLamada a la funcion que muestra los datos por pantalla
   mostrar_datos(persona1);

   return 0;
}
#8
Hola a todos, me gustaría formatear mi nokia C6, ya que con las aplicaciones que tengo y todo tengo la memoria muy llena, y ademas no me conecta al wifi de casa.

He leído que se puede hacer de 3 maneras.
- Hard reset (borrado completo del movil). Codigo: *#7370#
- Soft reset (no borra nada). Codigo *#7780#
- Mediante programa Nokia Qt SDK

Pero segun he leido se me borra la tienda ovi, y luego es complicado recuperarla. Ademas no se si se me quitara la liberacion que le he hecho al terminal
¿Alguien me puede explicar un poco el tema?
#9
Programación C/C++ / Duda con "cast" en C
18 Febrero 2012, 17:08 PM
Me parece que no entendi bien del todo eso del cast, ilustro mi idea con codigo a ver si alguien me puede corregir

Citar#include<stdio.h>

main()
{
      float numero=12.5, numero2=1.2;
      int division;
     
      division=(int)numero/numero2;
     
      printf("El valor de la division es %d\n", division);
     
      system("pause");
      return 0;
}

Cuando ejecuto este código, la idea que tengo yo es, que antes de realizar la división numero/numero2, lo que realiza es convertir numero a un entero de valor 12, y numero2 a un entero de valor 1, por lo tanto al dividirlos se almacenaria el resultado, 12, en la variable división, pero sin embargo el programa me muestra como resultado 9.
A ver is alguien puede ayudarme
#10
Hola.
Me gustaría saber si puedo crear una función cuya entrada sea una cadena de caracteres. En caso de que la respuesta sea que si, como haría la llamada
pongo un ejemplo que supongo que estará mas claro


//Programa que llama a una funcion con una cadena
#include<iostream>
using namespace std;
bool Analiza(char);

int main()
{
   // Almacenamos la cadena en la variable cifras[]
   char cifras[9];

   //Pedimos la cadena por pantalla
   cout<<"Introduce 9 caracteres: ";
   for(int i=0; i<9; i++) cin>>cifras[i];

   //Llamamos a la funcion con nuestros caracteres
   Analiza(cifras[9]); //Se que esta linea no funciona, y es en la que tengo dudas

   return 0;
}

//Funcion que analiza la cadena de caracteres
bool Analiza (char Letras[10])
{

}
#11
Tengo una duda con el siguiente programa que estoy creando, es de fines didacticos, y aun lo tengo en construccion, asi que me faltan cosas xD
la duda es como salgo de una cadena de caracteres cuando hay un espacio

En este ejemplo esta en la linea 31 y hago que salga cuando se encuentra un '.' como seria para salir cuando se encuentra un espacio o un intro??

//Programa que almacena el nombre y numero de telefono de 10 personas y permite mostrarlos
#include<iostream>
using namespace std;

struct Persona {
   char Nombre[65];
   long Telefono;
} Gente[10];

int main()
{
   //Mostramos por pantalla la utilidad del programa
   cout<<"Programa de almacenamiento de datos de personas"<<endl;
   cout<<"-----------------------------------------------"<<endl<<endl;

   char opcion;
   int CuentaLetras=0;

   //Creamos la interacion inicial para introducir los 10 datos
   for (int i=0; i<10; i++)
   {
       //mensaje inicial
       cout<<"Introduce un nombre: ";

       //Bucle que almacena los nombres en la variable
       do
       {
           cin>>Gente[i].Nombre[CuentaLetras];
           CuentaLetras++;
       }
       while(Gente[i].Nombre[CuentaLetras-1]!='.');
       CuentaLetras=0;
   }
   for(int i=0; i<10; i++)
   {
       cout<<Gente[i].Nombre;
   }

   //Creamos el menu de interacion con el usuario.
   do
   {
       cout<<"a) Buscar por nombre"<<endl;
       cout<<"b) Buscar por número de télefono"<<endl;
       cout<<"c) Salir"<<endl<<endl;
       cout<<"Pulsa una opcion: ";
       cin>>opcion;

       //Opcion a. Buscar por nombre

       //Opcion b. Buscar por número de telefono

   }
   //Opcion c. Salir
   while(opcion!='c');

   return 0;
}
#12
Redes / Problema inalambrico :S
20 Agosto 2010, 01:43 AM
hola gente!! desde que me pase a windows seven tengo un problema al que no le encuentro solucion, resulta que mi red inalambrica se cae cada poco tiempo y se vuelve a conectar sin yo tocar nada.
si le doy al boton de solucionar problemas, encuentra un problema en el punto de acceso, lo soluciona, pero el problema persiste.
el modelo de mi tarjeta inalambrica es "atheros AR5007EG wireless network adapter", y mi S.O. es windows seven ultimate x64.
a ver si alguien tiene alguna idea, y gracias de antemano
#13
Diseño Gráfico / como darle relieve
2 Julio 2008, 01:29 AM
jejeje el de las comparaciones de fotos vuelve jeje, abro un nuevo post por que tampoco se parece mucho al otro, aunque si lo de igualar fotos  ;)

Esta vez es con escudos de futbol aqui os pongo los ejemplos y a ver si alguien sabe lo que tengo que hacer para intentar dejarlos iguales










Esos son 2 ejemplos

Por cierto no participo en ninguna competicion de iguala esto ni nada parecido jeje, pero el que los hizo es ingles, y se dejo la 2 division española sin hacer (Y mas ligas :P), y a mi me gusta modificar mis juegos para que sean mas bonitos  :)

Ahhhh y con la tonteria estoy aprendiendo photoshop jeje a base de leer manuales para intentarlo yo antes de preguntar y eso...

Gracias de antemano
#14
Diseño Gráfico / Alguien sabe hacerlo??
30 Junio 2008, 14:37 PM
Hola a todos, tengo un grupo de banderas modificadas por alguien al que nisiquiera conozco  :-\, y me gustaria saber si algien puede sacarme/crearme la capa que montó encima de las imagenes, para poder ponerla yo encima del resto de banderas que tengo y asi tenerlas todas con el mismo efecto ;), ahi os dejo las imagenes modificadas y sin modificar para que veais









Por cierto si puede ser que la capa este al tamaño de las modificadas (128x128)

Muchas gracias  ;)
#15
PHP / duda descarga forzada
30 Noviembre 2007, 17:31 PM
hola a todos. He encontrado por internet un codigo de descarga forzada al k se accede mediante este enlace

Citar<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> Descargar Archivos de Audio </TITLE>
</HEAD>

<BODY onload="window.location = 'download.php?file=audio.mp3';">
   Acá va el contenido que quiero mostrar y el enlace para descargar el archivo
</BODY>
</HTML>


Y el codigo del download.php es el siguiente

Citar<?php

$filename = $_GET['file'];

// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
  ini_set('zlib.output_compression', 'Off');

// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));

if( $filename == "" )
{
  echo "<html><title>eLouai's Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
  exit;
} elseif ( ! file_exists( $filename ) )
{
  echo "<html><title>eLouai's Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
  exit;
};
switch( $file_extension )
{
  case "pdf": $ctype="application/pdf"; break;
  case "exe": $ctype="application/octet-stream"; break;
  case "zip": $ctype="application/zip"; break;
  case "doc": $ctype="application/msword"; break;
  case "xls": $ctype="application/vnd.ms-excel"; break;
  case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  case "gif": $ctype="image/gif"; break;
  case "png": $ctype="image/png"; break;
  case "jpeg":
  case "jpg": $ctype="image/jpg"; break;
  default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();

?>

Yo quiero forzar la descarga de un mp3 llamado (temademusica.mp3) k tendria k cambiar?? para crear el download.php basta con hacerlo en el block de notas y darle la extension php??

Agradeceria la ayuda y ser claros por favor k de php soy nulo :-[ :-[