Zaawansowane wyszukiwanie
  Strona Główna » Sklep » Języki programowania » C » Moje Konto  |  Zawartość Koszyka  |  Do Kasy   
 Wybierz kategorię
Algorytmy Wzorce UML
Bazy danych
Bezpieczeństwo
Bioinformatyka
Biznes Ekonomia Firma
Chemia
DTP Design
E-biznes
Ekonometria
Elektronika Elektrotechnika
Energetyka
Fizyka
GIS
Grafika użytkowa
Hardware
Informatyczne systemy zarządzania
Informatyka w szkole
Internet
Języki programowania
  Ajax
  Asembler
  ASP ASP.NET
  C
  C#
  C++
  C++ Builder
  CGI Perl
  Chmura obliczeniowa
  CVS
  Delphi
  Eclipse
  Fortran
  Java Hibernate GWT
  JavaScript
  JBuilder
  JSP JavaServlet
  PHP
  Programowanie mobilne
  Programowanie w Windows
  Prolog
  Python Django
  Ruby Rails
  Turbo Pascal
  Visual Studio
Matematyka
Multimedia
Obsługa komputera
Office
Poradniki
Programowanie gier
Programy inżynierskie
Programy matematyczne
Serwery
Sieci Firewalle Protokoły
Słowniki
Systemy operacyjne
Technika
Telekomunikacja
Tworzenie stron WWW

Zobacz pełny katalog »
 Wydawnictwo:
 PWN
Poradnik inżyniera Spawalnictwo Tom 1 Wydanie II

Poradnik inżyniera Spawalnictwo Tom 1 Wydanie II

159.00zł
119.25zł
Objective-C Podstawy 59.00zł 43.07zł
Objective-C Podstawy

Tytuł: Objective-C Podstawy
Autor: Christopher Fairbairn, Collin Ruffenach, Johannes Fahrenkrug
ISBN: 978-83-246-4144-4
Ilość stron: 392
Data wydania: 05/2012
Format: 168x237
Wydawnictwo: HELION
Cena: 59.00zł 43.07zł


Wejdź pewnym krokiem w świat programowania Apple.

Jeszcze parę lat temu nie do pomyślenia było, że aplikacje na urządzenia mobilne mogą stanowić tak intratny interes. Jednak urządzenia te podbiły rynek w mgnieniu oka i dziś trudno wyobrazić sobie życie bez nich. Co więcej, dały one jeszcze większe możliwości działania różnym projektantom - praktycznie wszystkie wyposażone są w aparat fotograficzny, odbiornik GPS oraz czujniki położenia. To peryferia, o których programiści tworzący aplikacje na standardowe komputery mogą tylko pomarzyć. Zastanawiasz się, jak wykorzystać ten potencjał?

Ta książka dostarczy Ci odpowiedzi. W trakcie lektury nauczysz się tworzyć atrakcyjne aplikacje na platformę iOS. Jest ona wykorzystywana w urządzeniach firmy Apple, których nikomu nie trzeba przedstawiać. Podczas tworzenia aplikacji dla tej platformy będziesz korzystał z języka Objective-C oraz środowiska XCode 4. Zawarta tu wiedza i liczne przykłady krok-po-kroku pozwolą Ci błyskawicznie opanować trudniejsze partie materiału. Książka ta jest idealną pozycją dla wszystkich programistów chcących rozpocząć przygodę z platformą iOS.

Sprawdź:

  • jak przygotować środowisko pracy XCode
  • jaka jest składnia języka Objective-C
  • jak uruchomić swoją pierwszą aplikację

Twój przewodnik do pierwszej aplikacji na system iOS!

Rozdziały:

Część I. Rozpoczęcie pracy z Objective-C (21)
1. Twoja pierwsza aplikacja iOS (23)

  • 1.1. Wprowadzenie do narzędzi programistycznych na platformę iOS (24)
    • 1.1.1. Dostosowanie struktur Cocoa do potrzeb urządzeń mobilnych (25)
  • 1.2. Dostosowanie swoich oczekiwań (26)
    • 1.2.1. Specyfikacja sprzętowa na koniec 2011 roku (26)
    • 1.2.2. Spodziewaj się zawodnego połączenia z internetem (27)
  • 1.3. Przygotowanie prostej gry Coin Toss w Xcode (28)
    • 1.3.1. Wprowadzenie do środowiska IDE firmy Apple - Xcode (29)
    • 1.3.2. Łatwe uruchamianie Xcode (29)
    • 1.3.3. Utworzenie projektu (30)
    • 1.3.4. Tworzenie kodu źródłowego (33)
  • 1.4. Przygotowanie interfejsu użytkownika (37)
    • 1.4.1. Dodanie kontrolek do widoku (38)
    • 1.4.2. Połączenie kontrolek z kodem źródłowym (39)
  • 1.5. Kompilacja gry (43)
  • 1.6. Uruchomienie gry (44)
    • 1.6.1. Wybór urządzenia docelowego (44)
    • 1.6.2. Używanie punktów kontrolnych do śledzenia stanu działającej aplikacji (45)
    • 1.6.3. Uruchomienie gry Coin Toss w symulatorze (46)
    • 1.6.4. Używanie modułu usuwania błędów (47)
  • 1.7. Podsumowanie (49)

2. Typy danych, zmienne i stałe (51)

  • 2.1. Wprowadzenie do aplikacji Rental Manager (52)
    • 2.1.1. Podstawy aplikacji (53)
  • 2.2. Podstawowe typy danych (55)
    • 2.2.1. Liczenie na palcach - liczby całkowite (56)
    • 2.2.2. Liczby zmiennoprzecinkowe (59)
    • 2.2.3. Znaki i ciągi tekstowe (61)
    • 2.2.4. Wartości boolowskie (63)
  • 2.3. Wyświetlanie i konwersja wartości (65)
    • 2.3.1. Funkcja NSLog() i specyfikatory formatu (65)
    • 2.3.2. Rzutowanie typów i konwersja typów (67)
  • 2.4. Tworzenie własnych typów danych (69)
    • 2.4.1. Typy wyliczeniowe (69)
    • 2.4.2. Struktury (71)
    • 2.4.3. Tablice (73)
    • 2.4.4. Waga odpowiednich nazw (75)
  • 2.5. Ukończenie aplikacji Rental Manager 1.0, czyli kierujemy się do App Store! (77)
  • 2.6. Podsumowanie (79)

3. Wprowadzenie do obiektów (81)

  • 3.1. Krótkie wprowadzenie do koncepcji programowania zorientowanego obiektowo (82)
    • 3.1.1. Co złego jest w języku proceduralnym, takim jak C? (82)
    • 3.1.2. Czym jest obiekt? (83)
    • 3.1.3. Czym jest klasa? (83)
    • 3.1.4. Dziedziczenie i polimorfizm (83)
  • 3.2. Brakujący typ danych - id (84)
  • 3.3. Wskaźniki i różnice pomiędzy odniesieniem i wartością typu (85)
    • 3.3.1. Mapowanie pamięci (86)
    • 3.3.2. Pobieranie adresu zmiennej (86)
    • 3.3.3. Podążanie za wskaźnikiem (87)
    • 3.3.4. Porównywanie wartości wskaźników (88)
  • 3.4. Komunikacja z obiektami (89)
    • 3.4.1. Wysyłanie wiadomości obiektowi (89)
    • 3.4.2. Wysyłanie wiadomości klasie (90)
    • 3.4.3. Wysyłanie nieistniejących wiadomości (90)
    • 3.4.4. Wysłanie wiadomości do nil (92)
  • 3.5. Ciągi tekstowe (93)
    • 3.5.1. Tworzenie ciągu tekstowego (93)
    • 3.5.2. Wyodrębnianie znaków z ciągu tekstowego (94)
    • 3.5.3. Modyfikacja ciągu tekstowego (95)
    • 3.5.4. Porównywanie ciągów tekstowych (96)
  • 3.6. Przykładowa aplikacja (97)
  • 3.7. Podsumowanie (100)

4. Przechowywanie danych w kolekcjach (101)

  • 4.1. Tablice (102)
    • 4.1.1. Budowa tablicy (102)
    • 4.1.2. Uzyskanie dostępu do elementów tablicy (104)
    • 4.1.3. Wyszukiwanie elementów tablicy (105)
    • 4.1.4. Iteracja przez tablice (106)
    • 4.1.5. Dodawanie elementów do tablicy (108)
  • 4.2. Słowniki (110)
    • 4.2.1. Tworzenie słownika (110)
    • 4.2.2. Uzyskanie dostępu do par przechowywanych w słowniku (112)
    • 4.2.3. Dodawanie par klucz-wartość (113)
    • 4.2.4. Wyświetlenie wszystkich kluczy i wartości (114)
  • 4.3. Boxing (116)
    • 4.3.1. Klasa NSNumber (117)
    • 4.3.2. Klasa NSValue (118)
    • 4.3.3. nil kontra NULL kontra NSNull (118)
  • 4.4. Aplikacja Rental Manager zaczyna używać danych (119)
  • 4.5. Podsumowanie (122)

Część II. Tworzenie własnych obiektów (123)
5. Tworzenie klas (125)

  • 5.1. Tworzenie własnej klasy (126)
    • 5.1.1. Dodanie nowej klasy do projektu (126)
  • 5.2. Deklaracja interfejsu klasy (127)
    • 5.2.1. Zmienne egzemplarza (129)
    • 5.2.2. Deklarowanie metod (130)
    • 5.2.3. Przygotowanie pliku nagłówkowego dla klasy CTRentalProperty (133)
  • 5.3. Utworzenie implementacji klasy (135)
    • 5.3.1. Zdefiniowanie implementacji metody (135)
    • 5.3.2. Uzyskanie dostępu do zmiennych egzemplarza (135)
    • 5.3.3. Wysyłanie wiadomości do self (136)
    • 5.3.4. Uzupełnienie pliku metody klasy CTRentalProperty (137)
  • 5.4. Zdefiniowane właściwości (138)
    • 5.4.1. Składnia @property (138)
    • 5.4.2. Automatyczne wygenerowanie metod typu getter i setter (141)
    • 5.4.3. Składnia z użyciem kropki (143)
  • 5.5. Tworzenie i usuwanie obiektów (144)
    • 5.5.1. Tworzenie i inicjalizacja obiektów (145)
    • 5.5.2. Metoda init nie jest najsprytniejsza (146)
    • 5.5.3. Połączenie alokacji i inicjalizacji (148)
    • 5.5.4. Usuwanie obiektów (149)
  • 5.6. Używanie klasy w aplikacji Rental Manager (150)
  • 5.7. Podsumowanie (153)

6. Rozszerzanie klas (155)

  • 6.1. Tworzenie podklas (156)
    • 6.1.1. Dlaczego tworzymy podklasy? (156)
  • 6.2. Dodawanie nowych zmiennych egzemplarza (158)
  • 6.3. Uzyskiwanie dostępu do istniejących zmiennych egzemplarza (161)
    • 6.3.1. Podejście polegające na ręcznym utworzeniu metod typu getter i setter (162)
  • 6.4. Nadpisywanie metod (163)
    • 6.4.1. Nadpisywanie metody description (164)
  • 6.5. Klastry klas (166)
    • 6.5.1. Dlaczego stosowane są klastry klas? (167)
    • 6.5.2. Wiele klastrów publicznych (167)
  • 6.6. Kategorie (168)
    • 6.6.1. Rozszerzenie klasy bez użycia podklasy (168)
    • 6.6.2. Używanie kategorii (169)
    • 6.6.3. Rozważania dotyczące używania kategorii (170)
  • 6.7. Zastosowanie podklas w aplikacji Rental Manager (171)
    • 6.7.1. Utworzenie klasy CTLease i jej podklas (172)
    • 6.7.2. Utworzenie podklasy CTPeriodicLease jako podklasy CTLease (173)
    • 6.7.3. Utworzenie podklasy CTFixedLease jako podklasy CTLease (174)
  • 6.8. Podsumowanie (176)

7. Protokoły (177)

  • 7.1. Definiowanie protokołu (179)
  • 7.2. Implementacja protokołu (180)
    • 7.2.1. Tworzenie funkcji wywoływania metod protokołu (180)
    • 7.2.2. Zapewnienie klasie zgodności z protokołem (182)
  • 7.3. Ważne protokoły (185)
    • 7.3.1. Protokół UITableViewDataSource (185)
    • 7.3.2. Protokół UITableViewDelegate (188)
    • 7.3.3. Protokół UIActionSheetDelegate (192)
    • 7.3.4. Protokół NSXMLParser (193)
  • 7.4. Podsumowanie (198)

