Gość Opublikowano 26 Lipca 2008 Zgłoś Opublikowano 26 Lipca 2008 Witam Na wstepie zaznaczam ze dopiero wchodze w temat programiwania c++ stad pytanie moze wydawac sie banalne jak i to ze sam problem tez nie jest znaczacy ale wqrza mnie a nie mam juz pomyslow jak sobie poradzic stad prosba o pomoc; Oto moj problem: (srodowisko VS C++ 2003) W edytorze VS tworze okno dialogowe, dodaje je do zrodel projektu a kodzie programu #include <resource>; Chce nastepnie wywolac to okno za pomoca funkcji: DialogBox(HINSTANCE hInstance, LPCTSTR lpTemplate, ...); Jako drugi parametr - lpTemplate - mozna podac id tego okna np IDD_NAZWA_OKNA ale kiedy to robie program wypisuje mi blad ze nierozpoznaje podany identyfikator; Natomiast jesli podam wartosc ID tego okna np 103 to wszystko jest dobrze; Z czego wynika taka roznica w dzialaniu; Z gory dzieki za podpowiedzi; Pozdr Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 26 Lipca 2008 Zgłoś Opublikowano 26 Lipca 2008 (edytowane) zacznę od tego.. czemu akurat vs 2003? Czemu nie używasz wizardzików MFCowych do robienia okienek - one automagicznie generują klasy okien, resourcy etc. W takim wypadku okienko wołasz sobie tworząc po prostu obiekt klasy okna i wywołujesz metodę np DoModal(); Jeśli kompilator krzyczy Ci, że nie rozpoznaje identyfikatora, to widocznie nie jest zaikludowany. Ogólnie rzecz biorąc to chlastanie się w win32api albo mfc to zabawy które tylko zniechęcają do nauki programowania. Nie wiem czemu nie ściągniesz sobie po prostu visual studio c++ 2008 express, jest darmowy. Tam możesz używać .NETa co bardzo ułatwia pisanie programów, można by rzec, że prawie same się piszą w porównaniu do mfc np. Edytowane 26 Lipca 2008 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 26 Lipca 2008 Zgłoś Opublikowano 26 Lipca 2008 Dlaczego nie mfc?? Musialbym rozpoczac od poczatku tzn tego ze kiedys programowalem duzo w pascalu i nastepnie w C; Ale mialo to miejsce przed i na troszke na poczatku studiow; Nie powiem - podobalo mi sie; Ostatecznie na studiach poszedlem w nieco innym kierunku i zatracilem kontakt z programowaniem; Teraz po kilku latach chce w ramach hobby do tego wrocic - mam pare niezrealizowanych pomyslow :) W kazdym razie przejscie od aplikacji konsolowych do graficznych pod windows to dla mnie dosc duzy skok w rozumieniu tego jak sie tworzy programy; Co do VS 2003 to polecil mi kumpel ktory pracuje jako programista przy duzych projektach i stwierdzil ze z odpowiednia ksiazka powinienem dac sobie rade (zakupilem wiec Programowanie z WindowsAPI w C++); Co wiecej stwierdzil ze chociaz WinApi jest dosc upierdliwe to dzieki temu lepiej zrozumiem zasady dzialania, tworzenia okienek i calego tego interfejsu; Z czasem latwiejsze tez mialbym przejscie do mfc; VS Express 2008 sciagnalem w pierwszej chwili ale tam jest nackane dot netu; Napisalem sobie banalnie prosty program ale nie moglem go pozniej uruchomic na innych komputerach, ktore Frameworka nie posiadaly i nie podobalo mi sie to; Wracajac do glownego problemu to inkluduje windows.h oraz resource.h; Pozdr Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 26 Lipca 2008 Zgłoś Opublikowano 26 Lipca 2008 Programów pisanych w vc++ tez nie uruchomisz na innych komputerach które nie mają zainstalowanej paczki redist... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 27 Lipca 2008 Zgłoś Opublikowano 27 Lipca 2008 (edytowane) Nie wiem przy jakich dużych projektach pracuje Twój kolega, ale ja też pracuję przy niemałym :wink: projekcie. Miałem okazję pracować na VS2003, teraz pracuję na VS2005 i gdybym miał doradzać, to z pewnością to drugie środowisko. Ty piszesz, że jeśli zrozumiesz winapi to łatwiejsze będzie przejście do mfc... a Ja Ci powiem, że z MFC już się wychodzi, więc kiedy Ty tam wejdziesz.. nikogo już tam nie będzie. Zapewniam Cię, że jeśli nie chcesz pisać systemów operacyjnych, jakichś korowych modułów, które muszą być bardzo wydajne to nie musisz nic wiedzieć na temat tego, jak są tworzone okna w systemie. Co prawda jakaś tam podstawowa wiedza zawsze się przyda, ale zakopywanie się w wywoływanie funkcji winapi do tworzenia okien to imo przesada. Już nawet MFC - które sporo ułatwia życie jest posrane w porównaniu z .NETem. Średnio przy zwykłym kodzie na jedną linijką .Netową przypada kilka linii kodu w mfc, tak że zastanów się czy nie brniesz w ślepą uliczkę. MS trochę zlał MFC, i jak zaczniesz pisać programy to szybko się okaże, że chciałbyś zrobić np kontrolkę z jakimś takim fajnym ficzerem - co będzie od Ciebie wymagało napisanie tej kontrolki prawie od nowa samemu. W .NET masz je w większości gotowe, a przerabianie istniejących kontrolek to prawie dziecinna zabawa. Co prawda słyszałem, że MS zauważył, że trochę im się zapomniało o MFC i planują jakąś nową wersję, ale to nigdy nie będzie proste jak .net. Jako, że C# i .NET jest bardzo popularny to na praktycznie każde pytanie znajdziesz odpowiedź w goglach. Ja osobiście korzystam z C++\CLI używając .NETa, bo byłem bardziej związany z C++ niż C# ;). Jeśli chodzi o framework.. to jakie to były komputery? Skoro .NET framework 2.0 był już w service packu 2 do windowsa xp (mistrzu SGJ popraw mnie ;) ). Z frejmworkami to był problem parę lat temu, kiedy faktycznie .net framework to był rarytas w systemie. Teraz to już jest standard, więc ja bym się nie przejmował.. jak ktoś nie ma, niech sobie zainstaluje.. to mu tylko na dobre wyjdzie :) Ty chcesz się skupiać na programowaniu samym w sobie, ale lepiej skupić się na pomyśle, aplikacji, algorytmie, a kodować ma się jak najłatwiej... a jeśli chodzi o łatwość kodowania, to .NET bije na głowę mfc i winapi i jest o wiele łatwiejszy do opanowania. Jeśli nadal Cię nie przekonałem :), i wolisz sobie robić krzywdę na własne życzenie :wink:, to napisz jeszcze jaki błąd Ci zwraca kompilator. Edytowane 27 Lipca 2008 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 27 Lipca 2008 Zgłoś Opublikowano 27 Lipca 2008 Skoro .NET framework 2.0 był już w service packu 2 do windowsa xp (mistrzu SGJ popraw mnie ;) )Nie ma(1.1 dostepne jest na płycie), ale frameworki dostepne są przez WU. Poza tym 3.0 jest domyslnie w Viscie, a coraz więcej osób uzywqa tego systemu. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
quo Opublikowano 27 Lipca 2008 Zgłoś Opublikowano 27 Lipca 2008 Nie ma(1.1 dostepne jest na płycie), ale frameworki dostepne są przez WU. Poza tym 3.0 jest domyslnie w Viscie, a coraz więcej osób uzywqa tego systemu.nie da sie ukryc, ze brak dolaczenia .net do XP SP3 oraz koniecznosc instalowania kolejnych wersji .net po kolei nie ulatwia sprawy programistom .net Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 27 Lipca 2008 Zgłoś Opublikowano 27 Lipca 2008 koniecznosc instalowania kolejnych wersji .net po kolei nie ulatwia sprawy programistom .net :blink: Jakie po kolei? Jest net 1.1, którego mało co juz widać i net 3.5, który jest rozszerzoną wersją 2.0 i jego instalator zawiera 2.0+3.0+3.5. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
quo Opublikowano 27 Lipca 2008 Zgłoś Opublikowano 27 Lipca 2008 :blink: Jakie po kolei? Jest net 1.1, którego mało co juz widać i net 3.5, który jest rozszerzoną wersją 2.0 i jego instalator zawiera 2.0+3.0+3.5. a no to sorry jestem nie na czasie :oops: ostatnia wersja ktora instalowalem to 3.0 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 28 Lipca 2008 Zgłoś Opublikowano 28 Lipca 2008 no ale .net to nie jest jakieś zło, czy mało znany frejmwork, typu gtk runtime - które też doinstalowywałem tylko po to, żeby mi jeden program działał. W .NET podobnie jak w JRE śmiga wiele programów, a z czasem będzie jeszcze więcej, więc ja bym się nie przejmował tak tym doinstalowaniem .neta. Zresztą prawie wszystko co potrzeba jest w .net 2.0, więc jesli nie ma potrzeby użycia jakichś specjalnych klas to można kompilować program do 2.0 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość <account_deleted> Opublikowano 29 Lipca 2008 Zgłoś Opublikowano 29 Lipca 2008 ale lepiej skupić się na pomyśle, aplikacji, algorytmie, a kodować ma się jak najłatwiej..."przelewanie" pomysłu na kod (za 20 lat): - komputer, kiedy przsunę myszkę w lewo o 2cm, ty przesuń wskaźnik na ekranie o 100pix, okay? po czym komputer po identyfikacji wyglądu użytkownika oraz wnikliwej analizie głosu (co zajmie mu zaledwie 0.2s - cuż to takiego te pare TB kodu i danych dla 4 miliardów rdzeni) - okay, stary :lol2: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 31 Lipca 2008 Zgłoś Opublikowano 31 Lipca 2008 procesory równoległe to nie taka odległa przyszłość.. już w tej chwili są takie robione, problem tylko z programowaniem takiego ustrojstwa. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
-=YoGi=- Opublikowano 31 Lipca 2008 Zgłoś Opublikowano 31 Lipca 2008 Programów pisanych w vc++ tez nie uruchomisz na innych komputerach które nie mają zainstalowanej paczki redist...no a jak dolaczysz statycznie biblioteki przez batchbuilda? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...