Saludos amigos de la lista<br><br>si pueden aclarar mi duda les agradeceré mucho<br><br>se trata de remove y tampoco funcionó con  DeleteFile<br><br>el caso de esta función es que debe eliminar un archivo, y veo que lo hace bien al menos con un programa mínimo como este:<br>
<br style="background-color: rgb(255, 255, 255); color: rgb(0, 153, 0);"><span style="background-color: rgb(255, 255, 255); color: rgb(0, 102, 0);">#include <span style=""></span><iostream></span><br style="background-color: rgb(255, 255, 255); color: rgb(0, 102, 0);">
<span style="background-color: rgb(255, 255, 255); color: rgb(0, 102, 0);">#include <stdio.h></span><br style="background-color: rgb(255, 255, 255); color: rgb(0, 102, 0);"><span style="background-color: rgb(255, 255, 255); color: rgb(0, 102, 0);">#include <windows.h></span><br>
<br><b style="color: rgb(102, 0, 0);">using namespace</b> std;<br><br><b><span style="color: rgb(102, 0, 0);">int</span></b> main(int argc, <b><span style="color: rgb(102, 0, 0);">char</span></b> *argv[])<br>{<br>    FILE *archivo;<br>
    archivo = fopen(<span style="color: rgb(255, 0, 0);">"archivo.tmp"</span>,<span style="color: rgb(255, 0, 0);">"w"</span>);<br>    fclose(archivo);<br>    system(<span style="color: rgb(255, 0, 0);">"PAUSE"</span>);<br>
    remove(<span style="color: rgb(255, 0, 0);">"archivo.tmp"</span>);<br><b style="color: rgb(102, 0, 0);">    return</b> EXIT_SUCCESS;<br>}<br><br>pero en mi programa completo el archivo se queda al cerrar el programa no da error de compilación pero no hace lo que debe<br>
<br>como no tengo idea del error copio completo el programa si quieren ver los otros archivos del programa avisen por favor llevo siglos en esto<br><br>#include <windows.h><br>#include <ctype.h><br>#include "lista.h"<br>
#include <stdio.h><br>#include "ids.h"<br>#include <iostream><br><br><br><br><br><br>//*************Prototipos*******************<br>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);<br>BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);<br>
BOOL CALLBACK DlgProc2(HWND,UINT,WPARAM,LPARAM);<br>int CreateStatic(HINSTANCE,HWND,HWND,int,int,int,int,LPSTR);<br>int CreateEdit(HINSTANCE,HWND,HWND,int,int,int,int,int,LPSTR);<br>int CreateEditVert(HINSTANCE,HWND,HWND,int,int,int,int,int,LPSTR);<br>
int CreateButton(HINSTANCE,HWND,HWND,int,int,int,int,int,LPSTR);<br>int MuestraFicha(HWND,FICHA*,Lista*);<br><br>//**************Función Principal***********<br>int WINAPI WinMain(    HINSTANCE hInstance,<br>                HINSTANCE hPrevInstance,<br>
                LPSTR lpszArgument,<br>                int nArgument)<br>{<br>    //************ Declaración de variables **************<br>    HWND hwnd;     //manejador de ventana<br>    MSG mensaje;<br>    WNDCLASSEX wincl;<br>
<br>    <br>    /************ Inicialización de la clase *************/<br>    wincl.hInstance     = hInstance;<br>    wincl.lpszClassName = "MiClase";<br>    wincl.lpfnWndProc   = WndProc;<br>    wincl.style         = CS_DBLCLKS;<br>
    wincl.cbSize        = sizeof(WNDCLASSEX);<br>    <br>    /************** Icono y puntero por defecto *********/<br>    wincl.hIcon         = LoadIcon(hInstance,MAKEINTRESOURCE(ID_ICONO));<br>    wincl.hIconSm       = LoadIcon(hInstance,MAKEINTRESOURCE(ID_SMICONO));<br>
    wincl.hCursor       = LoadCursor(NULL, IDC_ARROW);<br>    wincl.lpszMenuName  = "Menu1";<br>    wincl.cbClsExtra    = 0;<br>    wincl.cbWndExtra    = 0;<br>    wincl.hbrBackground = (HBRUSH)CreateSolidBrush(RGB(0,155,255));<br>
<br>    <br>    <br>    //************** Registrar la clase *****************/<br>    if(!RegisterClassEx(&wincl))<br>    return 0;<br>    <br>    //*************** Crear la ventana ********************/<br>    hwnd = CreateWindowEx(<br>
         0,                    /* Extended possibilites for variation */<br>         "MiClase",             /* Classname */<br>         "Agenda ver 0.6",         /* Title Text */<br>         WS_OVERLAPPEDWINDOW,    /* default window */<br>
         CW_USEDEFAULT,            /* Windows decides the position */<br>         CW_USEDEFAULT,            /* where the window ends up on the screen */<br>         395,                 /* The programs width */<br>         365,                 /* and height in pixels */<br>
         HWND_DESKTOP,             /* The window is a child-window to desktop */<br>         NULL,                /* No menu */<br>        hInstance,            /* Program Instance handler */<br>        NULL                 /* No Window Creation data */<br>
        );<br>    <br><br>    //************** evita ejecutar mas de una instancia*******************/<br>    FILE *temp;<br>    char letra;<br><br>    if(temp = fopen("temporal.agn","r"))<br>    {<br>
          fclose(temp);<br>          MessageBox(hwnd,"Ya se está ejecutando el programa.\n","",MB_OK);<br>        return 0;<br>    }<br>    else<br>    {<br>        temp = fopen("temporal.agn","w");<br>
    };<br>//****************************************************************************<br>    //***************** Muestra la ventana *****************/<br>ShowWindow(hwnd,1);<br>        <br>    //******************** Bucle de la aplicación *************/<br>
    while(true == GetMessage(&mensaje,NULL,0,0))<br>    {<br>        TranslateMessage(&mensaje);<br>        DispatchMessage(&mensaje);<br>    }<br>    return mensaje.wParam;<br>}<br>///////////////////////////////////////////////////////////////////////////////<br>