8. Dynamiczne określanie typu i ustalanie typu w trakcie działania aplikacji (199)

  • 8.1. Typy statyczne kontra dynamiczne (200)
    • 8.1.1. Przyjmowanie założeń dotyczących typu ustalanego w trakcie działania aplikacji (201)
  • 8.2. Łączenie dynamiczne (202)
  • 8.3. Jak działają wiadomości? (203)
    • 8.3.1. Metody, selektory i implementacje (204)
    • 8.3.2. Obsługa nieznanych selektorów (205)
    • 8.3.3. Wysyłanie wiadomości do nil (207)
  • 8.4. Informacje o typie dostarczane w trakcie działania aplikacji (208)
    • 8.4.1. Ustalenie, czy wiadomość odpowie na wiadomość (208)
    • 8.4.2. Wysyłanie wiadomości wygenerowanej w trakcie działania aplikacji (208)
    • 8.4.3. Dodawanie nowych metod do klasy podczas działania aplikacji (210)
  • 8.5. Praktyczne wykorzystanie introspekcji typu podczas działania aplikacji (212)
  • 8.6. Podsumowanie (213)

9. Zarządzanie pamięcią (215)

  • 9.1. Własność obiektu (216)
  • 9.2. Licznik użycia obiektu (218)
    • 9.2.1. Zwolnienie obiektu (219)
    • 9.2.2. Przytrzymanie obiektu (220)
    • 9.2.3. Określenie bieżącej wartości licznika użycia (221)
  • 9.3. Pule autorelease (223)
    • 9.3.1. Czym jest pula autorelease? (224)
    • 9.3.2. Dodawanie obiektów do puli autorelease (224)
    • 9.3.3. Utworzenie nowej puli autorelease (224)
    • 9.3.4. Usuwanie obiektów z puli (226)
    • 9.3.5. Dlaczego puli autorelease nie można wykorzystywać w każdej sytuacji? (226)
  • 9.4. Strefy pamięci (229)
  • 9.5. Reguły własności (231)
  • 9.6. Ostrzeżenie o małej ilości dostępnej pamięci (232)
    • 9.6.1. Implementacja protokołu UIApplicationDelegate (233)
    • 9.6.2. Nadpisanie metody didReceiveMemoryWarning (234)
    • 9.6.3. Obserwacja powiadomienia UIApplicationDidReceiveMemoryWarningNotification (237)
  • 9.7. Podsumowanie (239)

Część III. Maksymalne wykorzystanie funkcji struktur (241)
10. Obsługa błędów i wyjątków (243)

  • 10.1. NSError - obsługa błędów w sposób zgodny z Cocoa (244)
    • 10.1.1. Komunikacja z NSError (245)
    • 10.1.2. Analiza słownika userInfo klasy NSError (245)
  • 10.2. Tworzenie obiektu NSError (247)
    • 10.2.1. Wprowadzenie RentalManagerAPI (247)
    • 10.2.2. Obsługa i wyświetlanie błędów w aplikacji RentalManagerAPI (250)
  • 10.3. Wyjątki (251)
    • 10.3.1. Zgłaszanie wyjątku (251)
    • 10.3.2. Przechwytywanie wyjątku (252)
  • 10.4. Podsumowanie (253)

11. Key-Value Coding i NSPredicate (255)

  • 11.1. Zapewnienie obiektom zgodności z KVC (257)
    • 11.1.1. Uzyskanie dostępu do właściwości za pomocą KVC (258)
    • 11.1.2. Tworzenie ścieżek kluczy (258)
    • 11.1.3. Zwracanie wielu wartości (259)
    • 11.1.4. Agregacja i zbieranie wartości (259)
  • 11.2. Obsługa przypadków specjalnych (261)
    • 11.2.1. Obsługa nieznanych kluczy (261)
    • 11.2.2. Obsługa wartości nil (262)
  • 11.3. Filtrowanie i dopasowywanie za pomocą predykatów (263)
    • 11.3.1. Obliczenie predykatu (263)
    • 11.3.2. Filtrowanie kolekcji (264)
    • 11.3.3. Wyrażenie warunku predykatu (264)
    • 11.3.4. Bardziej skomplikowane wyrażenia (265)
    • 11.3.5. Używanie ścieżek kluczy w wyrażeniu predykatu (266)
    • 11.3.6. Parametryzowanie i stosowanie szablonu wyrażenia predykatu (267)
  • 11.4. Przykładowa aplikacja (268)
  • 11.5. Podsumowanie (271)

