Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<Windows.h>
- #include<stdlib.h>
- #include "resource.h"
- #include <iostream>
- #include<sstream>
- #include<string.h>
- #include<Commctrl.h>
- #include<strsafe.h>
- #include<ctime>
- #include<fstream>
- using namespace std;
- HWND hWnd, hBtnGuardar, hComboEsp, hDilg3, hFoto4ever, hComboHora;
- HINSTANCE hInstance, hDlg1, hDlg2, hDlg3, hDlg4, hDlg5, hDlg6, hDlg7, hDlg8, hDlg9; /*Instancia de cada uno*/
- HWND hTxtUsu, hTxtContra, hLbA, hStaticPM;
- bool paso = NULL;
- int CBpos, validfoto = 0, validatos, validatoss;
- //estructura
- int d = 0; //doctores
- int c = 0; //citas
- int i = 0; //eliminar
- int PhotoMasc = 0;
- int MostrarImagen = 0;
- int pos, vez = 0;
- HWND hLb1;
- //variables de funciones call_IDCC_DLG3
- char txtName[50], txtCedula[30];
- int txtCedulaI;
- //para foto
- HBITMAP hBmpFoto;
- HWND hPcFoto, hPcFotoMas, hCalendar, hStatic;
- string dia, mes, año, fecha;
- struct doctores { //aqui me equivoque porque namas es uno sjn
- char chFilePhoto[MAX_PATH] = "";
- char Name[40];
- char Cedula[10];
- } docs[50];
- struct appointment {
- char nombre_cliente[40];
- char nombre_mascota[10];
- char telefono[12];
- char tipo_de_mascota[15];
- char costo_consulta[10];
- int year, month, day;
- char chFilePhotoMasc[MAX_PATH];
- char chFilePhotoMasc1[MAX_PATH];
- char motivoconsulta[MAX_PATH];
- char hora[6];
- int horaverdadera;
- };
- appointment citas[50] = { 0 };
- appointment citastempo = { 0 };
- int GetSelectedDate(HWND hStatic, HWND hCalendar);
- int posicion(HWND hDlg);
- void pagototal_i(int mes);
- void pagototal_s(int mes);
- void guardar_info(); //colocarlo en salir
- void leer_info();
- BOOL CALLBACK LOGIN(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); /*dialogo principal*/
- BOOL CALLBACK call_IDD_DIALOG1(HWND hDlg1, UINT msg, WPARAM wParam, LPARAM lParam); //demas dialogos vacio CREO QUE TENGO QUE BORRARLO(?)
- BOOL CALLBACK call_IDCC_DLG2(HWND hDlg2, UINT msg, WPARAM wParam, LPARAM lParam); /*dialogo info*/
- BOOL CALLBACK call_IDCC_DLG3(HWND hDilg3, UINT msg, WPARAM wParam, LPARAM lParam); /*dialogo Alta Cambio*/
- BOOL CALLBACK call_IDCC_DLG4(HWND hDlg4, UINT msg, WPARAM wParam, LPARAM lParam); /*dialogo Alta Cambio*/
- BOOL CALLBACK call_IDCAGENDA_CAMBIO(HWND hDlg7, UINT msg, WPARAM wParam, LPARAM lParam); /*venatana cambio de cita*/
- BOOL CALLBACK call_AGENDA(HWND hDlg8, UINT msg, WPARAM wParam, LPARAM lParam); /*dialogo agenda*/
- BOOL CALLBACK call_IDDPAGAR(HWND hDlg9, UINT msg, WPARAM wParam, LPARAM lParam); /*dialogo pagar*/
- int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmdLine, int showCmd)
- {
- hInstance = hInst;
- hWnd = CreateDialog(hInst, MAKEINTRESOURCE(login), 0, LOGIN);
- ShowWindow(hWnd, showCmd);
- MSG msg;
- ZeroMemory(&msg, sizeof(MSG));
- while (GetMessage(&msg, 0, 0, 0))
- {
- if (hWnd == 0 || !IsDialogMessage(hWnd, &msg))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- return (int)msg.wParam;
- }
- BOOL CALLBACK LOGIN(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
- HWND hTxtUsu, hTxtContra;
- switch (msg)
- {
- case WM_CLOSE:
- if (!(MessageBoxA(NULL, "¿SEGURO QUE DESEA SALIR?", "ERROR", MB_YESNO) == IDNO))
- {
- DestroyWindow(hWnd);
- }
- break;
- case WM_COMMAND: {
- switch (LOWORD(wParam))
- {
- case IDC_BUTTON1:
- {
- int txtlenght = (int)GetWindowTextLength(GetDlgItem(hWnd, 1005));
- int txtlenghtC = (int)GetWindowTextLength(GetDlgItem(hWnd, IDC_EDIT2));
- char txtusuario[10], txtcontra[10];
- hTxtUsu = GetDlgItem(hWnd, 1005);
- hTxtContra = GetDlgItem(hWnd, IDC_EDIT2);
- GetWindowText(hTxtUsu, txtusuario, txtlenght + 1);
- GetWindowText(hTxtContra, txtcontra, txtlenghtC + 1);
- if (txtlenght == 0 || txtlenght > 4 || txtlenghtC == 0 || txtlenghtC > 4)
- {
- MessageBox(hWnd, "Falta llenar datos", "ERROR", MB_ICONERROR);
- }
- else {
- ifstream miTxt;
- miTxt.open("usuario.txt");
- if (!miTxt.is_open())
- break;
- string user, password;
- getline(miTxt, user);
- getline(miTxt, password);
- if (strcmp(user.c_str(), txtusuario) == 0 && strcmp(password.c_str(), txtcontra) == 0)
- {
- ShowWindow(hWnd, SW_HIDE);
- DialogBox(hDlg1, MAKEINTRESOURCE(IDCC_DLG2), hWnd, call_IDCC_DLG2);
- }
- else
- {
- MessageBox(hWnd, "Entrada inválida", "ERROR", MB_ICONERROR);
- }
- }
- }
- }
- }
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- }
- return 0;
- }
- //BOOL CALLBACK call_IDD_DIALOG1(HWND hDlg1, UINT msg, WPARAM wParam, LPARAM lParam) {
- // hFoto4ever = GetDlgItem(hDlg1, IDC_STATICDOC4EVER);
- //
- // switch (msg)
- // {
- // case WM_COMMAND:
- // {
- // switch (LOWORD(wParam))
- // {
- // case ID_INFORMACION_DOCTORES:
- // DialogBox(hDlg2, MAKEINTRESOURCE(IDCC_DLG2), hDlg1, call_IDCC_DLG2);
- // break;
- //
- // case ID_NUEVACITA_ALTA:
- // DialogBox(hDlg4, MAKEINTRESOURCE(IDD_DIALOG3), hDlg1, call_IDCC_DLG4);
- // break;
- // case ID_AGENDA_VERAGENDA:
- // if (c > 0)
- // {
- // DialogBox(hDlg8, MAKEINTRESOURCE(IDD_AGENDA), hDlg1, call_AGENDA);
- //
- // }
- // else {
- // MessageBoxA(NULL, "No hay citas programadas, vuelva mas tarde", "ERROR", MB_ICONERROR);
- // }
- // break;
- // case IDC_SALIR: /*se va a guardar todo antes de salir*/
- // {
- //
- // //guardar en archivo binario
- //
- // if (!(MessageBoxA(NULL, "¿SEGURO QUE DESEA SALIR?", "ERROR", MB_YESNO) == IDNO))
- // {
- // DestroyWindow(hWnd);
- // }
- // break;
- // }
- //
- // }
- //
- // break;
- //
- // }
- // case WM_CLOSE: {
- // break;
- // }
- // }
- // return FALSE;
- //}
- BOOL CALLBACK call_IDCC_DLG2(HWND hDlg2, UINT msg, WPARAM wParam, LPARAM lParam) {
- switch (msg)
- {
- case WM_CLOSE:
- EndDialog(hDlg2, 0);
- break;
- case WM_COMMAND:
- {
- hLb1 = GetDlgItem(hDlg2, IDC_LIST1);
- switch (LOWORD(wParam))
- {
- case IDC_BUTTON1: {
- int pos = (int)SendDlgItemMessage(hDlg2, IDC_LIST1, LB_GETCURSEL, 0, 0);
- {
- if (pos < 0)
- {
- MessageBox(NULL, "Seleccione doctor", NULL, MB_ICONWARNING);
- }
- }
- SetWindowText(GetDlgItem(hDlg2, IDC_STATICDOC), docs[pos].Name);
- SetWindowText(GetDlgItem(hDlg2, IDC_STATICED), docs[pos].Cedula);
- HWND hPcFoto2 = GetDlgItem(hDlg2, 1029);
- SendMessage(hPcFoto2, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[pos].chFilePhoto, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE));
- } break;
- case IDC_BUTTON2:
- if (d < 0 || d < 1)
- {
- DialogBox(hDlg3, MAKEINTRESOURCE(IDD_DIALOG2), hDlg2, call_IDCC_DLG3);
- }
- else
- {
- MessageBox(NULL, "Solo se permite un doctor", NULL, MB_ICONWARNING);
- }
- break;
- case IDC_EDITARDOC:
- {
- CBpos = (int)SendDlgItemMessage(hDlg2, IDC_LIST1, LB_GETCURSEL, 0, 0);
- if (CBpos < 0)
- {
- MessageBox(NULL, "Seleccione doctor", NULL, MB_ICONWARNING);
- }
- else {
- paso = true;
- DialogBox(hDlg3, MAKEINTRESOURCE(IDD_DIALOG2), hDlg2, call_IDCC_DLG3);
- }
- } break;
- case IDC_ELIMINAR:
- CBpos = (int)SendDlgItemMessage(hDlg2, IDC_LIST1, LB_GETCURSEL, 0, 0);
- if (CBpos < 0)
- {
- MessageBox(NULL, "Seleccione doctor", NULL, MB_ICONWARNING);
- }
- SendMessage(hLb1, LB_DELETESTRING, CBpos, 0);
- for (int i = CBpos; i <= d; i++)
- {
- docs[i] = docs[i + 1];
- }
- SetWindowText(GetDlgItem(hDlg2, IDC_STATICDOC), "");
- SetWindowText(GetDlgItem(hDlg2, IDC_STATICED), "");
- HWND hPcFoto2 = GetDlgItem(hDlg2, 1029);
- SendMessage(hPcFoto2, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, NULL, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE));
- d--;
- docs[0].Name; //revisar
- break;
- }
- //menu ventanas
- switch (LOWORD(wParam))
- {
- /*case ID_INFORMACION_DOCTORES:
- DialogBox(hDlg2, MAKEINTRESOURCE(IDCC_DLG2), hDlg2, call_IDCC_DLG2);
- break;*/
- case ID_NUEVACITA_ALTA:
- ShowWindow(hDlg2, 0);
- DialogBox(hDlg4, MAKEINTRESOURCE(IDD_DIALOG3), hDlg2, call_IDCC_DLG4);
- break;
- case ID_AGENDA_VERAGENDA:
- if (c > 0)
- {
- ShowWindow(hDlg2, SW_HIDE);
- DialogBox(hDlg8, MAKEINTRESOURCE(IDD_AGENDA), hDlg2, call_AGENDA);
- }
- else {
- MessageBoxA(NULL, "No hay citas programadas, vuelva mas tarde", "ERROR", MB_ICONERROR);
- }
- break;
- case IDC_SALIR: /*se va a guardar todo antes de salir*/
- {
- //guardar en archivo binario
- if (!(MessageBoxA(NULL, "¿SEGURO QUE DESEA SALIR?", "ERROR", MB_YESNO) == IDNO))
- {
- DestroyWindow(hWnd);
- }
- break;
- }
- }
- break;
- }
- }
- return FALSE;
- }
- BOOL CALLBACK call_IDCC_DLG3(HWND hDilg3, UINT msg, WPARAM wParam, LPARAM lParam) /*dialogo Alta Cambio docs*/ {
- switch (msg)
- {
- case WM_INITDIALOG:
- {
- if (!(docs[CBpos].Name == 0 || docs[CBpos].Cedula ==0))
- {
- SetWindowText(GetDlgItem(hDilg3, IDC_NAME), docs[pos].Name);
- SetWindowText(GetDlgItem(hDilg3, IDC_CEDULA), docs[pos].Cedula);
- HWND hPcFoto2 = GetDlgItem(hDilg3, IDC_IMAGEDOC);
- SendMessage(hPcFoto2, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[pos].chFilePhoto, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE));
- }
- }
- break;
- case WM_CLOSE:
- EndDialog(hDilg3, 0);
- break;
- case WM_COMMAND:
- {
- HWND hName = GetDlgItem(hDilg3, IDC_NAME);
- HWND hCedula = GetDlgItem(hDilg3, IDC_CEDULA);
- int leng = (int)GetWindowTextLength(hName);
- int lengC = (int)GetWindowTextLength(hCedula);
- GetWindowText(hName, txtName, leng + 1);
- GetWindowText(hCedula, txtCedula, lengC + 1);
- paso;
- if (paso == true)
- {
- switch (LOWORD(wParam))
- {
- case IDC_CARGAR:
- {
- OPENFILENAME of;
- ZeroMemory(&of, sizeof(of));
- of.hwndOwner = hDilg3;
- of.lStructSize = sizeof(of);
- of.lpstrFile = docs[d].chFilePhoto;
- of.nMaxFile = MAX_PATH;
- of.lpstrDefExt = "BMP";
- of.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
- of.lpstrFilter = "Bitmap Files (*.bmp)\0*.bmp\0\0""";
- if (GetOpenFileName(&of)) {
- hPcFoto = GetDlgItem(hDilg3, IDC_IMAGEDOC);
- hBmpFoto = (HBITMAP)LoadImage(NULL, docs[d].chFilePhoto, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE);
- SendMessage(hPcFoto, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBmpFoto);
- SendMessage(hFoto4ever, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[d].chFilePhoto, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE));
- }
- }
- break;
- case IDC_REVISAR:
- {
- int a = strlen(docs[d].chFilePhoto);
- if (lengC == 0)
- {
- MessageBox(NULL, "NO INGRESÓ CEDULA", NULL, MB_OK);
- }
- else
- {
- for (int i = 0; i < lengC; i++)
- {
- if (!(isdigit(txtCedula[i])))
- {
- MessageBox(NULL, "Ingresó caracter invalido en cédula", NULL, MB_ICONERROR);
- validfoto = 2;
- break;
- }
- if (a == 0)
- {
- MessageBox(NULL, "NO INGRESÓ FOTO", NULL, MB_OK);
- validfoto = 3;
- break;
- }
- }
- }
- for (int i = 0; i < leng; i++)
- {
- if (!(isalpha(txtName[i]) || isspace(txtName[i])))
- {
- MessageBox(NULL, "Ingresó caracter invalido en nombre", NULL, MB_ICONERROR);
- validfoto = 3;
- break;
- }
- }
- if (validfoto != 0)
- {
- EnableWindow(GetDlgItem(hDilg3, IDC_GUARDAR), FALSE);
- validfoto = 0;
- }
- else {
- EnableWindow(GetDlgItem(hDilg3, IDC_GUARDAR), TRUE);
- }
- }
- break;
- case IDC_GUARDAR:
- {
- strcpy_s(docs[d].Name, 40, txtName);
- strcpy_s(docs[d].Cedula, 10, txtCedula);
- SendMessage(hLb1, LB_ADDSTRING, 0, (LPARAM)docs[d].Name);
- EndDialog(hDilg3, 0);
- }
- break;
- }
- //paso = false; /* de esta forma no volvera al mismo de editar*/
- }
- else { /*entrar cuando NO sea editar*/
- switch (LOWORD(wParam))
- {
- case IDC_CARGAR: /*explorador, guardar archivo, ponerlo y verificar si esta lleno el nombre del archivo*/
- {
- OPENFILENAME of;
- ZeroMemory(&of, sizeof(of));
- of.hwndOwner = hDilg3;
- of.lStructSize = sizeof(of);
- of.lpstrFile = docs[d].chFilePhoto;
- of.nMaxFile = MAX_PATH;
- of.lpstrDefExt = "BMP";
- of.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
- of.lpstrFilter = "Bitmap Files (*.bmp)\0*.bmp\0\0""";
- if (GetOpenFileName(&of)) {
- hPcFoto = GetDlgItem(hDilg3, IDC_IMAGEDOC);
- hBmpFoto = (HBITMAP)LoadImage(NULL, docs[d].chFilePhoto, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE);
- SendMessage(hPcFoto, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBmpFoto);
- SendMessage(hFoto4ever, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[d].chFilePhoto, IMAGE_BITMAP, 120, 120, LR_LOADFROMFILE));
- }
- break;
- }
- case IDC_REVISAR: /*deshabilitar los editas al momento de que este todo correcto y se habilita el boton de guardar*/
- {
- int a = strlen(docs[d].chFilePhoto);
- if (lengC == 0)
- {
- MessageBox(NULL, "NO INGRESÓ CEDULA", NULL, MB_OK);
- }
- else
- {
- if (a == 0)
- {
- MessageBox(NULL, "NO INGRESÓ FOTO", NULL, MB_OK);
- validfoto = 3;
- break;
- }
- for (int i = 0; i < lengC; i++)
- {
- if (!(isdigit(txtCedula[i])))
- {
- MessageBox(NULL, "Ingresó caracter invalido en cédula", NULL, MB_ICONERROR);
- validfoto = 2;
- break;
- }
- /*else
- {paso= true; }*/
- }
- }
- if (leng == 0)
- {
- MessageBox(NULL, "NO INGRESÓ NOMBRE", NULL, MB_OK);
- }
- else
- {
- for (int i = 0; i < leng; i++)
- {
- if (!(isalpha(txtName[i]) || isspace(txtName[i])))
- {
- MessageBox(NULL, "Ingresó caracter invalido en nombre", NULL, MB_ICONERROR);
- validfoto = 3;
- break;
- }
- //else { paso = true; }
- }
- }
- if (validfoto != 0)
- {
- EnableWindow(GetDlgItem(hDilg3, IDC_GUARDAR), FALSE);
- validfoto = 0;
- }
- else {
- EnableWindow(GetDlgItem(hDilg3, IDC_GUARDAR), TRUE);
- }
- break;
- }
- case IDC_GUARDAR:
- {
- strcpy_s(docs[d].Name, 40, txtName);
- strcpy_s(docs[d].Cedula, 10, txtCedula);
- SendMessage(hLb1, LB_ADDSTRING, 0, (LPARAM)docs[d].Name);
- d++;
- EndDialog(hDilg3, 0);
- break;
- }
- /* break;*/
- }
- }
- }
- break;
- }
- return FALSE;
- }
- BOOL CALLBACK call_IDCC_DLG4(HWND hDlg4, UINT msg, WPARAM wParam, LPARAM lParam) {
- switch (msg)
- {
- LPNMHDR lpNmHdr;
- case WM_INITDIALOG:
- {
- EnableWindow(GetDlgItem(hDlg4, 1053), FALSE);
- EnableWindow(GetDlgItem(hDlg4, 1054), FALSE);
- HWND hFoto4ev = GetDlgItem(hDlg4, IDC_STATICdoc4eve);
- SendMessage(hFoto4ev, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[0].chFilePhoto, IMAGE_BITMAP, 100, 100, LR_LOADFROMFILE));
- hComboEsp = GetDlgItem(hDlg4, IDC_COMBO1);
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Perro");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Gato");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Tortuga");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Hámster");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Cuyo");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Conejo");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Pájaro");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Pez");
- hComboHora = GetDlgItem(hDlg4, IDC_COMBO2);
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"09:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"10:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"11:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"12:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"13:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"14:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"15:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"16:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"17:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"18:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"19:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"20:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"21:00");
- }
- break;
- case WM_COMMAND:
- {
- switch (LOWORD(wParam))
- {
- case IDC_FOTOMASC:
- {
- if (vez < 2)
- {
- if (PhotoMasc == 0)
- {
- OPENFILENAME ofn;
- ZeroMemory(&ofn, sizeof(ofn));
- ofn.hwndOwner = hDlg4;
- ofn.lStructSize = sizeof(ofn);
- ofn.lpstrFile = citas[c].chFilePhotoMasc;
- ofn.nMaxFile = MAX_PATH;
- ofn.lpstrDefExt = "BMP";
- ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
- ofn.lpstrFilter = "Bitmap Files (*.bmp)\0*.bmp\0\0""";
- if (GetOpenFileName(&ofn)) {
- HWND hPcFotoMASC = GetDlgItem(hDlg4, IDC_STATICMASCO);
- HBITMAP hBmpFotoMasc = (HBITMAP)LoadImage(NULL, citas[c].chFilePhotoMasc, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc);
- }
- vez++;
- }
- if (PhotoMasc == 1)
- {
- OPENFILENAME ofn;
- ZeroMemory(&ofn, sizeof(ofn));
- ofn.hwndOwner = hDlg4;
- ofn.lStructSize = sizeof(ofn);
- ofn.lpstrFile = citas[c].chFilePhotoMasc1;
- ofn.nMaxFile = MAX_PATH;
- ofn.lpstrDefExt = "BMP";
- ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
- ofn.lpstrFilter = "Bitmap Files (*.bmp)\0*.bmp\0\0""";
- if (GetOpenFileName(&ofn)) {
- HWND hPcFotoMASC1 = GetDlgItem(hDlg4, IDC_STATICMASCO2);
- HBITMAP hBmpFotoMasc1 = (HBITMAP)LoadImage(NULL, citas[c].chFilePhotoMasc1, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- ShowWindow(GetDlgItem(hDlg4, IDC_STATICMASCO), SW_HIDE);
- SendMessage(hPcFotoMASC1, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc1);
- }
- vez++;
- }
- PhotoMasc++;
- if (PhotoMasc == 2)
- {
- EnableWindow(GetDlgItem(hDlg4, 1053), TRUE);
- EnableWindow(GetDlgItem(hDlg4, 1054), TRUE);
- PhotoMasc = 0;
- }
- else
- {
- EnableWindow(GetDlgItem(hDlg4, 1053), FALSE);
- EnableWindow(GetDlgItem(hDlg4, 1054), FALSE);
- }
- }
- }
- break;
- case IDC_GUARDARDATOS: /*observar que todos los campos estén llenos*/
- {
- validatos = 2;
- int txtlenghttel = (int)GetWindowTextLength(GetDlgItem(hDlg4, IDC_TELEFONO)); //telefono
- GetWindowText(GetDlgItem(hDlg4, IDC_TELEFONO), citas[c].telefono, txtlenghttel + 1);
- if (!(txtlenghttel == 8 || txtlenghttel == 12 || txtlenghttel == 10))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL TELEFONO", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- else
- {
- for (int i = 0; i < txtlenghttel; i++)
- {
- if (!(citas[c].telefono[i] == '1' || citas[c].telefono[i] == '2' || citas[c].telefono[i] == '3' || citas[c].telefono[i] == '4' || citas[c].telefono[i] == '5' || citas[c].telefono[i] == '6' || citas[c].telefono[i] == '7' || citas[c].telefono[i] == '8' || citas[c].telefono[i] == '9' || citas[c].telefono[i] == '0'))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL TELEFONO", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- }
- int txtlengmotiv = (int)GetWindowTextLength(GetDlgItem(hDlg4, IDC_EDIT4)); //motivo consulta
- GetWindowText(GetDlgItem(hDlg4, IDC_EDIT4), citas[c].motivoconsulta, txtlengmotiv + 1);
- int lenmasco = (int)GetWindowTextLength(GetDlgItem(hDlg4, IDC_NOMBREMASCO)); //nombre mascota
- GetWindowText(GetDlgItem(hDlg4, IDC_NOMBREMASCO), citas[c].nombre_mascota, lenmasco + 1);
- if (lenmasco == 0)
- {
- MessageBox(NULL, "INGRESE EL NOMBRE DE MASCOTA", NULL, MB_ICONERROR);
- validatos = 1;
- }
- for (int i = 0; i < lenmasco; i++)
- {
- if (!(isalpha(citas[c].nombre_mascota[i]) || isspace(citas[c].nombre_mascota[i])))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL NOMBRE DE MASCOTA", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- int lenclient = (int)GetWindowTextLength(GetDlgItem(hDlg4, IDC_NOMBRECLIENTE)); //nombre cliente
- GetWindowText(GetDlgItem(hDlg4, IDC_NOMBRECLIENTE), citas[c].nombre_cliente, lenclient + 1);
- if (lenclient == 0)
- {
- MessageBox(NULL, "INGRESE EL NOMBRE DEL CLIENTE", NULL, MB_ICONERROR);
- validatos = 1;
- }
- for (int i = 0; i < lenclient; i++)
- {
- if (!(isalpha(citas[c].nombre_cliente[i]) || isspace(citas[c].nombre_cliente[i])))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL NOMBRE DEL CLIENTE", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- int posCombo = (int)SendDlgItemMessage(hDlg4, IDC_COMBO1, CB_GETCURSEL, 0, 0); //especie
- if (posCombo < 0)
- {
- MessageBox(NULL, "Seleccione esepecie", NULL, MB_ICONWARNING);
- validatos = 1;
- }
- else {
- int lenmasco = GetWindowTextLength(GetDlgItem(hDlg4, IDC_COMBO1));
- GetWindowText(GetDlgItem(hDlg4, IDC_COMBO1), citas[c].tipo_de_mascota, lenmasco+1);
- }
- int posCombo2 = (int)SendDlgItemMessage(hDlg4, IDC_COMBO2, CB_GETCURSEL, 0, 0); //hora
- if (posCombo2 < 0)
- {
- MessageBox(NULL, "Seleccione hora de consulta", NULL, MB_ICONWARNING);
- validatos = 1;
- }
- else {
- int lenhora = GetWindowTextLength(GetDlgItem(hDlg4, IDC_COMBO2));
- GetWindowText(GetDlgItem(hDlg4, IDC_COMBO2), citas[c].hora, lenhora + 1);
- citas[c].horaverdadera = atoi(citas[c].hora);
- }
- int txtlenghtcost = (int)GetWindowTextLength(GetDlgItem(hDlg4, IDC_COSTO)); //costo
- GetWindowText(GetDlgItem(hDlg4, IDC_COSTO), citas[c].costo_consulta, txtlenghtcost + 1);
- if (txtlenghtcost == 0)
- {
- MessageBox(NULL, "INGRESE EL COSTO", NULL, MB_ICONERROR);
- validatos = 1;
- }
- int contpunt = 0;
- for (int i = 0; i < txtlenghtcost; i++)
- {
- if (citas[c].costo_consulta[i] == '.')
- {
- contpunt++;
- }
- if ((!(citas[c].costo_consulta[i] == '1' || citas[c].costo_consulta[i] == '2' || citas[c].costo_consulta[i] == '3' || citas[c].costo_consulta[i] == '4' || citas[c].costo_consulta[i] == '5'
- || citas[c].costo_consulta[i] == '6' || citas[c].costo_consulta[i] == '7' || citas[c].costo_consulta[i] == '8' || citas[c].costo_consulta[i] == '9'
- || citas[c].costo_consulta[i] == '0' || citas[c].costo_consulta[i] == '.')) || contpunt > 1)
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL COSTO", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- int a = strlen(citas[c].chFilePhotoMasc);
- int b = strlen(citas[c].chFilePhotoMasc1);
- if (a == 0 || b==0)
- {
- MessageBox(NULL, "NO INGRESÓ FOTO DE MASCOTA", NULL, MB_ICONERROR);
- validatos = 1;
- }
- if (validatos == 2 && validatoss == 2)
- {
- EndDialog(hDlg4, 0);
- c++;
- }
- }
- break;
- }
- if (MostrarImagen == 0)
- {
- if (LOWORD(wParam) == IDC_CAMBIOIM2 && HIWORD(wParam) == BN_CLICKED)
- {
- ShowWindow(GetDlgItem(hDlg4, IDC_STATICMASCO), SW_SHOW);
- ShowWindow(GetDlgItem(hDlg4, IDC_STATICMASCO2), SW_HIDE);
- }MostrarImagen = 1;
- }
- if (MostrarImagen == 1)
- {
- if (LOWORD(wParam) == IDC_CAMBIOIM1 && HIWORD(wParam) == BN_CLICKED)
- {
- ShowWindow(GetDlgItem(hDlg4, IDC_STATICMASCO), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg4, IDC_STATICMASCO2), SW_SHOW);
- }MostrarImagen = 0;
- }
- //menu ventanas
- switch (LOWORD(wParam))
- {
- case ID_INFORMACION_DOCTORES:
- DialogBox(hDlg2, MAKEINTRESOURCE(IDCC_DLG2), hDlg4, call_IDCC_DLG2);
- break;
- /*case ID_NUEVACITA_ALTA:
- EndDialog(hDlg2, FALSE);
- DialogBox(hDlg4, MAKEINTRESOURCE(IDD_DIALOG3), hDlg2, call_IDCC_DLG4);
- break;*/
- case ID_AGENDA_VERAGENDA:
- if (c > 0)
- {
- EndDialog(hDlg4, FALSE);
- DialogBox(hDlg8, MAKEINTRESOURCE(IDD_AGENDA), hDlg4, call_AGENDA);
- }
- else {
- MessageBoxA(NULL, "No hay citas programadas, vuelva mas tarde", "ERROR", MB_ICONERROR);
- }
- break;
- case IDC_SALIR: /*se va a guardar todo antes de salir*/
- {
- //guardar en archivo binario
- if (!(MessageBoxA(NULL, "¿SEGURO QUE DESEA SALIR?", "ERROR", MB_YESNO) == IDNO))
- {
- DestroyWindow(hWnd);
- }
- break;
- }
- }
- break;
- }
- case WM_CLOSE:
- break;
- case WM_NOTIFY:
- lpNmHdr = LPNMHDR(lParam); // el lpnmhdr es un puntero que te dirá qué pasó con el control(en este caso el calendario)
- //es en lparam porque ahi se alamcena la informacion de los controles
- if (lpNmHdr->code == MCN_SELECT)
- {
- hStatic = GetDlgItem(hDlg4, IDC_STATICDATE);
- hCalendar = GetDlgItem(hDlg4, IDC_MONTHCALENDAR1);
- GetSelectedDate(hStatic, hCalendar);
- break;
- }
- break;
- }
- return FALSE;
- }
- BOOL CALLBACK call_IDCAGENDA_CAMBIO(HWND hDlg5, UINT msg, WPARAM wParam, LPARAM lParam) /*dialogo cambio de cita*/
- {
- switch (msg)
- {
- LPNMHDR lpNmHdr;
- case WM_INITDIALOG:
- {
- //foto doc
- HWND hFoto4ev = GetDlgItem(hDlg5, IDC_STATICdoc4eve);
- SendMessage(hFoto4ev, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[0].chFilePhoto, IMAGE_BITMAP, 100, 100, LR_LOADFROMFILE));
- //foto 1
- HWND hPcFotoMASC = GetDlgItem(hDlg5, IDC_STATICMASCO);
- HBITMAP hBmpFotoMasc = (HBITMAP)LoadImage(NULL, citas[pos].chFilePhotoMasc, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc);
- //foto 2
- HWND hPcFotoMASC1 = GetDlgItem(hDlg5, IDC_STATICMASCO5);
- HBITMAP hBmpFotoMasc1 = (HBITMAP)LoadImage(NULL, citas[pos].chFilePhotoMasc1, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC1, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc1);
- hComboEsp = GetDlgItem(hDlg5, IDC_COMBO1);
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Perro");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Gato");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Tortuga");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Hámster");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Cuyo");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Conejo");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Pájaro");
- SendMessage(hComboEsp, CB_ADDSTRING, 0, (LPARAM)"Pez");
- hComboHora = GetDlgItem(hDlg5, IDC_COMBO2);
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"09:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"10:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"11:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"12:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"13:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"14:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"15:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"16:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"17:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"18:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"19:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"20:00");
- SendMessage(hComboHora, CB_ADDSTRING, 0, (LPARAM)"21:00");
- //Aquí va todo
- SetWindowText(GetDlgItem(hDlg5, IDC_NOMBRECLIENTE), citas[pos].nombre_cliente);
- SetWindowText(GetDlgItem(hDlg5, IDC_TELEFONO), citas[pos].telefono);
- SetWindowText(GetDlgItem(hDlg5, IDC_NOMBREMASCO), citas[pos].nombre_mascota);
- SetWindowText(hComboEsp, citas[pos].tipo_de_mascota);
- SetWindowText(GetDlgItem(hDlg5, IDC_EDIT4), citas[pos].motivoconsulta);
- SetWindowText(hComboHora, citas[pos].hora);
- SetWindowText(GetDlgItem(hDlg5, IDC_COSTO), citas[pos].costo_consulta);
- }
- break;
- case WM_COMMAND:
- {
- switch (LOWORD(wParam))
- {
- PhotoMasc = 0;
- char telefono[12];
- char photomasco[MAX_PATH];
- char photomasco1[260];
- char motivo[MAX_PATH];
- char nombremasco[10];
- char nombrecliente[40];
- char tipomasoc[15];
- char hora[5];
- char costo_consulta[10];
- case IDC_FOTOMASC:
- {
- if (PhotoMasc == 0)
- {
- if (strlen(citas[pos].chFilePhotoMasc) > 0)
- {
- strcpy_s(citas[pos].chFilePhotoMasc, 260, " ");
- }
- OPENFILENAME ofn;
- ZeroMemory(&ofn, sizeof(ofn));
- ofn.hwndOwner = hDlg5;
- ofn.lStructSize = sizeof(ofn);
- ofn.lpstrFile = citas[pos].chFilePhotoMasc;
- ofn.nMaxFile = MAX_PATH;
- ofn.lpstrDefExt = "BMP";
- ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
- ofn.lpstrFilter = "Bitmap Files (*.bmp)\0*.bmp\0\0""";
- if (GetOpenFileName(&ofn)) {
- HWND hPcFotoMASC = GetDlgItem(hDlg5, IDC_STATICMASCO);
- HBITMAP hBmpFotoMasc = (HBITMAP)LoadImage(NULL, citas[pos].chFilePhotoMasc, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc);
- }
- PhotoMasc++;
- break;
- }
- if (PhotoMasc == 1)
- {
- if (strlen(citas[pos].chFilePhotoMasc1) > 0)
- {
- strcpy_s(citas[pos].chFilePhotoMasc1, 260, " ");
- }
- OPENFILENAME ofn;
- ZeroMemory(&ofn, sizeof(ofn));
- ofn.hwndOwner = hDlg5;
- ofn.lStructSize = sizeof(ofn);
- ofn.lpstrFile = citas[pos].chFilePhotoMasc1;
- ofn.nMaxFile = MAX_PATH;
- ofn.lpstrDefExt = "BMP";
- ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
- ofn.lpstrFilter = "Bitmap Files (*.bmp)\0*.bmp\0\0""";
- if (GetOpenFileName(&ofn)) {
- HWND hPcFotoMASC1 = GetDlgItem(hDlg5, IDC_STATICMASCO2);
- HBITMAP hBmpFotoMasc1 = (HBITMAP)LoadImage(NULL, citas[pos].chFilePhotoMasc1, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC1, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc1);
- }
- PhotoMasc--;
- break;
- }
- }
- break;
- case IDC_GUARDARDATOS: /*observar que todos los campos estén llenos*/
- {
- validatos = 2;
- int txtlenghttel = (int)GetWindowTextLength(GetDlgItem(hDlg5, IDC_TELEFONO)); //telefono
- GetWindowText(GetDlgItem(hDlg5, IDC_TELEFONO), telefono, txtlenghttel + 1);
- if (txtlenghttel > 0)
- {
- strcpy_s(citas[pos].telefono, 12, " ");
- if (!(txtlenghttel == 8 || txtlenghttel == 12 || txtlenghttel == 10))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL TELEFONO", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- else
- {
- for (int i = 0; i < txtlenghttel; i++)
- {
- if (!(telefono[i] == '1' || telefono[i] == '2' || telefono[i] == '3' || telefono[i] == '4' || telefono[i] == '5' || telefono[i] == '6' || telefono[i] == '7' || telefono[i] == '8' || telefono[i] == '9' || telefono[i] == '0'))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL TELEFONO", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- }
- strcpy_s(citas[pos].telefono, telefono);
- }
- int txtlengmotiv = (int)GetWindowTextLength(GetDlgItem(hDlg5, IDC_EDIT4)); //motivo consulta
- GetWindowText(GetDlgItem(hDlg5, IDC_EDIT4), motivo, txtlengmotiv + 1);
- if (txtlengmotiv > 0)
- {
- strcpy_s(citas[pos].motivoconsulta, 260, " ");
- strcpy_s(citas[pos].motivoconsulta, motivo);
- }
- int lenmasco = (int)GetWindowTextLength(GetDlgItem(hDlg5, IDC_NOMBREMASCO)); //nombre mascota
- GetWindowText(GetDlgItem(hDlg5, IDC_NOMBREMASCO), nombremasco, lenmasco + 1);
- if (lenmasco > 0)
- {
- strcpy_s(citas[pos].nombre_mascota, 10, " ");
- for (int i = 0; i < lenmasco; i++)
- {
- if (!(isalpha(nombremasco[i]) || isspace(nombremasco[i])))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL NOMBRE DE MASCOTA", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- strcpy_s(citas[pos].nombre_mascota, nombremasco);
- }
- int lenclient = (int)GetWindowTextLength(GetDlgItem(hDlg5, IDC_NOMBRECLIENTE)); //nombre cliente
- GetWindowText(GetDlgItem(hDlg5, IDC_NOMBRECLIENTE), nombrecliente, lenclient + 1);
- if (lenclient > 0)
- {
- strcpy_s(citas[pos].nombre_cliente, 40, " ");
- for (int i = 0; i < lenclient; i++)
- {
- if (!(isalpha(nombrecliente[i]) || isspace(nombrecliente[i])))
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL NOMBRE DEL CLIENTE", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- strcpy_s(citas[pos].nombre_cliente, nombrecliente);
- }
- int posCombo = (int)SendDlgItemMessage(hDlg5, IDC_COMBO1, CB_GETCURSEL, 0, 0); //especie
- if (posCombo > 0)
- {
- int lenmasco = GetWindowTextLength(GetDlgItem(hDlg5, IDC_COMBO1));
- GetWindowText(GetDlgItem(hDlg5, IDC_COMBO1), citas[c].tipo_de_mascota, lenmasco + 1);
- }
- int posCombo2 = (int)SendDlgItemMessage(hDlg5, IDC_COMBO2, CB_GETCURSEL, 0, 0); //hora
- if (posCombo2 > 0)
- {
- int lenhora = GetWindowTextLength(GetDlgItem(hDlg5, IDC_COMBO2));
- GetWindowText(GetDlgItem(hDlg5, IDC_COMBO2), citas[c].hora, lenhora + 1);
- }
- int txtlenghtcost = (int)GetWindowTextLength(GetDlgItem(hDlg5, IDC_COSTO)); //costo
- GetWindowText(GetDlgItem(hDlg5, IDC_COSTO), costo_consulta, txtlenghtcost + 1);
- if (txtlenghtcost > 0)
- {
- strcpy_s(citas[pos].costo_consulta, 10, " ");
- int contpunt = 0;
- for (int i = 0; i < txtlenghtcost; i++)
- {
- if (costo_consulta[i] == '.')
- {
- contpunt++;
- }
- if ((!(costo_consulta[i] == '1' || costo_consulta[i] == '2' || costo_consulta[i] == '3' || costo_consulta[i] == '4' || costo_consulta[i] == '5'
- || costo_consulta[i] == '6' || costo_consulta[i] == '7' || costo_consulta[i] == '8' || costo_consulta[i] == '9'
- || costo_consulta[i] == '0' || costo_consulta[i] == '.')) || contpunt > 1)
- {
- MessageBox(NULL, "NO INGRESÓ CORRECTAMENTE EL COSTO", NULL, MB_ICONERROR);
- validatos = 1;
- break;
- }
- }
- strcpy_s(citas[pos].costo_consulta, costo_consulta);
- }
- if (validatos == 2 && validatoss == 2)
- {
- EndDialog(hDlg5, 0);
- c++;
- }
- }
- break;
- }
- if (MostrarImagen == 0)
- {
- if (LOWORD(wParam) == IDC_CAMBIOIM2 && HIWORD(wParam) == BN_CLICKED)
- {
- ShowWindow(GetDlgItem(hDlg5, IDC_STATICMASCO), SW_SHOW);
- ShowWindow(GetDlgItem(hDlg5, IDC_STATICMASCO3), SW_HIDE);
- }MostrarImagen = 1;
- }
- if (MostrarImagen == 1)
- {
- if (LOWORD(wParam) == IDC_CAMBIOIM1 && HIWORD(wParam) == BN_CLICKED)
- {
- ShowWindow(GetDlgItem(hDlg5, IDC_STATICMASCO), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg5, IDC_STATICMASCO3), SW_SHOW);
- }MostrarImagen = 0;
- }
- break;
- }
- case WM_CLOSE:
- break;
- case WM_NOTIFY:
- lpNmHdr = LPNMHDR(lParam); // el lpnmhdr es un puntero que te dirá qué pasó con el control(en este caso el calendario)
- //es en lparam porque ahi se alamcena la informacion de los controles
- if (lpNmHdr->code == MCN_SELECT)
- {
- hStatic = GetDlgItem(hDlg5, IDC_STATICDATE);
- hCalendar = GetDlgItem(hDlg5, IDC_MONTHCALENDAR1);
- GetSelectedDate(hStatic, hCalendar);
- break;
- }
- break;
- }
- return FALSE;
- }
- BOOL CALLBACK call_AGENDA(HWND hDlg8, UINT msg, WPARAM wParam, LPARAM lParam)/*dialogo agenda*/
- {
- switch (msg)
- {
- case WM_INITDIALOG:
- {
- hLbA = GetDlgItem(hDlg8, IDC_LIST1);
- HWND hFoto4ev = GetDlgItem(hDlg8, IDC_FOTODOC);
- SendMessage(hFoto4ev, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[0].chFilePhoto, IMAGE_BITMAP, 100, 100, LR_LOADFROMFILE));
- //Acomodar las citas
- for (int i = 0; i < c; i++) {
- for (int j = i + 1; j < c; j++) {
- if (citas[i].year > citas[j].year)
- {
- citastempo = citas[j];
- citas[j] = citas[i];
- citas[i] = citastempo;
- }
- else if (citas[i].year == citas[j].year
- && citas[i].month > citas[j].month)
- {
- citastempo = citas[j];
- citas[j] = citas[i];
- citas[i] = citastempo;
- }
- else if (citas[i].year == citas[j].year
- && citas[i].month == citas[j].month
- && citas[i].day > citas[j].day)
- {
- citastempo = citas[j];
- citas[j] = citas[i];
- citas[i] = citastempo;
- }
- else if (citas[i].year == citas[j].year
- && citas[i].month == citas[j].month
- && citas[i].day == citas[j].day
- && citas[i].horaverdadera > citas[j].horaverdadera)
- {
- citastempo = citas[j];
- citas[j] = citas[i];
- citas[i] = citastempo;
- }
- }
- }
- for (int i = 0; i < c; i++)
- {
- dia = to_string(citas[i].day);
- mes = to_string(citas[i].month);
- año = to_string(citas[i].year);
- fecha = dia + "/" + mes+ "/" + año + " "+ citas[i].hora;
- SendMessage(GetDlgItem(hDlg8, IDC_LIST1), LB_ADDSTRING, 0, (LPARAM)fecha.c_str());
- }
- }
- break;
- case WM_COMMAND:
- {
- switch (LOWORD(wParam))
- {
- case IDC_BNTMOSTRAR:
- {
- pos = posicion(hDlg8);
- if (pos >= 0)
- {
- dia = to_string(citas[pos].day);
- mes = to_string(citas[pos].month);
- año = to_string(citas[pos].year);
- fecha = dia + "/" + mes + "/" + año;
- SetWindowText(GetDlgItem(hDlg8, IDC_STATICCLIENTE), citas[pos].nombre_cliente);
- SetWindowText(GetDlgItem(hDlg8, IDC_STATICMASCOTA), citas[pos].nombre_mascota);
- SetWindowText(GetDlgItem(hDlg8, IDC_STATICFECHA), fecha.c_str());
- SetWindowText(GetDlgItem(hDlg8, IDC_STATICOSTO), citas[pos].costo_consulta);
- }
- }
- break;
- case IDC_BTNELIMINAR:
- {
- pos = posicion(hDlg8);
- if (pos >= 0)
- {
- for (int j = pos; j < c; j++)
- {
- citas[j] = citas[j + 1];
- }
- c--;
- SendMessage(GetDlgItem(hDlg8, IDC_LIST1), LB_DELETESTRING, pos, 0);
- MessageBox(NULL, "Cita eliminada", NULL, MB_ICONWARNING);
- }
- }
- break;
- case IDC_BTNCAMBIAR:
- {
- pos = posicion(hDlg8);
- if (pos >= 0)
- {
- DialogBox(hDlg7, MAKEINTRESOURCE(IDD_NUEVACITA_CAMBIO), hDlg8, call_IDCAGENDA_CAMBIO); /*venatana de cambio */
- }
- else
- {
- MessageBox(NULL, "There're not appoiments yet my darling", NULL, MB_ICONWARNING);
- }
- }
- break;
- case IDC_BTNPAGAR:
- {
- pos = posicion(hDlg8);
- if (pos >= 0)
- {
- DialogBox(hDlg9, MAKEINTRESOURCE(IDD_PAGAR), hDlg8, call_IDDPAGAR); /*venatana de pagar */
- }
- else
- {
- MessageBox(NULL, "There're not appoiments yet my darling", NULL, MB_ICONWARNING);
- }
- }
- break;
- }
- }
- break;
- case WM_CLOSE:
- EndDialog(hDlg8, FALSE);
- break;
- }
- return 0;
- }
- BOOL CALLBACK call_IDDPAGAR(HWND hDlg9, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- switch (msg)
- {
- case WM_INITDIALOG:
- {
- EnableWindow(GetDlgItem(hDlg9, IDC_CINTERESES), FALSE);
- EnableWindow(GetDlgItem(hDlg9, IDC_SINTERESES), FALSE);
- hStaticPM= (GetDlgItem(hDlg9, IDC_PAGOPMES));
- dia = to_string(citas[i].day);
- mes = to_string(citas[i].month);
- año = to_string(citas[i].year);
- fecha = dia + "/" + mes + "/" + año + " " + citas[i].hora;
- HWND hFoto4ev = GetDlgItem(hDlg9, IDC_FOTODOC);
- SendMessage(hFoto4ev, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)(HBITMAP)LoadImage(NULL, docs[0].chFilePhoto, IMAGE_BITMAP, 100, 100, LR_LOADFROMFILE));
- SetWindowText(GetDlgItem(hDlg9, IDC_NOMBRECLIENTE), citas[pos].nombre_cliente);
- SetWindowText(GetDlgItem(hDlg9, IDC_TELEFONO), citas[pos].telefono);
- SetWindowText(GetDlgItem(hDlg9, IDC_NOMBREMASCO), citas[pos].nombre_mascota);
- SetWindowText(GetDlgItem(hDlg9, IDC_NOMBRECLIENTE), citas[pos].nombre_cliente);
- SetWindowText(GetDlgItem(hDlg9, IDC_COMBO1), citas[pos].tipo_de_mascota);
- SetWindowText(GetDlgItem(hDlg9, IDC_EDIT4), citas[pos].motivoconsulta);
- SetWindowText(GetDlgItem(hDlg9, IDC_COMBO2), citas[pos].hora);
- SetWindowText(GetDlgItem(hDlg9, IDC_COSTO), citas[pos].costo_consulta);
- SetWindowText(GetDlgItem(hDlg9, IDC_STATICDATE), fecha.c_str());
- //foto 1
- HWND hPcFotoMASC = GetDlgItem(hDlg9, IDC_STATICMASCO);
- HBITMAP hBmpFotoMasc = (HBITMAP)LoadImage(NULL, citas[pos].chFilePhotoMasc, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc);
- ShowWindow(hPcFotoMASC, SW_HIDE);
- //foto 2
- HWND hPcFotoMASC1 = GetDlgItem(hDlg9, IDC_STATICMASCO3);
- HBITMAP hBmpFotoMasc1 = (HBITMAP)LoadImage(NULL, citas[pos].chFilePhotoMasc1, IMAGE_BITMAP, 120, 110, LR_LOADFROMFILE);
- SendMessage(hPcFotoMASC1, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmpFotoMasc1);
- //deshabilitar botones de visualizador
- if (PhotoMasc == 2)
- {
- EnableWindow(GetDlgItem(hDlg9, IDC_CAMBIOIM1), TRUE);
- EnableWindow(GetDlgItem(hDlg9, IDC_CAMBIOIM2), TRUE);
- }
- }
- break;
- case WM_COMMAND:
- {
- if (HIWORD(wParam) == BN_CLICKED)
- {
- switch (LOWORD(wParam))
- {
- case IDC_3MESES:
- {
- EnableWindow(GetDlgItem(hDlg9, IDC_CINTERESES), TRUE);
- EnableWindow(GetDlgItem(hDlg9, IDC_SINTERESES), TRUE);
- }
- break;
- case IDC_6MESES:
- {
- EnableWindow(GetDlgItem(hDlg9, IDC_CINTERESES), TRUE);
- EnableWindow(GetDlgItem(hDlg9, IDC_SINTERESES), TRUE);
- }
- break;
- case IDC_9MESES:
- {
- EnableWindow(GetDlgItem(hDlg9, IDC_CINTERESES), TRUE);
- EnableWindow(GetDlgItem(hDlg9, IDC_SINTERESES), TRUE);
- }
- break;
- }
- }
- if (LOWORD(wParam) == IDC_CINTERESES && HIWORD(wParam) == BN_CLICKED) {
- if (IsDlgButtonChecked(hDlg9, IDC_3MESES) == BST_CHECKED) {
- pagototal_i(3);
- }
- else if (IsDlgButtonChecked(hDlg9, IDC_3MESES) == BST_CHECKED) {
- pagototal_i(6);
- }
- else if (IsDlgButtonChecked(hDlg9, IDC_3MESES) == BST_CHECKED) {
- pagototal_i(9);
- }
- }
- if (LOWORD(wParam) == IDC_SINTERESES && HIWORD(wParam) == BN_CLICKED) {
- if (IsDlgButtonChecked(hDlg9, IDC_3MESES) == BST_CHECKED) {
- pagototal_s(3);
- }
- else if (IsDlgButtonChecked(hDlg9, IDC_3MESES) == BST_CHECKED) {
- pagototal_s(6);
- }
- else if (IsDlgButtonChecked(hDlg9, IDC_3MESES) == BST_CHECKED) {
- pagototal_s(9);
- }
- }
- if (MostrarImagen == 0)
- {
- if (LOWORD(wParam) == IDC_CAMBIOIM2 && HIWORD(wParam) == BN_CLICKED)
- {
- ShowWindow(GetDlgItem(hDlg9, IDC_STATICMASCO), SW_SHOW);
- ShowWindow(GetDlgItem(hDlg9, IDC_STATICMASCO3), SW_HIDE);
- }MostrarImagen = 1;
- }
- if (MostrarImagen == 1)
- {
- if (LOWORD(wParam) == IDC_CAMBIOIM1 && HIWORD(wParam) == BN_CLICKED)
- {
- ShowWindow(GetDlgItem(hDlg9, IDC_STATICMASCO), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg9, IDC_STATICMASCO3), SW_SHOW);
- }MostrarImagen = 0;
- }
- }
- break;
- }
- return FALSE;
- }
- int GetSelectedDate(HWND hStatic, HWND hCalendar)
- {
- SYSTEMTIME timeobtained; //variable tipo estructura para el tiempo que se obtendrá
- SYSTEMTIME time2; //variable tipo estructura para el tiempo actual
- GetLocalTime(&time2); //tiempo actual se obtiene
- ZeroMemory(&timeobtained, sizeof(SYSTEMTIME)); //se limpia la estructura del tiempo obtenido
- wchar_t buffer[MAX_PATH]; //aquí se crea un buffer que va a recibir el string
- size_t size = 20; //aquí va el tamaño del buffer en bytes
- SendMessage(hCalendar, MCM_GETCURSEL, 0, (LPARAM)&timeobtained); //aquí toma la fecha
- StringCbPrintfW(buffer, size, L"%d-%d-%d", timeobtained.wDay, timeobtained.wMonth, timeobtained.wYear); //pasa la fecha al buffer
- if (timeobtained.wYear <= time2.wYear)
- {
- if (timeobtained.wMonth <= time2.wMonth)
- {
- if (timeobtained.wDay <= time2.wDay)
- {
- MessageBox(NULL, "Ingresó fecha errónea", NULL, MB_ICONERROR);
- validatoss = 1;
- }
- else
- {
- citas[c].year = timeobtained.wYear;
- citas[c].month = timeobtained.wMonth;
- citas[c].day = timeobtained.wDay;
- validatoss = 2;
- }
- }
- else
- {
- citas[c].year = timeobtained.wYear;
- citas[c].month = timeobtained.wMonth;
- citas[c].day = timeobtained.wDay;
- validatoss = 2;
- }
- }
- else
- {
- citas[c].year = timeobtained.wYear;
- citas[c].month = timeobtained.wMonth;
- citas[c].day = timeobtained.wDay;
- validatoss = 2;
- }
- SetWindowTextW(hStatic, buffer);
- return validatoss;
- }
- int posicion(HWND hDlg) {
- int pos = (int)SendDlgItemMessage(hDlg, IDC_LIST1, LB_GETCURSEL, 0, 0);
- {
- if (pos < 0)
- {
- MessageBox(NULL, "Seleccione cita", NULL, MB_ICONWARNING);
- }
- }
- return pos;
- }
- void pagototal_i(int mes)
- {
- float precioint = ((atoi(citas[pos].costo_consulta)) * 1.12 / mes);
- string precio_int = to_string(precioint);
- SetWindowText(hStaticPM, precio_int.c_str());
- for (int i = 0; i < c; i++)
- {
- citas[i] = citas[i + 1];
- }
- c--;
- SendMessage(hLbA, LB_DELETESTRING, pos, 0);
- }
- void pagototal_s(int mes)
- {
- float preciosin = ((atoi(citas[pos].costo_consulta)) / mes);
- string precio_sin = to_string(preciosin);
- SetWindowText(hStaticPM, precio_sin.c_str());
- for (int i = 0; i < c; i++)
- {
- citas[i] = citas[i + 1];
- }
- c--;
- SendMessage(hLbA, LB_DELETESTRING, pos, 0);
- }
- void guardar_info() {
- ofstream file;
- file.open("llora es lo mejor que puedes hacer.bin", ios::binary | ios::out);
- if (file.fail())
- {
- MessageBox(NULL, "No me mande a terceras:c", NULL, MB_ICONWARNING);
- }
- else
- {
- for (int i = 0; i < c; i++)
- {
- file.write((char*)&citas[i], sizeof(appointment));
- }
- for (int i = 0; i < 1; i++)
- {
- file.write((char*)&docs[i], sizeof(doctores));
- }
- }
- file.close();
- }
- void leer_datos() {
- ifstream file1("llora es lo mejor que puedes hacer.bin", ios::in | ios::binary);
- if (file1.fail())
- {
- MessageBox(NULL, "No me mande a terceras:c", NULL, MB_ICONWARNING);
- }
- else
- {
- while (!file1.eof())
- {
- for (int i = 0; i < 3; i++)
- {
- file1.read((char*)&citas[i], sizeof(appointment));
- }
- for (int i = 0; i < 1; i++)
- {
- file1.read((char*)&docs[i], sizeof(doctores));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement