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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Re-Post- El otro no abre! :S - Unir Interfaz con Codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Re-Post- El otro no abre! :S - Unir Interfaz con Codigo  (Leído 1,726 veces)
>Tyrael<

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re-Post- El otro no abre! :S - Unir Interfaz con Codigo
« en: 26 Junio 2011, 19:26 pm »

TENGO ESTE CODIGO HECHO EN DEV C++ MI IDEA ES UNIRLO A LA INTERFAZ QUE ESTA MAS ABAJO... PUEDEN MODIFICARLA TODO LO QUE QUIERAN, LO QUE QUIERO REALIZAR ES UN CONVERTIDOR DE DEC A BINARIO Y A HEXADECIMAL CON SUS POSIBLES COMBINACION... EL CODIGO AUN NO ESTA TERMINADO PERO DE MOMENTO ASI COMO ESTA ME GUSTARIA PONERLE INTERFAZ DE MODO Q ME SIRVA PARA IR APRENDIENDO.. CREO Q HA MUCHO EN LA COMUNIDAD LES SERVIRIA DE EJEMPLO PS ES UN CODIGO SENCILLO Y UN PROGRAMA NADA COMPLICADO, PERO QUE A NIVEL DE INTERFAZ ESCAPA DE MIS CONOCIMIENTOS.. ESPERO PUEDAN AYUDARME


#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

void menu();
void trans(int);

main()
{
    menu();
}

void menu()
{
   int tipo=0, opc;
   do
   {
      cout<<endl;
      cout<<" [1] Decimal-Binario"<<endl;
     cout<<" [2] Decimal-Hexadecimal"<<endl;
      cout<<" [3] Salir"<<endl;
      cin>>opc;
   }while((opc<1)||(opc>3));
   switch(opc)
   {
      case 1:
        system("cls");
        tipo=2;
         trans(tipo);
         system("cls");
         menu();
         break;
      case 2:
        system("cls");
         tipo=16;
         trans(tipo);
         system("cls");
         menu();
         break;
   }
}

void trans(int tipo)
{
     int num, resto[100], vector[100], cociente[100], i=0, j=0, ndiv=0, cont;
    char resp;
 
   do
   {
         cout<<" Numero: "; cin>>num;
         do
         {
               resto=(num%tipo);
               ndiv++;
                 cociente=(num/tipo);
               num=cociente;
              i++;
         }while(cociente[i-1]!=0);
         cout<<" El numero nuevo seria: ";
         j=(ndiv-1);
         for (int z=0; z<ndiv; z++)
         {     
               cont=0;
               do
               {
                    vector[z]=resto[j];
                    j--;
                    cont=1;
               }while(cont!=1);
         }
         for (int x=0; x<ndiv; x++)
         {
             if(tipo==16)
             {
                    if((vector
  • >-1)&&(vector
  • <10))
                    {
                          cout<<vector
  • ;
                    }
                   if(vector
  • ==10)
                    {
                         cout<<"A";
                    }
                    if(vector
  • ==11)
                    {
                         cout<<"B";
                    }
                   if(vector
  • ==12)
                    {
                          cout<<"C";
                    }
                   if(vector
  • ==13)
                    {
                          cout<<"D";
                    }
                   if(vector
  • ==14)
                    {
                        cout<<"E";
                    }
                   if(vector
  • ==15)
                    {
                        cout<<"F";
                    }
             }
             else
             {
                  cout<<vector
  • ;
             }
         }
         cout<<endl;
         cout<<" Desea repetir [S/N]: ";
         cin>>resp;
         if ((resp=='s')||(resp=='S'))
         {
              ndiv=0;
            i=0;
            j=0;
            for(int c=0; c<20; c++)
            {
                  vector[c]=0;
               resto[c]=0;
                 cociente[c]=0;
            }
         }
    }while((resp=='s')||(resp=='S'));
}

ACA ESTA EL CODIGO DE LA INTERFAZ TAMBIEN HECHO EN DEV C++

#include <windows.h>
#include "IDS.h"
#define ID_ActionButton 101


LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

typedef struct stDatos {
   int Texto[80];
} DATOS;

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    HWND hwnd;               
    MSG mensaje;             
    WNDCLASSEX wincl;       
   
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = "Ventana";
    wincl.lpfnWndProc = WindowProcedure;     
    wincl.style = CS_DBLCLKS;               
    wincl.cbSize = sizeof (WNDCLASSEX);

    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = "Menu";
    wincl.cbClsExtra = 0;                     
    wincl.cbWndExtra = 0;                     

    wincl.hbrBackground = GetSysColorBrush(COLOR_BACKGROUND);

    if(!RegisterClassEx(&wincl)) return 0;

    hwnd = CreateWindowEx(
           0,                   /* Posibilidades de variación */
           "Ventana",     /* Nombre de la clase */
           "Programa Beta",       /* Texto del título */
           WS_OVERLAPPEDWINDOW, /* Tipo por defecto */
           CW_USEDEFAULT,       /* Windows decide la posición */
           CW_USEDEFAULT,       /* donde se coloca la ventana */
           544,                 /* Ancho */
           275,                 /* Alto en pixels */
           HWND_DESKTOP,        /* La ventana es hija del escritorio */
           NULL,                /* Sin menú */
           hThisInstance,       /* Manipulador de instancia */
           NULL                 /* No hay datos de creación de ventana */
    );

    /* Mostrar la ventana */
    ShowWindow(hwnd, SW_SHOWDEFAULT);

    /* Bucle de mensajes, se ejecuta hasta que haya error o GetMessage devuelva FALSE */
    while(TRUE == GetMessage(&mensaje, NULL, 0, 0))
    {
        /* Traducir mensajes de teclas virtuales a mensajes de caracteres */
        TranslateMessage(&mensaje);
        /* Enviar mensaje al procedimiento de ventana */
        DispatchMessage(&mensaje);
    }

    /* Salir con valor de retorno */
    return mensaje.wParam;
}

