Ir para conteúdo
Fórum Script Brasil

BraulioChaves

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por BraulioChaves

  1. Olá pessoal, venho aqui pedir a ajuda de vocês em uma questão com uma variável do tipo char, é o seguinte, tenho um formulário win32 com um botão que quando você clica nesse botão é aberto outra janela, que contém um edit, um botão para fechar e voltar a janela principal, um botão pra pegar os dados do edit e gravar em um arquivo de texto comum, o problema é que quando eu gravo algo acontece como o esperado, mas se eu FECHAR a janela e voltar para a janela principal e clicar novamente no botão para abrir a segunda janela e for tentar gravar algo, não vai gravar os dados, é como se a variável não se limpasse, continuasse os dados antigos.. abaixo o code:

    #include <windows.h>
    #include <string>
    #include <fstream>
    #include <iostream>
    #include <stdlib.h>
    #include <stdio.h>
    #include <sstream>
    #define className "Class"
    
    LRESULT CALLBACK WinProc(HWND window,UINT msg, WPARAM WParam,LPARAM LParam);
    HINSTANCE g_inst;
    // Interagindo com o usuário
    HWND Botao1;
        HWND hwnd;
    HWND Botao2;
    HWND EditNum1;
    HWND option;
    HFONT Minhaletra;
    HWND BotaoFechar;
    // Identificando os Botões
    #define ID_BOTAO1  1001
    #define IDC_BOTAO2  1003
    #define IDC_BOTAOFECHAR 1004
    // Sistema
    char frase[100]="0";
    using namespace std;
    
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpCmdLine,int nCmdShow){
    
        WNDCLASSEX win;
        MSG message;
        win.cbClsExtra = 0;
        win.cbSize=sizeof(win);
        win.cbWndExtra = 0;
        win.hbrBackground = CreateSolidBrush(RGB(217,83,83));
        win.hCursor = LoadCursor(NULL,IDC_ARROW);
        win.hIcon = LoadIcon(NULL,IDI_WARNING);
        win.hIconSm = LoadIcon(NULL,IDI_WINLOGO);
        win.hInstance = hPrevInstance;
        win.lpfnWndProc = WinProc;
        win.lpszClassName = className;
        win.lpszMenuName = NULL;
        win.style = 0;
        if(!RegisterClassEx(&win)) return 0;
    
        hwnd = CreateWindowEx(0,className,"Formulário",WS_SIZEBOX | WS_TILED | WS_CAPTION | WS_SYSMENU,
                              300,200,700,430,NULL,NULL,hInstance,NULL);
    
                               option = CreateWindowEx(0,className,"a",WS_SIZEBOX | WS_TILED | WS_CAPTION,
                             450,350,350,200,0,0,hInstance,0);
    
    
    
        if(hwnd == NULL) return 0;
        ShowWindow(hwnd,SW_SHOW);
        UpdateWindow(hwnd);
    
        while(GetMessage(&message,0,0,0)){
            TranslateMessage(&message);
            DispatchMessage(&message);
        }
        return message.wParam;
    }
    
    LRESULT CALLBACK WinProc(HWND window,UINT msg, WPARAM wParam,LPARAM lParam)
    {
        switch(msg){
            case WM_CREATE:
    
         Botao1 = CreateWindowEx(WS_EX_STATICEDGE,"BUTTON","Inverter",WS_VISIBLE | WS_CHILD,300,12,75,20,hwnd,(HMENU)ID_BOTAO1,g_inst,NULL);
            break;
    
            case WM_CLOSE:
                 DestroyWindow(window);
            break;
    
            case WM_DESTROY:
                 PostQuitMessage(0);
            break;
    
            case WM_COMMAND:
                 switch(LOWORD(wParam)){
                     case ID_BOTAO1:{
    
                   //       MessageBox(NULL,frase,frase,MB_OK);
             HINSTANCE g_inst1;
              EditNum1= CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_VISIBLE|WS_CHILD,12,142,320,20,option,NULL,g_inst1,NULL);
         Botao2 = CreateWindowEx(WS_EX_STATICEDGE,"BUTTON","Gravar",WS_VISIBLE | WS_CHILD,200,12,75,20,option,(HMENU)IDC_BOTAO2,g_inst1,NULL);
    
     BotaoFechar = CreateWindowEx(WS_EX_STATICEDGE,"BUTTON","FECHAR",WS_VISIBLE | WS_CHILD,100,12,75,20,option,(HMENU)IDC_BOTAOFECHAR,g_inst1,NULL);
    
                            ShowWindow(option, SW_SHOW);
                     }
                     break;
                     case IDC_BOTAOFECHAR:
                     {
                            ShowWindow(option, SW_HIDE);
                     }
                     break;
                     case IDC_BOTAO2:
                     {
                               SendMessage((HWND)EditNum1,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &frase);
                                //         sprintf(frase,"[basico]\nplayername =%s\ndirpath =%s\nrompath =%s",);
                            ofstream myfile;
                            myfile.open ("xsnes.ini");
                            myfile << frase;
                            myfile.close();
                           MessageBox(NULL,frase,frase,MB_OK);
    //
                            sprintf(frase,".");
                           // ShowWindow(option, SW_HIDE);
    
                     }
                     break;
                 }
                 break;
    
            default: return DefWindowProc(window, msg, wParam, lParam);
        }
        return 0;
    }

    Esse é só um code de teste que estou tentando resolver esse problema.

    Obrigado desde já.

×
×
  • Criar Novo...