Forum poświęcone PHP

Posted by NET  • 

[C/C++] [C++] zapis struktury
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

[Java] Problem z programem (Switch- case)
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

[C# i .NET] Przeciążenie operatorów
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

[Java] problem z stateChanged
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

[C/C++] [C++ Builder] Zacinanie się TMediaPlayer
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

Tablice

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.

COUNT_NORMAL (integer)

COUNT_RECURSIVE (integer)

EXTR_OVERWRITE (integer)

EXTR_SKIP (integer)

EXTR_PREFIX_SAME (integer)

EXTR_PREFIX_ALL (integer)

EXTR_PREFIX_INVALID (integer)

EXTR_PREFIX_IF_EXISTS (integer)

EXTR_IF_EXISTS (integer)

EXTR_REFS (integer)

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