/*  Esta función es invocada por la función DispatchMessage()  */
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static HINSTANCE hInstance;
    static HWND hwndButton = 0;
   
    /* Variables para diálogo */
    static DATOS Datos;
    static HFONT hfont;

    HWND hctrl;

    switch (msg)                  /* manipulador del mensaje */
    {
        case WM_CREATE:
           hwndButton = CreateWindow ("button","Decimal",
           WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,50,40, 61, 20,
           hwnd,(HMENU)ID_ActionButton,((LPCREATESTRUCT) lParam)->hInstance,NULL);
           
           hwndButton = CreateWindow ("button","Binario",
           WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,150,40, 61, 20,
           hwnd,(HMENU)ID_ActionButton,((LPCREATESTRUCT) lParam)->hInstance,NULL);
           
           hwndButton = CreateWindow ("button","Hexadecimal",
           WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,250,40, 90, 20,
           hwnd,(HMENU)ID_ActionButton,((LPCREATESTRUCT) lParam)->hInstance,NULL);
           
           hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
           /* Insertar control Edit */
           hctrl = CreateWindowEx(
              0,
              "EDIT",          /* Nombre de la clase */
              "",              /* Texto del título, no tiene */
              ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, /* Estilo */
              80, 100,          /* Posición */
              100, 20,         /* Tamaño */
              hwnd,            /* Ventana padre */
              (HMENU)ID_TEXTO, /* Identificador del control */
              hInstance,       /* Instancia */
              NULL);           /* Sin datos de creación de ventana */
           /* Inicialización de los datos de la aplicación */
           SendMessage(hctrl, EM_SETLIMITTEXT, 10, 0L);
           SendMessage(hctrl, WM_SETTEXT, 0, (LPARAM)Datos.Texto);
           hfont = (HFONT)GetStockObject( DEFAULT_GUI_FONT );
           SendMessage(hctrl, WM_SETFONT, (WPARAM)hfont, MAKELPARAM(TRUE, 0));
           SetFocus(hctrl);           
           return 0;
        case WM_COMMAND:
           switch(LOWORD(wParam)) {
              case ID_ActionButton:
                    //Datos.Texto=Datos.Texto+100;
                    SendMessage(hctrl, WM_SETTEXT, 0, (LPARAM)Datos.Texto);       
               break;
              case CM_SALIR:
                DestroyWindow(hwnd);
              break;
           }
           break;           
        case WM_DESTROY:
           DeleteObject(hfont);
           PostQuitMessage(0);    /* envía un mensaje WM_QUIT a la cola de mensajes */
           break;
        default:                  /* para los mensajes de los que no nos ocupamos */
           return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}


ACA EL CODIGO DEL FICHERO IDS.H

/* Identificadores */

/* Identificadores de comandos */
#define CM_DIALOGO 101
#define CM_SALIR   103

/* Identificadores de diálogo */
#define ID_TEXTO 100
#define ID_ACTIVAR 101

Y ACA EL CODIGO DEL FICHERO DE RECURSOS

#include <windows.h>
#include "IDS.H"

Menu MENU
BEGIN
 POPUP "&Principal"
 BEGIN
  MENUITEM "&Salir", CM_SALIR
 END
END

-----------------------------------------------------------------------------------------------

NO SE COMO HACER PARA UNIR AMBOS PROGRAMAS... MI IDEA ES QUE CADA BOTON "DECIMAL, BINARIO Y HEXA" TENGAN UN CUADRO DE DIALOGO DONDE ESCRIBIR EL VALOR CORRESPONDIENTE (VALIDADO) Y QUE CUANDO PULSEN SOBRE EL BOTON EN CUESTION SALGA LA CONVERION EN LOS OTROS CUADROS DE DIALOGO.. ADEMAS DE UN BOTON "CLEAR" QUE BORRE TODOS LOS CAMPOS! ESPERO Q PUEDAN AYUDARME  :-\


En línea

>Tyrael<

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Re-Post- El otro no abre! :S - Unir Interfaz con Codigo
« Respuesta #1 en: 4 Julio 2011, 00:31 am »

BAAAA ACASO NADIE SABE COMO HACERLO?  :P


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Re-Post- El otro no abre! :S - Unir Interfaz con Codigo
« Respuesta #2 en: 4 Julio 2011, 00:37 am »

No dan ganas de leer el código si no usas el GeShi, así que primero lee las reglas y luego coloca tu código con el GeShi, que por algo está.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines