Ir ao conteúdo
  • Cadastre-se

Programa de consulta


Amiguinho

Posts recomendados

Ola, eu estou querendo criar um programinha bem básico, que faz consultas em um arquivo TXT e retorna alguns campos na tela.

 

Eu sei o básico de lógica de programação e um pouco de C (programei um pouco o Arduino e fiz programas básicos como calculadora, agenda, etc).

 

Bom, o que eu quero é que o programa abra uma tela(com os campos da imagem em anexo), e dependendo do que o usuário digitar no campo entrada e depois clicar no pesquisar, ele mostre as informações dos outros campos.

 

O TXT será semelhante ao abaixo:

 

NOME            E-MAIL               DEPARTAMENTO       CELULAR                 RAMAL

Zeca        [email protected]                TI                      11 99999-9999              501

Joao        [email protected]                 RH                    11 98888-9888              502

Maria      [email protected]            Financeiro            11 97777-7777              503

 

Ex: o usuário digita na entrada 501 e clica em pesquisar.

Nos outros campos devem aparecer as informações correspondentes a linha que ele encontrou.(nome, e-mail, dpto, etc)

 

Minhas duvidas:

Qual linguagem seria melhor para eu desenvolver este aplicativo?

Como faço para ele abrir um app com uma imagem semelhante a do anexo e consiga preencher os campos?

Qual programa recomendam para eu fazer o código?

ramal.png

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Amiguinho    como você mencionou que entende a linguagem   c  então creio que essa seja a melhor opção pois em    você pode trabalhar com arquivos txt como o que você apresentou então podes fazer um programa de console que fica bom mas não é nada sofisticado, mas  em c você pode fazer interface usando a APi do windows que fica muito bom mas é bem difícil de fazer pois tem poucas informações na internet, um dos poucos arquivos que tem informações sobre api do windows é o livro programing windows de Charles Petzold .          Com c# ou java também dá para fazer mas esses dois não entendo não . 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

@Amiguinho    Java eu não entendo, já tentei instalar alguns compiladores java, mas nunca funcionaram certo aí resolvi dar um tempo, depois tento de novo .     Mas pesquisei sobre a API Win32 e consegui fazer alguma coisa, veja esse código aqui :

#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <vector.h>
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    HWND hwnd;
    MSG messages;
    WNDCLASSEX wincl;

   /* WNDCLASS wnd;/*essa linha coloquei depois */

    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = "WindowsApp";/*WindowsApp  tem que ter */
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof (WNDCLASSEX);

    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);/*IDI_APPLICATION   -- MB_ICONEXCLAMATION*/
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;/*+5=branco*/

   /* wnd.hbrBackground = (HBRUSH)(COLOR_BACKGROUND+2);/*essa linha coloquei depois */

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

    hwnd = CreateWindowEx (
        0,
        "WindowsApp",
        "Interface De Pesquisa",
        WS_OVERLAPPEDWINDOW,
        100,/*pos x da tela de 0 ate 1280 tamanho da tela*/
        5,/*pos y da tela de 0 ate 720 tamanho da tela*/
        1024,/*largura da janela criada largura da tela*/
        720,/*altura da janela criada  altura da tela*/
        HWND_DESKTOP,
        NULL,
        hThisInstance,
        NULL
        );

    ShowWindow (hwnd, nFunsterStil);

    while (GetMessage (&messages, NULL, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }

    return messages.wParam;
}

#define ID_BUTTONPesquisar 1001
#define ID_BUTTONSair 1002
#define ID_BUTTONAnterior 1003
#define ID_BUTTONProximo 1004

HINSTANCE g_inst;
HWND EditNum1,EditNum2,EditNum4,EditNum3,EditNum5,EditNum6,ButtonPesquisar,ButtonSair,ButtonAnterior,ButtonProximo;

void DesenharObjectos(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    EditNum1 = CreateWindowEx (
        WS_EX_CLIENTEDGE,
        "EDIT",
        "",
        WS_VISIBLE|WS_CHILD|WS_BORDER/*|ES_RIGHT*/ ,
        200, 30, 150, 30,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

    EditNum2 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", "",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        200, 80, 150, 30,
        hwnd, NULL, g_inst, NULL );

    EditNum3 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", "",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        200, 130, 150, 30,
        hwnd, NULL, g_inst, NULL );
    EditNum4 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", "",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        200, 180, 150, 30,
        hwnd, NULL, g_inst, NULL );
    EditNum5 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", "",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        200, 230, 150, 30,
        hwnd, NULL, g_inst, NULL );
    EditNum6 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", "",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        200, 280, 150, 30,
        hwnd, NULL, g_inst, NULL );

    ButtonPesquisar = CreateWindowEx (
        0,
        "BUTTON",
        "PESQUISAR",
        WS_VISIBLE|WS_CHILD,
        500, 30, 150, 30,
        hwnd,
        (HMENU)ID_BUTTONPesquisar,
        g_inst,
        NULL
        );
    ButtonSair = CreateWindowEx (
        0, "BUTTON", "SAIR",
        WS_VISIBLE|WS_CHILD,
        500, 130, 150, 30,
        hwnd, (HMENU)ID_BUTTONSair, g_inst, NULL);

    ButtonAnterior = CreateWindowEx (
        0, "BUTTON", "ANTERIOR",
        WS_VISIBLE|WS_CHILD,
        465, 80, 100, 30,
        hwnd, (HMENU)ID_BUTTONAnterior, g_inst, NULL);

    ButtonProximo = CreateWindowEx (
        0, "BUTTON", "PROXIMO",
        WS_VISIBLE|WS_CHILD,
        580, 80, 100, 30,
        hwnd, (HMENU)ID_BUTTONProximo, g_inst, NULL);

    CreateWindowEx (
        0,
        "STATIC",
        "ENTRADA",
        WS_VISIBLE|WS_CHILD,
        110,35,68,16,
        hwnd,
        NULL,
        g_inst,
        NULL
        );
    CreateWindowEx (
        0,
        "STATIC",
        "   NOME",
        WS_VISIBLE|WS_CHILD,
        110,85,68,16,
        hwnd,
        NULL,
        g_inst,
        NULL
        );
    CreateWindowEx (
        0,
        "STATIC",
        "   EMAIL",
        WS_VISIBLE|WS_CHILD,
        110,135,68,16,
        hwnd,
        NULL,
        g_inst,
        NULL
        );
    CreateWindowEx (
        0,
        "STATIC",
        "  DEPART",
        WS_VISIBLE|WS_CHILD,
        110,185,68,16,
        hwnd,
        NULL,
        g_inst,
        NULL
        );
    CreateWindowEx (
        0,
        "STATIC",
        " CELULAR",
        WS_VISIBLE|WS_CHILD,
        110,235,68,16,
        hwnd,
        NULL,
        g_inst,
        NULL
        );
    CreateWindowEx (
        0,
        "STATIC",
        "   RAMAL",
        WS_VISIBLE|WS_CHILD|BS_CENTER,
        110,285,68,16,
        hwnd,
        NULL,
        g_inst,
        NULL
        );
    SendMessage((HWND) EditNum1,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum2,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum3,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum4,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum5,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum6,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonPesquisar,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonSair,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonAnterior,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonProximo,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
}

char s_valor1[20] = "0",s_valor2[20];

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_CREATE:
            DesenharObjectos(hwnd,message,wParam,lParam);
        break;
        case WM_COMMAND:

            if ((HIWORD(wParam) == BN_CLICKED))
            {

                SendMessage(
                    (HWND) EditNum1,
	                (UINT) EM_GETLINE,
	                (WPARAM) 1,
	                (LPARAM) &s_valor1
                    );

                SendMessage((HWND)EditNum2,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &s_valor2);

                switch (LOWORD(wParam))
                {
                    case ID_BUTTONPesquisar:
                        MessageBox(0,"aqui pesquisar","",0);
                    break;
                    case ID_BUTTONSair:
                        PostQuitMessage(0);
                    break;
                    case ID_BUTTONAnterior:
                       MessageBox(0,"aqui anterior","",0);
                    break;
                    case ID_BUTTONProximo:
                        MessageBox(0,"aqui Proximo","",0);
                    break;
                }

                SendMessage(
	                (HWND) EditNum3,
	                (UINT) WM_SETTEXT,
	                (WPARAM) 0,
	                (LPARAM) &s_valor1
                    );
                SendMessage(
	                (HWND) EditNum4,
	                (UINT) WM_SETTEXT,
	                (WPARAM) 0,
	                (LPARAM) &s_valor2
                    );

            }
            break;
        case WM_DESTROY:
            PostQuitMessage (0);
        break;
        default:
            return DefWindowProc (hwnd, message, wParam, lParam);
    }
    return 0;
}

