Skocz do zawartości

Duzy problem ! Serio


Trust

Recommended Posts

ludzie pomozcie bo zaraz chyba glowom ten monitor rozwale!!!!!!!!! :ph34r: :x :x
pisze se program w winapi jak nalezy. zrobilem okienko zmnienilem tlo dodalem pare przyciskow i kontrolek i wszystko gra do czasu gdy chce osluzyc ostatni guzik!!!!!!

a wienc tak:
wszystkie biblioteki dodalem jak nalezy.
i pisze sobie w obsludze cos takiego:

ofstream fout("c:\dupa.txt");
fout<<"dupa nie dziala";
fout.close();

i wywala mi bledy z plikiem fstream.h itp.
jak chce napisać ze po kliknieciu wyskoczy konsola z cout<<"cos tam";
to tesz blond wyskakuje znowu z plikiem iostream.h .

czy to dlatego ze jest to wcisniete miedzy winapi czy co?! pod konsole jak osobno pisze to wszystko dziala!! prosze o pomoc bo chyba zawalu dostane !!! :x

Link do komentarza
Udostępnij na innych stronach

przykladowy kod czemu nie dziala?? w tym problem :

#include <iostream.h>
#include <fstream.h>
#include <windows.h>



LRESULT CALLBACK Petla_Komunikatow(HWND, UINT, WPARAM, LPARAM);

char AppName[] = "zapisz plik";
HBRUSH hbr = CreateSolidBrush(RGB(0,0,128)); 
HINSTANCE hInstance;

int WINAPI WinMain(HINSTANCE Okno, HINSTANCE, LPSTR, int tryb)
{



        WNDCLASS KlasaOkna;

        KlasaOkna.style = 0;
        KlasaOkna.hInstance = Okno;
        KlasaOkna.lpszClassName = AppName;
        KlasaOkna.lpfnWndProc = Petla_Komunikatow;
        KlasaOkna.hIcon = LoadIcon(NULL, IDI_WINLOGO);
        KlasaOkna.hCursor = LoadCursor(NULL, IDC_ARROW);
        KlasaOkna.lpszMenuName = NULL;
        KlasaOkna.cbClsExtra = 0;
        KlasaOkna.cbWndExtra = 0;
        KlasaOkna.hbrBackground = hbr;

        if (!RegisterClass(&KlasaOkna)) return 0;

        HWND hOkno = CreateWindowEx( WS_EX_TOPMOST,
                              AppName,
                              AppName,
                              WS_POPUP|WS_BORDER|WS_SYSMENU|WS_CAPTION,
                              0,
                              0,
                              500,
                              400,
                             NULL,
                             NULL,
                            Okno,
                            NULL);

        ShowWindow(hOkno, tryb);
        UpdateWindow(hOkno);

        if(hOkno==NULL) return FALSE;



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

        return Komunikat.wParam;
}



LRESULT CALLBACK Petla_Komunikatow(HWND hOkno, UINT Komunikat, WPARAM wParam, LPARAM lParam)
{
       
        static HWND hZapisz;
        switch (Komunikat)
        {

 //// obsłużamy kontrolki/////////
case WM_COMMAND:
        switch(wParam)
        {


                      case 1:
                            
                            ofstream fout("c:\tekst.txt");
                            fout<<"jakis text do zapisu";
                            fout.close();
                            
                            break;
                            
               



                      case 0:
/////////////////////////////////////////////////////////////////////////////////
                      MessageBox (NULL, "Co jusz wychodzisz??" , "NeVeRmInD", 0 + MB_ICONQUESTION + MB_SYSTEMMODAL);
//////////////////////usuwamy pędzel z pamięci///////////////////////////////////                      
                                          DeleteObject(hbr);
/////////////////////////////////////////////////////////////////////////////////
                      PostQuitMessage(0);

                      break;





        }
        break;
                case WM_CREATE:

//////////////////////tworzymy kontrolki////////////////////////////

             
               hZapisz = CreateWindow("BUTTON", "ZAPISZ",
                        WS_VISIBLE | WS_CHILD,
                        360,50,60,20,
                        hOkno, (HMENU)1, hInstance, NULL);
              
              
                        
                 break;
//////////////////////////////////////////////////////////////////////                
                 case WM_DESTROY:
                         DeleteObject(hbr);
                         PostQuitMessage(0);
                  break;

                default:
                        return DefWindowProc(hOkno, Komunikat, wParam, lParam);
      }
 return 0;
}

to takie bledy przy kopmilacji wyskakujom:

In file included from C:/DEV-CPP/include/c++/backward/iostream.h:31,
                 from ggg/main.cpp:1:
C:/DEV-CPP/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
ggg/main.cpp: In function `LRESULT Petla_Komunikatow(HWND__*, unsigned int, 
   unsigned int, long int)':
ggg/main.cpp:90: jump to case label
ggg/main.cpp:80:   crosses initialization of `std::ofstream fout'


Internal compiler error: Error reporting routines re-entered.
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

g++.exe ggg/main.o  -o "Projekt1.exe" -L"C:/DEV-CPP/lib" -L"C:/Dev-Cpp/lib/gcc-lib" -mwindows 

G__~1.EXE: ggg/main.o: No such file or directory
G__~1.EXE: no input files
Link do komentarza
Udostępnij na innych stronach

Nie wiem moze sie myle, ale Twoj problem jest raczej zwiazny ze standardem, sprobuje zamiast

#include <iostream.h> 
#include <fstream.h>

uzyc:

#include <iostream> 
#include <fstream>

i dopisz jeszcze linie (przed wywolaniem int WINAPI WinMain(...) )

using namespace std;

Pozdrawiam i pisz smialo jesli nadal jest cos nie tak.

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...