//************** definición de funciones ********************************<br>///////////////////////////////////////////////////////////////////////////////<br>LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)<br>
{<br>    #include "variables.h"<br>    <br>    switch(msg)<br>    {<br>        case WM_CREATE:<br><br>            hInst = ((LPCREATESTRUCT)lParam)->hInstance;<br>            CreateStatic(hInst,hwnd,<br>                        hwndStatic1, 10,5,120,25,"Nombre:");<br>
            CreateStatic(hInst,hwnd,<br>                        hwndStatic2, 10,35,120,25,"Apellido:");<br>               CreateStatic(hInst,hwnd,<br>                        hwndStatic3, 10,65,120,25,"Teléfono 1:");<br>
               CreateStatic(hInst,hwnd,<br>                        hwndStatic4, 10,95,120,25,"Teléfono 2:");<br>               CreateStatic(hInst,hwnd,<br>                        hwndStatic5, 10,125,120,25,"Celular 1:");<br>
               CreateStatic(hInst,hwnd,<br>                        hwndStatic6, 10,155,120,25,"Celular 2:");<br>            CreateStatic(hInst,hwnd,<br>                        hwndStatic7, 10,185,120,25,"Observaciones:");<br>
                        <br>            CreateEdit(hInst,hwnd,<br>                           hwndEdit1,NOMBRE, 150,5,190,25,"");<br>               <br>               CreateEdit(hInst,hwnd,<br>                           hwndEdit1,APELLIDO, 150,35,190,25,"");<br>
            <br>            CreateEdit(hInst,hwnd,<br>                           hwndEdit1,TELEFONO1, 150,65,190,25,"");<br>            CreateEdit(hInst,hwnd,<br>                           hwndEdit1,TELEFONO2, 150,95,190,25,"");<br>
               CreateEdit(hInst,hwnd,<br>                           hwndEdit1,CELULAR1, 150,125,190,25,"");<br>            CreateEdit(hInst,hwnd,<br>                           hwndEdit1,CELULAR2, 150,155,190,25,"");<br>
            CreateEditVert(hInst,hwnd,<br>                           hwndEdit1,OBSERVACIONES, 150,185,190,80,"");<br>            SendDlgItemMessage(hwnd, ID_TXTNOMBRE, EM_LIMITTEXT, 20, 0L);<br>            SendDlgItemMessage(hwnd, ID_TXTAPELLIDO, EM_LIMITTEXT, 20, 0L);<br>
            SendDlgItemMessage(hwnd, ID_TXTTELEFONO1, EM_LIMITTEXT, 20, 0L);<br>            SendDlgItemMessage(hwnd, ID_TXTTELEFONO2, EM_LIMITTEXT, 20, 0L);<br>            SendDlgItemMessage(hwnd, ID_TXTCELULAR1, EM_LIMITTEXT, 20, 0L);<br>
            SendDlgItemMessage(hwnd, ID_TXTCELULAR2, EM_LIMITTEXT, 20, 0L);<br>            SendDlgItemMessage(hwnd, ID_TXTOBSERVACIONES, EM_LIMITTEXT, 255, 0L);<br>            <br><br>               CreateButton(hInst,hwnd,<br>
                           hwndButton1,110,270,100,30,CM_SIGUIENTE,"Siguiente >>");<br>            CreateButton(hInst, hwnd,<br>                           hwndButton2, 10,270,100,30,CM_ANTERIOR,"<< Anterior");<br>
            CreateButton(hInst,hwnd,<br>                           hwndButton1,210,270,80,30,CM_ELIMINAR,"Eliminar");<br>               CreateButton(hInst,hwnd,<br>                           hwndButton1,290,270,80,30,CM_IRA,"Ir a...");<br>
            <br><br>            if (!lista.Carga())<br>            {<br>                MessageBox(hwnd,"No hay datos.\n"<br>                                "Debe crear al menos una ficha",<br>                                 "No Existe el fichero",<br>
                                 MB_OK);<br>                DialogBoxParam(hInst,"FichaNueva", hwnd,<br>                        DlgProc, (LPARAM) &ficha);<br>                        lista.SetFicha(ficha.nombre,NOMBRE);<br>
                        lista.SetFicha(ficha.apellido,APELLIDO);<br>                        lista.SetFicha(ficha.telefono1,TELEFONO1);<br>                        lista.SetFicha(ficha.telefono2,TELEFONO2);<br>                        lista.SetFicha(ficha.celular1,CELULAR1);<br>
                        lista.SetFicha(ficha.celular2,CELULAR2);<br>                        lista.SetFicha(ficha.observaciones,OBSERVACIONES);<br>                        if (!strcmp(ficha.nombre,""))<br>                        {<br>
                            MessageBox(hwnd,"Debe introducir datos","",MB_OK);<br>                            PostQuitMessage(0);<br>                        }<br>                        lista.PushFicha();<br>
                    }<br><br>                MuestraFicha(hwnd,&ficha,&lista);<br>                pincel = CreateSolidBrush(RGB(0,155,255));<br>         case WM_CTLCOLORSTATIC:<br>            SetTextColor((HDC)wParam, RGB(0,0,0));<br>
            SetBkColor((HDC)wParam,RGB(0,155,255));<br>            return (LRESULT)pincel;<br>        case WM_COMMAND:<br>            switch(LOWORD(wParam))<br>                 {<br>                         case CM_NUEVA:<br>
                        strcpy(ficha.nombre,"");<br>                        strcpy(ficha.apellido,"");<br>                        strcpy(ficha.telefono1,"");<br>                        strcpy(ficha.telefono2,"");<br>
                        strcpy(ficha.celular1,"");<br>                        strcpy(ficha.celular2,"");<br>                        strcpy(ficha.observaciones,"");<br>                              DialogBoxParam(hInst,"FichaNueva", hwnd,<br>
                        DlgProc, (LPARAM) &ficha);<br>                        if (strcmp(ficha.nombre,"")!=0)<br>                        {<br>                        lista.SetFicha(ficha.nombre,NOMBRE);<br>                        lista.SetFicha(ficha.apellido,APELLIDO);<br>
                        lista.SetFicha(ficha.telefono1,TELEFONO1);<br>                        lista.SetFicha(ficha.telefono2,TELEFONO2);<br>                        lista.SetFicha(ficha.celular1,CELULAR1);<br>                        lista.SetFicha(ficha.celular2,CELULAR2);<br>
                        lista.SetFicha(ficha.observaciones,OBSERVACIONES);<br>                        lista.PushFicha();}<br>                        MuestraFicha(hwnd,&ficha,&lista);<br>                        break;<br>
                    case CM_SIGUIENTE:<br>                        /* Actualiza la vista con la ficha siguiente*/<br>                        if (!lista.Siguiente())<br>                            MessageBox(hwnd,"Última Ficha","",MB_OK);<br>
                        MuestraFicha(hwnd,&ficha,&lista);<br>                        break;<br>                    case CM_ANTERIOR:<br>                        /* Actualiza la vista con la ficha anterior*/<br>                        if (!lista.Anterior())<br>
                             MessageBox(hwnd,"Primera Ficha","",MB_OK);<br>                          MuestraFicha(hwnd,&ficha,&lista);<br>                        break;<br>                    case CM_ELIMINAR:<br>
                        if(MessageBox(hwnd,"Esto eliminara la ficha actual"<br>                                       ,"ELIMINAR FICHA",MB_YESNO)== IDYES)<br>                                        lista.PullFicha();<br>
                        if (lista.Existe())<br>                             MuestraFicha(hwnd,&ficha,&lista);<br>                        else<br>                            {<br>                                 MessageBox(hwnd,"Debe existir al menos"<br>
                                             "una ficha.",<br>                                             "Error.",MB_ICONSTOP);<br>                                 lista.GetFicha(ficha.nombre,8);<br>
                                 lista.GetFicha(ficha.apellido,9);<br>                                 lista.GetFicha(ficha.telefono1,10);<br>                                 lista.GetFicha(ficha.telefono2,11);<br>                                 lista.GetFicha(ficha.celular1,12);<br>
                                 lista.GetFicha(ficha.celular2,13);<br>                                 lista.GetFicha(ficha.observaciones,14);<br>                                 ficha.siguiente = NULL;<br>                                 lista.PushFicha();<br>
                                 MessageBox(hwnd,"La ficha no fue"<br>                                             " eliminada.",<br>                                             "...",MB_OK);<br>
                                };<br>                        break;<br>                    case CM_IRA:<br>                        //Para futuras versiones :-)<br>                        MessageBox(hwnd,"Esta función no está disponible",<br>
                                        "Ok",MB_ICONEXCLAMATION);<br>                        break;<br>                     case CM_BUSCARN:<br>                        /* Abre una cuadro de dialogo para obtener una<br>
                        clave de busqueda (el nombre) */<br>                        DialogBoxParam(hInst,"BusquedaN", hwnd, DlgProc2,<br>                        (LPARAM) &ficha);<br>                        //si se escribió algo lo busca<br>
                        if (strcmp(ficha.nombre,"")!=0)<br>                        {<br>                        if (lista.Busca(ficha.nombre,1))<br>                           MuestraFicha(hwnd,&ficha,&lista);<br>
                        else<br>                        {<br>                        /*    char mensaje[50];<br>                            sprintf(mensaje,"No se puede encontrar \n"<br>                                           "\" %s \"",ficha.nombre);<br>
                             MessageBox(hwnd,mensaje,"Búsqueda",<br>                                        MB_ICONEXCLAMATION); */<br>                            lista.Ira(ficha.nombre,1);<br>                            MuestraFicha(hwnd,&ficha,&lista);<br>
                                    }<br>                                }<br>                        break;<br>                    case CM_BUSCARA:<br>                        /* Abre una cuadro de dialogo para obtener una<br>
                        clave de busqueda (el apellido) */<br>                        DialogBoxParam(hInst,"BusquedaN", hwnd, DlgProc2,<br>                        (LPARAM) &ficha);<br>                        //si se escribió algo lo busca<br>
                        if (strcmp(ficha.nombre,"")!=0)<br>                        {<br>                        if (lista.Busca(ficha.nombre,2))<br>                           MuestraFicha(hwnd,&ficha,&lista);<br>
                        else// si lo encuentra lo muestra si no avisa<br>                        {<br>                            char mensaje[50];<br>                            sprintf(mensaje,"No se puede encontrar \n"<br>
                                           "\" %s \"",ficha.nombre);<br>                             MessageBox(hwnd,mensaje,"Búsqueda",<br>                                        MB_ICONEXCLAMATION);<br>
                               lista.Ira(ficha.nombre,0);<br>                                    }<br>                                }<br>                        break;<br>                    case CM_MODIFICAR:<br>                        //envia la ficha actual al procedimiento dlg<br>
                        lista.GetFicha(ficha.nombre,NOMBRE);<br>                        lista.GetFicha(ficha.apellido,APELLIDO);<br>                        lista.GetFicha(ficha.telefono1,TELEFONO1);<br>                        lista.GetFicha(ficha.telefono2,TELEFONO2);<br>
                        lista.GetFicha(ficha.celular1,CELULAR1);<br>                        lista.GetFicha(ficha.celular2,CELULAR2);<br>                        lista.GetFicha(ficha.observaciones,OBSERVACIONES);<br>                        lista.PullFicha();<br>
                        lista.Ultima();<br>                         DialogBoxParam(hInst,"ModificarFicha",hwnd,<br>                        DlgProc, (LPARAM) &ficha);<br>                        lista.SetFicha(ficha.nombre,NOMBRE);<br>
                        lista.SetFicha(ficha.apellido,APELLIDO);<br>                        lista.SetFicha(ficha.telefono1,TELEFONO1);<br>                        lista.SetFicha(ficha.telefono2,TELEFONO2);<br>                        lista.SetFicha(ficha.celular1,CELULAR1);<br>
                        lista.SetFicha(ficha.celular2,CELULAR2);<br>                        lista.SetFicha(ficha.observaciones,OBSERVACIONES);<br>                        lista.PushFicha();<br>                        MuestraFicha(hwnd,&ficha,&lista);<br>
                        break;<br>                    <br>                    case CM_SALIR:<br>                        //Guardar los cambios en el archivo<br>                        <span style="color: rgb(255, 0, 0);">remove("temporal.agn");</span><br>
                        lista.Guarda();<br>                        DeleteObject(pincel);<br>                          PostQuitMessage(0);<br>                        break;<br>                    }<br>                    break;<br>
        case WM_DESTROY:<br>              <span style="color: rgb(255, 0, 0);"> remove("temporal.agn");</span><br>            lista.Guarda();<br>            DeleteObject(pincel);<br>            PostQuitMessage(0);<br>
            break;<br>        default:<br>            return DefWindowProc(hwnd, msg, wParam, lParam);<br>        }<br>        return 0;<br>    }<br>        <br>/********************* ProcedimientoS Para crear los controles ***************/<br>
