Forum poświęcone PHP
Zdaje sobie sprawę z tego że mój problem jest zapewne trywialny ale proszę o pomoc bo naprawde skonczyły mi się pomysly gdzie moge miec błąd: [błąd-podczas zapisu "program wykonuje nieprawidlową operacje"] [???] [całość jest w klasie,kompilator DevC++] Defincje: struct Point2d{ int x,y; }; struct sPoint{ Point2d pos; bool marked; }sPoint points[100]; struct sWall{ int pt[2]; DWORD size; }sWall walls[100];//sciany Funkcja zapisu: bool Save(char *filename) { FILE* plik = fopen(filename,"wb"); if(!plik) return false; fwrite(&num_pts, sizeof(int), 1, plik); fwrite(points, sizeof(sPoint), num_pts, plik); fwrite(&num_walls,sizeof(int), 1, plik); fwrite(walls, sizeof(sWall), num_walls, plik); fclose(plik); return true; } Analogiczna Funkcja odczytu: bool Open(char *filename) { FILE* plik = fopen(filename,"rb"); if(!plik) return false; fread(&num_pts, sizeof(int), 1, plik); fread(points, sizeof(sPoint), num_pts, plik); fread(&num_walls,sizeof(int), 1, plik); fread(walls, sizeof(sWall), num_walls, plik); fclose(plik); return true; } bardzo proszę o pomoc i ewentualną lekturę
Wed,19 Nov 2008 02:28:05 +0100
Witam wszystkich forumowiczow. Mam taki problem z zadaniem. Dopiero ucze sie JAVY i mam do zrobienia pewien program. W sumie wiekszosc juz mam, ale nie wiem jak zrobic jedna rzecz. A mianowicie jak w ponizszym fragmencie kodu zrobic tak, aby wybor case2 realizowal funkcje UstawMiasto(). Chodzi mi o to, aby wybierajac case2 (auto w drodze) byla realizowana metoda wyboru miasta, do ktorego toretycznie jedzie auto. void RuchSamochod() { String m_polozenie; System.out.println("Czy Samochod aktualnie jest:n"); System.out.println("1- zaparkowanyn"); System.out.println("2- w drodzen"); switch(m_polozenie) { case 1: System.out.println("Samochod odpoczywa na parkingu.n"); case 2: void UstamMiasto(); } void UstamMiasto() { InputStreamReader czytacz_strumienia = new InputStreamReader(System.in); BufferedReader czytacz = new BufferedReader(czytacz_strumienia); try { System.out.println("Podaj gdzie jedzie samochod: "); String polozenie = czytacz.readLine(); m_polozenie = polozenie; } catch(IOException e) { System.out.println("Blad podczas odczytu danych"); } } } Po realizacji tej funkcji tworzone sa obiekty, gdzie na ekranie beda podawane ich parametry, a takze info o polozeniu samochodu. Z góry dziękuję. Pozdro
Wed,19 Nov 2008 02:01:45 +0100
Witam wszystkich Moglby ktos w latwy i przejrzysty sposob wytlomaczyc na czym polega przeciążanie operatorów. Podac kilka latwych przykladów!!! Z góry
Wed,19 Nov 2008 01:53:27 +0100
Witam Mam taki problem, w moim programie chciałbym aby przy zmianie zakladki w JTabbedPane zostało wysłane zapytanie SQL do bazy a rezultat pokazany np w jtable znajdującym sie w tej zakladce. W klasie obslugujacej baze jest funkcja: public boolean pokazZajeciaPoDniach(int dzien) { try { PreparedStatement pstmt = con.prepareStatement("SELECT * FROM lista_zajec WHERE dzien = ?"); pstmt.setInt(1, dzien); ResultSet rs = pstmt.executeQuery(); while (rs.next()){ int rok = rs.getInt("rocznik"); int przedmiot = rs.getInt("przedmiot"); int rodz_zajec = rs.getInt("rodz_zajec"); int grupa = rs.getInt("grupa"); int sala = rs.getInt("sala"); String czas_rozp = rs.getString("czas_rozp"); String czas_zak = rs.getString("czas_zak"); int _dzien = rs.getInt("dzien"); System.out.println(rok + " " + przedmiot + " " + rodz_zajec + " " +grupa+ " "+sala+" "+czas_rozp+" "+czas_zak+" "+ _dzien ); } } catch(SQLException e) { System.out.println("Błąd SQL: "+ e.getMessage()); return false; } return true; } Chciałbym ją wywołać z klasy głównej tak aby została wywolana przy zmianie zakladki jtabbedpane: ChangeListener changeListener = new ChangeListener() { public void stateChanged(ChangeEvent changeEvent) { JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource(); int index = sourceTabbedPane.getSelectedIndex(); System.out.println("Tab changed to: " + sourceTabbedPane.getSelectedIndex()); int i =sourceTabbedPane.getSelectedIndex(); i++; System.out.println("Index odpowiadający w bazie to " + i); baza.pokazZajeciaPoDniach(i); } }; próba wywyłania metody dla obiektu baza kończy się Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Dlaczego? Pozdrawiam
Wed,19 Nov 2008 00:37:24 +0100
Tak powiem krótko i na temat :P. Mianowicie robię gierke, w której odtwarzana jest muzyka w komponencie TMediaPlayer. I jest opcja, że muzyka jest odtwarzana losowo. Ale gdy wylosowal następną piosenke jak ją puszcza to jest takie jakby 'zacięcie programu' na chwile. dzieje się to przez funkcje MediaPlayer->Open(); A jeżeli jej nie użyje, to nie odczyta nastepnej piosenki, tylko bedzie powtarzał tą co byla wczytana na początku. I czy jest jakiś sposób, aby te takie zacięcie programu zlikwidowac? bo bardzo przeszkadza w grze... I SZUKALEM JUZ NA GOOGLE.! Prosze o pomoc....
Wed,19 Nov 2008 00:27:57 +0100
XII. Klasy/Obiekty
Wstęp
Te funkcje pozwalają uzyskać informacje o klasach i ich egzemplarzach, obiektach. Możesz uzyskać informację o nazwie klasy do jakiej należy obiekt, a także jej właściwości i metody. Używając tych funkcji możesz dowiedzieć się nie tylko do jakiej klasy należy obiekt, ale także ustalić jego przodków (np. jaką klasę rozszerza klasa tego obiektu).
Wymagania
Do zbudowania tego rozszerzenia nie są wymagane żadne zewnętrzne biblioteki.
Instalacja
By używać tych funkcji, nie trzeba niczego instalować. Są one częścią jądra PHP.
Konfiguracja uruchomieniowa
To rozszerzenie nie definiuje posiada żadnych dyrektyw konfiguracyjnych w pliku php.ini.
Typy zasobów
To rozszerzenie nie posiada żadnych rodzajów zasobów.
Stałe predefiniowane
To rozszerzenie nie posiada żadnych stałych.
Przykłady
W tym przykładzie najpierw zdefiniujemy bazową klasę i jej rozszerzenie.
Klasa bazowa opisuje normalne warzywo, czy jest jadalne czy nie
oraz jego kolor. Podklasa Szpinak dodaje metodę
pozwalającą go zagotować i drugą, która pozwala dowiedzieć się, czy
jest zagotowany.
Teraz możemy stworzyć dwa egzemplarze tych klas i wydrukować informacje o nich, włączając w to informacje o przodkach. Zdefiniujemy także kilka użytecznych funkcji, głównie po to by uzyskać ładny wydruk zmiennych.
Przykład 2. test_script.php
|
Wartą odnotowania rzeczą w powyższym przykładzie jest to,
że obiekt $lisciaste jest egzemplarzem klasy
Szpinak która to jest podklasą klasy
Warzywo, i tak ostatnia część powyższego
skryptu pokaże na wyjściu:
- Spis treści
- call_user_method_array -- Wywołuje metodę użytkownika zadaną z tablicą parametrów [przestarzałe]
- call_user_method -- Wywołuje metodę użytkownika na zadanym obiekcie [przestarzałe]
- class_exists -- Sprawdza czy klasa została zdefiniowana
- get_class_methods -- Zwraca tablicę nazw metod danej klasy
- get_class_vars -- Zwraca tablicę domyślnych właściwości klasy
- get_class -- Zwraca nazwę klasy zadanego obiektu
- get_declared_classes -- Zwraca tablicę z nazwami zdefiniowanych klas
- get_declared_interfaces -- Returns an array of all declared interfaces
- get_object_vars -- Zwraca tablicę asocjacyjną właściwości obiektu
- get_parent_class -- Pobiera nazwę klasy przodka dla obiektu lub klasy
- interface_exists -- Checks if the interface has been defined
- is_a -- Zwraca TRUE jeżeli obiekt jest tej klasy, lub ta klasa jest jednym z jego przodków
- is_subclass_of -- Zwraca TRUE jeżeli klasa jest jednym z przodków obiektu
- method_exists -- Sprawdza czy metoda klasy istnieje
- property_exists -- Checks if the object or class has a property
| Poprzedni | Spis treści | Następny |
| ccvs_void | Początek rozdziału | call_user_method_array |