12. Odczyt i zapis danych aplikacji (273)

  • 12.1. Historia Core Data (275)
    • 12.1.1. Do czego służy Core Data? (275)
  • 12.2. Obiekty Core Data (276)
    • 12.2.1. Kontekst obiektów zarządzanych (277)
    • 12.2.2. Koordynator trwałego magazynu danych (277)
    • 12.2.3. Model obiektu zarządzanego (277)
    • 12.2.4. Magazyn trwałych obiektów (278)
  • 12.3. Zasoby Core Data (278)
    • 12.3.1. Encje Core Data (278)
    • 12.3.2. Atrybuty Core Data (279)
    • 12.3.3. Związki w Core Data (280)
  • 12.4. Utworzenie aplikacji PocketTasks (281)
    • 12.4.1. Analiza szablonu Xcode z obsługą Core Data (281)
    • 12.4.2. Budowa modelu danych (281)
    • 12.4.3. Definicje związków (282)
    • 12.4.4. Tworzenie encji Person (284)
    • 12.4.5. Pobieranie encji Person (286)
    • 12.4.6. Dodanie TableView (287)
    • 12.4.7. Dodawanie i usuwanie osób (290)
    • 12.4.8. Zarządzanie zadaniami (294)
    • 12.4.9. Używanie obiektów modelu (297)
  • 12.5. Wykraczając poza podstawy (299)
    • 12.5.1. Zmiana modelu danych (299)
    • 12.5.2. Wydajność (301)
    • 12.5.3. Obsługa błędów i weryfikacja (302)
  • 12.6. Podsumowanie (304)

13. Bloki i technologia Grand Central Dispatch (305)

  • 13.1. Składnia bloków (306)
    • 13.1.1. Blok stanowi zamkniętą całość (309)
    • 13.1.2. Bloki i zarządzanie pamięcią (310)
    • 13.1.3. API bazujące na blokach w strukturach iOS dostarczanych przez Apple (313)
  • 13.2. Asynchroniczne wykonywanie zadań (314)
    • 13.2.1. Poznaj technologię GCD (315)
    • 13.2.2. Podstawy technologii GCD (315)
    • 13.2.3. Budowa aplikacji RealEstateViewer (316)
    • 13.2.4. Asynchroniczne przeprowadzanie wyszukiwania obrazów (321)
    • 13.2.5. Asynchroniczne wczytywanie obrazów (322)
  • 13.3. Podsumowanie (324)

14. Techniki usuwania błędów (325)

  • 14.1. Utworzenie aplikacji zawierającej błędy (326)
  • 14.2. Zrozumienie funkcji NSLog() (327)
  • 14.3. Kontrola wycieków pamięci za pomocą narzędzia Instruments (331)
  • 14.4. Wykrywanie zombie (333)
  • 14.5. Podsumowanie (336)

Dodatki (337)
A: Instalacja iOS SDK (339)

  • A.1. Instalacja iOS SDK (340)
  • A.2. Przygotowanie urządzenia iOS (341)

B: Podstawy języka C (345)

  • B.1. Konwencje nazw zmiennych (346)
  • B.2. Wyrażenia (349)
  • B.3. Polecenia warunkowe (353)
  • B.4. Polecenia pętli (358)
  • B.5. Podsumowanie (364)

C: Alternatywy dla Objective-C (365)

  • C.1. Krótka historia Objective-C (366)
  • C.2. Alternatywy dla Objective-C i Cocoa (368)
  • C.3. iPhone SDK - Safari (369)
  • C.4. Języki skryptowe - Lua i Ruby (374)
  • C.5. Waga ciężka - Adobe Flash (376)
  • C.6. Mono (.NET) (378)
  • C.7. Podsumowanie (380)
