Èëëþñòðèðîâàííûé òîëêîâûé ñëîâàðü À Á Â . . . . . . . . . . . . . . . . . . . . . Þ ß | |
ÌÓÇÅÉ ÇÀÍÈÌÀÒÅËÜÍÎÉ ÍÀÓÊÈ
73
Ðîìàíîâñêèé È.Â. çíà÷åíèÿ. Òåêñò ïîÿâëÿåòñÿ àâòîìàòè÷åñêè ïðè íà÷àëüíîì çàïóñêå ñëîâàðÿ. 3. ËÅÂÀß ×ÀÑÒÜ
Ôàéë ac_voc_L.html ñàìûé ñëîæíûé îí ñîäåðæèò âñå ñëîâàðíûå ñòàòüè è ññûëêè íà èëëþñòðàòèâíûé ìàòåðèàë. Ôàéë ñîñòîèò èç äâóõ ÷àñòåé: îïèñàíèé èñïîëüçóåìûõ ïðîöåäóð è âûçîâîâ ýòèõ ïðîöåäóð. Íà÷íåì ñ âûçîâîâ è ïðèâåäåì íåñêîëüêî òèïè÷íûõ ïðèìåðîâ (ëèñòèíã 3). Ìû âèäèì çäåñü âûçîâû ñðàâíèòåëüíî íåáîëüøîãî êîëè÷åñòâà (øåñòè) ïðîöåäóð, êîòîðûå è îïèøåì ïî îòäåëüíîñòè.
Ïðîöåäóðà MakeLetter î÷åíü ïðîñòàÿ, îíà âïèñûâàåò â âûâîäèìûé ôàéë ñòðîêó, ñîäåðæàùóþ áóêâó MakeLetter ïàðàìåòð âûçîâà, è ñòàâèò ïåðåä íèì HTML-ìåòêó, íà êîòîðóþ ñîøëåòñÿ âûçîâ äàííîé áóêâû ïðè ãðóáîì ïîèñêå (ëèñòèíã 4) (ÿ íàïèñàë çäåñü ýòîò òåêñò êîðî÷å, ÷åì îí èñïîëüçóåòñÿ â àëüáîìå). Ïðîöåäóðà MakeItem0(Name) åùå ïðîùå, îíà çàâîäèò â ñëîâàðíîì ñïèñêå ñëîâî, êîòîðîå ïîêà íå ñíàáæåíî ñëîâàðíîé ñòàòüåé ýòî î÷åíü óäîáíî ïðè ðàçðàáîòêå, íàëè÷èå ñëîâà â ñïèñêå «ìîáèëèçóåò» àâòîðà. Ïàðàìåòðîì ïðîöåäóðû ÿâëÿåòñÿ îáúÿñíÿåìîå ñëîâî (ëèñòèíã 5).
Ëèñòèíã 3. MakeLetter('À') MakeItem1('Àêàíò','160','acanthus', 'Àêàíòîâûé óçîð áàçû êîëîííû ä. 17 íà Êîííîãâàðä. áóëüâ.', 'Òðàâÿíèñòîå ðàñòåíèå, . . . îðäåðà.') MakeItem0('Àëåáàñòð') MakeLetter('Ê') MakeItem3('Êàâàëüåð','160','cavalier','160','cav_chess', 'Êàâàëüåð Àííû Èîàííîâíû â Ïåòðîïàâëîâñêîé êðåïîñòè '+ 'è øàõìàòíûé êàâàëüåð.', 'Ôîðòèôèêàöèîííîå . . . è ñîîðóæåíèå.') MakeItem1('Êàìåÿ','160','cameo', 'Êàìåÿ èç ñîáðàíèÿ Ýðìèòàæà (êîëë. ãåðöîãà Îðëåàíñêîãî).', 'Ðåçíîé êàìåíü (ãåììà) . . . èëè íåñêîëüêèõ.') MakeItem2('Êàðèàòèäà','320','cariatide', 'Êàðèàòèäû äîìà íà íàá. ê. Ãðèáîåäîâà.', 'Ñòàòóÿ îäåòîé, . . . aòëàíòû. - Áðîê.-Åôðîí') MakeItem0('Êîðèëüîí') MakeItem1('Êóðäîíåð','160','courtdhonneur', 'Êóðäîíåð Êàïåëëû.', 'Ïàðàäíûé äâîð . . . ñ âîðîòàìè. - ÇÑÏ-19') MakeLetter('Ì') MakeItem1('Ìàñêàðîí','160','maskaron', 'Ìàñêàðîí äîìà íà 8 ëèíèè Â. Î.', 'Âûïóêëûé ëåïíîé . . . è èçÿùåñòâà. - Áðîê.-Åôðîí') MakeItem2a('Ìåàíäð','320','meandre', 'Ìåàíäð àëàãðåê ñ ðåøåòêè Ëèòåéíîãî ìîñòà.', 'Îäèí èç . . . êàê àëàãðåê. - Áðîê.-Åôðîí')
Ëèñòèíã 4. function MakeLetter(Letter) { HtmlStr = ' '; HtmlStr += ''; HtmlStr += ''+Letter+' '; document.write(HtmlStr); }
74
© ÊÎÌÏÜÞÒÅÐÍÛÅ ÈÍÑÒÐÓÌÅÍÒÛ Â ÎÁÐÀÇÎÂÀÍÈÈ. ¹ 2, 2006 ã.
Àëüáîì «Ñàíêò-Ïåòåðáóðã» â ôîðìàòå HTML: 2. Òîëêîâûé ñëîâàðü Îñòàëüíûå ñëîâà îäíîòèïíû, ðàçáåðåì îäíî èç íèõ, à äëÿ îñòàëüíûõ óêàæåì èõ íàçíà÷åíèå. Ïðîöåäóðà MakeItem1(Name,size, Img,Cap,Leg) ñîçäàåò ãèïåðòåêñòîâûé âûçîâ ïðîöåäóðû LoadItem1(Name,size, Img,Cap,Leg), ãäå Name îáúÿñíÿåìîå ñëîâî, size øèðèíà êàðòèíêè, Img ãëàâíàÿ ÷àñòü èìåíè ôàéëà ñ êàðòèíêîé, Cap ïîäïèñü ïîä êàðòèíêîé, Leg ñëîâàðíàÿ ñòàòüÿ (ëèñòèíã 6). Ïðîöåäóðà MakeItem3(Name,size1, Img1,size2,Img2,Cap,Leg) èñïîëüçóåòñÿ äëÿ ñòàòåé ñ äâóìÿ êàðòèíêàìè (ñìûñë ïàðàìåòðîâ ïîíÿòåí). Ïðîöåäóðû MakeItem2 è MakeItem2à îòëè÷àþòñÿ îò MakeItem1 òîëüêî òåì, ÷òî âûçûâàþò äðóãèå ïðîöåäóðû, èíà÷å ôîðìàòèðóþùèå òåñò ñòàòüè è ðàñïîëîæåíèå ïîäïèñè ïîä êàðòèíêîé. Ðàññìîòðèì òåïåðü îñîáåííîñòè ïðîöåäóðû. LoadItem1(Name,size,Img,Cap, Leg) (ëèñòèíã 7).
...çàâîäèò â ñëîâàðíîì ñïèñêå ñëîâî, êîòîðîå ïîêà íå ñíàáæåíî ñëîâàðíîé ñòàòüåé... Ïîñêîëüêó ïðèøëîñü ïèñàòü ïÿòü âàðèàíòîâ ïðîöåäóðû LoadItem, ìû ñäåëàëè ñïåöèàëüíûå ïðîöåäóðû, ôîðìèðóþùèå íà÷àëî âûçîâà è çàïèñü ðåçóëüòàòà (ëèñòèíã 8). Çäåñü èíòåðåñíî ôîðìèðîâàíèå âî âòîðîé ïðîöåäóðå àäðåñà, ïî êîòîðîìó ïèøåòñÿ ãîòîâàÿ ñëîâàðíàÿ ñòàòüÿ: parent.R.document. Íóæíî îáðàòèòü âíèìàíèå òàêæå íà âûçîâ ôóíêöèè open (ýòó âîçìîæíîñòü ÿ äîëãî
Ëèñòèíã 5. function MakeItem0(Name) { HtmlStr = Name + ' '; document.write(HtmlStr); }
Ëèñòèíã 6. function MakeItem1(Name,size,Img,Cap,Leg) { HtmlStr = ''; HtmlStr += Name + ' '; document.write(HtmlStr); }
Ëèñòèíã 7. function LoadItem1(Name,size,Img,Cap,Leg) { HtmlStr = FormHead(Name); HtmlStr += ' |