Título: Re-Post- El otro no abre! :S - Unir Interfaz con Codigo Publicado por: >Tyrael< 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
cout<<vector
if(vector
cout<<"A"; } if(vector
cout<<"B"; } if(vector
cout<<"C"; } if(vector
cout<<"D"; } if(vector
cout<<"E"; } if(vector
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 :-\ Título: Re: Re-Post- El otro no abre! :S - Unir Interfaz con Codigo Publicado por: >Tyrael< en 4 Julio 2011, 00:31 am BAAAA ACASO NADIE SABE COMO HACERLO? :P
Título: Re: Re-Post- El otro no abre! :S - Unir Interfaz con Codigo Publicado por: leogtz 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á.
|