no code blocks crie um  projeto clicando em File / Project / Win32 GUI Project  clique em go depois em next e em next depois coloque o nome do projeto depois clique em abrir  vai aparecer uma pasta com o nome do projeto, nessa pasta abra o arquivo com nome main.c ou main cpp , então quando abrir a listagem na tela selecione toda a listagem e delete ela, então cole esse código no lugar e salve ,  aí pode compilar e se depois que você fechar o programa você quiser abri-lo novamente então dessa vez abra o arquivo com o nome do seu projeto .  esse programa, desse código,   exibe uma janela com as opções que você pretende no seu programa de consultas,  então precisa criar as funções para efetuar as consultas , precisamos de tempo pois isso é complicado .    

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Amiguinho  Segue um tutorial básico de criação de interface em C
http://www.forum-invaders.com.br/vb/archive/index.php/t-8290.html
 

 Você pode ter problemas pra puxar mais de 1 Janela como eu tive e um membro aqui do fórum me ajudou por isso segue o link da postagem pra você estudar posteriormente se der erro no seu também
https://www.clubedohardware.com.br/forums/topic/1247200-c-sistema-de-login-em-ui/?tab=comments#comment-6854723
 :atirador: Inclusive caso esteja vendo esse fórum obrigado de novo Gustavo Andretto,tanto pela ajuda com a interface quanto perder um pouco do seu tempo escrevendo o código, você me ajudou demais :lol:

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Amiguinho     experimente esse código ,  testei ele aqui e está funcionando bem , então coloque ele no code blocks como  foi explicado ali em cima e também coloque esse exemplo do arquivo txt que você postou  do jeito que ele está apenas que ali no número de celular coloque todos os números juntos uns dos outros não deixando espaço entre eles , pois senão dá erro,   se você quiser deixar um espaço coloque um tracinho ou underline para fazer a separação e nas outras palavras também  e não modifique a quantidade de colunas  que no seu exemplo são cinco colunas , pois se modificar a quantidade de colunas precisa modificar também o código e salve ele com o nome de   dados de consulta do tipo txt  na raiz da unidade c pois no código está configurado assim ou se você quiser pode modificar no código onde ele deve procurar pelo arquivo . 

o arquivo precisa ficar nesse formato :

NOME            E-MAIL               DEPARTAMENTO       CELULAR                 RAMAL
Zeca        [email protected]               TI          (11)_99999-9999             501
Joao        [email protected]               RH          (11)_98888-9888             502
Maria       [email protected]          Financeiro      (11)_97777-7777             503
kiko        [email protected]           Financeiro      (11)_98877-6655             504
Jonas       [email protected]              RH          (11)_89977-4466             505
lolipop     [email protected]            TI          (21)_92565-7457             506
junior      [email protected]             RH          (11)_95566-4433             507
manuel      [email protected]             TI          (11)_93322-4477             508

     segue o código do programa :

#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <vector.h>
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

char c1[20],c2[20],c3[20],c4[20],c5[20];
char b1[20],b2[20],b3[20],b4[20],b5[20];
int g,j;
struct arquivo{
    char nome   [20];
    char email  [30];
    char depart [20];
    char celular[20];
    char ramal  [20];
  };
  struct arquivo dados[2000];