int CreateStatic(HINSTANCE hInst,<br>            HWND hwndPadre,<br>            HWND hwndHija, int x,int y, int  width, int height,LPSTR texto)<br>{<br>    hwndHija = CreateWindowEx<br>    (0,<br>    "STATIC",<br>
    texto,<br>    SS_LEFT | WS_CHILD| WS_VISIBLE  ,<br>    x,<br>    y,<br>    width,<br>    height,<br>    hwndPadre,<br>    NULL,<br>    hInst,<br>    NULL    );<br>return 0;<br>    };<br>    <br>int CreateEdit(HINSTANCE hInst,<br>
            HWND hwndPadre,<br>            HWND hwndHija,<br>            int ID,<br>            int x,int y, int  width, int height,LPSTR texto)<br>{<br>    hwndHija = CreateWindowEx<br>    (WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT,<br>
    "EDIT",<br>    "",<br>    ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER |WS_TABSTOP,//| ES_READONLY,<br>    x,<br>    y,<br>    width,<br>    height,<br>    hwndPadre,<br>    (HMENU) ID,<br>    hInst,<br>
    NULL);<br><br>return 0;<br>    };<br><br>int CreateEditVert(HINSTANCE hInst,<br>            HWND hwndPadre,<br>            HWND hwndHija,<br>            int ID,<br>            int x,int y, int  width, int height,LPSTR texto)<br>
{<br>    hwndHija = CreateWindowEx<br>    (WS_EX_CLIENTEDGE,<br>    "EDIT",<br>    "",<br>     ES_LEFT | ES_MULTILINE | WS_CHILD | WS_VISIBLE<br>    |WS_BORDER | WS_TABSTOP| WS_VSCROLL,//| ES_READONLY,<br>
    x,<br>    y,<br>    width,<br>    height,<br>    hwndPadre,<br>    (HMENU) ID,<br>    hInst,<br>    NULL);<br>return 0;<br>    };<br>    <br>int CreateButton(HINSTANCE hInst,<br>            HWND hwndPadre,<br>            HWND hwndHija,<br>
            int x,int y, int  width, int height,int idCMD, LPSTR texto)<br>{<br>    hwndHija = CreateWindowEx<br>    (WS_EX_CLIENTEDGE,<br>    "BUTTON",<br>    texto,<br>    BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP,<br>
    x,<br>    y,<br>    width,<br>    height,<br>    hwndPadre,<br>    (HMENU) idCMD,<br>    hInst,<br>    NULL);<br>return 0;<br>    };<br><br><br>//******************** Procedimiento de Dialogo ******************************<br>