Objective-C Podstawy
Tytuł książki: "Objective-C Podstawy"
Autor: Christopher Fairbairn, Collin Ruffenach, Johannes Fahrenkrug
Wydawnictwo: HELION
Cena: 59.00zł 43.07zł
Klienci, którzy kupili „Objective-C Podstawy”, kupili także:
<b>Nurkowanie na wrakach</b>, <font color="navy">Andrej Priboschek,  Horst Dederichs</font>, <font color="green"> Wydawnictwo Alma-Press</font>
Nurkowanie na wrakach, Andrej Priboschek, Horst Dederichs, Wydawnictwo Alma-Press
<b>Tworzenie stron WWW Ilustrowany przewodnik Wydanie 2</b>, <font color="navy">Aleksandra Tomaszewska</font>, <font color="green"> Wydawnictwo HELION</font>
Tworzenie stron WWW Ilustrowany przewodnik Wydanie 2, Aleksandra Tomaszewska, Wydawnictwo HELION
<b>Zbiór zadań z mechaniki budowli Metoda przemieszczeń i metoda elementów skończonych</b>, <font color="navy">Tadeusz Chmielewski, Piotr Górski, Barbara Kaleta</font>, <font color="green"> Wydawnictwo WNT</font>
Zbiór zadań z mechaniki budowli Metoda przemieszczeń i metoda elementów skończonych, Tadeusz Chmielewski, Piotr Górski, Barbara Kaleta, Wydawnictwo WNT
<b>Podstawy oprogramowania Zbiór artykułów Davida L. Parnasa</b>, <font color="navy">Daniel M. Hoffman, David M. Weiss</font>, <font color="green"> Wydawnictwo WNT</font>
Podstawy oprogramowania Zbiór artykułów Davida L. Parnasa, Daniel M. Hoffman, David M. Weiss, Wydawnictwo WNT
<b>Rachunkowość + CD Wydanie 2</b>, <font color="navy">Wioletta Turowska, Adam Węgrzyn</font>, <font color="green"> Wydawnictwo Marina</font>
Rachunkowość + CD Wydanie 2, Wioletta Turowska, Adam Węgrzyn, Wydawnictwo Marina
<b>Historia astronomii</b>, <font color="navy">Michael Hoskin</font>, <font color="green"> Wydawnictwo WUW</font>
Historia astronomii, Michael Hoskin, Wydawnictwo WUW
<b>Spawanie w osłonie gazów metodami MAG i MIG</b>, <font color="navy">Jerzy Mizerski</font>, <font color="green"> Wydawnictwo REA</font>
Spawanie w osłonie gazów metodami MAG i MIG, Jerzy Mizerski, Wydawnictwo REA
<b>Klient ma zawsze rację Reklamacja to prezent</b>, <font color="navy">Janelle Barlow , Claus Moller</font>, <font color="green"> Wydawnictwo Wolters Kluwer</font>
Klient ma zawsze rację Reklamacja to prezent, Janelle Barlow , Claus Moller, Wydawnictwo Wolters Kluwer
<b>Nie tylko Enigma</b>, <font color="navy">Marek Grajek</font>, <font color="green"> Wydawnictwo Naukowe PWN</font>
Nie tylko Enigma, Marek Grajek, Wydawnictwo Naukowe PWN
 Koszyk
0 przedmiotów
Producent
Tu można zobaczyć wszystkie książki z wydawnictwa:

Wydawnictwo HELION
 Kategoria:
 Windows 2012 serwer
Egzamin 70-741: Windows Server 2016 - Praca w sieci

Egzamin 70-741: Windows Server 2016 - Praca w sieci

98.70zł
78.96zł
Informacje
Regulamin sklepu.
Koszty wysyłki.
Polityka prywatności.
Jak kupować?
Napisz do Nas.
 Wydawnictwa
 Poradniki
Kwalifikacja EE.08. Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci. Część 4. Administrowan Barbara Halska, Paweł Bensel HELION
UNIX. Sztuka programowania Eric S. Raymond HELION
World of Warcraft Strategia sukcesu Eric Dekker HELION
Chromatografia gazowa Zygfryd Witkiewicz, Jacek Hepter Naukowe PWN
Ekonomia polityczna Unii Europejskiej i jej problemy Kazimierz Tarchalski WNT
Idealna reklama Sztuka promowania aplikacji w internecie Erica Sadun, Steve Sande HELION
Algorytmy i struktury danych Helion Alfred V. Aho, John E. Hopcroft. Jeffrey D. Ullman HELION
Head First Ajax Edycja polska (Rusz głową) Rebecca Riordan HELION
Solid Edge 8/9 Grzegorz Kazimierczak HELION

piątek, 26 kwiecień 2019   Mapa strony |  Nowości |  Dzisiejsze promocje |  Koszty wysyłki |  Kontakt z nami