int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    HWND hwnd;
    MSG messages;
    WNDCLASSEX wincl;

    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = "WindowsApp";
    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 = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;/*+5=branco*/


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

    hwnd = CreateWindowEx (
        0,
        "WindowsApp",
        "Interface De Pesquisa",
        WS_OVERLAPPEDWINDOW,
        100,    /*pos x da tela de 0 ate 1280 tamanho da tela*/
        5,      /*pos y da tela de 0 ate 720 tamanho da tela*/
        1024,   /*largura da janela criada largura da tela*/
        720,    /*altura da janela criada  altura da tela*/
        HWND_DESKTOP,
        NULL,
        hThisInstance,
        NULL
        );


    ShowWindow (hwnd, nFunsterStil);

    while (GetMessage (&messages, NULL, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }

    return messages.wParam;
}

#define ID_BUTTONPesquisar 1001
#define ID_BUTTONSair      1002
#define ID_BUTTONAnterior  1003
#define ID_BUTTONProximo   1004

HINSTANCE g_inst;
HWND EditNum1,EditNum2,EditNum4,EditNum3,EditNum5,EditNum6,ButtonPesquisar,ButtonSair,ButtonAnterior,ButtonProximo;

void DesenharObjectos(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
    EditNum1 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER/*|ES_RIGHT*/ ,
                               200, 30, 150, 30,hwnd,NULL,g_inst,NULL );
    EditNum2 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER,200, 80, 150, 30,
                               hwnd, NULL, g_inst, NULL );
    EditNum3 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "",WS_VISIBLE|WS_CHILD|WS_BORDER,200, 130, 150, 30,
                               hwnd, NULL, g_inst, NULL );
    EditNum4 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER,200, 180, 150, 30,
                               hwnd, NULL, g_inst, NULL );
    EditNum5 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER,200, 230, 150, 30,
                              hwnd, NULL, g_inst, NULL );
    EditNum6 = CreateWindowEx (WS_EX_CLIENTEDGE,"EDIT", "", WS_VISIBLE|WS_CHILD|WS_BORDER,200, 280, 150, 30,
                               hwnd, NULL, g_inst, NULL );
    ButtonPesquisar = CreateWindowEx (0,"BUTTON","PESQUISAR", WS_VISIBLE|WS_CHILD, 500, 30, 150, 30,
                                      hwnd,(HMENU)ID_BUTTONPesquisar, g_inst, NULL );
    ButtonSair = CreateWindowEx (0,"BUTTON","SAIR", WS_VISIBLE|WS_CHILD,500, 130, 150, 30, hwnd,
                                (HMENU)ID_BUTTONSair, g_inst, NULL);
    ButtonAnterior = CreateWindowEx (0,"BUTTON","ANTERIOR", WS_VISIBLE|WS_CHILD,465, 80, 100, 30, hwnd,
                                    (HMENU)ID_BUTTONAnterior, g_inst, NULL);
    ButtonProximo = CreateWindowEx (0,"BUTTON","PROXIMO", WS_VISIBLE|WS_CHILD,580,80,100,30,hwnd,
                                    (HMENU)ID_BUTTONProximo, g_inst, NULL);
    CreateWindowEx (0,"STATIC","ENTRADA" , WS_VISIBLE|WS_CHILD|BS_RIGHT,  110,  35,68,16, hwnd, NULL, g_inst, NULL);
    CreateWindowEx (0,"STATIC","   NOME" , WS_VISIBLE|WS_CHILD|BS_LEFT,   110,  85,68,16, hwnd, NULL, g_inst, NULL);
    CreateWindowEx (0,"STATIC","  E-MAIL", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 135,68,16, hwnd, NULL, g_inst, NULL);
    CreateWindowEx (0,"STATIC","  DEPART", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 185,68,16, hwnd, NULL, g_inst, NULL);
    CreateWindowEx (0,"STATIC"," CELULAR", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 235,68,16, hwnd, NULL, g_inst, NULL);
    CreateWindowEx (0,"STATIC","   RAMAL", WS_VISIBLE|WS_CHILD|BS_CENTER, 110, 285,68,16, hwnd, NULL, g_inst, NULL);
    SendMessage((HWND) EditNum1,       (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum2,       (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum3,       (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum4,       (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum5,       (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum6,       (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonPesquisar,(UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonSair,     (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonAnterior, (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) ButtonProximo,  (UINT) WM_SETFONT,(WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
}
char s_valor1[50] = "0";
FILE *fp;
int coloca_no_edit(int g);
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_CREATE:
            DesenharObjectos(hwnd,message,wParam,lParam);
            break;
        case WM_COMMAND:
            if ((HIWORD(wParam) == BN_CLICKED)){
                strcpy(s_valor1,"0");
                SendMessage((HWND)EditNum1,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &s_valor1);
                switch (LOWORD(wParam))
                {
                    case ID_BUTTONPesquisar:
                        char c[20];
                        int k;
                        int h;
                        h=0;
                        k=0;j=0;g=1;
                        fp =   fopen("c:/dados de consulta.txt","r");
                        while( fscanf(fp,"%s",dados[j].nome  ) != EOF && fscanf(fp,"%s",dados[j].email  ) != EOF
                            && fscanf(fp,"%s",dados[j].depart) != EOF && fscanf(fp,"%s",dados[j].celular) != EOF
                            && fscanf(fp,"%s",dados[j].ramal ) != EOF){
                            j++;
                        }
                        fclose(fp);
                        fp = fopen("c:/dados de consulta.txt","r");
                        if(fp==NULL){MessageBox(0,"erro no arquivo","",0);}
                        while( g < j ){
                            strcpy(b1,dados[g].nome);strcpy(b2,dados[g].email);strcpy(b3,dados[g].depart);
                            strcpy(b4,dados[g].celular);strcpy(b5,dados[g].ramal);strcpy(c,s_valor1);
                            for(k=0;k<strlen(b1);k++)
                                b1[k]=toupper(b1[k]);
                            for(k=0;k<strlen(b2);k++)
                                b2[k]=toupper(b2[k]);
                            for(k=0;k<strlen(b3);k++)
                                b3[k]=toupper(b3[k]);
                            for(k=0;k<strlen(b4);k++)
                                b4[k]=toupper(b4[k]);
                            for(k=0;k<strlen(b5);k++)
                                b5[k]=toupper(b5[k]);
                            for(k=0;k<strlen(c);k++ )
                                c[k]=toupper(c[k]   );
                            if(strcmp(b1,c)==0||strcmp(b2,c)==0||strcmp(b3,c)==0||strcmp(b4,c)==0||strcmp(b5,c)==0){
                                coloca_no_edit(g);
                                h=1;
                                break;
                            }
                            g++;
                        }
                        fclose(fp);
                        if(h==0){
                            MessageBox(0,"Esse Dado Não Existe No Arquivo","(***) Informação",0);
                            SendMessage((HWND) EditNum1, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) & "");
                        }
                        break;
                    case ID_BUTTONSair:
                        PostQuitMessage(0);
                        break;
                    case ID_BUTTONAnterior:
                        g--;
                        if ( g < 1 ){
                            g=1;
                        }
                        coloca_no_edit(g);
                        break;
                    case ID_BUTTONProximo:
                        g++;
                        if( g > j-1 ){
                            g=j-1;
                        }
                        coloca_no_edit(g);
                        break;
                }
            }
            break;
        case WM_DESTROY:
            PostQuitMessage (0);
        break;
        default:
            return DefWindowProc (hwnd, message, wParam, lParam);
    }
    return 0;
}
int coloca_no_edit(int w){
    SendMessage((HWND) EditNum2, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].nome    );
    SendMessage((HWND) EditNum3, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].email   );
    SendMessage((HWND) EditNum4, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].depart  );
    SendMessage((HWND) EditNum5, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].celular );
    SendMessage((HWND) EditNum6, (UINT) WM_SETTEXT, (WPARAM) 0, (LPARAM) &dados[w].ramal   );
    return 0;
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Desculpem pela demora, só tenho o fds para fuçar em programação hehe.

 

@devair1010

 

Deu certo este código! Muito show! Obrigado.

 

Apenas um item, ele funciona apenas quando pesquisa exatamente o que se tem no arquivo.

Tem como fazer ele buscar mesmo incompleto?

 

Ex: Buscar por: "50"

Ele traz todos os ramais que contenham 50, ex: 508, 509, 450

 

Ex2: Buscar por "Bru"

Ele traz todos os nomes ou e-mails que contenha Bru, ex: bruno, bruna, breno, etc

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...