//***********************para añadir y modificar fichas **********************<br>BOOL CALLBACK DlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam)<br>{<br>static FICHA *ficha;<br><br><br>    switch (msg) // manipulador del mensaje<br>
        {<br>            case WM_INITDIALOG:<br>                    SendDlgItemMessage(hdlg, ID_TXTNOMBRE, EM_LIMITTEXT, 20, 0L);<br>                    SendDlgItemMessage(hdlg, ID_TXTAPELLIDO, EM_LIMITTEXT, 20, 0L);<br>                SendDlgItemMessage(hdlg, ID_TXTTELEFONO1, EM_LIMITTEXT, 20, 0L);<br>
                SendDlgItemMessage(hdlg, ID_TXTTELEFONO2, EM_LIMITTEXT, 20, 0L);<br>                SendDlgItemMessage(hdlg, ID_TXTCELULAR1, EM_LIMITTEXT, 20, 0L);<br>                SendDlgItemMessage(hdlg, ID_TXTCELULAR2, EM_LIMITTEXT, 20, 0L);<br>
                SendDlgItemMessage(hdlg, ID_TXTOBSERVACIONES, EM_LIMITTEXT, 255, 0L);<br>                ficha = (FICHA*) lParam;<br>                SetDlgItemText(hdlg, ID_TXTNOMBRE, ficha->nombre);<br>                SetDlgItemText(hdlg, ID_TXTAPELLIDO, ficha->apellido);<br>
                SetDlgItemText(hdlg, ID_TXTTELEFONO1, ficha->telefono1);<br>                SetDlgItemText(hdlg, ID_TXTTELEFONO2, ficha->telefono2);<br>                SetDlgItemText(hdlg, ID_TXTCELULAR1, ficha->celular1);<br>
                SetDlgItemText(hdlg, ID_TXTCELULAR2, ficha->celular2);<br>                SetDlgItemText(hdlg, ID_TXTOBSERVACIONES, ficha->observaciones);<br>                SetFocus(GetDlgItem(hdlg, ID_TXTNOMBRE));<br>
                return FALSE;<br>            case WM_COMMAND:<br>                switch(LOWORD(wParam))<br>                    {<br>                        case IDOK:<br>                            GetDlgItemText(hdlg, ID_TXTNOMBRE, ficha->nombre, 20);<br>
                               GetDlgItemText(hdlg, ID_TXTAPELLIDO, ficha->apellido, 20);<br>                            GetDlgItemText(hdlg, ID_TXTTELEFONO1, ficha->telefono1, 20);<br>                            GetDlgItemText(hdlg, ID_TXTTELEFONO2, ficha->telefono2, 20);<br>
                            GetDlgItemText(hdlg, ID_TXTCELULAR1, ficha->celular1, 20);<br>                            GetDlgItemText(hdlg, ID_TXTCELULAR2, ficha->celular2, 20);<br>                            GetDlgItemText(hdlg, ID_TXTOBSERVACIONES, ficha->observaciones, 255);<br>
                            EndDialog(hdlg, FALSE);<br><br>                            break;<br>                        case IDCANCEL:<br>                            EndDialog(hdlg, FALSE);<br><br>                            break;<br>
                    } return TRUE;<br>        } return FALSE;<br>};<br><br>//******************** Procedimiento de Dialogo 2******************************<br>//******************** Para el dialogo de búsqued *****************************<br>
