MessageBox - Problemy

dział ogólny

MessageBox - Problemy

Nowy postprzez Pitek » czwartek, 29 października 2009, 22:35

Witam chciałbym jakoś zmieścić dwa zagadnienia więc nie sprecyzowałem nazwy tematu proszę mnie poprawić jezeli będzie trzeba.
Po pierwsze chodzi o fragment kodu po niżej wszystko działa tylko w efekcie otrzymuję okno jak w załączniku nr1 nie wiem dlaczego ale jest ono troszke za duże ;p natomiast dzieje się tak tylko po wywołaniu go w sposób naciśnięcia enter na klawiaturze natomiast zał. nr2 obrazuje efekto po naciśnięciu myszką a zał nr3 przedstawia prawie zawsze ten sam efekt czy myszą czy klawiaturą napisałem prawie bo zdarza się chyba raczej losowo że myszką kliknięte jest normalnych wielkości to okno jest troszke dziwne próbowałem sam to rozwiązać ale naprawde nie wiem już o co tu chodzi :shock:

Kod: Zaznacz cały
void __fastcall TForm1::Button8Click(TObject *Sender)
{
FindCells fc;
fc = FindInGrid(StringGrid1, LabeledEdit3->Text);
if(fc.Col < 0)
{
  Application->MessageBox((NULL,"Nie można odnaleźć „" + LabeledEdit3->Text + "”").c_str(),L"Znajdź")| MB_OK | MB_ICONINFORMATION;
  return;
}
else if(fc.Col > 0)
{
  Application->MessageBox((NULL,"Odnaleziono szukany tekst „" + LabeledEdit3->Text + "” " + "Kolumna : " + fc.Col + " Wiersz : " + fc.Row).c_str(),L"Znajdź")| MB_OK | MB_ICONINFORMATION;
}
StringGrid1->Col = fc.Col;
StringGrid1->Row = fc.Row;
StringGrid1->SetFocus();
StringGrid1->TopRow = fc.Row;
}


Po drugie kożystając z jednego tematu chciałem zapytać jak zrobić funkcje która sprawdzałaby czy dokonano zmian w StringGrid1 i jeżeli takowych nie było to po naciśnięciu przycisku wywskakuje okno że nie było zmian.
Z góry dziękuję za pomoc !
Pozdro
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 09:12

Nie dołączyłeś żądnych załączników.
Pisząc post masz na dole strony zakładkę "Dodaj załącznik". Klikając na przycisk [Przeglądaj], klikając na tym przycisku możesz wybrać plik ze swojego komputera, potem klikasz [Dołącz]. Jeżeli ma to być obrazek to użyj formatu JPEG, PNG, lub GIF.

Co do sprawdzania czy w StringGrid zaszły zmiany. Utwórz zmienną globalną typu BOOL, przy uruchomieniu programu ustawiaj wartość tej zmiennej na false. W zdarzeniu OnSetEditText obiektu StringGrid ustawiaj wartość tej zmiennej na true. Po zapisaniu zawartości tabeli ustawiaj wartość tej zmiennej na false. W zdarzeniu OnClose dla formularza głównego (np. Form1) sprawdzaj jaką wartość ma ta zmienna, jeżeli true to pytaj czy zapisać, np:

Kod: Zaznacz cały
// bool modify
if(modify == true)
{
  int idx = Application->MessageBox("Czy chcesz zapisać zmiany?", "tytuł okna", MB_YESNO | MB_ICONQUESTION);
 
  if(idx == ID_NO) return;
  else
  {
   // tutaj kod zapisujący
  }
}




Kod: Zaznacz cały
   Application->MessageBox((NULL,"Nie można odnaleźć „" + LabeledEdit3->Text + "”").c_str(),L"Znajdź")| MB_OK | MB_ICONINFORMATION;


Ten kod ma nieprawidłową konstrukcję. Chyba pomyliłeś funkcję MessageBox z Application->MessageBox.

Kod: Zaznacz cały
MessageBox(void * hWnd, const char * lpText, const char * lpCaption,  unsigned int uType);

Application->MessageBox( const char *lpText, const char *lpCaption, unsigned int uType);
Application->MessageBox( "TREŚĆ KOMUNIKATU", "TUTUŁ OKNA", FLAGI);


Ponadto umieściłeś hWnd, lpText i lCpation w jednym bloku: (NULL,"Nie można odnaleźć „" + LabeledEdit3->Text + "”").c_str(),L"Znajdź"), a flagi poza funkcję. Niezwykłe jest to, że ten kod się skompilował.

Powinno być tak:

Kod: Zaznacz cały
Application->MessageBox( ( "Nie można odnaleźć \"" + LabeledEdit3->Text + "\"" ).c_str(),  "Znajdź",  MB_OK | MB_ICONINFORMATION );


Tak to działa jeszcze w C++Builder 2007. W nowszych wersjach będzie podobnie, tylko TREŚĆ KOMUNIKATU i TUTŁ OKNA nie sę typu char lecz UnicodeString, więc kod może wyglądać tak:


Kod: Zaznacz cały
Application->MessageBox( ( "Nie można odnaleźć \"" + LabeledEdit3->Text + "\"" ).c_str(),  L"Znajdź",  MB_OK | MB_ICONINFORMATION );


O MessageBox możesz przeczytać w serwisie Cyfrowy Baron dział: porady -> API -> Obsługa komunikatów (MessageBox).
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 12:55

Dziękuję za pomoc i przepraszam zapomnialem na załączników ale zaraz wrzuce. Zmieniłem MessageBox tak jak pan napisał też chodzi jedna dalej jest tak jak na załączonych obrazkach.
a jeżeli chodzi o sprawdzanie czy dokonano edycji wyskakuje błąd Stack Overflow a kod w OnClose Form1 jest nasjępujący i wiem że znowu odbiega od normy Message boxa ale inaczej nie chce wystartować w ogóle.
P.S. Na forum jest czas letni może to tak ma być ja nie wiem ;p
Kod: Zaznacz cały
{
if(modify == true)
{
int mbResult2 = MessageBox (NULL,"Dokonano zmian. Czy chcesz zapisać swoją pracę ?","Zakończ", MB_YESNOCANCEL | MB_ICONQUESTION | MB_DEFBUTTON1);
switch(mbResult2)
{
   case IDYES:
   MessageBox(NULL, "Aby zapisać użyj funkcji zapisz w lewym dolnym rogu onka programu.","Zapisz", MB_OK | MB_ICONINFORMATION);
      return;
   case IDNO:
      Close();
      break;
   case IDCANCEL:
      break;
}
}
else if(modify == false)
{
   Close();
}
}
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 14:29

ale inaczej nie chce wystartować w ogóle.


Bo coś źle robisz. Gdy używasz funkcji MessageBox wartość zwracana może mieć następującą postać: IDYES, ale gdy używasz Application->MessageBox to ta sama wartość jest zapisywana tak: ID_YES.

wiem że znowu odbiega od normy Message boxa ale inaczej nie chce wystartować w ogóle.


Nie czytasz tego co piszę!!! :oops:
Akurat teraz zastosowałeś prawidłowo MessageBox, nie myl go jednak z Application->MessageBox.

Twój kod niczego nie zapisuje po wybraniu IDYES.
Funkcja return wyrzuca z funkcji. Po return nic już nie zostanie zrobione.
Po jaką cholerę umieszczasz w zdarzeniu OnClose polecenie Close. OnClose wywoływane jest zawsze gdy zamykasz formularz, więc funkcja Close() jest zbędna, gdyż formularz i tak zostanie zamknięty, a w tym przypadku to właśnie użycie funkcji Close() wywołuje błąd.

Po co podajesz MB_DEFBUTTON1, to akurat jest wartość domyślna, jeżeli nie podasz innej to zawsze jest MB_DEFBUTTON1.

Po wybraniu IDYES powinieneś wywołać najpierw funkcję zapisującą zmiany, potem return i wszystko.



To musi działać:
Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(modify == true)
{
  int mbResult2 = Application->MessageBox(
                  "Dokonano zmian. Czy chcesz zapisać swoją pracę?",
                  "Zakończ", MB_YESNOCANCEL | MB_ICONQUESTION);
  if(mbResult2 == ID_NO)
  {
   Action = caFree; // odblokowuje zamykanie jeżeli zablokowane
   return;
  }
  if(mbResult2 == ID_CANCEL)
  {
   Action = caNone; // blokuje zamknięcie formularza
   return;
  }
  if(mbResult2 == ID_YES)
  {
   ButtonZapiszClick(Sender);// wywołuje zdarzenie OnClick przycisku zapisującego zmiany tutaj Button nosi nazwę ButtonZapisz
   Action = caFree; // odblokowuje zamykanie jeżeli zablokowane
   return;
  }
}
else Action = caFree;
}
//---------------------------------------------------------------------------




Co do problemów z wyświetlaniem okienek, to jest oczywiste, że coś źle napisałeś w kodzie programu.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 14:42

Dziękuję bardzo sprawdzanie edycji działa ale w kodzie:
Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(modify == true)
{
  int mbResult2 = Application->MessageBox(
                  "Dokonano zmian. Czy chcesz zapisać swoją pracę?",
                  "Zakończ", MB_YESNOCANCEL | MB_ICONQUESTION);
  if(mbResult2 == ID_NO)
  {
   Action = caFree; // odblokowuje zamykanie jeżeli zablokowane
   return;
  }
  if(mbResult2 == ID_CANCEL)
  {
   Action = caNone; // blokuje zamknięcie formularza
   return;
  }
  if(mbResult2 == ID_YES)
  {
   ButtonZapiszClick(Sender);// wywołuje zdarzenie OnClick przycisku zapisującego zmiany tutaj Button nosi nazwę ButtonZapisz
   Action = caFree; // odblokowuje zamykanie jeżeli zablokowane
   return;
  }
}
else Action = caFree;
}
//---------------------------------------------------------------------------

