Skocz do zawartości

Jarema

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Wszystko napisane przez Jarema

  1. Jarema

    WinAPI a C++ :/...

    Poprostu wejdz na stronke www.winapi.org i tam przegladaj lekcje od pierwszej w gore. Wszystkie przykłady masz w C. A podejzewam ze jesli uczysz sie C++ to C przynajmniej podstawy znasz. A co do api to wystarczy rozwinac skrot a wszystko staje sie jasne, choc przedmowcy juz zrobili to lepiej. (Application Programming Interface). Interfejs do pisania aplikacji.
  2. Hmm, milo slyszec takie pochwaly. A co do odwdzieczania to jestes na forum, wystarczy ze bedziesz zagladal, i jesli bedziesz cos wiedzial to poprostu podpowiesz  
  3. Jarema

    Jestem zdenerwowany...

    Offtopic: Wyczulem w tym "ZAAWANSOWANI PROGRAMIŚCI" jakas ironie. Czy moze masz do kogos zal A jak ładujesz projekt od nowa to po prostu ladujesz pliki .cpp, .h itd. czy otwierasz go z pliku .dsw To tez ma znaczenie. Musisz go włanczac z pliku .dsw, bo inaczej bedzie ten blad.
  4. hmm. Prawda jest taka ze zaraz po tym jak napisalem posta pisalem ta procedurke od nowa, oczywiscie inaczej i zoptymalizowalem. Blad juz nie wyskakuje. Ale czekalem az ktos wpadnie na pomysl. Spoonowi sie udalo, faktycznie w pewnym momencie zapetlala mi sie, zuzycie procka dochodzilo do 100% . A potem to juz kazdy wie .
  5. Jarema

    ListBox - problem

    Hmm jesli chcerz wyswietlic dyski uzyj funkcji GetDriveType. Jak chcerz szukac katalogow uzyj funkcji FindFirstFile, FindNextFile. Czuje jakbym przezyl dejawu ( 8) czy jak to sie pisze), o ile sie nie myle to Temat Explorator. Tam byl podobny problem. tylko ze z TreeView :) .
  6. Jarema

    Kolumny w ListView

    Rzeczywiscie w pierwszym poscie wprowadzilem go w blad. Ale drugi jest poprawny. Da sie tak zrobic, bo sam tak robie u siebie w programie. Nie mowie ze Twoja wypowiedz jest bledna. Jest jaknajbardziej poprawna, tylko wydaje mi sie, ze wygodnej jest przy wczytywaniu paru rzeczy na raz zdefiniowac poprostu strukture LVITEM, i wstawic ja do makra. A z tymi kolumnami to jaknajbardziej zrozumialem, tylko chcialem zwrocic uwage, ze jesli dodawal kolumny i pomylil te numerki ktore opisalem to nie bedzie mu dzialac wstawianie. Sorki Twardy jesli odebrales to jako krytyka , bo to wogole nie mialo tak zabrzmiec :) .
  7. Jarema

    taki sam

    Może jestem zbyt prostoduszny, ale radziłybym jeśli skrót ma się pojawić w takim celu jak to w większości programów użyć jakiegoś gotowego progarmiku do robienia instalaków. Dobre są te prgramy. Ale może piszesz swojego własnego InstallMakera
  8. Jarema

    Pobranie adresu okna

    Jeśli chodzi ci o aktualnie otwarty folder przez twój program to jego adres (rozumiem że chodzi o ścieżkę) pobierasz GetCurrentDirectory(DWORD buflen, LPTSTR bufor); Nowy folder tworzysz funkcją BOOL CreateDirectory(LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); Ale bez tego drugiego się obędzie jak wstawisz NULL. Mam nadzieję że o to ci chodziło...
  9. Jarema

    Kolumny w ListView

    Co do tego pierwszego to wprowadziłem Cię w błąd. Faktycznie nie używa się InsertItem, a ListView_SetItem(HWND hwnd, const LPLVITEM pitem); Tak masz trochę wygodniej, bo nie podajesz do makra odrazu danych, a definiujesz sonie poprostu LVITEM. A co do drugiego to może usuń ten LVS_AUTOARRANGE, bo jak sama nazwa wskazuje to sortuje ci ListView. A jak koniecznie chcesz sortowanie to możesz to ładanie zrobić po kliknięciu na sortheader.
  10. Jarema

    Kolumny w ListView

    Dobrze masz wszystko. Nie potrzeba tak robic jak mowi Twardy. Tylko musisz pamietac o zwiekszaniu column jak chcerz do innej kolumny. A mozliwe ze blad popelniles w momencie kiedy dodawals kolumny. LV_COLUMN Column; Column.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; Column.fmt = LVCFMT_LEFT; Column.cx = 101; Column.pszText = "Kolumna zerowa"; Column.iSubItem = 0; //ten numer to wlasnie numer kolumny ktory ja identyfukuje. Ten numer wpisujesz do iSubItem przy dodawaniu. LV_COLUMN Column; Column.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; Column.fmt = LVCFMT_LEFT; Column.cx = 101; Column.pszText = "Kolumna pierwsza"; Column.iSubItem = 1;
  11. Problem jest taki. Kiedy zapisuję do pliku funkcją write obiektu fstream to po pewnym czasie zapisywania wypala mi blad Acces Violation Stack Overflow. Jesli zmniejsze zapisywana strukture to blad wyskakuje troche w innym momencie. Zapisuje w funkcji rekurencyjnej. Probowalem po kazdym zapisaniu zamknac plik, a potem otwrzyc go z ios::app, ale nic ie dalo. Prosze pomozcie. :!:
  12. Jarema

    Explorator

    Co do drzewka katalogow to mam pewne doswiadczenie :). (patrz: temat zapis struktury dynamiczne). Wlasnie tak bym radzil ci to zrobic. Przeszukujesz caly dysk i katalogi wpisujesz do takiej "listy list". Potem to bardzo łatwo można wpisać do Tree-View. I kłopot masz załatwiony.
  13. Jarema

    Jak sie wysuwa cd-ka ?

    https://www.extremeprog.host.sk/topic.php?count=17 Nie sprawdzalem czy dziala, ale podejzewam ze tak
  14. Dziwne to co mowisz. Ale poczytaj sobie o Pallete Managerze. Jego sie uzywa do operacji na bitmapach w 256 kolorach.
  15. Dolanczam sie do pytania. Tylko moglibyscie to podac na forum. Tak bedzie publicznie
  16. Jarema

    taki sam

    Nie ma tam lekcji o zapisywaniu struktur dynamicznych. A jesli chodzi ci o lekcje z Tree-V to nie da sie tego zrobic tak samo, a pozatym jest w niej troche bledow (czytaj: niepotrzebnych rzeczy).
  17. Piasiu jestes genialny :!: :!: :!: :!: Ja mam wieeelkie problemy z algorytmami, a ty poddales tak proste rozwiazanie. Zrobilem i dziala zarąbiscie. Nawet udalo mi sie obejsc bez jednej liczby. Stokroc Thanks :!: :!: :!:         :D :D :D :D
  18. Nie jestem pewiem, bo uzywam Visuala. Ale zdaje mi sie ze w Borlandzie tworzysz sobie projekt (Win32 Application), i w nim dodajesz sobie kolejne pliki (.cpp .h .res itp.). On ma swoj wlasny edytorek w ktorym piszesz. To nie czasy assemblera gdzie pisalo sie w notatniku. Tak mi sie przynajmniej zdaje :D.
  19. Nie bardzo o to chodzi. Bo wiem jak po calym drzewku przeleciec i go zapisac. Tylko co zrobic zeby to odczytac do tej samej postaci. Jak zapisze to potem musze zrobic ta strukture od nowa. Tylko skad mam wiedziec kiedy odczytuje ktory element jest poprzednim ktorego a ktory jego nastepnym i czy ma nastepny element drugiego poziomu. Wiem troche to zagmatwane, ale ta struktura poprostu przetrzymuje mi cale drzewko katalogow na danym dysku. I chodzi o to ze po wylaczeniu i wlaczeniu programu znow drzewko bylo w pamieci.
  20. Jarema

    Problem z Menu w VC++

    Ja skopiowalem to do siebie, odpalilem i wszystko jest w porzadku. Program sie odpala i pokazuje menu. Wszystko jest OK. Moze pomyliles cos przy tworzeniu projektu. Ja tez uzywam XP. Ja bym nie szukal bledow w kodzie, a w projekcie. Bez tej linijki tez bedzie dzialac: // hMenu = LoadMenu(hInstance, "IDM_MENU"); Mozesz rowniez zamiast linijki: wndclass.lpszMenuName = MAKEINTRESOURCE(101); wspisać: wndclass.lpszMenuName = (LPCSTR)IDM_MENU; good luck!  
  21. Sorki. Moj blad. Faktycznie w przypadku listy 2 kierunkowej da sie tak zrobic. Ale ja mam inna strukture. Jest to taka struktura drzewka. Jeden element moze miec wskaznik to nastepnego elementu, ktory jest z kolei pierwszym w nowej liscie, na schemacie moze to wygladac mniej wiecej tak: O-----O O O-----O O O O-----O O O O O------O O O O-----O O O-----O O O-----O O O-----O O O O - to element listy, zawiera on w sobie: wsk nast1; //wskaznik do nastepnego elementu na tym samym poziomie wsk poprz1; //wskaznik do poprzedniego elementu -||- -||- -||- wsk poprz2; //wskaznik do poprzedniego elementu poziom wyzej wsk nast2; //wskaznik do nastepnego elementu nizszy poziom int dana; //jakas dana z nim skojarzona Poziomow moze byc rozna ilosc. Chodzi o to by to zapisac do pliku a potem odczytac w takiej samej postaci jak sie zapisalo. Jeszcze raz przepraszam za wprowadzenie w blad :? .
  22. Jarema

    socket parę pytań :)

    Ad3. Funkcja sendto() wysyla dane do okreslonej lokacji (gniazda). Ma postac: int sendto ( SOCKET s, const char FAR * buf, int len, int flags, const struct sockaddr FAR * to, int tolen ); gdzie: s - socket z ktorego wysylasz buf - bufor danych ktore wysylasz len - wielkosc wsylanych danych flags - flagi okreslajace rodzaj wysylania (MSG_DONTROUTE, MSG_OOB) to - adres socketa do ktorego sa wysylane dane tolen - rozmiar adresu do ktorego wysylasz dane zwracane wartosci (skopiowane z MSDN): WSANOTINITIALISED A successful WSAStartup must occur before using this function. WSAENETDOWN The network subsystem has failed. WSAEACCES The requested address is a broadcast address, but the appropriate flag was not set. Call setsockopt with the SO_BROADCAST parameter to allow the use of the broadcast address. WSAEINVAL An unknown flag was specified, or MSG_OOB was specified for a socket with SO_OOBINLINE enabled. WSAEINTR A blocking Windows Sockets 1.1 call was canceled through WSACancelBlockingCall. WSAEINPROGRESS A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function. WSAEFAULT The buf or to parameters are not part of the user address space, or the tolen parameter is too small. WSAENETRESET The connection has been broken due to "keep-alive" activity detecting a failure while the operation was in progress. WSAENOBUFS No buffer space is available. WSAENOTCONN The socket is not connected (connection-oriented sockets only) WSAENOTSOCK The descriptor is not a socket. WSAEOPNOTSUPP MSG_OOB was specified, but the socket is not stream-style such as type SOCK_STREAM, out-of-band data is not supported in the communication domain associated with this socket, or the socket is unidirectional and supports only receive operations. WSAESHUTDOWN The socket has been shut down; it is not possible to sendto on a socket after shutdown has been invoked with how set to SD_SEND or SD_BOTH. WSAEWOULDBLOCK The socket is marked as nonblocking and the requested operation would block. WSAEMSGSIZE The socket is message oriented, and the message is larger than the maximum supported by the underlying transport. WSAEHOSTUNREACH The remote host cannot be reached from this host at this time. WSAECONNABORTED The virtual circuit was terminated due to a time-out or other failure. The application should close the socket as it is no longer usable. WSAECONNRESET The virtual circuit was reset by the remote side executing a "hard" or "abortive" close. For UPD sockets, the remote host was unable to deliver a previously sent UDP datagram and responded with a "Port Unreachable" ICMP packet. The application should close the socket as it is no longer usable. WSAEADDRNOTAVAIL The remote address is not a valid address, for example, ADDR_ANY. WSAEAFNOSUPPORT Addresses in the specified family cannot be used with this socket. WSAEDESTADDRREQ A destination address is required. WSAENETUNREACH The network cannot be reached from this host at this time. WSAETIMEDOUT The connection has been dropped, because of a network failure or because the system on the other end went down without notice.
  23. Mam problem z zapisaniem struktury dynamicznej do pliku, tak zeby mozna ja bylo potem odczytac latwo spowrotem do pamieci. Np. listy dwukierunkowej. Wiem, ze nie mozna zapisac poprostu wskaznikow do pliku, bo potem tego nie da sie odczytac, poniewaz sa to adresy w pamieci. Moze ktos zna jakis sposob w jaki mozna to zrobic szybko i latwo(lub wogole :D ). Choc sam watpie w takie rozwiazanie . Z gory dzieki.
  24. Jarema

    socket parę pytań :)

    Ad1. Żeby wyslac do wielu adresow lub do uzytkownikow zarejestrowana jedna nazwa sieciowa trzeba uzyc datagramow(rozglaszanie). Ad2. Wlasnie datagramy daja ta mozliwosc ze zeby wyslac cos do klienta nie trzeba nawiazywac polaczenia. Nie trzeba uzywac connect() ale nie masz pewnosci ze dane zostana w calosci dostarczone. A na reszte pytan odpowiem jak dostudiuje :D
  25. Jarema

    Redraw okna

    A) Może pomieszales cos ze stylami okna. B) Spróbuj w WM_PAINT zwrócić 0 zamiast break; ("break" pisal Bialy) C) Jakiś inny problem z WM_PAINT, może pominąłeś jakąś instrukcje, albo coś innego. Ja bym zwrócił uwagę szczególnie na komunikat WM_PAINT.
×
×
  • Utwórz nowe...