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
V. Tablice
Wstęp
Funkcje te pozwalają na operowanie i manipulowanie tablicami na wiele różnych sposobów. Tablice są kluczowym elementem przechowywania, zarządzania i operowania na zbiorach zmiennych.
Obsługiwane są proste i wielowymiarowane tablice, które mogą być stworzone przez użytkownika lub przez funkcję. Istnieją specjalne funkcje obsługi baz danych odpowiedzialne za wypełnianie tablic danymi z zapytań do baz danych, a także kilka innych funkcji zwracających tablice.
Zobacz rozdział podręcznika Tablice aby uzyskać dokładne wyjaśnienie jak tablice zostały zaimplementowane i jak się ich używa w PHP. Inne metody przetwarzania tablic zostały opisane w rozdziale operatory tablicowe.
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
Poniższe stałe są częścią jądra PHP a więc są zawsze widoczne.
- CASE_LOWER (integer)
CASE_LOWER jest używana w funkcji array_change_key_case() do konwersji kluczy tablicy do samych małych liter. Jest to także domyślny przypadek dla array_change_key_case().
- CASE_UPPER (integer)
CASE_UPPER jest używana w funkcji array_change_key_case() do konwersji kluczy tablicy do samych dużych liter.
Flagi kolejności sortowania:
- SORT_ASC (integer)
SORT_ASC używana jest w połączeniu z array_multisort() do sortowania w porządku rosnącym.
- SORT_DESC (integer)
SORT_DESC używana jest w połączeniu z array_multisort() do sortowania w porządku rosnącym.
Flagi typu sortowania - używane przez różne funkcje sortujące
- SORT_REGULAR (integer)
SORT_REGULAR używana jest do porównywania elementów w normalny sposób.
- SORT_NUMERIC (integer)
SORT_NUMERIC używana jest do porównywania elementów liczbowo.
- SORT_STRING (integer)
SORT_STRING używana jest do porównywania elementów jako ciągi tekstowe.
- SORT_LOCALE_STRING (integer)
SORT_LOCALE_STRING używana jest do porównywania elementów jako ciągi tekstowe w oparciu o bieżące ustawienia locale. Dodane w PHP 4.4.0 i 5.0.2.
Patrz także
Patrz także: is_array(), explode(), implode(), split(), preg_split() i unset().
- Spis treści
- array_change_key_case -- Zwraca tablicę ze wszystkimi kluczami tekstowymi zamienionymi na wyłącznie małe lub wyłącznie duże litery
- array_chunk -- Podziel tablicę na kawałki
- array_combine -- Tworzy tablicę używając wartości jednej tablicy jako kluczy a drugiej jako wartości
- array_count_values -- Zlicza wszystkie wartości w tablicy
- array_diff_assoc -- Oblicza różnicę między tablicami z dodatkowym sprawdzaniem kluczy
- array_diff_key -- Oblicza różnicę tablic używając kluczy do porównań
- array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function
- array_diff_ukey -- Oblicza różnicę tablic używając funkcji zwrotnej do porównywania kluczy
- array_diff -- Zwraca różnice pomiędzy tablicami
- array_fill_keys -- Fill an array with values, specifying keys
- array_fill -- Wypełnij tablicę podanymi wartościami
- array_filter -- Filtruje elementy przy użyciu funkcji zwrotnej
- array_flip -- Wymienia wszystkie klucze z przypisanymi do nich wartościami w tablicy
- array_intersect_assoc -- Wylicza przecięcie tablic z dodatkowym sprawdzaniem indeksów
- array_intersect_key -- Computes the intersection of arrays using keys for comparison
- array_intersect_uassoc -- Computes the intersection of arrays with additional index check, compares indexes by a callback function
- array_intersect_ukey -- Computes the intersection of arrays using a callback function on the keys for comparison
- array_intersect -- Zwraca przecięcie tablic
- array_key_exists -- Sprawdza czy podany klucz lub indeks istnieje w tablicy
- array_keys -- Zwraca wszystkie klucze z tablicy
- array_map -- Wykonuje funkcję zwrotną na elementach podanej tablicy
- array_merge_recursive -- Łączy dwie lub więcej tablic rekurencyjnie
- array_merge -- Łączy jedną lub więcej tablic
- array_multisort -- Sortuje wiele tablic lub wielowymiarowe tablice
- array_pad -- Dopełnij tablicę do podanej długości podanymi wartościami
- array_pop -- Zdejmij element z końca tablicy
- array_product -- Calculate the product of values in an array
- array_push -- Wstaw jeden lub więcej elementów na koniec tablicy
- array_rand -- Wybierz jeden lub więcej losowych elementów z tablicy
- array_reduce -- Iteracyjnie zredukuj tablicę do pojedyńczej wartości używając funkcji zwrotnej
- array_reverse -- Zwraca tablicę z elementami ustawionymi w porządku odwrotnym
- array_search -- Przeszukuje tablicę pod kątem podanej wartości i w przypadku sukcesu zwraca odpowiedni klucz
- array_shift -- Usuń element z początku tablicy
- array_slice -- Wytnij kawałek tablicy
- array_splice -- Usuń część tablicy i zamień ją na coś innego
- array_sum -- Oblicza sumę wartości w tablicy
- array_udiff_assoc -- Computes the difference of arrays with additional index check, compares data by a callback function
- array_udiff_uassoc -- Computes the difference of arrays with additional index check, compares data and indexes by a callback function
- array_udiff -- Computes the difference of arrays by using a callback function for data comparison
- array_uintersect_assoc -- Oblicza przecięcie tablic z dodatkowym sprawdzaniem indeksów, porównując dane przez funkcję zwrotną
- array_uintersect_uassoc -- Computes the intersection of arrays with additional index check, compares data and indexes by a callback functions
- array_uintersect -- Computes the intersection of arrays, compares data by a callback function
- array_unique -- Usuwa duplikaty wartości z tablicy
- array_unshift -- Wstaw jeden lub więcej elementów na początek tablicy
- array_values -- Zwraca wszystkie wartości z tablicy
- array_walk_recursive -- Apply a user function recursively to every member of an array
- array_walk -- Zastosuj funkcję użytkownika do każdego elementu tablicy
- array -- Stwórz tablicę
- arsort -- Sortuje tablicę w porządku odwrotnym z zachowaniem skojarzenia kluczy
- asort -- Posortuj tablicę zachowując skojarzenia kluczy
- compact -- Stwórz tablicę zawierającą zmienne i ich wartości
- count -- Zlicza ilość elementów w tablicy lub pól obiektu
- current -- Zwraca bieżący element tablicy
- each -- Zwraca bieżącą parę klucza i wartości z tablicy i przesuwa kursor tablicy
- end -- Ustawia wewnętrzny wskaźnik tablicy na ostatnim elemencie
- extract -- Importuj zmienne do bieżącej tablicy symboli z tablicy
- in_array -- Sprawdza czy wartość istnieje w tablicy
- key -- Pobiera klucz z tablicy asocjacyjnej
- krsort -- Sortuj tablicę według kluczy w porządku odwrotnym
- ksort -- Sortuj tablicę według klucza
- list -- Przypisz zmienne tak jakby były tablicą
- natcasesort -- Sortuj tablicę używając algorytmu "porządek naturalny" ignorującego wielkość znaków
- natsort -- Sortuj tablicę używając algortmu "porządek naturalny"
- next -- Przesuń do przodu wewnętrzny wskaźnik tablicy
- pos -- Alias dla current()
- prev -- Cofnij wewnętrzny wskaźnik tablicy
- range -- Stwórz tablicę zawierającą przedział elementów
- reset -- Ustaw wewnętrzny wskaźnik tablicy na jej pierwszy element
- rsort -- Sortuj tablicę w porządku odwrotnym
- shuffle -- Przetasuj tablicę
- sizeof -- Alias dla count()
- sort -- Sortuje tablicę
- uasort -- Sortuj tablicę korzystając ze zdefiniowanej przez użytkownika funkcji porównującej i zachowując skojarzenia kluczy
- uksort -- Sortuj tablicę według kluczy korzystając ze zdefiniowanej przez użytkownika funkcji porównującej
- usort -- Sortuje tablicę według wartości korzystając ze zdefiniowanej przez użytkownika funkcji porównującej
| Poprzedni | Spis treści | Następny |
| rename_function | Początek rozdziału | array_change_key_case |