7594
Szczegóły | |
---|---|
Tytuł | 7594 |
Rozszerzenie: |
7594 PDF Ebook podgląd online:
Pobierz PDF
Zobacz podgląd 7594 pdf poniżej lub pobierz na swoje urządzenie za darmo bez rejestracji. 7594 Ebook podgląd za darmo w formacie PDF tylko na PDF-X.PL. Niektóre ebooki są ściśle chronione prawem autorskim i rozpowszechnianie ich jest zabronione, więc w takich wypadkach zamiast podglądu możesz jedynie przeczytać informacje, detale, opinie oraz sprawdzić okładkę.
7594 Ebook transkrypt - 20 pierwszych stron:
S�awomir Osiak
Zasady Programowania w Windows
Wprowadzenie.
Dla kogo jest ta ksi��ka przeznaczona i jak nale�y j� czyta�?
Programowa� w Windows nie jest �atwo. Nawet ci, kt�rzy od wielu lat zajmuj� si� programowaniem zawodowo, maj� trudno�ci w przej�ciu na nowy system. Nie dziwi wi�c, �e w pe�ni zaawansowane podr�czniki programowania w Windows licz� najcz�ciej grubo ponad tysi�c stron oraz �e dost�pne s� tylko w j�zyku angielskim. Ka�dy, kto my�li powa�nie o przygotowywaniu aplikacji Windows, b�dzie musia�, pr�dzej czy p�niej, po jedn� z takich pozycji si�gn��. Niemniej jednak wcze�niej dobrze jest si� do tak powa�ne lektury przygotowa�, zapoznaj�c si� z podstawowymi ideami nowego �rodowiska oraz r�nicami, jakie wyst�puj� mi�dzy tradycyjnym programowaniem a programowaniem w Windows.
Przybli�enie powy�szych zagadnie� stanowi cel tej ksi��ki. Jest wi�c ona przeznaczona dla wszystkich tych os�b, kt�re albo rozpoczynaj�, albo niedawno rozpocz�y tworzy� aplikacje Windows - niezale�nie od tego, czy s� one przeznaczone dla wersji 3.1, czy 95 - ale nie czuj� si� jeszcze w tej dziedzinie specjalistami. Prosty j�zyk i praktyczne podej�cie do tematu sprawiaj�, �e do kr�gu odbiorc�w publikacji zaliczy� mo�na nie tylko zawodowych programist�w, ale tak�e uczni�w i student�w poznaj�cych informatyk� w szko�ach lub na uczelniach oraz osoby traktuj�ce programowanie jedynie jako hobby. Jestem przekonany, �e wszyscy oni po przeczytaniu tej pozycji b�d� zna� spos�b funkcjonowania systemu Windows, �e zostan� wyczuleni na bardzo specyficzn� filozofi� "okien", tak bardzo r�ni�c� si� od tego wszystkiego, do czego IBM PC przyzwyczai� nas wcze�niej.
Poniewa� zadaniem tej ksi��ki jest przede wszystkim obja�nienie uniwersalnych zasad tworzenia aplikacji Windows, niezale�nych od konkretnego pakietu czy nawet j�zyka programowania, podczas podejmowania decyzji co do rodzaju u�ywanego �rodowiska pracy wyb�r pad� na pakiet "Turbo Pascal for Windows" firmy Borland. Pakiet ten, jak ma�o kt�ry, ��czy prostot� z profesjonalno�ci� i wysokimi walorami dydaktycznymi. Nale�y jednak pami�ta� o tym, �e wi�kszo�� informacji podanych w ksi��ce ma charakter uniwersalny i dlatego mo�e znale�� zastosowanie tak�e podczas pracy w dowolnym innym �rodowisku programowania.
Zawarte w tej ksi��ce informacje dotycz�ce osobliwo�ci programowania w Windows s� omawiane na przyk�adzie prawie pi��dziesi�ciu konkretnych aplikacji (dzia�aj�cych zar�wno w �rodowisku 3.1, jak i 95). Tekst �r�d�owy podanych przyk�ad�w i ich wersje skompilowane znajduj� si� na do��czonej do ksi��ki dyskietce (informacje na jej temat podane s� w dalszej cz�ci wprowadzenia). Dzi�ki temu unika si� konieczno�ci mozolnego wprowadzania instrukcji programowania oraz ryzyka przypadkowego pope�nienia b��du.
Wymagania stawiane Czytelnikowi s� nast�puj�ce:
- umiej�tno�� obs�ugi systemu Windows w wersji 3.1 (3.11 ) lub 95,
- znajomo�� j�zyka programowania Pascal,
- opanowanie podstawowych regu� programowania obiektowego.
Nie jest natomiast konieczna znajmo�� zasad obs�ugi poszczeg�lnych program�w wchodz�cych w sk�ad pakietu "Turbo Pascal for Windows".
Poniewa� kolejne fragmenty ksi��ki wykorzystuj� w wysokim stopniu informacje przekazane we wcze�niejszych rozdzia�ach, ksi��k� nale�y czyta� sekwencyjnie. Oczywi�cie po zako�czeniu czytania ca�ej ksi��ki jak najbardziej mo�liwy jest powr�t do jej wybranych fragment�w. W szybkim odnalezieniu potrzebnych informacji pomo�e z pewno�ci� dok�adny spis tre�ci oraz obszerny skorowidz. Poszczeg�lne has�a skorowidza s� uporz�dkowane w kolejno�ci alfabetycznej ich najbardziej znacz�cych fragment�w, co oznacza a przyk�ad, �e funkcj� "API" "TextOut" nale�y szuka� jako has�o "�TextOut�, funkcja API", za� metod� "TApplication.InitMainWindow" - jako "�InitMainWindow� metoda obiektu �TApplication�".
Om�wienie tre�ci.
Opr�cz wprowadzenia ksi��ka zawiera 9 rozdzia��w i skorowidz.
Rozdzia� 1, "Dlaczego Windows?", ma charakter wprowadzaj�cy i jest pr�b� spojrzenia na system Windows oczami u�ytkownika. Mo�na tu wi�c znale�� zar�wno kr�tki opis rozwoju tego systemu, od chwili jego powstania a� do dnia dzisiejszego, jak i odpowied� na pytanie, kt�re zalety �rodowiska Windows zadecydowa�y o jego tak ogromnej popularno�ci oraz jakie istotne nowo�ci wnosi on w stosunku do systemu operacyjnego DOS.
Rozdzia� 2, "Podstawowe zasady programowania", zawiera kr�tkie om�wienie najwa�niejszych idei programowania w Windows, kt�re tak bardzo odr�niaj� je od przygotowywania aplikacji dzia�aj�cych w �rodowisku DOS-a. Mowa jest tu wi�c o sposobie realizowania wielozadaniowo�ci i zwi�zanej z ni� obs�udze komunikat�w, o zarz�dzaniu oknami, bibliotekach Windows udost�pniaj�cych tak zwane funkcje "API" oraz zasadach korzystania z zasob�w aplikacji, zar�wno programowych, jak i sprz�towych. Rozdzia� 2 ko�czy si om�wieniem najwa�niejszych pakiet�w przeznaczonych do tworzenia aplikacji Windows.
W rozdziale 3, "Pierwsza aplikacja Windows", rozpoczyna si� w�a�ciwe programowanie. Pierwszy program jest oczywi�cie bardzo prosty, ale ma ju� wszelkie atrybuty aplikacji Windows: okno z paskiem tytu�owym, system menu, kt�rego obs�ug� u�atwia mo�liwo�� stosowania skr�t�w klawiszowych (ang. "hotkeys"), oraz ikon�. Program ten potrafi ju� tak�e przetwarza� niekt�re komunikaty Windows, dzi�ki czemu wykrywa naci�ni�cie przycisku myszy oraz wyb�r dw�ch polece� menu - wszystkie te zdarzenia powoduj� wy�witlanie prostych okien dialogowych.
Jednym z najwa�niejszych zada� ka�dego programu jest wy�wietlanie danych wyj�ciowych. Zagadnienie to stanowi temat rozdzia�u 4, "Wy�wietlanie tekstu i rysunk�w". Rozdzia� ten zawiera nie tylko om�wienie najwa�niejszych funkcji graficznych systemu Windows, ale tak�e obja�nienie r�nic, jakie istniej� mi�dzy sposobem wy�wietlania informacji w �rodowiskach DOS-a oraz Windows. Z rozdzia�u 4 mo�na si� mi�dzy innymi dowiedzie�, co to jest kontekst wy�wietlania i dlaczego pe�ni on w Windows tak ogromn� rol, jakie niebezpiecze�stwa wi��� si� ze zmian� palety kolor�w, z czego wynika konieczno�� odtwarzania zawarto�ci ekranu oraz jakie znaczenie ma tak zwany prostok�t niewa�ny i prostok�t obcinaj�cy.
Najbardziej przekonuj�c� wizyt�wk� Windows s� jego okna. Ale jakie s� ich rodzaje, jakimi okre�la si� je atrybutami i w jaki spos�b komunikuj� si� ze sob�? Co to jest specyfikacja "MDI" oraz czym okno aplikacji r�ni si� od okna dokumentu? W jaki spos�b mo�na korzysta� z pask�w przewijania w celu umo�liwienia wy�wietlenia danych, kt�re nie mieszcz� si� w ca�o�ci w obszarze roboczym okna? Odpowiedzi na te i na wiele innych pyta� dotycz�cych okien Windows znale�� mo�na w rozdziale 5, "Zarz�dzanie oknai w aplikacjach Windows".
C� warte by by�y aplikacje Windows bez okien dialogowych i wyst�puj�cych na nich element�w steruj�cych, takich jak przyciski, pola edycji, listy, pola wyboru i prze��czniki? Sposobom opisywania okien dialogowych w pliku z opisem zasob�w, ich tworzeniu i obs�udze, a tak�e metodom wymiany danych mi�dzy aplikacj� a jej oknami dialogowymi po�wi�cony jest rozdzia� 6, "Obs�uga okien dialogowych". Ostatni fragment tego rozdzia�u zawiera kr�tki opis dw�ch standardowych okien dialogowych zdefiniowanych w paiecie "Turbo Pascal for Windows", pozwalaj�cych na wprowadzanie tekstu oraz dokonanie wyboru pliku.
Wprawdzie w �rodowisku Windows wymiana informacji mi�dzy programami a u�ytkownikiem dokonuje si� najcz�ciej w oparciu o okna dialogowe, menu oraz paski narz�dzi, niekiedy jednak zachodzi potrzeba samodzielnego rozpoznania przez aplikacj� naci�ni�cia klawisza lub operacji wykonanej za pomoc� myszy, takiej jak na przyk�ad podw�jne klikni�cie. Interfejs graficzny u�ytkownika nie jest te� w stanie zast�pi� zegara systemowego, umo�liwiaj�cego wykonywanie przez aplikacj� okre�lonych dzia�a� w pewnych staych odst�pach czasu, takich jak chocia�by wy�wietlanie bie��cej godziny. O tym, jak zadania te realizuje si� programowo, traktuje rozdzia� 7, "Wczytywanie danych: klawiatura, mysz i zegar".
Rozdzia� 8, "Korzystanie z plik�w i drukowanie", po�wi�cony jest zagadnieniom wykorzystania plik�w. Wprawdzie operacje na plikach wykonuje si� w systemie Windows za pomoc� tych samych funkcji i procedur, kt�re stosuje si� w �rodowisku DOS-a, niemniej jednak tak�e i w tym przypadku konieczne jest dostosowanie si� do pewnych specyficznych wymog�w stawianych przez �rodowisko wielozadaniowe, jakim jest przecie� Windows. Szczeg�lnie dotkliwe utrudnienia napotyka programista podczas przygotowywania funkcj umo�liwiaj�cych wykonywanie wydruk�w, kt�rych w pe�ni profesjonalna realizacja jest zadaniem nie�atwym - by� mo�e w�a�nie dlatego zagadnienie to jest lekcewa�one w wi�kszo�ci podr�cznik�w programowania w Windows. W rozdziale 8 znale�� mo�na obja�nienie sposobu drukowania zar�wno tekstu, jak i rysunk�w.
W rozdziale 9, ostatnim, "Standardowe aplikacje pakietu TPW", prezentowany jest spos�b skorzystania z dw�ch standardowych okien aplikacji zdefiniowanych w pakiecie "TPW". Rozdzia� ten mo�e pos�u�y� albo jako materia� u�atwiaj�cy powt�rzenie i utrwalenie zdobytych wcze�niej informacji, albo jako bodziec do rozwini�cia podanych przyk�ad�w w celu utworzenia w�asnych aplikacji.
Uwagi dotycz�ce dyskietki.
Do ksi��ki jest do��czona dyskietka zawieraj�ca tekst �r�d�owy i wynikowy wszystkich omawianych wersji aplikacji Windows. Zdecydowana wi�kszo�� plik�w nosi nazwy rozpoczynaj�ce si� od liter "PAW" (program "Pierwsza aplikacja Windows") lub "MDI" (program "Okna dokument�w"), za kt�rymi nast�puj� cyfry zgodne z odpowiadaj�cymi im podrozdzia�ami ksi��ki. Na przyk�ad plik "PAW423.PAS" zawiera tekst �r�d�owy programu, kt�ry zosta� przygotowany do podrozdzia�u 4.2.3, "Wyr�wnywanie tekstu", w��cznie, za� plk "PAW423.EXE" - wersj� wynikow� tego programu.
Numer�w pozbawione s� tylko te programy, kt�re wyst�puj� w wersjach pojedynczych. S� to: "PAL" (4.5.2, "Odtwarzanie kolor�w"), "EDIT" (9.1, "Edycja tekstu ASCII") i "FILE" (9.2, "Edycja plik�w ASCII").
Opr�cz tego na dyskietce znajduj� si� pliki z rozszerzeniem "RC" i "RES", zawieraj�ce wersj� �r�d�ow� i wynikow� opisu zasob�w przygotowywanych aplikacji, pliki "PAW_M.*" i "MDI_M.*" z definicjami sta�ych okre�laj�cych warto�ci identyfikator�w polece� menu, a tak�e plik tekstowy "TEKST.TXT", usprawniaj�cy korzystanie z ko�cowych wersji programu "Okna dokument�w" ("MDI*.PAS").
Wszystkie programy zamieszczone na dyskietce mo�na uruchomi� zar�wno w �rodowisku Windows 3.1, jak i Windows 95, bez konieczno�ci wykonywania jakichkolwiek dzia�a� wst�pnych. Niemniej jednak polecane jest wcze�niejsze utworzenie na dysku odr�bnego katalogu i przekopiowanie do niego plik�w z dyskietki.
Wiele przyjemno�ci w poznawaniu tajnik�w nowego �rodowiska �yczy
S�awomir Osiak
Pozna�, dn. 15.11.96
Rozdzia� 1.
Dlaczego Windows?
Jeszcze nie tak dawno wielu malkontent�w by�o przekonanych, �e Windows to w gruncie rzeczy nic wi�cej ni� �adnie wygl�dajaca zabawka, kt�ra, owszem, jest w stanie zainteresowa� hobbyst�w komputerowych, ale w powa�nych zastosowaniach d�ugo si� jeszcze w Polsce nie przyjmie. Tymczasem rzeczywisto�� okaza�a si� zgo�a inna. Trudno dzisiaj w naszym kraju znale�� taki komputer, na kt�rym nie by�by zainstalowany system Windows, czy to w wersji 3.1, czy 95. Nie brak te� licznych aplikacji Windows w j�zyku plskim, b�dacych zar�wno spolszczonymi wersjami program�w zachodnich, jak i ca�kowicie rodzimymi produktami. Co spowodowa�o, �e podobnie jak na ca�ym �wiecie, r�wnie� i u nas �rodowisko Windows zyska�o tak ogromn� popularno��? Ksia�k� t� rozpoczynamy od pr�by znalezienia odpowiedzi na to w�a�nie pytanie.
1.1. Od pocz�tk�w do dnia dzisiejszego.
1.1.1. Troch� historii.
Wszystko zacz�o si� kilkana�cie lat temu, w listopadzie 1983 roku, kiedy to firma Microsoft zapowiedzia�a utworzenie pakietu programowego o nazwie "Windows". Jego pierwsza wersja przeznaczona do sprzeda�y, oznaczona numerem "1.01", pojawi�a si� dwa lata p�niej, by w przeci�gu dw�ch nast�pnych lat doczeka� si� kilku uaktualnie�, maj�cych mi�dzy innymi na celu dostarczenie dodatkowych program�w obs�ugi monitor�w i drukarek.
W listopadzie 1987 roku zosta�a skierowana do sprzeda�y wersja "Windows 2.0", w kt�rej wprowadzono kilka zmian do interfejsu u�ytkownika, tak aby by� on zgodny z maj�cym si� ukaza� w nast�pnym roku systemem "OS/2". W praktyce oznacza�o to przede wszystkim pojawienie si� mo�liwo�ci kaskadowego uk�adania okien, czyli takiego, w kt�rym okna na siebie zachodz� (ang. "cascade"), a nie tylko - jak poprzednio - znajduj� si� jedno obok drugiego (ang. "tile"). Windows 2.0 oferowa� tak�e wygodniejszy spos�b krzystania z klawiatury i myszy, szczeg�lnie w zakresie obs�ugi list menu i okien dialogowych.
Nast�pnym wa�nym momentem w historii Windows by�o pojawienie si� (kr�tko po Windows 2.0) systemu oznaczonego nazw� "Windows/386", kt�ry dzi�ki korzystaniu z trybu wirtualnego mikroprocesora 386 umo�liwia� r�wnoczesne wykonywanie i przedstawianie za pomoc� okien wielu program�w DOS-a wykonuj�cych dzia�ania bezpo�rednio na sprz�cie. W celu ujednolicenia oznacze� nazw� Windows 2.1 zamieniono w�wczas na "Windows/286".
Prawdziw� furor� �rodowisko Windows zacz�o jednak robi� dopiero po pojawieniu si� w maju 1990 roku wersji "3.0", kt�ra nie tylko skupi�a w sobie osi�gni�cia dw�ch poprzednich wersji, /286 oraz /386, ale tak�e zawiera�a wiele nowych rozwi�za�, takich jak pismo proporcjonalne, tr�jwymiarowe cieniowanie czy kolorowe ikony. Ca�kowicie zosta�a odnowiona posta� program�w u�ytkowych wchodz�cych w sk�ad pakietu. Ponadto specjalistom z firmy Microsoft uda�o si� zapewni� Windows i jego aplikacjom dost�p do 1 megabajt�w pami�ci, a w przypadku dysponowania procesorem 386 lub lepszym - mo�liwo�� korzystania z wirtualnej przestrzeni adresowej o wielko�ci czterokrotnie wi�kszej ni� fizycznie zainstalowana pami�� w systemie.
1.1.2. Stan obecny.
Pakiet Windows 3 zosta� sprzedany w liczbie ponad 500 tysi�cy egzemplarzy w przeci�gu pierwszych sze�ciu tygodni od momentu pojawienia si� na rynku, co znacznie przewy�szy�o wcze�niej spotykane tego rodzaju rekordy. Ale firma Microsoft pracowa�a ju� w�wczas nad nast�pn� wersj� swego przeboju - systemem "Windows 3.1". Jego wprowadzenie w 1992 roku nie sta�o si� ju� wprawdzie tak wielkim wydarzeniem, jak mia�o to miejsce w przypadku wersji poprzednich, niemniej jednak spotka�o si� z bardzo �yczliwym pzyj�ciem ze strony u�ytkownik�w, kt�rzy od razu docenili polepszenie szaty graficznej oraz modyfikacj� program�w u�ytkowych pakietu. Szczeg�lnie du�e znaczenie mia�o dokonanie istotnych zmian w programie zarz�dzaj�cym plikami, na kt�rego funkcjonowanie pada�y wcze�niej liczne skargi.
Pewne rozwini�cie Windows 3.1 stanowi "Windows 3.11 dla grup roboczych", system umo�liwiaj�cy tworzenie prostych lokalnych sieci komputerowych, nie wymagaj�cych serwera, a przez to bardziej atrakcyjnych cenowo od najpopularniejszej w Polsce sieci "Novell Netware". Opr�cz wprowadzenia dodatkowych aplikacji sieciowych do systemu, w Windows 3.11 zosta� nieznacznie poprawiony interfejs u�ytkownika pozosta�ych program�w pakietu, szczeg�lnie poprzez dodanie pask�w narz�dzi.
W roku 1994 byli�my �wiadkami kolejnego wa�nego wydarzenia w historii Windows, jakim by�o pojawienie si� na rynku systemu "Windows NT". Jest to pe�en, 32-bitowy system operacyjny o du�o bogatszych funkcjach ni� Windows 3.1, mi�dzy innymi umo�liwiaj�cy prac� w sieci. Jednak ze wzgl�du na wysokie wymagania sprz�towe jego sprzeda� nast�puje do�� powoli. Nie bez znaczenia jest tu te� z pewno�ci� fakt, �e zdecydowana wi�kszo�� u�ytkownik�w systemu Windows nie potrzebuje tak rozbudowanej wersji jak NT.
Ogromny rozg�os towarzyszy� pojawieniu si� we wrze�niu 1995 roku najm�odszego dziecka firmy Microsoft, systemu "Windows 95". Jako rozwini�cie wersji 3.1, ale jednocze�nie nie tak bardzo rozbudowane jak NT, �rodowisko to jest przeznaczone dla szerokiego kr�gu odbiorc�w. Jego g��wn� zalet� jest wy�szy poziom aplikacji u�ytkowych wchodz�cych w sk�ad pakietu oraz pojawienie si� program�w ukierunkowanych na korzystanie z sieci komputerowych, w tym tak�e coraz bardziej popularnej sieci Internet. Ponadto uepszeniu uleg�a realizacja wielozadaniowo�ci, jak r�wnie� wprowadzona zosta�a mo�liwo�� tak zwanej wielow�tkowej realizacji program�w, czyli wsp�bie�nego wykonywania kilku modu��w tego samego programu.
System Windows 95 nie jest jednak niestety pozbawionych istotnych wad. Nale�� do nich przede wszystkim znacznie zwi�kszone wymagania sprz�towe, du�o wy�sze ni� podawane w oficjalnych komunikatach firmy Microsoft, oraz znaczna liczba b��d�w i niedoci�gni��. Oba te mankamenty sprawi�y, �e nowy system przyjmowany jest przez u�ytkownik�w z du�� rezerw�. Nie brak nawet takich, kt�rzy zrezygnowali z Windows 95 ju� po jego zainstalowaniu, po to, by wr�ci� do wersji poprzedniej, 3.1 lub 3.11 .
Czy wersja Windows 95 b�dzie ostatnia? Z pewno�ci� nie, chocia� trudno w tej chwili dok�adnie prognozowa� dalszy rozw�j tego systemu. Pewnego rodzaju konkurencj� dla niego mo�e stanowi� zapowiadany coraz cz�ciej rozw�j prostych komputer�w sieciowych, s�u��cych do po��czenia si� z globaln� sieci� teleinformatyczn� i korzystaj�cych z dost�pnego w niej oprogramowania. W ka�dym razie nikt dzisiaj z pewno�ci� nie odwa�y si� ju� zaprzeczy�, �e system Windows sta� si� najpopularniejszym �rodowiskiem grafiznym komputer�w dzia�aj�cych w oparciu o "MS-DOS". Od momentu pojawienia si� na rynku w 1985 roku zosta� on sprzedany w wielu milionach egzemplarzy na ca�ym �wiecie, �eby nie wspomnie� o znacznie wi�kszej, cho� nie do k��ca znanej, liczbie jego kopii pirackich. Jedno jest pewne: Windows wyznaczy� nowe kierunki rozwoju komputer�w "IBM PC", od kt�rego nie ma ju� odwrotu.
1.1.3. Programy dzia�aj�ce w �rodowisku Windows.
W �lad za tak szybkim rozwojem Windows ro�nie tak�e liczba jego aplikacji, czyli program�w w pe�ni do niego przystosowanych; liczba ta obecnie wyra�a si� ju� w tysi�cach. Do najbardziej znanych spo�r�d aplikacji Windows nale��: edytor tekst�w "Microsoft Word for Windows", arkusz kalkulacyjny "Microsoft Excel", pakiet graficzny firmy Corel, baza danych "Paradox for Windows" firmy Borland, program "DTP PageMaker" firmy Aldus. Nie ma ju� praktycznie takiej dziedziny programowania, w kt�rej nie mo�na byznale�� przynajmniej jednej aplikacji Windows wysokiej klasy.
Obecnie sytuacja w naszym kraju praktycznie nie odbiega od sytuacji panuj�cej w najwy�ej rozwini�tych krajach �wiata. Gwa�townie ro�nie liczba spolszczonych wersji program�w zachodnich, coraz wi�cej powstaje te� aplikacji tworzonych przez polskich informatyk�w. Produkty rodzime nie s� wprawdzie tak rozbudowane, jak ich odpowiedniki ameryka�skie, nad kt�rymi pracuj� przecie� ogromne sztaby specjalist�w, ale s� za to ta�sze, a przede wszystkim - w pe�ni dostosowane do wymaga� polskich u�ytkownik�w. Jeeli za� chodzi o ich mo�liwo�ci, to okazuj� si� one wystarczaj�ce dla zdecydowanej wi�kszo�ci zastosowa�.
Mimo i� system Windows zosta� stworzony przede wszystkim w celu umo�liwienia wykonywania program�w napisanych specjalnie do niego, to jednak umo�liwia on te� korzystanie z program�w dzia�aj�cych w �rodowisku DOS-a. Oczywi�cie programy takie nie wykorzystuj� wielu udogodnie�, jakie oferuje swym u�ytkownikom Windows, ale w wi�kszo�ci sytuacji mog� by� przedstawiane w postaci okna i wykonywane r�wnocze�nie z aplikacjami Windows. W �rodowisku Windows 95 istnieje nawet mo�liwo�� przydzielenia programom DS-a prostego paska narz�dzi oraz korzystania przy ich obs�udze z myszy.
W czasach, kiedy Windows dzia�a� na komputerach 286 (niekiedy, aczkolwiek niezmiernie rzadko, zdarza si� to r�wnie� i dzisiaj) istotny by� podzia� program�w DOS-a na dwie grupy, z kt�rych pierwsza zawiera�a tak zwane dobre, druga za� - z�e aplikacje. Nazewnictwo to nie odnosi�o si� do jako�ci program�w, lecz do sposobu, w jaki korzysta�y one ze sprz�tu komputera. Dobrymi aplikacjami by�y te, kt�re w celu wczytywania danych z klawiatury i wy�wietlania ich na ekranie monitora stosowa�y przerwania progamowe "DOS-a" i "BIOS-a", natomiast z�ymi - takie, kt�re przesy�a�y dane bezpo�rednio do monitora, wykorzystuj�c grafik� albo obs�uguj�c przerwania sprz�towe klawiatury.
Dla systemu Windows zainstalowanego na komputerze z procesorem 386 lub lepszym rodzaj programu DOS-a nie ma �adnego znaczenia - Windows potrafi ka�dy program traktowa� na tych samych zasadach, co swe w�asne aplikacje. Je�eli natomiast korzysta on z procesora 286, to nie ma mo�liwo�ci przydzielenia okna z�ym aplikacjom i r�wnoczesnego wykonywania ich z innymi programami.
1.2. Zalety Windows.
1.2.1. Graficzny interfejs u�ytkownika.
Wszystkie aplikacje Windows maj� taki sam wygl�d i identyczny spos�b obs�ugi, zwany graficznym interfejsem u�ytkownika ("GUI"), dzi�ki czemu �atwiej jest je poznawa� i stosowa� ni� tradycyjne programy DOS-a. Kiedy ju� wiemy, jak obs�ugiwa� jedn� aplikacj� Windows, jeste�my w stanie �atwo nauczy� si� korzysta� z innej.
Do innych zalet graficznego interfejsu u�ytkownika nale��:
- bogate mo�liwo�ci korzystania z myszy, co pozwala na wprowadzanie danych za pomoc� menu oraz takich obiekt�w graficznych, jak ikony, przyciski czy paski przewijania;
- wy�wietlanie danych w trybie graficznym, kt�ry umo�liwia przekazywanie w przyst�pny spos�b znacznie wi�kszej ilo�ci informacji ni� tryb tekstowy, a ponadto pozwala na wy�wietlanie "WYSIWYG", czyli takie, w kt�rym tekst i rysunki widoczne na ekranie wygl�daj�, tak jak po ich wydrukowaniu;
- atrakcyjno�� wizualna �rodowiska, przejawiaj�ca si� w efektownej grafice oraz interesuj�cym zestawieniu kolor�w.
Korzy�ci wynikaj�ce ze stosowania graficznego interfejsu u�ytkownika zosta�y tak�e dostrze�one przez producent�w innego sprz�tu komputerowego. Jeszcze zanim powsta� system Windows, zastosowane w nim zasady zosta�y wykorzystane przez firm� Apple, najpierw na komputerze Lisa, a nast�pnie - Macintosh, wprowadzonym na rynek w styczniu 1984 roku. Je�li popularne "jab�uszko" stanowi siln� konkurencj� dla "IBM-a", to nie z powodu rozwi�za� sprz�towych, lecz dzi�ki bardzo �atwemu i atrakcyjnemu sposobowi ob�ugi .
Inne firmy tak�e nie pozosta�y w tyle. Dzisiaj graficzny interfejs u�ytkownika stosowany jest mi�dzy innymi w komputerach Amiga, Atari, a tak�e na sprz�cie z zainstalowanym Unixem. Mimo i� poszczeg�lne �rodowiska graficzne r�ni� si� co do szczeg��w, to jednak podstawowe zasady ich funkcjonowania s� takie same. Dla milion�w u�ytkownik�w komputer�w na ca�ym �wiecie s� one czym� tak oczywistym, �e nie mog� oni poj��, jak to jest mo�liwe, i� wielu w�a�cicieli PC nadal zadowala si� samym tylko DOS-em.
1.2.2. Wiele program�w jednocze�nie.
Tw�rcy systemu operacyjnego DOS nie przewidzieli w zasadzie jednoczesnego wykorzystywania wi�cej ni� jednego programu. Wprawdzie programi�ci znale�li na to rad�, przygotowuj�c programy rezydentne, takie jak SideKick, ale korzystanie z nich zwi�zane by�o zawsze z du�� liczb� ogranicze� i pu�apek, nie wspominaj�c ju� o trudno�ciach wyst�puj�cych podczas pisania tych program�w. Niemniej jednak ich ogromna popularno�� dowiod�a, �e ze strony u�ytkownik�w PC istnieje du�e zapotrzebowanie na wielozadaniowo�.
�rodowisko Windows umo�liwia jednoczesne uruchomienie wielu program�w, z kt�rych ka�dy zajmuje na ekranie prostok�tne okno. U�ytkownik mo�e w bardzo �atwy spos�b uaktywnia� kolejno r�ne programy i przekazywa� mi�dzy nimi dane. Windows pozwala nawet na jednoczesne uruchamianie wielu program�w DOS-a, a tak�e - na wielokrotne uruchomienie pojedynczego programu, o ile on sam tego nie zabrania.
1.2.3. Koniec problem�w z pami�ci�.
U�ytkownicy korzystaj�cy z DOS-a doskonale znaj� problemy zwi�zane z korzystaniem z wi�kszej ilo�ci pami�ci. W momencie projektowania pierwszego komputera "IBM PC" 640 kilobajt�w pami�ci wydawa�o si� ilo�ci� ogromn� i w zupe�no�ci wystarczaj�c� do wszystkich �wczesnych zastosowa�. W miar� up�ywu czasu r�s� jednak apetyt program�w na pami��, w zwi�zku z czym konieczne stawa�o si� instalowanie coraz wi�kszych jej ilo�ci. Dzisiaj 16 MB RAM-u nale�y ju� do standardowego wyposa�enia komputera. Niestety krzystanie z pami�ci o adresach znajduj�cych si� powy�ej progu 640 kB wymaga stosowania specjalnych technik, z kt�rych wi�kszo�� program�w DOS-a nie potrafi korzysta�. W efekcie cz�sto zdarza si�, �e wykorzystywana jest tylko ma�a cz�� dost�pnej pami�ci operacyjnej.
To dziwaczne ograniczenie pami�ci wynikaj�ce z architektury PC zosta�o w skuteczny spos�b wyeliminowane w systemie Windows. Dzi�ki wykorzystaniu rozkaz�w trybu chronionego mikroprocesor�w 80286 i 80386 Windows oraz jego aplikacje uzyska�y dost�p do 16 megabajt�w pami�ci zainstalowanej w systemie. Dalsze mo�liwo�ci powsta�y w momencie pojawienia si� procesor�w 486 i Pentium. Opr�cz tego wprowadzenie samodzielnego zarz�dzania pami�ci� przez system Windows pozwoli�o zorganizowa� pami�� pomocnicz� na dyku. Dzi�ki temu komputery wyposa�one w procesor 386 lub lepszy maj� mo�liwo�� korzystania z pami�ci wirtualnej, kt�rej wielko�� mo�e by� wielokrotnie wi�ksza ni� fizycznie zainstalowana pami�� w systemie.
Ale to jeszcze nie wszystko. Windows zawiera w sobie wiele mechanizm�w wp�ywaj�cych na efektywne wykorzystywanie pami�ci. System ten potrafi usuwa� z niej fragmenty program�w, a nast�pnie ponownie �adowa� je z plik�w "EXE". Ponadto wszystkie uruchomione kopie tego samego programu dziel� w pami�ci wsp�lny kod, maj�c jedynie oddzielne bloki danych. Co wi�cej, aplikacje Windows mog� korzysta� w czasie dzia�ania z procedur umieszczonych w innych plikach, tak zwanych bibliotekach dynamicznych ("DLL"). Sa system Windows sk�ada si� prawie wy��cznie z tego rodzaju bibliotek.
Jest rzecz� zrozumia��, �e uruchamianie, wykonywanie i ko�czenie program�w w �rodowisku wielozadaniowym powoduje powstawanie zjawiska fragmentacji pami�ci. Lecz Windows potrafi sobie �wietnie poradzi� tak�e i z tym problemem. Poprzez odpowiednie przenoszenie blok�w program�w i danych ��czy ze sob� wolne obszary pami�ci, umo�liwiaj�c w ten spos�b ich pe�ne wykorzystywanie.
1.2.4. Obs�uga urz�dze� zewn�trznych.
Nawet je�li system Windows uruchamia si� z poziomu DOS-a tak samo, jak ka�dy inny program u�ytkowy (ma to miejsce w przypadku stosowania wersji 3.1), to jednak w trakcie dzia�ania przejmuje on na siebie wiele zada� systemu operacyjnego. Tak�e i wtedy, gdy nie jest pe�nym systemem operacyjnym, gdy� odpowiedzialno�� za zarz�dzanie zasobami komputera dzieli z DOS-em, to w�a�nie on zajmuje si� obs�ug� program�w, pami�ci, klawiatury, myszy, monitora, drukarki i port�w szeregowych, pozwalaj�c DOS-owi ograiczy� si� w zasadzie do zarz�dzania systemem plik�w.
�atwo�� korzystania z aplikacji Windows wynika w du�ej mierze z braku konieczno�ci dostosowywania ich do aktualnej konfiguracji systemu komputerowego. Dzi�ki temu instalacja program�w przebiega w prosty spos�b, a je�li zdarzaj� si� jakiekolwiek problemy zwi�zane z niezgodno�ci� sprz�tow�, to dotycz� one wy��cznie systemu Windows 95 i wynikaj� niestety z b��d�w pope�nionych przez programist�w firmy Microsoft. W wersji 3.1 tego rodzaju problemy nigdy si� nie pojawiaj�.
Mo�liwe jest przygotowanie aplikacji Windows, kt�ra mimo i� sk�ada� si� b�dzie z jednego tylko pliku "EXE", to jednak dzia�a� b�dzie bezb��dnie na ka�dym komputerze PC, niezale�nie od jego konfiguracji. W przypadku program�w DOS-owych korzystaj�cych z grafiki lub z drukarki rozwi�zanie takie jest nie do pomy�lenia. Tam plikowi "EXE" towarzyszy zazwyczaj ca�a plejada program�w obs�ugi r�nych typ�w urz�dze�, kt�ra w praktyce i tak nierzadko okazuje si� niewystarczaj�ca.
1.2.5. Programy u�ytkowe pakietu.
System Windows to nie tylko system operacyjny lub nak�adka na niego; to tak�e zestaw program�w narz�dziowych oraz u�ytkowych, kt�re wprawdzie nie dor�wnuj� sprzedawanym oddzielnie wysoko wyspecjalizowanym aplikacjom, ale w wielu zastosowaniach okazuj� si� ca�kiem wystarczaj�ce. W wersji 3.1 najwa�niejszym z nich jest oczywi�cie "Mened�er program�w", umo�liwiaj�cy uruchamianie i przekazywanie sterowania mi�dzy poszczeg�lnymi programami. Bez tej aplikacji nie by�oby Windows 3.1 . Ale system ten to przcie� tak�e program zarz�dzaj�cy plikami "Mened�er plik�w", procesor tekstu "Write", program graficzny "Paintbrush", program komunikacyjny "Terminal", a ponadto terminarz, kartoteka, kalkulator, zegar, uwielbiany przez pocz�tkuj�cych u�ytkownik�w komputer�w pasjans oraz kilka innych program�w.
W Windows 3.11 dochodz� do tego programy sieciowe, szczeg�lnie program obs�ugi poczty elektronicznej "Mail", program do planowania prac "Schedule+", a tak�e aplikacja "Remote Access", umo�liwiaj�ca po��czenie si� z siecia lokaln� z odleg�ego miejsca.
Jeszcze lepsze aplikacje udost�pnia Windows 95. W�r�d nich w pierwszej kolejno�ci nale�y wymieni� program zarz�dzaj�cy plikami "Eksplorator" oraz ulepszone: procesor tekstu "WinPad", program graficzny "Paint" i program komunikacyjny "HyperTerminal". Do tego dochodz� aplikacje zwi�zane z prac� sieciow�: "Exchange", obs�uguj�ca system poczty elektronicznej, oraz "Dial-Up Networking", umo�liwiaj�ca uzyskanie po��czenia modemowego z serwerami r�nych sieci rozleg�ych i lokalnych, takich jak Internet, Th Microsoft Network, Windows 3.11, Windows NT czy Windows 95.
Je�eli wi�c procesor tekstu potrzebny jest jedynie po to, by od czasu do czasu napisa� list, to nie ma sensu kupowa� "Worda dla Windows"; "Write", a tym bardziej "WinPad" oka�� si� w tym przypadku zupe�nie wystarczaj�ce. Na tej samej zasadzie "HyperTerminal", czy nawet "Terminal" w spos�b zadowalaj�cy wykona zadanie modemowego przes�ania pliku. A zatem komputer z zainstalowanym systemem Windows jest ju� w pe�ni przygotowany do wykonywania wielu dzia�a�, jeszcze zanim dokona si� zakupu dodatkowych prgram�w.
Ale s� te� i inne korzy�ci wynikaj�ce z istnienia program�w wchodz�cych w sk�ad Windows. W przesz�o�ci cz�sto zdarza�o si�, �e osoby nie zwi�zane bli�ej z informatyk� mia�y trudno�ci z przyswojeniem sobie cho�by podstawowych polece� DOS-a, takich jak "COPY" czy "CD". Tymczasem system Windows nie wymaga od swych u�ytkownik�w zapami�tywania jakichkolwiek polece� - wszystkie operacje mog� by� w �atwy i przyjemny spos�b wywo�ane za pomoc� list menu. Innym bardzo istotnym elementem systemu przyjaznym dlau�ytkownika jest fakt przet�umaczenia go na wielu j�zyk�w, w tym tak�e na polski, co dla os�b nie znaj�cych angielskiego ma pierwszorz�dne znaczenie.
Rozdzia� 2.
Podstawowe zasady programowania.
Dlaczego system Windows zyska� sobie opini� �rodowiska �atwego i przyjemnego dla u�ytkownik�w, ale jednocze�nie dziwacznego i trudnego dla programist�w? Dlaczego ca�a dotychczasowa wiedza i do�wiadczenie zdobyte podczas wieloletniego programowania okazuj� si� niewystarczaj�ce wobec wymaga� nowego systemu? Na czym polega przesy�anie i obs�uga komunikat�w oraz w jaki spos�b zarz�dza si� oknami Windows? Co to sa funkcje "API", jak� rol� pe�ni� zasoby aplikacji Windows i jakie pakiety umo�liwiaj� ich twrzenie? W poprzednim rozdziale patrzyli�my na Windows g��wnie oczami u�ytkownika, teraz spojrzymy na niego jako programi�ci.
2.1. Jednak warto...
Na postawione wy�ej pytania odpowiedzie� mo�na w prosty spos�b: przecie� ogromne mo�liwo�ci Windows, zwi�zane g��wnie z wielozadaniowo�ci� i graficznym interfejsem u�ytkownika, nie powstaj� same z siebie; do ich uzyskania przyczyni� si� musi tak�e programista. Jednak jego wysi�ek zostanie bez w�tpienia sowicie wynagrodzony; doprowadzi on do powstania programu, kt�ry z ca�� pewno�ci� bez korzystania z Windows nigdy by si� nie narodzi�. Samo przygotowanie obs�ugi programu i jego szaty graficznej wi�zaoby si� w innych warunkach z tak ogromnym nak�adem pracy, i� zdecydowana wi�kszo�� programist�w zrezygnowa�aby z niego, zadowalaj�c si� mniej ambitnymi rozwi�zaniami.
S� te� takie dziedziny programowania, kt�re dzi�ki mo�liwo�ci korzystania z procedur systemowych zawartych w bibliotekach Windows charakteryzuj� si� wi�ksz� prostot� ni� w przypadku DOS-a. Nale�y do nich z ca�� pewno�ci� transmisja szeregowa. Aby napisa� program komunikacyjny b�d�cy aplikacj� Windows, nie trzeba ju� ani zag��bia� si� w tajniki funkcjonowania sprz�tu, programowa� samodzielnie "UART" i sterownik przerwa�, ani te� wydawa� pieni�dzy na zakup dodatkowego pakietu; wystarczy skorzysta� z pocedur Windows s�u��cych do obs�ugi portu szeregowego.
Zanim zaczniemy zajmowa� si� poszczeg�lnymi zagadnieniami zwi�zanymi z programowaniem w Windows, sensowne wydaje si� poznanie podstawowych zasad jego funkcjonowania, na razie bez wdawania si� w szczeg�y zwi�zane z przygotowywaniem aplikacji. By� mo�e uda nam si� w ten spos�b znale�� dok�adniejsze odpowiedzi na zawarte we wst�pie tego rozdzia�u pytania.
2.2. Obs�uga komunikat�w.
Wi�kszo�� program�w dzia�aj�cych w �rodowisku DOS-a wykonuje swoje zadania w spos�b sekwencyjny, co oznacza, �e stopniowo przechodz� one kolejne etapy pracy, a� do momentu zako�czenia swego dzia�ania. Ka�da procedura wywo�ywana jest z okre�lonego miejsca, do kt�rego po pewnym czasie program wraca. Oczekiwanie na wprowadzenie danych przez u�ytkownika, zako�czenie wykonywania oblicze� lub up�yni�cie okre�lonego czasu nie stanowi �adnego problemu - przecie� wykonywany program jest jedynym korzystaj�cymz zasob�w komputera.
W Windows sytuacja wygl�da zupe�nie inaczej. Tutaj program stanowi zbi�r procedur reaguj�cych na zaj�cie okre�lonych zdarze� w systemie. Zdarzeniami takimi s� na przyk�ad: naci�ni�cie klawisza klawiatury, przesuni�cie wska�nika myszy, up�yni�cie okre�lonego czasu czy te� zmiana wielko�ci okna - o tym wszystkim program dowiaduje si� za pomoc� komunikat�w, kt�re otrzymuje od Windows. Po zako�czeniu wykonywania dzia�a� b�d�cych reakcj� na zaj�cie danego zdarzenia aplikacja musi natychmiast zwr�ci� sterwanie systemowi, gdy� w przeciwnym wypadku nie mia�by on mo�liwo�ci przekazywania kolejnych komunikat�w zar�wno jej samej, jak i te� innym dzia�aj�cym aktualnie aplikacjom.
Zrozumienie tej w�a�ciwo�ci Windows stanowi klucz do w�a�ciwego programowania w �rodowisku graficznego interfejsu u�ytkownika. Na pocz�tku konieczne jest jednak prze�amanie pewnych przyzwyczaje� nabytych podczas pisania program�w dzia�aj�cych w �rodowisku DOS-a. Na przyk�ad, je�eli aplikacja Windows oczekuje na wprowadzenie danych przez u�ytkownika, to nie mo�e ona w tym celu skorzysta� z �adnej ze standardowych procedur wej�ciowych. Zamiast tego powinna odda� sterowanie Windows i czeka�, a� system am powiadomi j� o zaj�ciu odpowiedniego zdarzenia.
Dodatkow� trudno�ci� dla programisty jest fakt, �e procedura odbieraj�ca komunikaty znajduje si� w zupe�nie innym miejscu programu ni� to, w kt�rym zosta�o przerwane jego wykonywanie. Procedura ta, zwana procedur� oknow� (ang. "window procedura"), reaguje na wszystkie komunikaty otrzymywane od systemu i przeznaczone dla danego okna (nowoczesne pakiety s�u��ce do tworzenia aplikacji Windows, takie jak "Turbo Pascal for Windows", implementuj� samodzielnie procedur� oknow�, pozwalaj�c programi�cie ograiczy� si� do napisania procedur odbieraj�cych konkretne komunikaty - wi�cej na ten temat w rozdziale nast�pnym, "Pierwsza aplikacja Windows").
Nie nale�y przez to rozumie�, �e zadaniem ka�dej aplikacji jest przetwarzanie wszystkich otrzymywanych przez ni� komunikat�w. Owszem, mo�liwo�� taka istnieje, jednak w zdecydowanej wi�kszo�ci przypadk�w wystarcza wywo�anie funkcji Windows "DefWindowProc", reaguj�cej na komunikaty w spos�b standardowy. W skrajnym przypadku mo�liwe jest napisanie procedury oknowej, kt�ra sama zajmowa�aby si� tylko jednym komunikatem - sygnalizuj�cym wyb�r polecenia menu ko�cz�cego dzia�anie programu. Je�eli jednak aplkacja, ma wykonywa� jakie� u�yteczne funkcje, to musi przetwarza� samodzielnie wi�cej komunikat�w, przynajmniej te, kt�re umo�liwiaj� u�ytkownikowi pe�ne korzystanie z list menu oraz wprowadzanie danych i wy�wietlanie wynik�w programu.
Z obs�ug� komunikat�w wi��e si� zasada funkcjonowania wielozadaniowo�ci w systemie Windows. Wi�kszo�� tradycyjnych system�w wielozadaniowych przekazuje sterowanie poszczeg�lnym programom w oparciu o podzia� czasu. Oznacza to, �e ka�dy program wykonywany jest przez okre�lony czas, po up�yni�ciu kt�rego zostaje on przerwany, przy czym zasoby komputera przejmuje program nast�pny w kolejce. Rozwi�zanie to ma t� zalet�, �e nigdy nie dochodzi do zablokowania systemu przez jedno zadanie.
Windows nie przerywa wykonywania program�w. To one same zobowi�zane s� przekazywa� mu odpowiednio cz�sto sterowanie. Wi��e si� z tym oczywi�cie ogromna odpowiedzialno�� programisty za funkcjonowanie nie tylko jego w�asnej aplikacji, ale tak�e wszystkich pozosta�ych. Nie mo�na dopu�ci� do powstania sytuacji, w kt�rej jeden program zablokowa�by na czas swego wykonywania ca�y system. Dlatego sterowanie powinno si� oddawa� nie tylko po zako�czeniu obs�ugi ka�dego zdarzenia, ale tak�e zawsze wtedy, gdy wkonywanie jakiej� operacji, na przyk�ad wy�wietlanie grafiki, trwa zbyt d�ugo; tego rodzaju zadania nale�y dzieli� na mniejsze kroki i wykonywa� etapami.
2.3. Zarz�dzanie oknami.
S�owo "windows", oznaczaj�ce "okna", sta�o si� nie tylko nazw� systemu, ale tak�e jego najbardziej przekonuj�c� wizyt�wk�. Okna s�u�� nie tylko do wymiany danych mi�dzy programem a u�ytkownikiem, odpowiadaj�c pod tym wzgl�dem ca�emu ekranowi monitora w przypadku program�w DOS-owych, ale tak�e do reprezentowania aplikacji - ka�dy program dzia�a tak d�ugo, jak d�ugo otwarte jest jego g��wne okno.
Ka�de okno sk�ada si� co najmniej z ramki umo�liwiaj�cej zmian� jego wielko�ci (ang. "sizing border"), paska tytu�u (ang. "caption bar") oraz wn�trza zwanego obszarem roboczym, a czasami tak�e powierzchni� u�ytkow� lub obszarem klienta (ang. "client area"). Ponadto z regu�y zawiera ono pasek menu (ang. "menu bar"), przycisk menu systemowego (ang. "system menu box"), przycisk zwijaj�cy lub minimalizacji (ang. "minimize box"), przycisk rozwijaj�cy lub maksymalizacji (ang. "maximize box"), paski przewiania (ang. "scroll bar") oraz ewentualnie przycisk zamkni�cia (w Windows 95).
Pewien szczeg�lny typ okien stanowi� okna dialogowe (ang. "dialog box"), kt�re zawieraj� na swej powierzchni okre�lon� liczb� element�w steruj�cych (ang. "child window control"), umo�liwiaj�cych wprowadzanie danych w wygodny, zgodny z okre�lonym standardem, spos�b. Elementy te przyjmuj� posta� przycisk�w (ang. "push button"), prze��cznik�w (ang. "radio button"), p�l wyboru (ang. "check box"), p�l statycznych (ang. "stalic"), ikon (ang. "icon"), p�l edycji (ang. "edit text"), list (ang. "list box"), ask�w przewijania (ang. "scroll bar") i p�l kombinowanych (ang. "combo box"), b�d�cych po��czeniem pola edycji z list�
W obs�udze okien system Windows �wiadczy wprost nieocenion� pomoc, wykonuj�c samodzielnie takie zadania, jak otwieranie, zamykanie, przesuwanie oraz zmienianie wielko�ci okien, w tym zwijanie ich do postaci ikony i odtwarzanie ich poprzedniej postaci, ponadto - wyb�r polece� menu czy te� wprowadzanie danych za pomoc� element�w steruj�cych okien dialogowych. Napisanie programu, kt�ry sam wykonywa�by wszystkie te funkcje, by�oby niezmiernie trudne, w praktyce nieop�acalne.
Z punktu widzenia programisty najistotniejsz� informacj� dotycz�c� okien jest stwierdzenie, �e z ka�dym z nich zwi�zana jest wspomniana ju� wcze�niej procedura oknowa. To w�a�nie ona wywo�ywana jest w momencie zaj�cia dowolnego zdarzenia zwi�zanego z odpowiadaj�cym jej oknem, ponosz�c w ten spos�b odpowiedzialno�� za w�a�ciwe przetwarzanie komunikat�w przez aplikacj�. Dla programist�w przyzwyczajonych do pisania program�w dzia�aj�cych pod DOS-em jest to z pewno�ci� pomys� nowy. Jako rzecz normaln� taktuj� oni fakt wywo�ywania przez program procedur systemu operacyjnego, na przyk�ad w celu otwarcia pliku. Tutaj ma jednak miejsce zjawisko dok�adnie odwrotne - to w�a�nie system wywo�uje procedury programu. Jest to jednak podstawowa zasada dzia�ania Windows.
Z technicznego punktu widzenia sytuacja wygl�da nast�puj�co: W momencie rozpocz�cia wykonywania aplikacji system Windows tworzy dla niej kolejk�, w kt�rej nast�pnie gromadzone s� komunikaty dla wszystkich tworzonych przez ni� okien. Zadaniem aplikacji jest pobieranie tych komunikat�w z kolejki i wysy�anie ich - na podstawie zawartej w nich informacji - do odpowiednich procedur oknowych (w nowoczesnych pakietach s�u��cych do tworzenia aplikacji Windows za wykonywanie tej czynno�ci odpowiedzialne s� bblioteki podprogram�w - wi�cej na ten temat w rozdziale nast�pnym). Ponadto istniej� te� takie komunikaty, cho� stanowi� one mniejszo��, kt�re s� przesy�ane bezpo�rednio do procedur oknowych, z omini�ciem kolejki komunikat�w.
2.4. Biblioteki Windows.
2.4.1. Co to s� funkcje "API"?
Aplikacje Windows mog� korzysta� z ponad 600 r�nych funkcji systemowych, tak zwanych funkcji "API" (ang. "Application Programming Interface"), zapisanych w trzech plikach:
- "KERNEL.EXE" ("KRNL286.EXE" w trybie standardowym, "KRNL386.EXE" w trybie rozszerzonym 386) - zarz�dzanie programami, pami�ci� i pozosta�ymi zasobami komputera oraz wsp�praca z DOS-em;
- "USER.EXE" - zarz�dzanie graficznym interfejsem u�ytkownika;
- "GDI.EXE" - wy�wietlanie i drukowanie grafiki.
Zapami�tanie sk�adni wszystkich funkcji "API" jest niezwykle ma�o prawdopodobne, st�d te� w praktyce podczas pisania aplikacji Windows konieczne okazuje si� korzystanie z podr�cznika lub z pomocy ekranowej. Niemniej jednak znacznie �atwiej jest nauczy� si� korzysta� z bibliotek Windows ni�... pr�bowa� je napisa� samemu.
Ka�da z funkcji Windows ma opisow�, �atw� do zrozumienia nazw�, tworzon� za pomoc� du�ych i ma�ych liter. Jako przyk�ad mo�na poda� procedur� "GetClientRect", s�u��c� do odczytania wsp�rz�dnych obszaru roboczego, "TextOut", wy�wietlaj�c� tekst, czy te� "MessageBox", otwieraj�c� okno informacyjne. Prototypy wszystkich funkcji Windows, a tak�e zwi�zane z nimi definicje sta�ych i deklaracje typ�w, zgromadzone s� w pliku "WINDOWS.H", do��czanym z regu�y do ka�dego pakietu programowania.
Z funkcji systemowych korzysta� mog� tylko aplikacje Windows, nie jest natomiast mo�liwe stosowanie ich przez programy dzia�aj�ce pod DOS-em. Mo�na wi�c powiedzie�, �e Windows stawia przed programist� warunek "wszystko albo nic". Wynika to st�d, �e w aplikacji Windows wszystko jest ze sob� powi�zane - je�li chce si� utworzy� pewn� grafik� na ekranie monitora, potrzebne jest do tego celu okno, to za� wymaga obs�ugi komunikat�w, a w konsekwencji - przygotowania pe�nowarto�ciowej aplikacji.
2.4.2. Wy�wietlanie tekstu i rysunk�w.
Jedna z wy�ej wymienionych bibliotek Windows, "GDI" (ang. "Graphics Device Interface"), opisuje rozbudowany j�zyk programowania grafiki, kt�ry pozwala na �atwe wy�wietlanie i drukowanie rysunk�w oraz sformatowanego tekstu. Aplikacje Windows nie uzyskuj� bezpo�redniego dost�pu do sprz�tu, takiego jak monitor czy drukarka, lecz dzia�aj� w po��czeniu z dowolnym ich typem, dla kt�rego istnieje zainstalowany w systemie program obs�ugi. Program nie musi okre�la�, jakiego rodzaju urz�dzenie zosta�o po��czoe z komputerem. Dzi�ki temu generowanie rysunk�w jest w systemie Windows du�o �atwiejsze ni� w programach DOS-a.
Z drugiej strony, w pierwszej chwili nieco skomplikowane wyda� si� mo�e wyprowadzanie tekstu. Odczucie takie jest jednak jak najbardziej zrozumia�e - w Windows tekst powstaje przecie� w trybie graficznym, kt�ry umo�liwia dowolny wyb�r czcionki, jej stylu, koloru i wyr�wnania, podczas gdy w programach DOS-owych ka�dy �a�cuch wyprowadzany jest w identyczny spos�b, za pomoc� tego samego zestawu znak�w.
Mo�liwo�� realizowania zr�nicowanych projekt�w graficznych powsta�a dzi�ki zastosowaniu tak zwanych narz�dzi rysuj�cych, do kt�rych nale��, czcionki, pi�ra i p�dzle. To one okre�laj� szeroko�� i kolor prowadzonych linii, wz�r wype�niania figur czy wreszcie rodzaj pisma, w��czaj�c w to wszystkie jego elementy charakterystyczne, takie jak pochylenie czy pogrubienie.
2.4.3. Dynamiczne ��czenie.
Procedury biblioteczne program�w dzia�aj�cych pod DOS-em do��czane s� do nich na etapie konsolidacji (ang. "linking") i zajmuj� miejsce w plikach "EXE". Natomiast procedury obs�uguj�ce przerwania programowe, na przyk�ad przerwania DOS-a 21 h, rezyduj� na sta�e w pami�ci RAM, czekaj�c na wywo�anie przez dzia�aj�cy aktualnie program.
W Windows nie zastosowano �adnego z wymienionych wy�ej rozwi�za�. Funkcjonuje tu tak zwane dynamiczne ��czenie, kt�re polega na tym, �e procedury systemowe ��czone s� z programem w czasie jego wykonywania. Podej�cie takie ma kilka istotnych zalet. Po pierwsze, funkcje Windows nie zajmuj� miejsca w plikach "EXE", a przez to tak�e w pami�ci operacyjnej, lecz s� �adowane dopiero wtedy, gdy wywo�uje je jedna z wykonywanych aplikacji. Po drugie, uaktualnienie procedur systemowych Windows nie poci�ga za sb� konieczno�ci ponownej kompilacji programu. Aby si� o tym przekona�, wystarczy uruchomi� dowoln� aplikacj� Windows, zar�wno w wersji 3.1 tego systemu, jak i 95. Zupe�nie inaczej sytuacja wygl�da w przypadku DOS-a, gdzie okre�lona wersja procedur bibliotecznych na sta�e zwi�zana jest z programem. I wreszcie po trzecie, dynamiczne ��czenie umo�liwia jednoczesne korzystanie z tych samych procedur przez wiele aplikacji.
Biblioteki dynamiczne maj� na og� rozszerzenie "DLL", cho� istniej� od tej zasady odst�pstwa. Wystarczy tu cho�by wspomnie� o trzech plikach Windows, "KERNEL", "USER" i "GDI", kt�re mimo swego rozszerzenia "EXE" nie s�, plikami wykonywalnymi, lecz bibliotekami dynamicznymi. Ale nie tylko funkcje systemowe Windows mog� by� ��czone dynamicznie z jego aplikacjami - z udogodnienia tego s� w stanie korzysta� tak�e wszystkie inne procedury. Tworzenie w�asnych bibliotek dynamicznych op�aca si� szczeg�lniew�wczas, gdy te same funkcje wykorzystywane s� przez wi�ksz� liczb� program�w.
2.5. Korzystanie z zasob�w programu.
2.5.1. Pliki z opisem zasob�w.
Do przygotowania programu dzia�aj�cego pod DOS-em wystarczy napisanie kodu �r�d�owego, kt�ry jest odpowiedzialny nie tylko za operacje wewn�trzne wykonywane przez ten program, na przyk�ad obliczenia czy dzia�ania na plikach, ale tak�e za organizowanie wymiany danych z u�ytkownikiem. W Windows sytuacja wygl�da inaczej. Tutaj ka�da bardziej rozbudowana aplikacja zawiera opr�cz kodu �r�d�owego tak�e opis zasob�w (ang. "resources"), czyli takich jej element�w, jak menu, ikony czy okna dialogowe. Obiekt� tych z regu�y nie definiuje si� poprzez bezpo�rednie wprowadzanie tekstu, lecz dzi�ki korzystaniu ze specjalnych program�w, zwanych edytorami zasob�w. W efekcie powstaje najcz�ciej plik tekstowy o rozszerzeniu nazwy "RC" lub jego wersja skompilowana w postaci pliku z rozszerzeniem "RES".
Mimo i� rozszerzenie nazwy aplikacji Windows jest takie samo, jak program�w dzia�aj�cych pod DOS-em, to jednak ich format, zwany nowym formatem plik�w wykonywalnych (ang. "New Executable file format"), jest nieco inny. W nag��wku zawieraj� one bowiem dodatkowo tablic� odwo�a� do do��czanych dynamicznie funkcji systemowych oraz tablic� zasob�w, natomiast w cz�ci ko�cowej - opis zasob�w.
2.5.2. Uchwyty.
Osoby programuj�ce w DOS-ie przyzwyczajone s� do tego, �e otwieranym plikom przydzielane s� uchwyty (ang. "handle"), umo�liwiaj�ce p�niejsze wykonywanie operacji na tych plikach. Ale korzystanie z uchwyt�w w odniesieniu do niemal�e wszystkich zasob�w programu jest z pewno�ci� rozwi�zaniem nowym. A w�a�nie ono zosta�o zastosowane w aplikacjach Windows - uchwyty, b�d�ce liczbami ca�kowitymi dodatnimi, pe�ni� tu kluczow� rol�.
Jednym z najwa�niejszych uchwyt�w jest uchwyt okna, umo�liwiaj�cy wykonywanie takich operacji, jak zmiana jego wielko�ci, po�o�enia czy wygl�du. Z grafik� nierozerwalnie zwi�zane jest poj�cie uchwytu urz�dzenia, niezb�dnego do okre�lenia obiektu, w kt�rym tekst lub rysunki maj� si� pojawia�; obiektem tym mo�e by� na przyk�ad jedno z okien lub drukarka. Ale mo�liwo�ci stosowania uchwyt�w jest znacznie wi�cej ni� te, kt�re zosta�y wymienione. Pojawiaj� si� one przy okazji korzystania z menu i ikon, oken dialogowych i ich element�w steruj�cych, narz�dzi rysuj�cych, a nawet blok�w pami�ci. Uchwyty towarzysz� wi�c programi�cie Windows przez ca�y czas pisania aplikacji.
2.6. Pakiety do tworzenia aplikacji Windows.
Jeszcze nie tak dawno, kiedy programi�ci mieli do swej dyspozycji jedynie pakiet Windows "Software Development Kit" ("SDK") firmy Microsoft, programowanie w Windows by�o bardzo trudne. By� mo�e w�a�nie dlatego pierwsze aplikacje powstawa�y do�� wolno. Wymaga�y one od programisty doskona�ej znajomo�ci funkcjonowania systemu, a najdrobniejszy nawet b��d karany by� zazwyczaj przerwaniem dzia�ania programu i wy�wietleniem komunikatu o b��dzie aplikacji (ang. "Application Error").
Dzisiaj sytuacja zmieni�a si� bardzo na korzy��. Powsta�y pakiety, kt�re zajmuj� si� szczeg�ami zwi�zanymi z tworzeniem aplikacji Windows, pozwalaj�c skupi� si� programi�cie na ich funkcjach u�ytkowych. Jako przyk�ady takich pakiet�w mo�na poda� "Turbo Pascal for Windows" oraz "Turbo C++ for Windows" firmy Borland, oba z bibliotek� "ObjectWindows", kt�ra definiuje mi�dzy innymi obiekty reprezentuj�ce aplikacje, okna oraz okna dialogowe i ich elementy steruj�ce.
Wspomnie� wypada jeszcze o pakietach, w kt�rych nazwach wyst�puje s�owo wizualny, czyli o "Visual Basic" oraz "Visual C" firmy Microsoft. Oba te pakiety prezentuj� ca�kowicie nowe jako�ciowo podej�cie do programowania. Ca�a struktura aplikacji tworzona jest w nich automatycznie przez �rodowisko pakietu i pozostaje niewidoczna dla programisty, ograniczaj�c jego zadanie do napisania procedur reaguj�cych na zaj�cie poszczeg�lnych zdarze�. Jak najbardziej trafne jest wi�c okre�lenie pakietu "Visual Basi" zaproponowane przez jego tw�rc�w: "programowanie sterowane zdarzeniami" (ang. "event driven programming"). Tworzenie procedur jest tam nie