BOOL CALLBACK DlgProc2(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam)<br>{<br>static FICHA *ficha;<br><br><br>    switch (msg) // manipulador del mensaje<br>        {<br>            case WM_INITDIALOG:<br>                SendDlgItemMessage(hdlg, ID_TXTNOMBRE, EM_LIMITTEXT, 20, 0L);<br>
                ficha = (FICHA*) lParam;<br>                strcpy(ficha->nombre,"");<br>                SetFocus(GetDlgItem(hdlg, ID_TXTNOMBRE));<br>                return FALSE;<br>            case WM_COMMAND:<br>
                switch(LOWORD(wParam))<br>                    {<br>                        case IDOK:<br>                            GetDlgItemText(hdlg, ID_TXTNOMBRE, ficha->nombre, 20);<br>                            EndDialog(hdlg, FALSE);<br>
                            break;<br>                        case IDCANCEL:<br>                            EndDialog(hdlg, FALSE);<br>                            break;<br>                    } return TRUE;<br>        } return FALSE;<br>
}<br><br>//////////////////////////////////////////////////////////////////////////////<br>int MuestraFicha(HWND hwnd,FICHA* ficha,Lista* lista)<br>{<br>     int i;<br>    for(i=1; i < 8 ; i++)<br>        {<br>                 lista->GetFicha(ficha->nombre,i);<br>
                  SetDlgItemText(hwnd,i,ficha->nombre);<br>                };<br>    };<br><br><br>