Wosiedem Napisano Listopad 18, 2008 Zgłoś Share Napisano Listopad 18, 2008 Mam sobie taki oto program: program Programik; var liczba : integer; function Silnie(Param : integer):integer; begin writeln('kupa.'); Result :=Param+1; end; begin writeln('kupa.'); readln(liczba); liczba := liczba(); writeln(liczba); end. Dostaję taki error: KOD[8 17] : "There is no overloaded version of "writeln" thet can be called with these arguments in writeln ( 'ku' ) Czyżby nie można było wypisywać niczego w funkcjach? Ciekawi mnie jeszcze linijka "liczba := liczba();" jako taka. Nie wypluwa błędów, ale nie wypluje ich też jak będzie chociażby "liczba := ((liczba))()()();" też przejdzie, wiem że to już semantyka, ale może lepiej sypać warrningi bo może ktoś coś zjadł. Nie wiem jakie masz założenia Ps. Testowane na wersji najnowszej (w momencie pisania posta) Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Listopad 18, 2008 Zgłoś Share Napisano Listopad 18, 2008 Force ,nie przejmuj sie ..wiem co to FSL ,a takze Jabber ,tylko nie wiedzialem ze to az takie podobne ... FSL nie ma typu Real ???Ojć to kiepsko ,moja Argenta ma Stringi ,Reale i Boolean'y (i ich mix ,w koncu podobizna php) ..U mnie nie podaje sie typu zmiennej ,po prostu jest i mozna zmieniać dynamicznie przydzielajac odpowiednie wartości np : $zmienna1:? ;//Tworzenie zmiennej i przypisanie wartosci początkowej 0 typu Variant ('0' ,0 false); $zmienna2:="Łańcuch :)" ;//Tworze zmienna i przypisuje wartość stringową $zmienna2:=1 ;//zmieniam typ na Real-Boolean (1 ,to u mnie true ,a 0 false) $zmienna2:=567,67888 ; //Zmienna jest typu rzeczywistego $zmienna2:=false ;//Zmienna ma wartosć 0 ,chociaż wpisałem false endarg?> Jak mi sie bedzie chciało to sciagne ...ale teraz czekam na wersje final ... PS... Nikt nie skomentuje mojego kodu ??Buuu PS2.Force pytanie ,co mam zrobić żeby po kliknieciu na plik ,ten uruchamiał się w moim edytorze ??Bo teraz jak klikne na skrypt pisany w argencie to właczy sie interpreter ,ale tylko właczy ..co zrobić żeby jeszcze uruchomił on skrypt ???Jakieś zmienne są do tego ,przekazujace parametry uruchomienia ?? Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Listopad 18, 2008 Zgłoś Share Napisano Listopad 18, 2008 Dexarz... FSL nie ma Real-a? Mógłbyś chociaż odpalić parser który napisał Force, zanim go skomentujesz. Nikt nie skomentuje Twojego kodu bo nie chodzi o komentowaniu kodu. Chodzi o komentowanie programu który analizuje składnię a potem realizuje jakieś czynności związane z tym co przeanalizował... Pokazałeś parser? Co do ps2: nie szukałeś w google, prawda? http://4programmers.net/Delphi/FAQ/Jak_sko...iem_danego_typu Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 18, 2008 Autor Zgłoś Share Napisano Listopad 18, 2008 To z tym Writeln to mój błąd. Nie można zagnieżdżać metod w metodzie jeśli chodzi definicje metod, ale zapomniałem, że metoda może wywołac metodę z unit-a to poprawione. Swoją drogą odnośnie typu zmiennych o których później powiem - tak pisałem interpreter, że w sumie można by łatwo zrobić metody anonimowe FSL nie ma zmiennych real,planowane są, uznałem, że stworzenie wiele typów zmiennych na początek nie ma sensu jeśli leżeć i kwiczeć będzie reszta, mozliwość rekurencyjnego wywołania metod wydała mi się trudniejsza do implementacji. Metody nie działają tak, że jak wywołuję metodę to kopiuje kod i go wykonuje, kopiuję tylko zmienne,potem muszę zrzucić dane tego co wywołuje na stos, wyjść z egekuzji wrzucić nowe wywołanie metody, gdy ona się wykona ściągnąć ją ze stosu, a następnie przywrócić wykonywanie poprzedniego kodu. Dodanie reala to żaden problem, ale są trudniejsze rzeczy do napisania niż dodatkowy typ zmiennej. Mogłem zrobić, że zmienne mają dowolny typ, ale chciałem mieć zgodność z pascalem, jakby miał jeden typ zmiennej to bym nie musiał wiele rzeczy testować. Twój kod nie wiem co komentować, jakbyś dał nawet nie parser a opis składni, jedyne co moge powiedzieć, że uzywanie przecinka jako rozdzielnika części całkowitej od ułamkowej to bład. A składnia mało się trzyma php poza brakiem typu zmiennej, a zmienne są od "$", nie mówię, że to źle, ale to jest nadużyciem porównywać do php. Poprawiony plik z tym writeln jest w tym samym poście, nie chciałem non-stop literek zwiększać dla tak małych zmian, z tymi nawiasami to poprawię, napewno to trzeba zlikwidować, wiem jak, ale to już przy większej zmianie, może jak wskocze na wersję 0.1 bo nie przewiduje wersji między 0.2/3, a 0.1, tak samo aby Writeln itp. mógł przyjmować dowolną ilość parametrów. Nie mam kojarzenie plików z moim programem, uruchamia się najeżdżają skrypt na program lub z konsoli Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Listopad 19, 2008 Zgłoś Share Napisano Listopad 19, 2008 Dexarz: chcesz podyskutowac o swoim jezyku? zaloz nowy temat. I ZMNIEJSZA STOPKE! www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 24, 2008 Autor Zgłoś Share Napisano Listopad 24, 2008 Na blogu kolejna wersja 0.3/4. Ma: exit-a,liczby w postaci szesnastkowej i 4 nowe operatory. Częstować się, testować operatory oraz oglądać przykład 8, który pokazuje formę szesnastkową liczb oraz exit-a Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Nvm Napisano Listopad 25, 2008 Zgłoś Share Napisano Listopad 25, 2008 A "exit" ten stary czy ten nowy (w sensie ten z D2009, jak C++'owy "return")? Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 25, 2008 Autor Zgłoś Share Napisano Listopad 25, 2008 stary, nowy by mi nabruździł w kodzie Może kiedyś będzie, ale na razie mam inne rzeczy na głowie, muszę tą modułowość zrobić, a nie exitem się martwić Tak samo myślałem, czy continue i break nie mogłyby mieć opcjonalnie parametru, w continue-ile przebiegów pominąć, w break-z ile pętli wyskoczyć Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 28, 2008 Autor Zgłoś Share Napisano Listopad 28, 2008 Post pod postem, ale tak to by nikt nie zauważył. Wyszła właśnie wersja pre alpha wersji 0.1. Cóż to oznacza: -pliki muszą kończyć się na dpr lub pas. -Write itp. mogą mieć dowolną ilość parametrów -modułowość, uses-y, odwoływanie się przez kropkę do innych zmiennych, z innych modułów. Więcej na blogu, jest tam też nowa wersja, FSL-a. Polecam przejrzeć od nowa wszystkie przykłady, zobaczy się jak działają moduły i write/itp.. Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Listopad 28, 2008 Zgłoś Share Napisano Listopad 28, 2008 Dlaczego kod7.dpr nie wypluwa, że nie może odnaleźć pliku? Unit1 dodany w uses jest w podkatalogu czego interpreter nie wykrywa. Pobawiłem się trochę i utworzyłem 2 prawie identyczne unity. Dałem takie same funkcje, ale różniące się wynikiem i z moich testów, wykonywane są te funkcje które zostały zaimplementowane wcześniej. Poza tym podwójna deklaracja funkcji wywala interpreter (av). Nie wiem czy to tak się nazywa, w każdym razie chodzi o coś takiego: unit unit1; interface var b : integer; a : INTegER; function DajCzterdziesci(L : integer):integer; function DajCzterdziesci(L : integer):integer; function DajLiczbe(L : integer):integer; implementation function DajCzterdziesci(L : integer):integer; begin Result := 40; EnD; function DajLiczbe(L : integer):integer; begin Result := 1; EnD; end. Wiem, że to nie są jakieś błędy krytyczne, ale moim zdaniem są to takie rzeczy, którym mimo wszystko wypada się przyjrzeć albo chociaż wiedzieć, że istnieją Kiedy będzie można tworzyć własne klasy/struktury? Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 28, 2008 Autor Zgłoś Share Napisano Listopad 28, 2008 To z tym przeładowaniem sprawdzę, unit1.pas jest w dwóch kopiach, ta z katalogu inc nie ma w uses unit2. Wątpię aby kiedyś będzie się dało tworzyć struktury i klasy. Będzie się dało jako parametr przesłać obiekt i odwoływać się do jego pól przez rtti, ale własnych w skrypcie obiektów się nie zrobi. Edit: Poprawiłem to, oprócz tego usunąłem 3 inne sytuacje gdy kod był niepoprawny i robił AV oraz wykryłem babola, że gdy mamy kod a mod b, to jest on testowany i zazwyczaj b=0 to nie powinien w czasie kompilacji dać błęda z dzieleniem przez 0. Zmodyfikowałem przykłady, nawet skopiowałem funkcę nwd z internetu i się skompilowało bez problemu. Mamy różne wersje metod Min,Max,Fibb,Silnia, które pokazują albo rekurencję albo przekazywanie zmiennych przez out-a. Wszystko w tym samym linku. Edit2: Udało mi się usunąć leaki i biorąc pod uwagę poprawienie kilkunastu dużych bugów od wczoraj nowa wersja nazywa się już FSL 0.1a, jak wszystko dobrze pójdzie w środę wyjdzie z testów i wtedy pokażę ją na innych forach (nie dawajcie mi bana ) Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Listopad 29, 2008 Zgłoś Share Napisano Listopad 29, 2008 FORCE !!! Wot !!! Struktury i klasy muszą być ,wiem ze to nie jest łatwe ,ale mi się udało ... Ja to rozwiązałem tak że stworzyłem w Delphi klasę ,która ma 5 list wskażnikowych (zmienne ,stale ,funkcje , etykiety i struktura) ,które podczas stworzenia obiektu klasy element nie jest dodawany do zmiennych globalnych , a właśnie do tych list ... Jednak ja mam nieco inną budowę programu niż ty ...Ty najpierw parsujesz kod ,potem przekształcasz do swój pośredni kod i wykonujesz ..U mni to jest tak ,ze najpierw kod jest przygotowywany (usuwane komentarze ,dzielenie instrukcji w oddzielne linie itd itp ) potem kod pobiera 1 linie i wykonuje potem 2 ,potem 3 ..Czyli u mnie działa to w trybie rzeczywistym , bo kod jest od razu gotowy (po przygotowaniu) Proszę cię zrób struktury ,bo nie będę miał konkurencji ...Ja już je mam ... Aha i zmieniłem zdanie Blind ..Swoją Argente jednak dam na neta jak skończe ją pisać ...Będzie pracowało w WinDosie ,bo dopiero Turbo Argenta ,będzie korzystała z komponentów i form ... Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Listopad 29, 2008 Zgłoś Share Napisano Listopad 29, 2008 Dexarz: Mogbys sie pospieszyc z wydaniem tego? bo ciagle na to oczekuje a ty nawet nie wypusciles jakiejs wczesnej wersji. Jak bys wypuscil to bylo by swietnie, w koncu byl by jakis pozadny jezyk skryptowy. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Listopad 29, 2008 Zgłoś Share Napisano Listopad 29, 2008 Dexarz wypluwasz z siebie belkot niezrozumialy dla innych: co to znaczy: stworzenia obiektu klasy element ..... rozrozniasz typ od klasy ? Czyli u mnie działa to w trybie rzeczywistym - znaczy chodzi ci o real mode ? czy o co ? rzeczywisty bo rzeczywiscie sie dzieje ? (...) bo kod jest od razu gotowy (po przygotowaniu) - WTF ? skoro jest po przygotowaniu to jest gotowy (chyba). Jak masz kod to jest on chyba gotowy bo napisal go programista... "Proszę cię zrób struktury ,bo nie będę miał konkurencji ...Ja już je mam ... " - egocentryzm fajna rzecz, nie wiedzialem ze twoj jezyk jest tak powszechny ze trzeba mu robic jakas konkurencje aby swiat nie byl na niego skazany.... (...)Struktury i klasy muszą być(...) - a niby dlaczego musza byc ? bo wszyscy maja ? bo tak jest trendy ? bo ogorek jest zielony ? Moze najpierw warto dowiedziec sie do czego jest dedykowany FSL a pozniej zastanowic sie jakie elementy jezyka nalezy stworzyc.... Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Listopad 29, 2008 Autor Zgłoś Share Napisano Listopad 29, 2008 Zaraz, ogórek jest zielony? Edit: struktury i klasy nie będą, jak już to jak mówiłem: można przesłać jakąś zmienną TObject, ale z programu, który używa skrypt, a nie zdefiniowaną w skrypcie i ma używać rtti do modyfikowania tego obiektu, uważam to za wystarczające i tak to będzie ostre odstępstwo od tego co jest w FP Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Listopad 29, 2008 Zgłoś Share Napisano Listopad 29, 2008 Zapomniałem do czego ma służyć FSL. No tak, jeśli ma być jedynie dodatkiem do innych programów to chyba masz rację, że wystarczy sama możliwość odwoływania się do obiektów używając rtti. W sumie fajnie by było gdyby w przyszłości była możliwość robienia pełnosprawnych programów przy użyciu samego FSL (np. tak jak w pythonie) Na koniec jeszcze Cie zdopinguję do dalszej pracy. Dawaj dawaj! Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Dexarz Napisano Listopad 29, 2008 Zgłoś Share Napisano Listopad 29, 2008 Ojć Blind - teraz nie ,bo czekam na wersje 0.2 FSL TOster - nie chodzi o tryb rzeczywisty ,chodzi oto że kod jest odrazu wywołany bez obróbki na kod pośredni ,tzn ten ko jest już pośredni Wiem że nie muszą ,ale przewiduje że w FSL będzie można pisać normalnie programy ... Przygotowany ,czyli że po procce PrepareUnits kod jest gotowy do wykonania . Procka PrepareUnits robi porządek w kodzie ,czyli usuwa zbedne rzeczy i dzieli kod na instrukcje ... Ale teraz jest mowa o FSL ,więc może przestanę nawijać o Argencie ... Force ,do boju !! Blind - to nie jest super hiper język skryptowy ,bo ma swoje wady i sporo ograniczeń ...Ale pod DoSymfoniaB w sam raz ... Aktualnie piszę 32 bitowy system operacyjny. ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40% Stick's Adventure 3 - 0% Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP Przykład programu w ASE2.0: <?arg #CreateProcs; $i:?; #For('$i,10,1,@Lab');@Lab; #Sleep(100); #Message("Ten komputer ulegnie autodestrukcji za $i sekund"); #Retf; #Message('Dead'); arg?> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Grudzień 3, 2008 Autor Zgłoś Share Napisano Grudzień 3, 2008 Dodałem zmienne real, dodatkowo ponieważ kod się rozrasta postanowiłem udostępnić źródło. Liczą na uwagi, komentarze, co można zmienić, usprawnić. Kolejny krok to zrobienie zapisu i odczytu do pliku kodu pośredniego. Tutaj się zastanawiam jakie rozszerzenia powinny mieć pliki kodu programu,modułu i kodu pośredniego programu i modułu (osobne rozszerzenia bo może skojarzę pliki projektu z interpreterem) oraz także powinien być trzeci plik kodu pośredniego, który miałby w sobie zlinkowane plik programu i wszystkie modułu. Jakieś propozycje? FSL Ponieważ jestem leń to skopiowałem post z bloga Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
HNB Napisano Grudzień 3, 2008 Zgłoś Share Napisano Grudzień 3, 2008 1. Wolny Lexer. Daj jakiś hash lub/i shortstringi czy własne stringi string[x] dla słów kluczowych 2. Każda zmienna klasą? Strata pamięci i czasu Takie małe uwagi soon Delphi will be only for veterans and finally we all will die at the end… delphi.dathox.com - nowinki z świata Delphi/Pascala only programmers and drug dealers call their customers "users" Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą. Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Grudzień 4, 2008 Autor Zgłoś Share Napisano Grudzień 4, 2008 Ad 2. Wiem, że to nie jest najlepsze, powoli mam w planie połączyć zmienne w jeden blok pamięci, tak żeby TFSLSection miało tablice integerów-ów i stringów, oraz offsety dla każdej zmiennej no i plan jest, że potem przy pobieraniu zmiennej do obliczeń to ona ma tylko offset, a nie nazwę, bo po nazwie to długo będzie szukać. Ogólnie liczyłem właśnie, że ktoś to zrobi, jaki byłby sens pokazywać kod, żeby tylko zjechać? Edit: Co sądzicie, aby integery były też jako reale-e ale przy wczytywaniu wrtości by się pilnowało aby tylko część całkowita przeszła? Choć mam obawy, że real nie wszystkie liczby całkowite posiada skoro cecha ma tylko 11 bitów. Edit2: I czy mógłby ktoś zobaczyć jak to na Lazarusie idzie? Bo dla mnie Lazarus jest trudny w użytkowaniu Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Grudzień 4, 2008 Zgłoś Share Napisano Grudzień 4, 2008 Integery jako real? To nie będzie zwalniać przy obliczeniach na liczbach całkowitych? Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Grudzień 4, 2008 Autor Zgłoś Share Napisano Grudzień 4, 2008 No właśnie nie wiem, ogólnie staram się aby jak najmniej było tablicy dla każdego typu zmiennej A z Lazarusem sobie poradziłem jakoś, dziwny strasznie, no ale poszło mi, czyli, że jest git Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Grudzień 4, 2008 Zgłoś Share Napisano Grudzień 4, 2008 Force, napisałem sobie dla testu 2 programy (w C, ale zasada działania zmiennych jest podobna o ile nie taka sama*) int main() { for(float i=0;i<100000000;++i); return 0; } Ten ze zwykłym integerem wykonywał się w ułamku sekundy. A ten drugi powyżej 6 sekund (potem zabiłem program bo nie chciało mi się czekać ) *- int i float** to nie są przypadkiem zmienne "wbudowane w komputer" (koprocesor)? ** - aktualnie procki nie liczą już na zmiennych o pojedynczej precyzji, wszystko idzie na podwójnej (double) Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
DevPort Napisano Grudzień 5, 2008 Zgłoś Share Napisano Grudzień 5, 2008 *- int i float** to nie są przypadkiem zmienne "wbudowane" w procesor? Żadny procesor nie ma wbudowanych żadnych zmiennych... ;] wszystko to się rozbija na rejestry, jaka kolwiek operacja na liczbach jest wykonywana wyłącznie przy użyciu rejestrów procesora. Wiadomo też, że rejestry są 8, 16, 32, 64 bitowe... ;] więc zmienna 2 bajtowa jest liczona na rejestrach 16 bitowych... ;], zmienna 4 bajtowa na 32 bitowych rejestrach i tak dalej... A różnica czasowa jest... zalecam przeczytać budowe float, a integer... ;] http://pl.wikipedia.org/wiki/Liczba_zmiennoprzecinkowa http://pl.wikipedia.org/wiki/Liczba_ca%C5%...ta_(typ_danych) obydwie te zmienne choć są 32 bitowe, to różni je budowa i to może być powodem spowolnienia float. Czas przeliczenia liczby typu zmiennoprzecinkowego... ;] Pozdrawiam Prawdziwy programista wiesza sie wraz ze swoim programem. Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Grudzień 5, 2008 Zgłoś Share Napisano Grudzień 5, 2008 A ja sie pytam gdzie byli jego rodzice gdy powstaly kooprocesory ?! Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.