Musze zmienić ten kod na taki bo nie ma szans na uruchomienie:
Kod: Zaznacz cały
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(modify == true)
{
  int mbResult2 = MessageBox(NULL,
              "Dokonano zmian. Czy chcesz zapisać swoją pracę?",
              "Zakończ", MB_YESNOCANCEL | MB_ICONQUESTION);
  if(mbResult2 == IDNO)
  {
   Action = caFree; // odblokowuje zamykanie jeżeli zablokowane
   return;
  }
  if(mbResult2 == IDCANCEL)
  {
   Action = caNone; // blokuje zamknięcie formularza
   return;
  }
  if(mbResult2 == IDYES)
  {
   Button4Click(Sender);// wywołuje zdarzenie OnClick przycisku zapisującego zmiany tutaj Button nosi nazwę ButtonZapisz
   Action = caFree; // odblokowuje zamykanie jeżeli zablokowane
   return;
  }
}
else Action = caFree;
}

Jeszcze raz bardzo dziękuję za pomoc a z tymi okienkami gdzie może być błąd czy mam dostarczyć jeszcze jakichś informacji ?
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 14:46

Dlaczego MessageBox?!

Pytanie do osób korzystających ze środowiska C++ Builder 2009 lub 2010:
Czy w tych środowiskach nie można używać funkcji Application->MessageBox?
Czy nie ma tam takiej funkcji?
Jeżeli jest to co pitek3010 robi źle, że mu to nie chce działać?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 15:11

Jeżeli zrobie od deski do deski tak jak pan to napisał to wyskakuje takie coś :
Kod: Zaznacz cały
[BCC32 Error] Unit1.cpp(740): E2034 Cannot convert 'const char *' to 'const wchar_t *'
[BCC32 Error] Unit1.cpp(740): E2342 Type mismatch in parameter 'Text' (wanted 'const wchar_t *', got 'const char *')
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 15:25

Bo w nowszych wersjach masz UnicodeString, a nie char, wiec komunikat powinien wyglądać chyba tak:

Kod: Zaznacz cały
  int mbResult2 = Application->MessageBox(
                  L"Dokonano zmian. Czy chcesz zapisać swoją pracę?",
                  L"Zakończ", MB_YESNOCANCEL | MB_ICONQUESTION);


Jak widać dodajesz L przed tekstem, ale poza cudzysłowem.
Może niech się wypowiedzą na ten temat osoby, które korzystają z nowszych wersji środowiska.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 15:42

Heh działa ale to właśnie powoduje występowanie dużego okienka przez przypadek to odkryłem dzięki panu i teraz moje pytanie w zwązku z tym czy da się użyć MessageBox (nie Application->MessageBox) tak aby wstawić tam w treści okna jakąś zmienną ?
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 15:49

Tutaj może pomóc tylko ktoś korzystający z nowszych wersji środowiska i posiadający odpowiednią wiedzę w temacie.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 16:01

W sumie jak mi to działa to sie narazie nie bede w to zagłębiał. Zeby nowego tematu nie tworzyć zapytam tu. Czy da się zablokować edycję komurek od 20 do 25 kolumny i od 1 do 20 wiersza ale w ten sposób że program jest w stanie pośrednio np. poprzez wpisanie tekstu w Edit1 i przekierowanie go do tej zablokowanej do edycji dla użytkownika komórki ? Czyli program może ale użytkownik bezośrednio w komurce nie.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 16:04

Nie da się tego zrobić w prosty sposób. Zanim zaczniesz cokolwiek dalej tworzyć w tym swoim programie najpierw musisz rozwiązać problem z konwersja wartości typu AnsiString i char to UnicodeString, w przeciwnym razie co chwila będziesz zgłaszał wciąż te same problemy.

W sumie jak mi to działa to sie narazie nie bede w to zagłębiał.


A jednak musisz się w to zagłębić, gdyż potrzeba konwersji będzie często zachodziła.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 16:11

Problem z Application->MessageBox jest rozwiązany trzeba wstawić dwa razy L tylko w tedy wyskakują duże okna dlatego używam MessageBox.
A moje pytanie o zmienną w MessageBox było po to żeby wyeliminować te duże okna i tyle.
Niestety w przypadku mojego Znajdź mam dalej duże okna bo nie wiem czy da się zastosować zmienną w MessageBox.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Cyfrowy Baron » piątek, 30 października 2009, 16:33

To problem konwersji, najwyraźniej samo L nie wystarczy i należy robić to inaczej.
Sprawdza się to co napisałem wcześniej, dopóki nie rozwiążesz problemu z konwersją wciąż będziesz zgłaszał ten sam problem.

Spróbuj takiej konwersji:
Kod: Zaznacz cały
      int mbResult2 = Application->MessageBox(
                      ("Dokonano zmian. Czy chcesz zapisać swoją pracę?").t_str(),
                      ("Zakończ").t_str(),
                      MB_YESNOCANCEL | MB_ICONQUESTION);
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: MessageBox - Problemy

Nowy postprzez Pitek » piątek, 30 października 2009, 16:39

Ta forma nie pomaga jeżeli istnieje jeszcze jakaś to baradzo proszę.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    NieznanyNieznana

Następna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 7 gości