20:01 <@d0ubl3_j> zaczynamy ;>
20:01 < _diabel_> ;]
20:02 <@d0ubl3_j> Witam wszystkich na wykladach dotyczacych srodowiska Delphi (object pascal) oraz programowaniu w systemie windows wykorzystujac w tym celu delphi ;>
20:02 <@d0ubl3_j> Dzisiaj omowie IDE Delphi oraz przypomne pascala oczywiscie pod katem wykorzystania go w delphi.
20:02 <@d0ubl3_j> Jezeli ktos nie ma tego srodowiska to moze go zassac z ineta, poszukac na jakis plytach, ale to juz sami musicie zdobyc (popytajcie na borland.pl) ;ppp
20:02 <@d0ubl3_j> Bede omawial Delphi 7 personal, inne wersje 7 ne wiele sie roznia oprocz dodatkowych komponentoow i paru dodatkoow ;> (wersja 6 jest bardzo podobna do 7).
20:02 <@d0ubl3_j> Nim wogoole zaczne to nalezy zadac sobie pytanie, czym wogoole jest Delphi? Jest to pakiet RAD (Rapid Application Development) do szybkiego tworzenia aplikacji, a zarazem opisuje sie tym terminem rowniez jezyk bazujacy na object pascalu ;>
20:03 <@d0ubl3_j> Polaczenie prostoty pascala, dodanie do niego obiektowosci oraz oparcie o srodowisko wykorzystujace komponenty vcl spowodowalo dosc duzy sukces tego pakietu.
20:03 <@d0ubl3_j> btw ne za szybko?:P
20:03 < KamiI> nie ;]
20:03 < rfl> do rzeczy
20:03 <@d0ubl3_j> k
20:03 < Heretic> szybko czytamy :]
20:03 <@d0ubl3_j> To tyle na wstep czas przejsc do wygladu samego IDE oraz jego opisu ;>
20:03 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/1.png
20:04 <@d0ubl3_j> Ten link prezentuje wyglad calego IDE (jezeli ktos posiada delphi to niech go teraz uruchomi ;>)
20:04 <@d0ubl3_j> Zaznaczylem na dolaczonym obrazku cyframi odpowiednie elementy, ktore teraz opisze:
20:04 <@d0ubl3_j> Na samej gorze znajduje sie glowne okno Delphi (1) gdzie mamy _menu_ oraz pasek narzedzi z ikonami sluzacymi do zapisu/odczytu plikoow ich kompilacji i tym podobnych. Mamy tam rowniez pasek z zakladkami (2) tam zamieszczone sa nasze komponenty z ktorych korzystamy nazywa sie to _paleta_ _komponentow_ .
20:04 <@d0ubl3_j> W dalszej czesci mamy _Inspektor_ _Obiektoow_ (3) gdzie mozemy okreslic bardzo duzo opcji dotyczacych wybranego komponentu, skraca to czas projektowania aplikacji jezeli chodzi o jej wyglad jak rowniez pozwala uniknac pisania duzych ilosci kodu (co jest zaleta oraz wada, ale o tym pozniej ;>).
20:05 <@d0ubl3_j> Dalej mamy _edytor_ (4), ktory sluzy do wpisywania kodu (ogolnie bardzo sympatyczny edytor ne tylko do wykorzystania przy programowaniu w delphi, ale to tak btw ;pp) oraz jeden komponent (5), a dokladnie widzimy tam _forme_ jest to nasze okienko programu, na ktorym umieszczamy rozne elementy naszej aplikacji (jest to automagicznie dodawany komponent przy tworzeniu projektu win32).
20:05 <@d0ubl3_j> U was moze sie troche to roznic wygladem, inne rozmieszczenie, kolory, dodatkowe okna (np tree view wyswietlajacy drzewo projektu) dlatego ze moj delphi juz troche przeszedl i jest odpowiednio podemnie dopieszczony, tak samo niektorych komponentoow moze u was ne byc z racji ich nie zainstalowania, ale ja na tych wykladach bede korzystal tylko ze std komponentoow wiec spokojnie =^^=
20:05 <@d0ubl3_j>
20:05 <@d0ubl3_j> Po kroce omowie najwazniejsze elementy menu, a potem przejdziemy do czegos przyjemniejszego (ne ne do zabawy w krzaczkach) ;ppp
20:06 <@d0ubl3_j> Jakies pytania?
20:06 < rfl> nie
20:06 <@d0ubl3_j> ok
20:06 <@d0ubl3_j> przetrawcie kto wolno czyta ;>
20:06 < Szejker> przeklejone... fe;p
20:06 <@d0ubl3_j> :P
20:06 <@d0ubl3_j> pisalem caly wczorajszy dzien :p
20:06 < ^Klocek> hmm
20:06 < ^Klocek> winapi bedzie potem ?:P
20:06 <@d0ubl3_j> bedzie lepiej brzmieci :p
20:06 <@d0ubl3_j> ale ne dzisiaj
20:06 <@d0ubl3_j> dzisiaj naprawde podstawy
20:07 < rfl> ee..
20:07 < Heretic> cos napiszemy ?
20:07 <@d0ubl3_j> winapi bedzie za 2 wyklady ;>
20:07 <@d0ubl3_j> tak
20:07 < ^Klocek> "Podstawy Delphi i WinApi"
20:07 < ^Klocek> ee
20:07 < rfl> mialo byc winapi
20:07 <@d0ubl3_j> ino omoowie
20:07 < ^Klocek> :P
20:07 < ^Klocek> taki temat jest
20:07 <@d0ubl3_j> klocek: pretensje do phoenix__ :p
20:07 <@d0ubl3_j> tak sie caly cykl wykladoow nazywa ;>
20:07 <@phoenix__> co jest ?
20:07 <@d0ubl3_j> narazie dla tych poczatkujacych ktorzy ne widzieli delphi narazie ;>
20:07 <@d0ubl3_j> jest ktos taki tutaj?
20:08 <@phoenix__> sry ale dp[oerp cp jestem
20:08 <@phoenix__> ^Klocek: ocb?
20:08 < rfl> dawac winapi
20:08 < ^Klocek> d0ubl3_j zobaczymy
20:08 < ^Klocek> ile twoj hello world zajmie :P
20:08 < goped> ja
20:08 < goped> :]
20:08 <@d0ubl3_j> no ok ;>
20:08 <@d0ubl3_j> wiec dalej jade opis srodowiska
20:08 <@phoenix__> ^Klocek: co powinno byc ?
20:08 <@d0ubl3_j> wiec jak ktos jest bardziej zaawansowany
20:08 <@d0ubl3_j> to moze isc :p
20:08 <@d0ubl3_j> bo dzisiaj o winapi ne bedzie
20:08 <@phoenix__> aa o to ze winapi
20:08 <@d0ubl3_j> ne no wspomne o tym :P
20:09 <@phoenix__> aaa tyo tak
20:09 < ^Klocek> ja i to i to znam
20:09 < ^Klocek> i w c++ i w op
20:09 <@phoenix__> gyn mi mowil ze tyo bedzie dzisiaj
20:09 < ^Klocek> ale sobie poslucham ;p
20:09 <@d0ubl3_j> winapi bedzie pozniej ;>
20:09 <@phoenix__> tzn ze mam tak napisac
20:09 <@d0ubl3_j> e phoenix__ to bedzie pozniej :p
20:09 <@d0ubl3_j> phoenix__: ja podawalem ze dzisiaj podstawy :p
20:09 < Heretic> dobra jedziemy dalej
20:09 <@phoenix__> d0ubl3_j: nvm
20:09 <@d0ubl3_j> no ale lecmy dalej potem sie dogadamy ;>
20:09 <@d0ubl3_j> A wiec tak ne bede opisywal wszystkiego co jest w menu bo to ne ma sensu, zajmiemy sie najpierw menu FILE:
20:10 <@d0ubl3_j>
20:10 <@d0ubl3_j> mamy tutaj kilka opcji na ktore warto zwrocic uwage (dla niektorych to oczywiste, ale ma to byc wkoncu od podstaw nauka delphi wiec to omawiam):
20:10 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/2.png
20:10 <@phoenix__> d0ubl3_j: napisz mi na priv co mam poprawic
20:10 <@d0ubl3_j> phoenix__: pozniej
20:10 <@d0ubl3_j> KamiI: ja np ;>
20:10 <@d0ubl3_j> dobra lets go
20:10 <@d0ubl3_j> New:
20:10 <@d0ubl3_j> Tutaj mozemy wybrac typ projektu wiecej za chwile ;>
20:10 <@d0ubl3_j> Open:
20:10 <@d0ubl3_j> Jak nazwa mowi sluzy do otwierania plikow
20:10 <@phoenix__> d0ubl3_j: logi slijcie na ph003n1x@gmail.com
20:11 <@d0ubl3_j> phoenix__: k
20:11 <@d0ubl3_j> to pozniej
20:11 <@d0ubl3_j> Open Project:
20:11 <@d0ubl3_j> Tak jak wyzej tylko plikow projektu (*.dpr)
20:11 <@d0ubl3_j> Save, Save as, Save Project as oraz Save all:
20:11 <@d0ubl3_j> Sluza do zapisu plikow ;p
20:11 <@d0ubl3_j> Use Unit:
20:11 <@d0ubl3_j> Informuje srodowisko z ktorego aktualnie pliku korzystamy (jakos tego nigdy ne uzywalem ;pp)
20:11 <@d0ubl3_j> thx d0b0c0p ;p
20:11 <@d0ubl3_j> Print:
20:11 <@d0ubl3_j> To drukowanie ofc, dosc fajnie przyznam dodaje numeracje lini, moze dodac kolorowanie skladni etc;>
20:11 <@d0ubl3_j> Exit:
20:11 <@d0ubl3_j> ofc papa z programu ;ppp
20:12 <@d0ubl3_j> No to tyle jezeli chodzi o FILE, wrocimy teraz do New a dokladnie do menu New Item, ktore mozemy wyswietlic uzywajac pierwszej ikony na pasku albo klikajac FILE->New->Other ;>
20:12 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/3.png
20:12 <@d0ubl3_j> _Application_ - to standardowa aplikacja okienkowa (z jedna domyslna forma)
20:12 <@d0ubl3_j> _Batch_ _File_ - otwiera Project Manager, ktorym zarzadzac mozemy skryptami (tworzyc, edytowac, wykonywac etc) osobiscie sie tym ne bawilem ;pp
20:13 <@d0ubl3_j> _Component_ - Sluzy do tworzenia komponentow (o tym opisze wiecej, na ktorys tam wykladach ;>)
20:13 <@d0ubl3_j> _Console_ _Application_ - pozwala pisac aplikacje konsolowe (narazie na tym bedziemy sie opierac wiec omowie to pozniej ;p)
20:13 <@d0ubl3_j> _Data_ _Module_ - tworzy standardowy modul danych, modul wykorzystywany przy tworzeniu aplikacji bazo danowych (nim ne bedziemy sie zajmowac przynajmniej narazie ;p)
20:13 <@d0ubl3_j> _DLL_ _Wizard_ - tworzy nam modul do pisania bibliotek dll (o tym na wykladach bede mowil kiedys tam ;pp)
20:14 <@d0ubl3_j> _Form_ - tworzy nowa forme i dolacza ja do aktualnej aplikacji okienkowej
20:14 <@d0ubl3_j> tzn do aktualnego projektu ;>
20:14 <@d0ubl3_j> _Frame_ - ramki, ma podobne wlasciwosci jak Form, jest to kontener na komponenty, ktory je automatycznie inicjalizuje oraz niszczy (tego osobiscie ne tykalem, tzn ne do konca zgodnie z instrukjca obslugi bo ne bylo daty waznosci na opakowaniu ;ppppp)
20:14 <@d0ubl3_j> _Package_ - Pozwala zarzadzac i tworzyc pakiety dla delphi
20:14 <@d0ubl3_j> _Project_ _Group_ - Manager projektow, tak w skrocie, pozwala dodac rozne moduly do projektu
20:14 <@d0ubl3_j> _Text_ - to jest zwykly plik tekstowy, mowilem ze delphi ma fajny edytor ;pp
20:15 <@d0ubl3_j> _Thread_ _Object_ - Tworzy watki klas, wykorzystywane przy aplikacjach wielowatkowych
20:15 <@d0ubl3_j> _Unit_ - generuje nowy pusty szkielet modulu
20:15 <@d0ubl3_j> No to by bylo na tyle jezeli chodzi o New Item ;>
20:15 <@d0ubl3_j>
20:15 <@d0ubl3_j> Teraz przejde to menu VIEW dokladnie to wspomne tylko o debug bo to bardzo przydatne a wsumie zostalo jakos tak glupio umieszczone ze ne kazdy moze szybko to znalezc:
20:15 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/4.png
20:16 <@d0ubl3_j> ZzZZz_hello_world_zZzZZz: to bedzie poozniej ;p
20:16 <@d0ubl3_j> Wiec mamy tam _Debug_ _Windows_:
20:16 <@d0ubl3_j> _Breakpoints_ - wyswietla okno do zarzadzania punktami kontrolnymi
20:16 <@d0ubl3_j> _Call_ _Stack_ - wyswietla okno pokazujace stos
20:16 <@d0ubl3_j> _Watches_ - pozwala kontrolowac zmienne (tzn sprawdzac co w danej zmiennej siedzi ;>)
20:16 <@d0ubl3_j> _Threads_ - pokazuje watki aplikacji
20:16 <@d0ubl3_j> _CPU_ - pokazuje ladny listing naszej aplikacji w asemblerze ;>
20:16 <@d0ubl3_j> Oprocz Debug znajdziemy tam inne okna ktore mozemy wyswietlic, warto posprawdzac co ktore okno wyswietla, ale to juz zostawiam wam ;pp
20:17 <@d0ubl3_j>
20:17 <@d0ubl3_j> Teraz zajme sie opisem menu PROJECT bo jest co opisywac ;pp
20:17 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/5.png
20:17 <@d0ubl3_j> teraz bedzie dlugo i nudno dla tych ktorzy to juz znaja ;pp
20:17 <@d0ubl3_j> _Add_ _to_ _Project_ - sluzy do dodawania modulow do projektu
20:17 <@d0ubl3_j> _Remove_ _from_ _Project_ - usuwa z projektu modul
20:18 <@d0ubl3_j> _Import_ _Type_ _Library_ - pozwala zimportowac biblioteki activex i dodac je do projektu jako komponenty
20:18 <@d0ubl3_j> _Add_ _to_ _Repository_ - pozwala dodawac pliki projektu do repozytorium (cos a'la cvs, svn)
20:18 <@d0ubl3_j> _View_ _Source_ - pokazuje zrodlo projektu, dokladnie to plik nazwa_projektu.dpr ;>
20:18 <@d0ubl3_j> _Add_ _New_ _Project_ - dodaje nowy projekt do istniejacego
20:18 <@d0ubl3_j> jak cos ne jasnego pisac na priv ;>
20:19 <@d0ubl3_j> _Add_ _Existing_ _Project_ - dodaje zapisany projekt na dysku do istniejacego
20:19 <@d0ubl3_j> _Compile_ _Nazwa_Projektu_ - kompiluje projekt
20:19 <@d0ubl3_j> _Build_ _Nazwa_Projektu_ - dokonuje kompilacji projektu, moduloow, bibliotek etc
20:19 <@d0ubl3_j> _Syntax_ _check_ _Nazwa_Projektu_ - dokonuje sprawdzenia poprawnosci kodu (ne kompiluje)
20:20 <@d0ubl3_j> _Information_ _for_ _[none]_ - wyswietla informacje na temat przebiegu kompilacji projektu
20:20 <@d0ubl3_j> _Compile_ _All_ _Projects_ - kompiluje wszystkie otwarte projekty
20:20 <@d0ubl3_j> _Build_ _All_ _Projects_ - kompiluje wszystkie otwarte projekty (kompilacji podlegaja wszystkie moduly nawet jezeli nic sie w nich ne zmienilo)
20:20 <@d0ubl3_j> _Options_ - opcje projektu o tym ponizej ;>
20:20 <@d0ubl3_j> No to tyle jezeli chodzi o menu PROJECT, teraz zajme sie opisem poszczegolnych okien opcji projektu ;>
20:20 <@d0ubl3_j> ale najpierw odpowiem na pare pytan
20:20 <@d0ubl3_j> repozytorium to takie miejsce gdzie skladujemy nasz projekt
20:20 <@d0ubl3_j> oraz jego pliki itp
20:21 < brawo> :)
20:21 < brawo> eee a delphi to taki jezyk dla niemot ?
20:21 <@phoenix__> brawo: nie ustawiaj takich nikow
20:21 <@d0ubl3_j> brawo: tzn?
20:21 <@phoenix__> brawo: czy chcesz bana albo kicka?
20:21 < brawo> e
20:21 < goped> www.gimnazjum3.centrum.gliwice.pl/gg.jpg
20:21 < brawo> chodzi mi o to ze programisci w delphim czesto nie wiedza ja kdziala ich kdo :)
20:21 < brawo> kod*
20:22 <@d0ubl3_j> brawo: ale to ich problem :p
20:22 < brawo> no
20:22 <@phoenix__> BTW NIE ZMIENIAC NICKOW !!!!!! OD TEGO JEST PRIV
20:22 < brawo> :D
20:22 < Szejker> dajcie w topic nfo
20:22 < Szejker> ze nie mozna zmieniac nickow
20:22 < Szejker> pod grozba obciecia jader
20:22 <@d0ubl3_j> no wiec to samo mozna o innych powiedziec :p
20:22 < goped> co to cvs, svn?
20:22 < Szejker> ew. kb
20:22 < Dale^c0d3> phoenix__ daj sobie /ignore #wyklady NICKS ;p
20:22 <@d0ubl3_j> goped: to takie programy sluzace do zarzadzania projektami
20:22 < brawo> lubie delphi ale wydaje mi sie ze to ukladanie rzeczy na palecie :)
20:22 <@d0ubl3_j> zeby zobrazowac o co chodzi z tym repozytorium ;>
20:22 <@phoenix__> Dale^c0d3: no ale po co zasmiecac wyklad jak jest priv
20:23 <@d0ubl3_j> osoby ktore z tego korzystaly wiedza o co chodzi ;>
20:23 <@phoenix__> mozna zapytac na privie
20:23 < Heretic> ale to przerywa wyklad czyz nie ?
20:23 <@d0ubl3_j> brawo: i tak i nie
20:23 < brawo> :]
20:23 <@d0ubl3_j> ale obiektoowka to wlasnie ukladanie klockoow ;P
20:23 < Mkzm_> :]
20:23 <@d0ubl3_j> nom najlepiej pisac na priv
20:23 < Heretic> dobra, do dziela :]
20:23 <@d0ubl3_j> bo tak to zasmieca loga
20:23 < Mkzm_> ale za to sockety latwe :P
20:23 <@Gynvael> phoenix__: priv pl
20:23 <@Gynvael> plz
20:23 <@d0ubl3_j> dobra lecimy dalej
20:23 < gas_stop> :>
20:23 < Mkzm_> :]
20:23 <@d0ubl3_j> bo za duzo gadam ;p
20:23 < Mkzm_> lol
20:24 <@d0ubl3_j> teraz czas na opcje projektu
20:24 <@d0ubl3_j> _Forms_ : http://cenobium.glt.pl/wyklady/d01/6.png
20:24 <@d0ubl3_j> _Main_ _Form_ - okresla glowna forme projektu tzw rodzica ;>
20:25 <@d0ubl3_j> w _Auto-Create_ _Forms_ znajduja sie formy ktore zostana automatycznie stworzone, zas w _Available_ _Forms_ znajduja sie wszystkie formy w projekcie, ktore ne beda tworzone automatycznie przy uruchomieniu aplikacji (ne dotyczy to wyswietlania form, poniewaz za to odpowiedzialne jest Main Form).
20:25 <@d0ubl3_j>
20:25 <@d0ubl3_j> _Application_ : http://cenobium.glt.pl/wyklady/d01/7.png
20:25 <@d0ubl3_j> _Title_ - Nazwa projektu
20:25 <@d0ubl3_j> _Help_ _file_ - sciezka do pliku z pomoca
20:25 <@d0ubl3_j> _Icon_ - ikona projektu
20:25 <@d0ubl3_j> _Target_ _file_ _extension_ - rozszerzenie pliku wyjsciowego
20:26 <@d0ubl3_j>
20:26 <@d0ubl3_j> _Compiler_ : http://cenobium.glt.pl/wyklady/d01/8.png
20:26 <@d0ubl3_j> Tutaj okreslamy opcje dotyczace kompilacji (najlepiej tutaj nic nie zmieniac jezeli nie wiemy do konca co zmieniamy ;pp)
20:26 <@d0ubl3_j> _Code_ _Generation_ - mamy tutaj mozliwosc wplywu na wyglad kodu, mozemy zdefiniowac czy kod ma zostac zoptymalizowany, czy ma korzystac z ramek stosu, czy uzyc bezpiecznej instrukcji koprocesora
20:27 <@d0ubl3_j> _Syntax_ _options_ - okreslamy tutaj na co kompilator ma zwracac uwage przy komilazji tzn jaka jest rygorystyka co do pisanego kodu, np czy uzywac duzych stringoow (wtedy string ne ma 255bajtow), czy uzyc rozszerzonej skladni itp ;>
20:27 <@d0ubl3_j> _Runtimes_ _errors_ - tutaj mozemy okreslic na jakie bledy ma zwracac uwage kompilator: przekorczenia zakresu, wejscia/wyjscia, przepelnienia.
20:28 <@d0ubl3_j> _Debugging_ - tutaj wlaczamy opcje debuggera (przy kompilacji finalnej najlepiej wszystko tutaj odznaczyc)
20:28 <@d0ubl3_j> o samym debuggerze pozniej ;>
20:28 <@d0ubl3_j> wyjasnie co to jest ;p
20:28 <@d0ubl3_j>
20:28 <@d0ubl3_j> _Compiler_ _Messages_ : http://cenobium.glt.pl/wyklady/d01/9.png
20:29 <@d0ubl3_j> Jezeli denerwuje nas to kiedy przemawia do nas kompilator to mozemy go wlasnie w tym miejscu uciszyc, mamy tam liste warunkow kiedy kompilator gada, jezeli ktoras odznaczymy to ne bedzie o niej nas informowal, jezeli odznaczymy opcje _Show_ _hints_ to ne bedzie nam dawal wskazowek, zas odznaczenie opcji _Show_ _warnings_ jest rownoznaczne z pozbawieniem siebie informacji o bledach ;p
20:29 <@d0ubl3_j>
20:29 <@d0ubl3_j> _Linker_ : http://cenobium.glt.pl/wyklady/d01/10.png
20:29 <@d0ubl3_j> Ustawiamy tutaj opcje linkera (programu laczacego wszystko w jedna calosc)
20:30 <@d0ubl3_j> _Map_ _file_ - opcja odpowiedzialna za tworzenie mapy pliku, domyslnie jest off czyli wylaczona
20:30 <@d0ubl3_j> _Linker_ _output_ - format wyjsciowy pliku, ogolnie chodzi o typ generowania pliku w jednym ze std, zostawmy domyslnie ;>
20:30 <@d0ubl3_j> _EXE_ _and_ _DLL_ _options_ - mozemy ustawic dodatkowe informacje ktore maja zoastac wlaczone do pliku, takie jak informacje deuggera etc
20:30 <@d0ubl3_j> _Memory_ _sizes_ - okreslamy sobie rozmiar pamieci tzn wielkosc stosu, oraz calego obrazu pliku, lepiej zostawcie to domyslnie chociaz zachecam do eksperymentowania ;p
20:31 <@d0ubl3_j> _Description_ - opis pliku exe
20:31 <@d0ubl3_j>
20:31 <@d0ubl3_j> _Directories/Conditionals_ : http://cenobium.glt.pl/wyklady/d01/11.png
20:31 <@d0ubl3_j> Okreslamy sciezki do odpowiednich katalogoow, katalog gdzie zostanie utworzony skompilowany plik projektu, gdzie maja byc tworzone moduly, sciezke przeszukiwania, sciezke dla bibliotek etc
20:31 <@d0ubl3_j> (mozna to pozostawic puste)
20:31 <@d0ubl3_j>
20:31 <@d0ubl3_j> _Version_ _Info_ : http://cenobium.glt.pl/wyklady/d01/12.png
20:32 <@d0ubl3_j> Jezeli zaznaczymy opcje include version information in project to zostana dolaczone informacje dodatkowe dotyczace naszego projektu, jak jezyk aplikacji, info o autorze, opis programu etc
20:32 <@d0ubl3_j> (tak tutaj mozesz sobie wpisac co chcesz, numer wersji projektu etc ;>)
20:32 <@d0ubl3_j>
20:32 <@d0ubl3_j> _Packages_ : http://cenobium.glt.pl/wyklady/d01/13.png
20:32 <@d0ubl3_j> Mamy tutaj informacje z jakich bibliotek korzysta nasz projekt, mozemy dodawac lub usuwac pakiety to juz zalezy od nas, jezeli zaznaczymy opcje _Build_ _with_ _runtime_ _packages_ wtedy bedziemy musieli do naszego projektu dolaczyc dodatkowo biblioteki, za to projekt bedzie chudszy o dobre pare kilosoow ;pp
20:33 <@d0ubl3_j> jakies pytania?
20:33 <@d0ubl3_j> ok krotka przerwa ;>
20:33 <@d0ubl3_j> na prosbe ;>
20:33 <@phoenix__> d0ubl3_j: dales ignore zmiany nickow i wejscia i wyjscia
20:33 <@phoenix__> zeby na logach nie bylo
20:34 <@phoenix__> bo jak tyo gyn mowi nadwornemy logerowi net padl i nie bedzie logow od niego
20:34 <@Gynvael> auc
20:34 <@Gynvael> jak by co odemnie beda
20:34 <@phoenix__> kk
20:34 <@phoenix__> nvm
20:34 <@d0ubl3_j> hmm
20:34 <@d0ubl3_j> aha
20:34 <@d0ubl3_j> potem jak co dodam s/../.. :p
20:34 < Dale^c0d3> phoenix__: ja mam
20:34 <@d0ubl3_j> i usune to :p
20:35 < Dale^c0d3> i loguje ;p
20:35 < Heretic> sry takie male pytanko, gdzie sie implementuje zmienne w delphi7 ?
20:35 <@d0ubl3_j> Heretic: o tym zaraz powiem ;>
20:35 < Heretic> zZzZzz :P
20:35 <@d0ubl3_j> zaraz skoncze z menu :PP
20:35 <@d0ubl3_j> najpierw opis srodowiska a potem pojedziemy ;>
20:36 <@d0ubl3_j> tzn mamy caly grudzien :PP
20:36 <@phoenix__> padl
20:36 <@phoenix__> normalka ;D
20:36 < Heretic> dobra nvm ... juz znalazlem
20:36 < Astarot> od ktorego wykladu zacznie sie winapi ?
20:36 <@d0ubl3_j> Astarot: hmm teraz srodowisko
20:36 <@d0ubl3_j> potem podstawy
20:36 <@d0ubl3_j> tak od 3 albo 4
20:36 < Heretic> Astarot: pewnie od grudnia ... nastepnego roku :P
20:37 <@d0ubl3_j> bo ja mowilem ze najpierw podstawy ;pp
20:37 <@d0ubl3_j> a phoenix__ walnal ze o winapi bedzie ciagle ;pp
20:37 < Astarot> topic mnie zmylil ;P
20:37 < Heretic> no ale przesadziles z tymi podstawami :P
20:37 <@d0ubl3_j> Heretic: jak podstawy to podstawy :p
20:37 <@d0ubl3_j> wkoncu delphi to IDE
20:38 <@d0ubl3_j> przydalo by sie wiedziec co nieco ;p
20:38 < Heretic> czekam na omowienie co to za 3 przyciski po prawej stronie okna delphi 7 tam jest "_", 2 okienka i "X" ... :P
20:38 < Astarot> interfejs delphiacza z kazdego lepszego kursu mozna przeczytac...
20:38 < Reqamst> ale to omawianie 'file' to juz lekka przesada :p
20:38 < goped> thx for wait
20:38 < goped> :]
20:38 <@d0ubl3_j> Reqamst: :PP
20:38 <@d0ubl3_j> dobra dobra kto zna podstawy GUI to niech idzie :p
20:38 < Astarot> dla poczatkujacych polecam 4programmers.net i kurs A.Boducha <-ktorego wszyscy co kodza w delphi chyba znaja ;)
20:38 <@d0ubl3_j> dobra lets go ;>
20:38 <@phoenix__> mata i dajta mi spokuj
20:38 < Heretic> ^_^
20:39 <@d0ubl3_j> Astarot: tak ale wkoncu to zaczynamy od podstaw :PP
20:39 <@d0ubl3_j> dobra
20:39 <@d0ubl3_j> bede przepytywal z menU :PPP
20:39 <@d0ubl3_j> (joke ^^)
20:39 <@d0ubl3_j> Teraz omowie jeszcze menu RUN i na tym skonczymy meczarnie z menu ;pppp
20:39 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/14.png
20:39 <@d0ubl3_j> Mamy tutaj opcje odpowiedzialne za uruchomienie programu oraz jego zamkniecie:
20:40 <@d0ubl3_j> _Run_ - sluzy do uruchomienia naszej aplikacji (jezeli ne byla kompilowana to najpierw zostanie skompilowana)
20:40 <@d0ubl3_j> _Parameters_ - tutaj okreslamy jaka aplikacja ma zostac uruchomiona, z jakim parametrem wejsciowym oraz jaki katalog ma dla niej byc katalogiem glownym
20:40 <@d0ubl3_j> _Step_ _Over_ - uruchamia program w trybie pracy krokowej, tzn linijka po linijce, bez wchodzenia do procedur i funkcji
20:40 <@d0ubl3_j> _Trace_ _Into_ - uruchamia program w trybie pracy krokowej, ale wchodzac do funkcji i procedur, tzn mozemy przesledzic rowniez to co zachodzi w procedurach i funkcjach
20:41 <@d0ubl3_j> _Run_ _to_ _Cursor_ - wykonuje kod do miejsca w ktorym znajduje sie kursor
20:41 <@d0ubl3_j> _Run_ _Until_ _Return_ - wykonuje kod do asemblerowej instrukcji ret (powroot z call czyli z procedury or funkcji)
20:41 <@d0ubl3_j> _Show_ _Execution_ _Point_ - pokazuje aktualnie wykonywane miejsce programu
20:41 <@d0ubl3_j> _Program_ _Pause_ - zatrzymanie programu
20:42 <@d0ubl3_j> _Program_ _Reset_ - zakonczenie programu
20:42 <@d0ubl3_j> _Evaluate/Modify_ - pozwala podejrzec zmienne, wykonac na nich jakies dzialanie jak i je modyfikowac (btw mozna sie tym posluzyc jak kalkulatorem ;>>>)
20:42 <@d0ubl3_j> _Add_ _Watch_ - dodaje zmienna do kontroli, w okienku z podgladem zmiennych zostanie dodana nazwa zmiennej oraz jej aktualna wartosc, przydatne przy debug ;>
20:42 <@d0ubl3_j> _Add_ _Breakpoint_ - dodaje punkt kontrolny, powoduje to ze program wykona sie do tego punktu, czesto wykorzystywane przy debug oraz przy crackingu bo innego zastosowania ne widze jak ktos znajdzie to pisac na inne_zastosowanie_breakpoints@breakpoint.br ;>>>>>>
20:43 <@d0ubl3_j>
20:43 <@d0ubl3_j> No i tym sposobem skonczylem omawiac menu, reszte menu omowie przy omawianiu danego zagadnienia/wykorzystania praktycznego ;>
20:43 <@d0ubl3_j> No to jeszcze tylko omowie pare opcji samego edytora jak go ustawic i zajmiemy sie skladnia, dzisiaj tylko write, read i o szkielecie aplikacji konsolowej, jak ktos jest znudzony to niech wyjdzie teraz, zeby ne przeszkadzac w wykladzie ;ppp
20:43 <@d0ubl3_j> ktos znudzony?:p
20:44 < Astarot> tego nikt nie zapamieta ;P
20:44 < Heretic> nikt nie chce kicka :P
20:44 <@Gynvael> Astarot: po to sa logi
20:44 <@Gynvael> ;>
20:44 < Astarot> zacznij od hello world ;P
20:44 < sft|tkm> o stf
20:44 < sft|tkm> syf*
20:44 < sft|tkm> tyle opisu samego edytora?;]
20:44 < Astarot> i omawiaj jakies komponenty przy ich uzywaniu ;P
20:44 <@d0ubl3_j> Astarot: omoowie
20:44 < rfl> dawac winapi
20:44 <@d0ubl3_j> w grudniu :PP
20:44 < rfl> a nie jakies pierdoly
20:44 <@d0ubl3_j> nosz co im wzielo sie na winapi?:p
20:44 <@Gynvael> ehehhe po kolei po kolei
20:45 <@Gynvael> ;>
20:45 < Heretic> jestem genialny ... wpadlem na pomysl jak zmienic label po wcisnieciu przycisku ^_^ .... lol
20:45 < Chochlik> rfl: nie kazdy ejst na takim zaawansowanym poziomie jak ty :>
20:45 < sft|tkm> rfl: jakie API chcesz?
20:45 < rfl> ;d
20:45 < Chochlik> Heretic: congratulations :D
20:45 <@d0ubl3_j> a sam edytor to wazna sprawa :PP
20:45 < Heretic> no comments ... :P
20:45 < Chochlik> nie tyle edytor co srodowisko [;
20:45 <@d0ubl3_j> bo zaczne jeszcze o BHP przy pracy z srodowiskiem delphi gadac :PP
20:45 <@d0ubl3_j> ne prowokowac :PP
20:45 < Heretic> lol
20:46 <@d0ubl3_j> ok
20:46 <@d0ubl3_j> Wiec tak do opcji edytora mozemy sie dostac wybierajac z menu TOOLS->EDITOR OPTIONS, otworzy sie nam okno dialogowe z kilkoma zakladkami, pierwsza z nich _General_ odpowiada za glowne ustawienie edytora, zas w zakldace _Source_ _Options_ http://cenobium.glt.pl/wyklady/d01/15.png mozemy ustawic opcje zwiazane z wyswietlaniem kodu, m.in jakiej dlugosci beda wciecia, domyslnie 8 najlepiej zmienic na 2 ( _Tab_ _stops_ ), mamy tam rowniez dosc ciekawa opcje dotyc
20:47 <@d0ubl3_j>
20:47 <@d0ubl3_j> Nastepnie mamy zakladke _Dispaly_ gdzie znajduja sie opcje dotyczace marginesoow oraz tworzenia kopi zapasowej, w dalszej czesci mamy zakladke _Key_ _Mappings_ , w ktorej to okreslic mozemy mapowanie klawiatury, najlepszym wyborem bedzie Default ;>
20:47 <@d0ubl3_j>
20:47 <@d0ubl3_j> Kolejna zakladka _Color_ odpowiada za kolorowanie skladni, oraz wyglad edytora, najlepszy imho wyboor to Classic (malo meczy oczy) zamieszczony na screenie http://cenobium.glt.pl/wyklady/d01/17.png oczywiscie mozecie sami stworzyc swoj wlasny styl ;>
20:48 <@d0ubl3_j>
20:48 <@d0ubl3_j> Ostatnia zakladka _Code_ _Insight_ dotyczy tipsoow, a dokladnie okienka podpowiedzi, w ktorej znajduja sie procedury, metody, funkcje i inne bajery klas, typow i innych bajeroow ;>>>>
20:48 <@d0ubl3_j> Pomaga to w programowaniu oraz skraca proces wpisywania kodu, bo wystarczy wybrac odpowiednia opcje i nacisnac ENTER i juz ne musimy wpisywac, w tej zakladce okreslamy kolor oraz po jakim czasie ma sie to okienko pokazac.
20:48 <@d0ubl3_j> No i uwaga skonczylem nudzic! ;>
20:48 <@d0ubl3_j>
20:49 <@d0ubl3_j> Teraz czas na pytania i przerwe na siusiu tzn reklamy ;ppp a po przerwie zabieramy sie do kodzenia, czyli to co tygryski lubia najbardziej (ne, ne brykanie ;ppppp) ^^
20:49 <@d0ubl3_j> o widze ze all spia ;>
20:49 < jcd> cos chyba wcielo "mamy tam rowniez dosc ciekawa opcje dotyc"?
20:50 < Chochlik> begin
20:50 < Chochlik> WriteLn("Hello World');
20:50 < Chochlik> end.
20:50 < Chochlik> :d
20:50 <@d0ubl3_j> hmm jcd
20:50 < Heretic> Chochlik : no i po wykladzie ... zepsules cale sedno sprawy ^_^
20:50 < ^Klocek> :P
20:50 < rfl> lol
20:50 <@d0ubl3_j> mamy tam rowniez dosc ciekawa opcje dotyczaca podswietlania skladni, a dokladnie _Edit_ _Code_ _Templates_ http://cenobium.glt.pl/wyklady/d01/16.png mozemy tam zmienic wyrazy ktore beda
20:50 < ^Klocek> writeln w delphi nie zadziala
20:50 <@d0ubl3_j> kolorowane, najlepiej sie tam ne bawic to tak dla ciekawosci ino ;pp
20:50 < ^Klocek> chyba ze w konsoli
20:50 < ^Klocek> ;p
20:50 <@d0ubl3_j> macie :p
20:50 < Chochlik> Heretic: pseplasam ;p
20:51 < rfl> Showmessage('Dawac winapi');
20:51 <@d0ubl3_j> a wogoole kto powiedzial ze to kurs dla zaawansowanych?:p
20:51 < Chochlik> ^Klocek: ja wlasnie o konsoli mowie :)
20:51 <@d0ubl3_j> skoro ja sie na programowaniu ne znam :PPPPP
20:51 < Heretic> no ! ja tu czekam juz godzine na HELLO WORLD ... poczekam jeszcze troche :P
20:51 < Chochlik> dobra niech Ci bedzie From1.Caption := 'Hello World'; :D
20:51 < Nome> o to to nie jest kurs dla zaawansowanych ?
20:51 < rfl> ShowMessage('Hello World');
20:51 < Nome> super!
20:51 < Heretic> ...
20:51 < ^Klocek> messagebox(0,"Hello World","Hello World",MB_OK);
20:51 < ^Klocek> masz
20:51 < Nome> From czy Form?
20:51 < sft|tkm> ta
20:51 < rfl> form
20:51 < sft|tkm> -.-
20:52 < Chochlik> Form*
20:52 < Chochlik> przejezyczylem sie :)
20:52 <@d0ubl3_j> dobra dobra
20:52 <@d0ubl3_j> panowie mastahy
20:52 < rfl> taa
20:52 <@d0ubl3_j> ;p
20:52 < rfl> delphi nie umiesz
20:52 < rfl> ;d
20:52 < Heretic> dobra , czekajmy dalej na hello world w wykonaniu d0ubl3_j
20:52 < ^Klocek> lol
20:52 <@d0ubl3_j> no :P
20:52 < Nome> to mi przypomina Visual Basic, ale spoko Object pascal tez moze byc w koncu lekce w szkole o TP przydaly sie:D
20:52 <@d0ubl3_j> dobra idem po kredki
20:52 <@d0ubl3_j> bede rysowal teraz ;>>>
20:52 < Heretic> lol
20:52 < ^Klocek> pokaz im jak napisac prosta gre
20:52 < ^Klocek> a nie tu sie o komponentach rozwodzisz
20:53 < ^Klocek> :P
20:53 <@d0ubl3_j> oO
20:53 < ^Klocek> co oO?
20:53 <@d0ubl3_j> chyba ktos na serio pomylil kanaly :PP
20:53 < Heretic> lol
20:53 < ^Klocek> ;p
20:53 <@d0ubl3_j> ja mowie tutaj o expresach do kawy ;pp
20:53 < fgfd> po wykladzie??
20:53 <@d0ubl3_j> i mowie dalej ;>
20:53 <@d0ubl3_j> fgfd: ne
20:53 <@d0ubl3_j> zaczynam brykanie
20:53 <@d0ubl3_j> sie znaczy kodzenie ;>>
20:53 <@d0ubl3_j> ok, wiec teraz odpalamy delphi (kto ofc ma ;pp) i wybieramy NEW->CONSOLE APPLICATION, naszym ocza ukaze sie takie cos: http://cenobium.glt.pl/wyklady/d01/18.png przedstawia to std szkielet aplikacji konsolowych pisanych w delphi, w pascalu mielismy cos takiego:
20:54 <@d0ubl3_j> program nazwa_programu;
20:54 <@d0ubl3_j> uses moduly;
20:54 <@d0ubl3_j> begin
20:54 <@d0ubl3_j> {kod programu}
20:54 <@d0ubl3_j> end.
20:54 <@d0ubl3_j> wkleilo sie?;p
20:54 <@d0ubl3_j> nic nie mowicie czyli tak ;pp
20:54 <@d0ubl3_j> a tutaj mamy wszystko tak samo jedyna nowoscia jest dyrektywa:
20:54 <@d0ubl3_j> {$APPTYPE CONSOLE} oznaczajaca w delphi aplikacje konsolowa, jezeli damy tam zamiast CONSOLE, GUI {$APPTYPE GUI} wtedy nasza aplikacja bedzie traktowana jako aplikacja okienkowa win32 (to jest domyslna aplikacja w delphi), tym sie nie musimy przejmowac dlatego ze to automatycznie doda ^^ za nas (ne, ne doda elektroda ;ppp) delphi ;>
20:55 <@d0ubl3_j>
20:55 <@d0ubl3_j> Usunmy ta dyrektywe i uruchomy program (F9 albo zielona strzalka RUN na pasku narzedziownym), jak widzicie program sie uruchomil i nic ne zrobil.
20:56 <@d0ubl3_j> prosze mnie nie lagowac na priv
20:56 <@d0ubl3_j> po co mi listing wypas gry pisanej na poczekaniu na nudnych wykladach o delphi i majonezie?:pp
20:56 <@d0ubl3_j> Teraz usuniemy ta dyrektywe dopisujac write('tekst'); pomiedzy begin a end. i co sie stalo? http://cenobium.glt.pl/wyklady/d01/19.png wystapil blad o tym ze kompilator ne wie co jest domyslnym wyjsciem a wiec ne wie gdzie ma wypisac tekst.
20:57 <@d0ubl3_j> a teraz dodamy znowu ta dyrektywe, listing programu:
20:57 <@d0ubl3_j> program Project1;
20:57 <@d0ubl3_j> {$APPTYPE CONSOLE}
20:57 <@d0ubl3_j> uses SysUtils;
20:57 <@d0ubl3_j> begin
20:57 <@d0ubl3_j> write('tekst');
20:57 <@d0ubl3_j> end.
20:57 <@d0ubl3_j> ^^
20:57 <@d0ubl3_j> teraz jezeli uruchomimy aplikacje (uruchomienie jest rownoznaczne z kompilacja, zas kompilacja ne jest rownoznaczna z uruchomieniem programu) to otrzymamy na ekranie w konsoli (w windows xp mozemy nie zdarzyc odczytac wyniku dlatego po instrukcji write nalezy dodac instrukcje readln;) napis: tekst
20:57 <@d0ubl3_j> a teraz achtung!:D
20:57 <@d0ubl3_j> omawiam komendy :p
20:58 <@d0ubl3_j> Przejde teraz do opisu uzytych tutaj komend:
20:58 <@d0ubl3_j> _write('tekst');_ - ta instrukcja powoduje wypisanie tekstu umieszczonego miedzy znakami ' na ekranie (ale ne tylko) ma ona jeszcze podobna procedure writeln('tekst'); ne rozni sie ona prawie niczym oprocz tego ze po wypisaniu tekstu kursor przechodzi do nastepnej lini.
20:58 <@d0ubl3_j> _readln;_ - jak rowniez read; readln(zmienna);, read(zmienna); jes odpowiedzialna za wczytywanie z domyslnego wejscia tutaj z konsoli, wczytuje znaki, readln czeka na wcisniecie klawisza ENTER, a read teoretycznie czeka na wcisniecie klawisza ale to tylko teoria ;p no a readln(zmienna); wczytuje znaki do zmiennej (o tym pozniej) i przenosi kursor linie nizej, zas read(zmienna); robi to samo tylko kursor ne zostaje przeniosiony.
20:59 <@d0ubl3_j> No a teraz przeanalizujcie ten listing:
20:59 <@d0ubl3_j> program Project1;
20:59 <@d0ubl3_j>
20:59 <@d0ubl3_j> {$APPTYPE CONSOLE}
20:59 <@d0ubl3_j>
20:59 <@d0ubl3_j> uses
20:59 <@d0ubl3_j>
20:59 <@d0ubl3_j> SysUtils;
20:59 <@d0ubl3_j> begin
20:59 <@d0ubl3_j> write('tekst', #13#10);
20:59 <@d0ubl3_j> write('podzielony');
20:59 <@d0ubl3_j> readln;
20:59 <@d0ubl3_j> end.
20:59 <@d0ubl3_j> uzylem tutaj procedury write czyli tekst powinnien zostac wypisany w takiej formie: tekstpodzielony, sprawdzmy to, kompilujemy i uruchamiamy program i otrzymalismy cos takiego:
20:59 <@d0ubl3_j> tekst
20:59 <@d0ubl3_j> podzielony
21:00 <@d0ubl3_j> dlaczego? co sie stalo? czy ja tutaj wam kit pociskam? ;ppp
21:00 <@d0ubl3_j> (pytanie retoryczne ;ppp)
21:00 <@d0ubl3_j> Wszystko jest ok, dlatego ze drugim parametrem po tekst bylo cos takiego #13#10 co w systemie windows jest rownoznaczne z linia nowego wiersza, za tem procedura writeln na koncu zawiera wlasnie takie znaczki.
21:00 <@d0ubl3_j> Write, jak i read moze przyjmowac dowolna ilosc parametrow, jednak tylko w write mozemy stosowac tekst umieszczony w apostrofach ' , zreszta kazdy tekst w delphi jak i w pascalu wypisuje sie wlasnie w ' ;>
21:01 <@d0ubl3_j> pytania?:p
21:01 <@d0ubl3_j> panowie co sie znaja na delphi ne pytaja ;P
21:01 <@d0ubl3_j> ;>>>>
21:01 < ^Klocek> chce ktos gre w delphi napisana na formach w kilka minut?:P
21:01 < ^Klocek> :P
21:01 < Szejker> wszyscy zasneli
21:01 < Szejker> ;>
21:01 < Heretic> pokaaa :]
21:01 <@d0ubl3_j> no tez tak mysle ;>
21:01 < ^Klocek> tzn to gra nie jest
21:01 < Heretic> ^Klocek : jakas zgadywanka ?
21:01 < ^Klocek> no ale :P
21:01 < Reqamst> write('tekst', #12#10);
21:01 < Reqamst> write('podzielony');
21:01 < Reqamst> readln;
21:02 < ^Klocek> czekaj na serw wrzuce
21:02 < Reqamst> ale fajne ^^
21:02 < ochlapus> ja mam pytanie czy rzeczywiscie operowanie na 1 wymiarowej tablicy jest szybsze niz tablice 2 wymiarowe bo tak slyszalem...
21:02 < Heretic> lol
21:02 < ^Klocek> tablica 2 wymiarowa
21:02 < ^Klocek> to tak naprawde tablica wskaznikow
21:02 < Skorpio> zeby zapisywac mape jako 1 wymiarowa wieksza
21:02 <@d0ubl3_j> Skorpio: ja powiem tak ;>
21:02 < Skorpio> tzn. tak znaczy lepiej 1 wymiarowa ?
21:02 <@d0ubl3_j> operowanie na kazdej tablicy jest dlugie
21:02 <@d0ubl3_j> jezeli sie za duzo wypije ;PP
21:03 < Reqamst> wystarczy tylko #10 zeby przejsc do nowej linii
21:03 < ^Klocek> rob na ktorej Ci wygodniej
21:03 < Reqamst> to po co jest #13 ?
21:03 < ^Klocek> zalezy
21:03 < ^Klocek> w plikach masz 10 i 13
21:03 <@d0ubl3_j> Reqamst: ne watpie, ale w windows #13#10 oznacza znak nowej lini ;p
21:03 < ^Klocek> kody
21:03 <@d0ubl3_j> a jedno pytanie mam jeszcze :p
21:03 < Heretic> jak to sie pisalo, to takie /n/r czy jakos tak
21:04 <@d0ubl3_j> kto wam powiedzial ze ja bede gadal o tworzeniu gier?:p
21:04 < ^Klocek> w c++
21:04 < ^Klocek> nikt
21:04 < ^Klocek> a czemu mialbys o grach gadac ?:P
21:04 < java> hyh
21:04 <@d0ubl3_j> no wiec mordki w monitory :P
21:04 < Heretic> tak przejdzmy teraz to omowienia enginu q3 :P ...
21:04 <@d0ubl3_j> i sluchac
21:04 < java> :D
21:04 <@d0ubl3_j> jademy ;>
21:04 <@d0ubl3_j> bo na film ne zdarze :p
21:04 <@d0ubl3_j> napiszemy teraz prosty program, ktory wykona nam dzialanie 2+2 i wypisze wynik na ekran:
21:04 <@d0ubl3_j> program dodawanie;
21:05 <@d0ubl3_j>
21:05 <@d0ubl3_j> {$APPTYPE CONSOLE}
21:05 <@d0ubl3_j>
21:05 <@d0ubl3_j> uses
21:05 <@d0ubl3_j> SysUtils;
21:05 <@d0ubl3_j>
21:05 <@d0ubl3_j> begin
21:05 <@d0ubl3_j> write('wynik 2+2= ', 2+2);
21:05 <@d0ubl3_j> readln;
21:05 <@d0ubl3_j> end.
21:05 <@d0ubl3_j> ok jak widzicie w srodku procedury write mozna rowniez wykonywac dzialania, ogoolnie write jest podobne do printf z c ;>
21:05 <@d0ubl3_j> Zaraz pokaze jak uzywac read oraz napisze cos o zmiennych, a narazie jakies pytania?
21:05 <@d0ubl3_j> ino na temat
21:05 <@d0ubl3_j> plz
21:05 < Chochlik> w write nie tzreba rzutowac
21:05 < rfl> lol
21:05 < Chochlik> zmiennych ?
21:05 < ^Klocek> sek
21:05 <@d0ubl3_j> bo jestem czlowiekiem nerwowym ;pp
21:06 < Chochlik> np IntToStr(); ?
21:06 <@d0ubl3_j> Chochlik: ne
21:06 < Chochlik> faajnie ;p
21:06 < ^Klocek> www.fenix-reborn.net/files/lol.rar <- jak ktos chce
21:06 < Heretic> zaraz zaraz ... to jest wyklad o DELPHI czy PASCALU :O
21:06 <@d0ubl3_j> Heretic: o delphi
21:06 < Chochlik> Delphi to takie pascal
21:06 < Chochlik> tylko troche inny ;p
21:06 < ^Klocek> delphi do 7 to jest object pascal
21:06 <@d0ubl3_j> nom ;>
21:06 < java> ;d
21:06 < Heretic> no to jak ktos chce sie delphi uczyc to niech zaczyna od pascala ! :P
21:06 < Chochlik> Znaczy sie Object Pascal po prostu [;
21:06 < Skorpio> Obiect Pascal chyba...
21:06 <@d0ubl3_j> dzisiaj male przypomnieine :p
21:06 <@d0ubl3_j> nom
21:07 <@d0ubl3_j> mowilem ze object pascal na poczatku :p
21:07 <@d0ubl3_j> ale nikt mnie nie slucha!:P
21:07 < java> ja
21:07 < java> :D
21:07 <@d0ubl3_j> wiec kontynuuje :p
21:07 < Chochlik> d0ubl3_j: ja cie slucham ;p
21:07 < ^Klocek> www.fenix-reborn.net/files/lol.rar <- lazenie po planszy ludkiem w delphi ;p
21:07 < Heretic> d0ubl3_j : przeszedles sam siebie :P jestes wczesniej niz na poczatku ! :P
21:07 <@d0ubl3_j> ^Klocek: uwage do dzienniczka dostaniesz :PPP
21:07 <@d0ubl3_j> hehe
21:07 < Skorpio> matko dajcie mu mowic bo nic nie widac...
21:07 <@d0ubl3_j> ok, teraz przejdziemy do zmiennych
21:07 <@d0ubl3_j> W pascalu mielismy rozne typy zmiennych i te same typy sa w delphi, ne roznia sie nawet nazwa, chociaz w delphi mozemy spotkach kilka nowych, ale o tym na kolejnych wykladach, narazie skupimy sie na 2 typach, znakowym oraz calkowitym czyli string, char oraz integer i byte.
21:08 <@d0ubl3_j>
21:08 <@d0ubl3_j> Napiszemy program na sume dwoch liczb, ktore to liczby bedziemy zczytywac ze std wejscia:
21:08 <@d0ubl3_j> http://cenobium.glt.pl/wyklady/d01/listing1.dpr
21:08 <@d0ubl3_j> ^Klocek: ne wszystkie :p
21:08 <@d0ubl3_j> dlatego ze byte to byte ;p
21:08 <@d0ubl3_j> i zawsze zajmuje tyle samo i tu i tu ;p
21:08 <@d0ubl3_j> ale o tym na kolejnych wykladach ;p
21:09 <@d0ubl3_j> program suma;
21:09 <@d0ubl3_j> {$APPTYPE CONSOLE}
21:09 <@d0ubl3_j> uses SysUtils;
21:09 <@d0ubl3_j> var
21:09 <@d0ubl3_j> a, b, wyn : integer;
21:09 <@d0ubl3_j> begin
21:09 <@d0ubl3_j> writeln('Podaj dwie liczby: ');
21:09 <@d0ubl3_j> read(a, b);
21:09 <@d0ubl3_j> wyn:= a+b;
21:09 <@d0ubl3_j> writeln('Wynik ', a, '+', b, '= ', wyn);
21:09 <@d0ubl3_j> readln;
21:09 <@d0ubl3_j> end.
21:09 <@d0ubl3_j> ne lubie ignore
21:09 <@d0ubl3_j> ok, program dziala wlasciwie, skompilujcie to sie przekonacie, teraz go omoowie:
21:10 <@d0ubl3_j> mamy tam std modul w delphi (w pascalu mielismy crt) narazie ne bede tego doglebnie omawial w pozniejszym okresie omowie moduly itp, narazie to musi byc i tyle (chociaz ne musi, ale lepiej jak jest ;pp) jako ze to kurs delphi z wykorzystaniem winAPI to skorzystamy z jeszcze jednego modulu windows, ale to pozniej, jak bedzie cza dodac ten modul to powiem ;> potem mamy sekcje zmienny tak samo ja w pascalu (var) i deklaracja zmiennych mamy tam 3 zmienne typu ca
21:10 <@d0ubl3_j> writeln('Podaj dwie liczby: '); - std wypisze na ekran: Podaj dwie liczby
21:11 <@d0ubl3_j> read(a, b); - to pobiera do zmiennej a pierwsza liczbe a do zmiennej b druga liczbe np pierwsza liczba to 2 a druga 3 czyli a = 2 zas b = 3 ;>
21:11 <@d0ubl3_j> wyn:= a+b; - tutaj mamy instrukcje podobne jak w matematyce wyn = a+b tylko ze w pascalu i delphi operacje przypisania zapisuje sie jako := (dwukropek ze znakiem rowna) wiec _wyn_ rowna sie wynikowi dzialania _a+b_ skoro a = 2 zas b = 3 to wyn = 5 ;> Tutaj nic nie jest wypisywane na ekranie, poprostu jest przypisanie i uzytkownik tego nie widzi ;>
21:11 <@d0ubl3_j> writeln('Wynik ', a, '+', b, '= ', wyn); - tutaj jest wypisywane na ekran Wynik 2+3= 5 dlatego ze a = 2, b = 3 zas ich suma rowna sie 5 zwrocicie uwage ze a, b i wyn nie sa w ' co znaczy ze to ne jest tekst, w srodku write dokonuje sie automatyczna zamiana typoow, dlatego mozemy tak to zapisac ;>
21:12 <@d0ubl3_j> no i na koncu readln; oczekuje nacisniecia znaku i na tym konczymy nasz program ;>
21:12 <@d0ubl3_j> ok, jakies pytania?
21:12 < ^Klocek> ja Tylko uscislam twoje wypowiedzi ,spokojnie
21:12 < ^Klocek> :P
21:12 < Heretic> ^Klocek - fajna ta gra :]
21:12 < Heretic> tylko ze w pewnym sensie glupia ^_^ ... przestudiuje :P
21:12 <@d0ubl3_j> ^Klocek: to wypisz liste uscislen :p
21:12 < ^Klocek> no gra to to nie jest :P
21:12 < Skorpio> ja mam ? po co dodajesz SysUtils jak nie korzystasz z niego ? :P
21:13 <@d0ubl3_j> ino na kartce
21:13 <@d0ubl3_j> a potem wyrzuc do smietnika :PP
21:13 < ^Klocek> d0ubl3_j
21:13 < Heretic> no ale chodzi mi dokladnie o te klocki jako teren po ktorym sie postac porusza
21:13 < Nome> hmm
21:13 <@d0ubl3_j> Skorpio: ne korzystam ale to automagicznie dodaje delphi ;>
21:13 < ^Klocek> Heretic
21:13 < Nome> a ja mam pytanko
21:13 < ^Klocek> kolizja na poziomie pixeli
21:13 < ^Klocek> :)
21:13 <@d0ubl3_j> --;
21:13 < ^Klocek> dostep przez canvas obrazka
21:13 < Skorpio> hmmm chyba nie musze sprawdzic ;p
21:13 < Nome> jaka jest roznica w skaldni pomiedzy console a win32?
21:13 < Reqamst> ehm
21:13 < Skorpio> a fakt dodaje :P sry pomylka
21:13 < Reqamst> wpisuje 1 liczbe
21:13 < Reqamst> 2 liczbe
21:13 <@d0ubl3_j> Nome: roznica taka ze to pod konsole a to pod gui ;p
21:13 <@d0ubl3_j> a dokladnie
21:13 < Reqamst> i zamyka sie program :|
21:14 <@d0ubl3_j> Reqamst: dodaj jeszcze jeden readln;
21:14 <@d0ubl3_j> bo w xp to dziwnie lazi :p
21:14 < Reqamst> lol
21:14 < ^Klocek> Heretic kod sobie zobacz
21:14 < Heretic> narzekanie na xp ... ehhh ^_^ zaczyna sie
21:14 < Skorpio> oki mozemy smigac dalej ?
21:14 < Heretic> a czy w xp cos dobrze dziala :D ?
21:14 < ^Klocek> a tamto to gra nie jest :)
21:14 <@d0ubl3_j> esh panowie jak macie dosyc to ja koncze
21:14 < Reqamst> to ciekawe ile bede uzywal readln; na kolejnych wykladach ^^
21:14 <@d0ubl3_j> i ide na film
21:14 <@d0ubl3_j> cya
21:14 < Skorpio> to koniec ! ?
21:14 <@d0ubl3_j> tak