WWW–мен жұмыс істеу үшін қажетті программалық қамсыздандыру
Жоспар
1. Интернет және WWW 2
2. WWW–мен жұмыс істеу үшін қажетті программалық қамсыздандыру 2
3. HTML -да документтерді сипаттау 3
4. Браузерлер 6
5. Динамикалық Web беттері – CGI қосымшалары 13
6. Delphi–дің Web сервері 14
6.1Web модулін құру 14
6.2 Сервер қосымшасына мысал 17
7. CGI қосымшасын DLL ISAPI–да түрлендіру 19
8.HTML–да формалар мен кестелерді қолдану 20
8.1 Қолданушының жауабын өңдеу 20
8.2 Клиент пен сервер арасындағы мәлімет алмасу 22
9. HTML шаблондарын қолдану 24
10. Интернеттегі деректер қорымен жұмыс 26
10.1 Деректер кестелерін қарау 26
10.2 Деректер жиынтығын редакторлау 29
11. Активті формаларды қолдану 32
11.1 Активті форманы құру 32
1. Интернетпен жұмыс жасаудың қосымша
мүмкіндіктері ... ... ... ... ... .. ..
2.
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ...
3. Қолданылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... .
... ... ... ...
1. Интернет және WWW
Интернет локальды жүйелер және оған қосылған компьютерлерді
біріктіретін физикалық және логикалық жүйе болып табылады. Машиналар
Интернетпен жүйелік протокол арқылы байланысты, жүйелік протокол TCPIP
(алмасуды басқару протоколы жүйе аралық протокол – transmission control
protocol internet protocol). Бұл протокол әртүрлі компьютерлерде,
платформаларда, тілдердегі программаларда жұмыс жасау кезінде бір-бірін
түсінуге мүмкіндік береді. Қосымша программалар TCPIP негізделген және
Интернетте байланыс үшін қолданылатын кез келген протоколды қолдана алады.
World Wide Web (WWW) бүкіләлемдік өрмек – бұл тек қана Интернетте
мәліметтерді жеткізу механизмі ретінде қолданылатын бір қосымша немесе
протоколдар жиыны. WWW-серверлері және қарап шығу программалары
(браузерлер) бір-бірімен жоғарғы деңгейлі протоколдар арқылы пікір
алмасады. Негізінен бұл гипертексті беру протоколы – Hyper Text Transfer
Protocol (HTTP) және файлдарды беру протоколы – File Transfer Protocol
(FTP) – бұлар клиент пен серверге мәліметтермен алмасуға мүмкіндік береді.
HTTP протоколының мәні қарапайым WW қарапайым қарап шығудан кеңірек.
Оны кез келген қосымша программаны басқа бір кез келген қосымша
программамен байланыстыру үшін қолдануға болады. Бұл клиентсервер
жүйесіндегі мәліметтермен алмасудың ең бір қуатты протоколы.
URL - әмбебап ресурстар локаторы (universal resourse location)
қолданылады. Ол келесі түрде бола алады: http:www.borland.com. Егер Web
(браузер) қарап шығу бетінің программасы бұл адресті көрсетсе, онда
Интернеттен сәйкес Web беті браузерге көшіріледі де, клиент оны оқи алады.
HTTP протоколы негізінен транзакцияға негізделген: клиент мәліметтер
порциясына сұраныс береді, сервер сұранысты қанағаттандырып, қосылуды
аяқтайды. Сұранылатын мәліметтер ретінде HTML документтері, көріністер,
қосымша программалар немесе клиентпен серверді “түсінетін” басқа мәліметтер
болуы мүмкін.
2. WWW–мен жұмыс істеу үшін қажетті программалық қамсыздандыру
Сіздің қосымшаларыңызды Интернетке кірмей-ақ қарап шығу үшін дербес
серверді сәйкесінше түрге келтіру керек. Мысалы, егер сіз өз
компьютеріңізде FrontPage пакетін орналастырсаңыз, онда дербес сервер
...\FrontPageWeb каталогында орналасады: Content және Server. Server
каталогында vhttpd32.exe файлы орналасады. Бұл сервер файлы. Қандай да бір
қосымшалардан серверге жүгінер алдында, сол файлды орындауға жіберу керек.
Content каталогында бірінші ретте сізге қажетті cgi-bin каталогы бар
ішкі каталогтар қатары орналасқан. Бұл сіздің серверіңіздің жүзеге асырушы
каталогы. Мұнда сіз өзіңіздің құрған файлдарыңызды серверде орындалуы
қажетті .exe және .dll файлдарын орналыстыра аласыз. Бұл жағдайда осы
каталог қасиеттеріне Allow Scripts or Programs to be Run индекаторын қосу
керек.
FrontPage-ті қою кезінде дербес серверге сіздің компьютероіңіздің аты
енгізіледі. Жиі бұл атау “MyComputer” болады. Өкінішке орай бұл атау
Windows-те қондырылған компьютер атымен сәйкес келе бермейді. Сіз Панель
управления программасын орындай аласыз, одан Сеть пиктограммасын таңдау
арқылы және Идентификация терезесінде ашылған Имя компьютера терезесінде,
мысалы, “MyComputer” атауын бере аласыз. Сонымен бірге сол терезенің
Конфигурация бетінде TCPIP компоненті орнатылғанын тексеріге болады.
Барлығын осы түрде орындаған болсаңыз, онда келесі кезекте cgi-bin
каталогындағы файлдар мен программаларға URL бойынша өте аласыз:
“http:mycomputercgi-binфайл_аты ”. “ http:” браузерлері әдетте адреске
автоматты түрде берілетіндіктен, адрес ретінде “mycomputercgi-
binфайл_атын” беру жеткілікті.
3. HTML -да документтерді сипаттау
HTML(Hypertext Markup Language) тіліндегі Web беттер WWW-да
қолданылатын құжаттарды сипаттау тілінде беріледі. Көптеген редакторлар
.html файлын қарапайым түрде форматталатын текстен құра алады. Web бетін
дайындап қойып қоюға мүмкіндігі бар Microsoft FrontPage жүйесі кең
тараған. Word та соны, бірақ кішігірім мүмкіндіктермен қарапайым
программалық құралдармен жасай алады. Сіз жай ғана түрмен текстің бетін
форматтап алып, оны Сохранить в формате HTML командасымен сақтай аласыз.
HTML документ сипаттау “тегтардан” (операторлардан) құралады. Әрбір
тегтің басы тік жақшаға алынған атымен белгіленеді. Мысалы, тег b немесе
strong қалың шрифтің басын білдіреді. Тегтің аяғын тік жақшаға алынған
тағы да оның атымен беріледі, бірақ атаудың алдында “” қайта қайту слемы
қойылады.
Мысал ретінде кез келген текстік редакторда документ құрыңыз:
HTML
Бұл қалың B шрифты
HTML
Бұл документте b тегіне HTML документінің басын білдіретін html
тегі қосылған. Сізбен құрастырылған тексті “жай ғана текст” ретінде сақтап
қойыңыз. Орындауға қандай да бір браузерді жіберіңіз, мысалы, Internet
Explorer, одан сақталынған файлды ашыңыз. Сіз мына тексті көресіз: “Бұл
қалың шрифт”.
Delphi 6-да HTML документтерін UCP Delphi-ден шықпай дайындап қоюға
болады. Текстік файлды (FileNewOther командасы, New бетіндегі Text
пиктограммасы) ашыңыз және оған берілген тексті енгізіңіз. Оны .html
кеңейтілімін беріп (FileSave as) сақтаңыз. Ал енді код редакторы
терезесінде тышқанның оң жағын басып, контекстік менюден html Editor
командасын таңдаңыз. Егер сіз Internet терезесінде “Open” командасын
берген болсаңыз, онда браузер сіз құрған бетті ашып беріп, сіз оның қандай
болғанын көре аласыз. Delphi 6 Интернет үшін қосымшаны құруды жеңілдететін
өте жақсы инструмент!
Күрделілеу мысал келтірейік:
html
title Delphi бойынша жаңа кітаптар туралы информацияtitle
body
h1 Бином басылымды жаңа кітаптар h1
hr
p А.Я.Архангельский кітабы жарыққа шығуға дайындалу үстіндеp
p’’bDelphi 6-дағы программалау b’’p
p’’b123-45-67 телефоны арқылы звондаңыз p
hr
a HREF= “http:www.Binom.ru”
p Егер сізді баға туралы информация қызықтырса – мында басыңыз
ap
body
html
Документті қандай да бір каталогте сақтаңыз, мысалы,
d:\test\HTML.html. Орындауға қандай да бір браузерді жіберіңіз, мысалы
Internet Explorer, одан сақталынған файлды ашыңыз. 1-суретте Internet
Explorer-да бұл документті қарап шығу нәтижесі көрсетілген.
1-сурет
Келтірілген тексте әлі де талқыланбаған тег қатары енгізілген. title
тегі браузер терезесіндегі тақырып жолындағы тексті анықтайды. body тегі
документтің негізгі текстін анықтайды.тегі бірінші деңгейдегі тақырыптың
форматын береді. h1 тегі текстің бір бөлігін екіншісінен ажырататын сызық
түріндегі жолды береді. p тегі келесі абзацты анықтайды.
a тегі басқа бір документке жүгіністі анықтайды. a символдарынан
кейін HREF кілттік сөзі енгізіледі, ал содан соң теңдік белгісінен кейін
тырнақшада URL адресі мына түрде беріледі: “http: адрес” . Егер документ
Интернетке шықпай-ақ, локальды қолдануға негізделсе, онда URL - дың орнына
қайсысына көшуге қажетті документ файлын көрсетуге болады. Файл “file:
файл аты” форматында көрсетіледі. Мысалы:
a HREF= “file:D:TestHTML2.html”
Жүгіністі қысқаша беруге болады. Мысалы жоғарыда келтірілген мысалды
мынаған дейін қысқартуға болады:
a HREF= “HTML2.html”
Егер HTML2.html документі берілген жүгіністі құраған документ
орналасқан каталогта болса, онда бәрі жақсы орындалады: браузер сол
каталогты алады да, тек қана файл атын “HTML2.html”-ға өзгерте қояды. Егер
жүгініс мына түрде болса:
a HREF= “TestHTML2.html”
Онда жүгінісі бар документ орналасқан диск сол күйінде қала береді.
Сервер адресін құрайтын URL-да да сәйкес қысқартылған жүгіністерді
қолдануға болады. Егер шақырылатын документ жүгінісі бар документ сияқты
бірдей каталогты серверде орналасатын болса, онда жүгіністе “http:”және
толық адресті жазбауға болады, тек документ атын көрсету керек.
Жұмыс кезінде Интернетпен байланыспай-ақ жүгіністерді тексеру үшін
тағы бір документ құрыңыз, мысалы, келесі:
html
title информация о ценах
body
h1 цены h1
hr
p цены договорные p
hr
a HREF = “file:D:TESTHTML1.html”
pb основной текст bap
b
body
html
HTML2.html ретінде d:\tests каталогында сақтаңыз. Ал бірінші
файлға 1-ші мысалда көрсетілгендей осы файлға жүгіністі беріңіз. Сонда
HTML1.html файлын ашып сіз өзіңіздің екі документіңізде серуендей аласыз.
4. Браузерлер
Delphi көмегімен қарапайым браузер құрайық. Ол үшін жаңа қосымшаны
ашыңыз да, Internet бетінен WebBrowser компонентін формаға көшіріңіз. Оны
Align қасиетіндегі alClient –ті беру арқылы барлық формаға жайыңыз. Бұған
дейін біз дайындап қойған документті ғана қарап шығу мүмкіндігіне ие болу
үшін оқиғаларды өңдеушіде OnCreate формасында мына операторды жахғанымыз
жеткілікті:
WebBrowser1. Navigate (‘D:\TEST\HTML1. html );
Бұл оператор Navigate әдісімен көрсетілген файлды немесе URL адресін
іздейді және браузерге керекті документті енгізеді.
Бұл тым жіңішке бағытталған браузер болып шығады. Басқа да
документтерді қарап шығу мүмкіндігі болу үшін қосымшаға OpenDialog диалогын
қосайық. Оның Filter қасиетіне мынаны енгіземіз:
HTML(*.html,*.htm)файлдары *.html;
*.htm
барлық файлдар
*.*
Қосымшаға Открыть бөлігі бар қосымшаны енгізіңіз де, тышқанды екі рет
басу арқылы оның процедурасын жазыңыз:
if (OpenDialog1.Execute)
then WebBrowser1.Navigate(OpenDialog1.Fi leName);
Өзіңіздің қосымшаңызды орындауға жіберіңіз. Сонда сіздің браузеріңіз
бұған дейін құрылған документке жүгінеді де, сіз оны қарап шыға аласыз (2-
сурет). Ал сіздің менюіңіздің Открыть менюі арқылыөз компоненттеріңіздегі
кез келген HTML документтерін ашып, оларда серуендей аласыз.
2-сурет
WebBrowser
компонентінде
құрылған
қарапайым
браузер
Біздің браузер, әрине, қарапайым. Оны жүзеге асыру үшін сізге тек қана
екі оператор қажет болады. Бірақ бұл браузердің мүмкіндіктері әлдеқайда
жоғары. Оның көмегімен, мысалы, қандай да бір .doc кеңейтілуімен Word
документін ашып көріңіз. Сіз төмендегіні көресіз(3-сурет): бұл документті
жүгінуге жіберумен қатар сіздің қатысуынсыз Word-ты шақырып, оның көмегімен
жүгініске түскен тексті электронды документ түрінде береді. Мұнда тексті
қарап шығумен қатар, оны редакторлауға болады.
3-сурет
Жүгілген
Word документі
бар браузер
Егер сіз стандартты кеңейтіліммен басқа бір файлды ашсаңыз, сіз
браузердің өз кеңейтілімімен байланысқан кез келген программаны файлды
ашуда көмекке шақыра алатынын көресіз. Мысалы, .bmp кеңейтіліммен файлдың
ашылуы бөлек терезеде Microsoft Paint программасын шақырып, онда сол
көрініс файлын береді. Егер сіз Excel документін ашсаңыз, онда ол браузерге
Word документіндей жүгінуге жіберіледі. Сіз тіпті Delphi проектін аша
аласыз, сонда Delphi өңдеуші ортасы осы жүгінілген проектімен шақырылады.
Сонымен қатар кез келген .exe орындалатын файлын шақыра алады.
Көп жағдайларда программаны жүзеге асырар алдында, браузердің
диалогтік терезесінде (4-сурет) файлмен не істеу қажет екенін көрсете
аласыз, мысалы файлды ашу, сіз көрсеткен атпен, каталогпен дискіде сақтау.
Егер сіз файлды ашуды таңдасаңыз, файлдың кеңейтіліміне сәйкес Windows
программасы шақырылады. Ал егер сіз сақтауды таңдасаңыз, онда сақталынатын
файлдың аты мен каталогын көрсетуге болатын сақтаудың стандартты диалогын
көресіз. Бұл сізге өз компьютеріңізден Интернеттен файлдарды көшіруге
мүмкіндік береді.
4-сурет
Жүзеге асырылуға
қажет операция
туралы сұраныс
терезесі
Енді браузерімізге қосымша функцияларды қосайық. Формаға Cool Bar
панелін қою. Cool Bar панеліне Tool Bar инструменталды панелін көшіріңіз.
Show Captions қасиетінде true–ді, пернелер үстінде жазбаларды көру үшін
қойыңыз. Панельге тышқанның оң жағын басу арқылы екі пернені енгізіңіз.
Оның біреуін – TB Back, ал екіншісін TB Forward деп атaңыз. Бұл сәйкесінше
қарап шыққан документтер ішінен алдыңғысына және келесісіне көшіретін
пернелер болады. Олардың біріншісіне (Caption) “Назад” жазбасын беріп,
екіншісіне – “Вперед”. Екі перне үшін де Enabled қасиетінде false тұруы
қажет, себебі қосымшаны ашу кезінде ешқайда көшу қажет емес. Қосымшаға
Image List пиктограммаларын қоса аласыз.
Cool Bar панеліне Combo Box “түсіп қалатын тізім” компонентін
көшіріңіз. Бұл тізімді редакторлау терезесіне URL немесе HTML документінің
файл атын тере аласыз, ал “түсіп қалатын тізімнен” бұған дейін қарастырылып
келген документтердің біреуін таңдауға болады. “Түсіп қалатын тізімді”
CBURL деп атаңыз.
Cool Bar панелі үшін оның Auto Size және Show Text қасиеттерін
true–ға қойыңыз. Біріншісі панельде орналасқан компоненттерді қолданушы
көшіру кезінде панельдің өлшемдерін автоматты өзгертуді қамтамасыз етеді.
Ал екіншісі текстің жолдарының көрініп тұратындығын қамтамасыз етеді.
Object Inspector терезесінде Bands қасиетіндегі көп нүктені екі рет басып,
CBURL орналасқан екінші жол үшін ашылатын жол редакторының терезесіне
“Адрес:” (Text қасиетіне) текстін беріңіз.
Панель формасына Status Bar жағдайын көшіріңіз. Оның Simple Text
қасиетін true–ға қойыңыз. Нәтижесінде сіздің қосымшаңыз 5-суретте
көрсетілген түрге келеді (суретте қосымшаны орындауға жіберген кездегі
көрінісі).
5-сурет
Web оқу бетінің
жетілдірген
браузері
Unit Unit1;
Interface
...
type
Tform = class(TForm)
...
procedure FormCreste(Sender:TObject);
procedure CBURLClick(Sender:TObject);
procedure CBURLKeyDown(Sender:TObject; var Key: Word; Shift:
TShiftState);
procedure WebBrowser1BeforeNavigate2 (Sender: TObject; const
pDisp: IDispatch;
var URL, Flags,
TargetFrameName, PostData, Headers:
OleVariant; var
Cansel:WordBool);
procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
procedure MOpenClick(Sender: TObject);
procedure TBBackClick(Sender: TObject);
procedure TBForwardClick(Sender: TObject);
private
{Private declaration}
procedure Load;
public
{Public declarations}
end;
var
Form: Tform1;
implementation
{$R*.DFM}
procedure TForm1.FormCreat(Sender: TObject);
begin
URL
CBURL.Text:= ’D:\TEST\HTML1.html’;
Load;
end;
procedure TForm1.Load;
begin
URL CBURL.Text
WebBrowser1.Navigate(CBURL.Text);
end;
procedure TForm1.CBURLClick(Sender: TObject);
begin
CBURL
Load;
end;
procedure TForm1.CBURLKeyDown(Sender: TObject; var Key: Word;
Shift:TShiftState);
begin
Enter CBURL
if Key = VK_Return
then Load;
end;
procedure TForm1. WebBrowser1.Navigate2(Sender: TObject; const pDisp:
IDispatch;
var URL, Flags,
TargetFrameName, PostData, Headers:
OleVariant; var
Cansel:WordBool);
var
Index: integer;
begin
CBURL
Index:=CBURL.Items.IndexOf(URL);
if Index=-1
then begin
CBURL.Items.Insert(0,URL);
CBURL.Items.Index:=0;
end
else CBURL.Items.Index:=Index;
TBForward TBBack
if CBURL.Items.Index0
then TBForward.Enabled:=true
else TBForward.Enabled:=false;
if CBURL.Items.Index CBURL.Items.Count-1
then TBBack.Enabled:=true
else TBBack.Enabled:=false;
end;
procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
if(Progress0)
then StatusBar1.SimpleText:=Format(‘Docu ment %s: %d kbyte
%d’,
[WebBrowser1.LocationName, Progress div 1024, ProgressMax div
1024]);
end;
procedure MOpenClick(Sender: TObject);
begin
if (OpenDialog1.Execute)
then begin
CBURL.Text:= OpenDialog1.FileName;
Load;
end;
end;
procedure TBBackClick(Sender: TObject);
begin
CBURL.Text:= CBURL.Items[CBURL.Items.Index+1];
Load;
end;
procedure TBForwardClick(Sender: TObject);
begin
CBURL.Text:= CBURL.Items[CBURL.Items.Index-1];
Load;
end;
end.
Келтірілген кодты қарап шығайық. Оған Load функция – утилата
енгізіледі. Ол Navigate әдісімен файлдың браузерін немесе Web бетінің
(CBURL тізімінің терезесінде көрсетілген) URL-іне жүктейді.
FromCreat функциясы OnCreat формалы оқиғаларды өңдеуші болып табылады.
Ол CBURL тізімінің текстіне қосымша орындалуының басталу моментінде ашылу
керек Web -документ терезесінің URL -ін немесе файл атын жазып алады.
Егер сіз автоматты түрде бірінші моментте ешқандай документті ашқыңыз
келмесе, онда ешқандай OnCreat оқиға өңдеушіні жазбай-ақ қоюға болады.
Егер сіз бірінші моментте Web бетін ашқыңыз келсе, онда CBURL тізімінің
текстіне оның -ін енгізе аласыз. Мысалы:
CBURL.Text:= ‘http:www.Borland.comdelphiinde x.html’;
FromCreat функциясында CBURL тізімінің текстін беруден кейін бұған
дейін сипатталған Load утилитын шақыру жалғасады. Осы утилита CBURL
тізімінде қолданушымен адресті таңдау кезінде (CBURLClick функциясы) және
сол тізімнің терезесінде қолданушымен Enter пернесін басу кезінде
(CBURLKeyDown функциясы) шақырылады.
WebBrowser1BeforeNavigate2 функциясы браузердің жаңа документке көшу
алдында басталатын WebBrowser компонентісінің OnBeforeNavigate2 оқиға
өңдеушісі болып табылады. Ол бұл көшудің пайда болуының себебіне тәуелсіз
басталады: Navigate әдісінің орындауымен немесе браузер терезесінде жүгіну
арқылы көшу. Өңдеушіге берілетін URL параметрі көшуді жүзеге асыратын адрес
болып табылады. Cancel параметрі, егер сіз оған false мәнін берсеңіз, онда
ол жаңа документке көшуді үзіп тастайды.
WebBrowser1BeforeNavigate2 өңдеушісінде ең алдымен CBURL тізіміндегі
URL-дің IndexOf әдісімен жаңа индексі анықталады. Егер IndexOf әдісі 1-ді
қайтарса, онда тізімде берілген адрес бұрын болмады. Бұл жағдайда ол Insert
әдісімен тізімнің бірінші позициясына (0 индексімен) қосылады және тізім
индексі 0-ге қойылады. Егер жаңа адрес тізімде болған болса, онда тізім
индексі сол мәнге тең етіп қойылады. Екі жағдайда да тізім индексінің
өзгертілуі оның терезесінде жаңа адрестің көруін қамтамасыз етеді.
Әрі қарай WebBrowser1BeforeNavigate2 өңдеушісінде мүмкін немесе мүмкін
емес TBForward және TBBack новигациялау пернелерін қояды, ол индекс мәнінің
қандай екеніне және тізімде алдыңғы немесе кейінгі документтердің
бар–жоғына тәуелді.
WebBrowser1ProgressChange функциясы OnProgressChange браузерінің оқиға
өңдеушісі болып табылады. Бұл оқиғалар беттерді браузерге жүктеу кезіндегі
уақытта өтеді. Өңдеушіге Progress параметрлері – жүктелген документ көлемі
мен ProgressMax документтің толық көлемі беріледі. Осылайша үлкен
документтерді жүктеу ретін көрсету мүмкіндігі пайда болады. Жүктеу
тоқтатылған кезде Progress мәні 1-ге тең болып қалады.
WebBrowser1ProgressChange өңдеушісінде LocationName – URL-дан алынған
жүктелетін документ аты қасиеті қолданылады.
MOpenClick функциясы Открыть менюіндегі шерту өңдеушісі болып
табылады. Қолданушымен таңдалынған файлдың аты CBURL тізімнің Text
қасиетіне енгізіледі, содан кейін Load утилитасы шақырылады.
TBBackClick және TBForward функциялары Назад және Вперед пернелерін
басуды өңдеуші болып табылады. Оларда CBURL тізімінің тексті ретінде
сәйкесінше келесі немесе оның алдыңдағы ағымдағы элементке қатысты тізімнің
элементі беріледі.
Орындауға өзіңіздің қосымшаңызды жіберіңіз. Орындау кезінде оның
көрінісі жоғарыда 3-суретте көрсетілген. Қолданушы Адрес тізімінің
терезесіне файлдың атын немесе қалаған Web бетінің URL-іне жүгіністі негізе
алады. Enter пернесін басу арқылы сәйкесінше документ ашылады. “Түсіп
қалатын тізімнен” бұған дейін ашылған кез келген беттің адресін таңдау
арқылы оларға оңай көше аласыз. Открыть менюінің командасымен шақырылатын
диалогтан файлдың атын таңдау арқылы кез келген HTML документін ашуға
болады. Инструменттер панелінің орналасу қалпын өзгертуге де болады. Бір
сөзбен, сіз өте жақсы браузер құрдыңыз. Сіздің қосымшаңызға әртүрлі қосымша
функцияларды енгізу қиын емес. Сонда сіздің браузер Internet Explorer-ден
айнымайды. Осындай мысал Delphi-ге жатады. Ол мына каталогта орналасқан:
...Delphi6\Demos\Coolstuf
5. Динамикалық Web беттері – CGI қосымшалары
Cтатикалық Web беттер өзгертілінбейді, оларды алдын-ала кез келген Web
редакторының көмегімен құруға болады. Бұлардан динамикалық беттер қызығырақ
болып келеді. Бұл жағдайда серверге динамикалық сұраныс беріледі, сервер
оны өңдейді, динамикалық түрде HTMLдокументін құрады да оны қолданушыға
жібереді.
Динамикалық бетті негізінен екі әдіспен құруға болады: динамикалық
документті құраушы орындалатын программаны сервермен шақыру немесе клиентке
жауап беретін DLL библиотекасына серверді қарату. CGI және WIN-CGI
интерфейстер көмегімен .exe прогаммаларын шақырумен байланысты бірінші жолы
жүзеге асырылады. Ал ISAPI және NSAPI интерфейстер көмегімен DLL-мен
байланысқан екінші жолы жүзеге асырылады.
CGI (Common Gteway Interface)қосымшалары серверден стандартты негізу
арқылы жіберілетін информацияны алады. Қолданушыға жіберуі керек құрылатын
HTML документі стандартты енгізуге қосымшасымен орындалады.
Қарапайым жағдайда CGI қосымшасы консолды программа ретінде жүзеге
асырыла алады. Аз ғана тәжірибе жасайық. Консолды программа
құрамыз(FileNewOther командасы, бетіндегі Console Application
пиктограммасы):
Program PTime;
{$APPTYPE CONSOLE}
uses SusUtils;
Var Days:array[1..7] of stings = (‘Воскресенье’, ‘Понедельник’,
‘Вторник’, ‘Среда’,
‘Четверг’,
‘Пятница’, ‘Суббота’);
begin
writeln(‘HTML’);
writeln(‘H1 Здравствуйте! H1HR’);
writeln(‘Сегодня’+DateToStr(Date)+’ (‘+Days[DayOfWeek(Date)]+’)HR’);
writeln(FormatDateTime(‘Московское время h час m мин.’,Time));
end;
Бұл программа клиентпен сәлемдеседі және сол кездің датасын аптаның
күнін және уақыты туралу айтады. Текст writeln процедураларымен стандартты
шығару, яғни экранға енгізіледі.
Программаны PTime атымен сақтап, компиляцияға жіберіңіз. Егер сіз
қарапайым түрмен PTime.exe құрылған модульді орындауға жіберсеңіз, DOS
терезесі ашылғанда онда программасымен енгізілген текст шығады. Сіздің
серверіңіздің орындалатын каталогына PTime.exe модулін орналастырыңыз (бұл
FrontPage-тен келетін персоналды серверін қолдану каталогы ...\ FrontPage
Web\Content\cgi-bin). Мысалы, сіз 3-бөлімде құрған браузерге
“mycomputercgi-binptime.exe” түрлі URL-ді енгізіңіз. Сіз 6-суреттегідей
көріністі көресіз. Стандартты шығаруға программа шығаратын текст HTML
тексті ретінде қабылданып, клиентке документ ретінде қайтарылады.
6-сурет
программасы ретінде
қолданылатын
консолды қосымша
ISAPI (Microsoft фирмасының Internet серверінің API-ді
пайдаланушылар) және NSAPI (Natscape фирмасының Natscape серверінің API
-ді пайдаланушылар) программалық интерфейстер серверге өзінің ішіндегі
процестер кеңістігінде мақсаттарды орындауға, әрбір динамикалық сұраныс
кезінде нәтижесінде жаңа процесс болдырмауға мүмкіндік береді.
6. Delphi–дің Web сервері
6.1Web модулін құру
CGI программасымен құрылатын динамикалық бет әрбір орындау кезінде
жаңа текстен (жаңа дата мен уақыттан) тұрады. Бірақ бұл бет өте қарапайым,
ол клиент пен сервер арасындағы қарым-қатынас пробремаларын шешуге
мүмкіндік бермейді. Delphi – де мұндай инструмент бар.
Delphi – де серверлік қосымшалар TWebModule типті компонентісі бар Web
модулі негізінде құрылады. Бұл компонент басқа да компоненттер тізімі үшін
контейнер болып қызметін атқара алады. TWebModule типті сервер
компоненталар палитрасында болмайды. Оны проектирлеу үшін New бетінде
NewItems диалогтік терезесінен Web Server Application пиктограммасын таңдау
керек немесе FileNewOther командасын орындау керек. Сіздің алдыңызда
модуль типін көрсету керек терезе ашылады (7а-сурет). CGI модулін
орындайтын CGI Stand-alone executable типін таңдаңыз. Осыдан кейін Delphi
сәйкесінше модульдің Код Редакторында алдын-ала дайындық жасап, сонда сіз
модуль терезесін көресіз.
Delphi6-да ол беттерді құратын мәліметтер қорымен байланысты жүзеге
асыратын компоненталарды орналастыра алатын бос терезе (7б-сурет). бұл
терезенің контекстік менюінен біз жұмыс істейтін әрекеттер редакторын
шақыра аламыз.
Object Inspector терезесінде сіз Web модулі қасиеттерін көре аласыз.
Модульдің негізгі қасиеті – Actions. Бұл TwebItem объектілер типті
әрекеттер жиынтығы. Бұл тізім Object Inspector терезесіндегі Actions
қасиетінің қасындағы көп нүктелі пернеге басу арқылы шақырылатын арнайы
әрекеттер редакторымен толтырылады (8-сурет). Ашылған терезедегі Add New
(8суреттің сол жағында) жылдам пернесімен жаңа әрекетті негізе аласыз,
DeleteSelected (сол жақтан екінші) пернесімен белгіленген әрекетті өшіре
аласыз, стелкалары бар пернелер әрекеттердің орналасу тізбегін өзгерте
аласыз.
7-сурет
модуль типін (а)
және (б) Delphi модуль
терезесін таңдау
8-сурет
Оқиғалар
редакторының
терезесі
Әрбір әрекет – TwebActionItem өз қасиеттері, әдістері, оқиғалары бар
типті объект. Бір әрекетті таңдау арқылы Object Inspector –де оның
қасиеттері көре аласыз. Әрекеттің негізгі қасиеті – PathInfo. Оның алатын
орнын түсіну үшін URL туралы бірнеше қосымша мәліметтер беруіміз керек:
http:www.myserv.comp1serv1.exe action1?value=5&Resp=Yes
URL (HTTP) протоколын беруден басталады. Әрі қарай сервер адресі
(“www.myserv.com”) беріледі. Одан кейін серверлі қосымша аты мен оған жолы
(“p1serv1.exe”) көрсетіледі. Сосын слештің соңғы белгісінен бастап сұрақ
белгісіне дейін PathInfo деп аталатын URL-дің қажетті емес бөлігі жазылады
(“action1”). Бұл информация серверлік қосымшамен информацияны өңдеу әдісін
анықтайды. Мысалы, берілген мәліметті өңдеуге керек процедура беріле алады.
Cұрақ белгісінің символынан кейін сұраныс – Query деп аталатын URL-дің
бөлігі жалғасады. Әдетте ол идентификатор, олардың мәнін білдіретін және
теңдік символдарынан құралған тізімді береді. Тізімнің бөлек элементтері
бір-бірінен “&” символы арқылы бөлінеді. Жоғарыда келтірілген мысалда “5”
мәнді value аты және “Yes” мәнді Resp аты енгізілген. Бұл информация өңдеу
үшін серверлік қосымшаның процедурасына беріледі.
PathInfo қасиеті URL сұранысының PathInfo элементімен сәйкес келеді.
Сұранысты алу кезінде іздеу әрекеті жүреді. Егер мұндай әрекет табылып, ол
OnAction оқиға өңдеушісіне ие болса, онда осы өңдеушіде жазылған
операторлар орындалады. Өңдеуші тақырыбы мынадай түрде болады:
procedure TWebModule1.WebModule WebAction Item2Action(
Sender: TObject; Request: TWebReqest;
Response: TWebResponse; var Handled: Boolean);
Request параметрі TWebRequest типті сұраныс объектісін анықтайды. Бұл
объектінің негізгі қасиеті Query – URL сұранысының Query бөлігін беретін
string типті жол. Жоғарыда келтірілген URL мысалында ол мынадай түрге ие:
“value=5&Resp=Yes”. Сұраныс объектісінің басқа қасиеті TStrings типті
QueryFields. Бұл қасиет жолдық тізім түрінде беріледі. Келтірілген мысалда
ол екі жолды құрайды: “value=5” және “Resp=Yes”. Осылайша QueryFields
объектісі арқылы оқиға өңдеуші информация сұранысында бұл мәліметтерді
алып, пайдалануға мүмкіндік алады. Сұраныстың параметрлер мәндерін
Values[имя] әдісі арқылы қарап шығуға болады. Мысалы, жоғарыда келтірілген
мысалда Request.QueryFields.Values[‘Resp’] мәні жолын қайтарып береді.
Response параметрі типті жауап объектісін анықтайды. Бұл объектінің
негізгі қасиеті Content – HTML текст ретінде типті қолданушыға жауап.
Handled параметрі жауап аяқталғанын немесе Response объектісі қосымша
басқа әрекеттермен ұрылу керектігін анықтайды. Егер Response құрылуын басқа
әрекеттер аяқтауы керек болса, өңдеушіде false–ке тең Handled мәні
беріледі. Ал егер жауаппен басқа әрекеттер айналысса, оған алдыңғы
әрекеттермен енгізілген тексті қамтитын Content қасиеті бар Response
объектісі ... жалғасы
1. Интернет және WWW 2
2. WWW–мен жұмыс істеу үшін қажетті программалық қамсыздандыру 2
3. HTML -да документтерді сипаттау 3
4. Браузерлер 6
5. Динамикалық Web беттері – CGI қосымшалары 13
6. Delphi–дің Web сервері 14
6.1Web модулін құру 14
6.2 Сервер қосымшасына мысал 17
7. CGI қосымшасын DLL ISAPI–да түрлендіру 19
8.HTML–да формалар мен кестелерді қолдану 20
8.1 Қолданушының жауабын өңдеу 20
8.2 Клиент пен сервер арасындағы мәлімет алмасу 22
9. HTML шаблондарын қолдану 24
10. Интернеттегі деректер қорымен жұмыс 26
10.1 Деректер кестелерін қарау 26
10.2 Деректер жиынтығын редакторлау 29
11. Активті формаларды қолдану 32
11.1 Активті форманы құру 32
1. Интернетпен жұмыс жасаудың қосымша
мүмкіндіктері ... ... ... ... ... .. ..
2.
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ...
3. Қолданылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... .
... ... ... ...
1. Интернет және WWW
Интернет локальды жүйелер және оған қосылған компьютерлерді
біріктіретін физикалық және логикалық жүйе болып табылады. Машиналар
Интернетпен жүйелік протокол арқылы байланысты, жүйелік протокол TCPIP
(алмасуды басқару протоколы жүйе аралық протокол – transmission control
protocol internet protocol). Бұл протокол әртүрлі компьютерлерде,
платформаларда, тілдердегі программаларда жұмыс жасау кезінде бір-бірін
түсінуге мүмкіндік береді. Қосымша программалар TCPIP негізделген және
Интернетте байланыс үшін қолданылатын кез келген протоколды қолдана алады.
World Wide Web (WWW) бүкіләлемдік өрмек – бұл тек қана Интернетте
мәліметтерді жеткізу механизмі ретінде қолданылатын бір қосымша немесе
протоколдар жиыны. WWW-серверлері және қарап шығу программалары
(браузерлер) бір-бірімен жоғарғы деңгейлі протоколдар арқылы пікір
алмасады. Негізінен бұл гипертексті беру протоколы – Hyper Text Transfer
Protocol (HTTP) және файлдарды беру протоколы – File Transfer Protocol
(FTP) – бұлар клиент пен серверге мәліметтермен алмасуға мүмкіндік береді.
HTTP протоколының мәні қарапайым WW қарапайым қарап шығудан кеңірек.
Оны кез келген қосымша программаны басқа бір кез келген қосымша
программамен байланыстыру үшін қолдануға болады. Бұл клиентсервер
жүйесіндегі мәліметтермен алмасудың ең бір қуатты протоколы.
URL - әмбебап ресурстар локаторы (universal resourse location)
қолданылады. Ол келесі түрде бола алады: http:www.borland.com. Егер Web
(браузер) қарап шығу бетінің программасы бұл адресті көрсетсе, онда
Интернеттен сәйкес Web беті браузерге көшіріледі де, клиент оны оқи алады.
HTTP протоколы негізінен транзакцияға негізделген: клиент мәліметтер
порциясына сұраныс береді, сервер сұранысты қанағаттандырып, қосылуды
аяқтайды. Сұранылатын мәліметтер ретінде HTML документтері, көріністер,
қосымша программалар немесе клиентпен серверді “түсінетін” басқа мәліметтер
болуы мүмкін.
2. WWW–мен жұмыс істеу үшін қажетті программалық қамсыздандыру
Сіздің қосымшаларыңызды Интернетке кірмей-ақ қарап шығу үшін дербес
серверді сәйкесінше түрге келтіру керек. Мысалы, егер сіз өз
компьютеріңізде FrontPage пакетін орналастырсаңыз, онда дербес сервер
...\FrontPageWeb каталогында орналасады: Content және Server. Server
каталогында vhttpd32.exe файлы орналасады. Бұл сервер файлы. Қандай да бір
қосымшалардан серверге жүгінер алдында, сол файлды орындауға жіберу керек.
Content каталогында бірінші ретте сізге қажетті cgi-bin каталогы бар
ішкі каталогтар қатары орналасқан. Бұл сіздің серверіңіздің жүзеге асырушы
каталогы. Мұнда сіз өзіңіздің құрған файлдарыңызды серверде орындалуы
қажетті .exe және .dll файлдарын орналыстыра аласыз. Бұл жағдайда осы
каталог қасиеттеріне Allow Scripts or Programs to be Run индекаторын қосу
керек.
FrontPage-ті қою кезінде дербес серверге сіздің компьютероіңіздің аты
енгізіледі. Жиі бұл атау “MyComputer” болады. Өкінішке орай бұл атау
Windows-те қондырылған компьютер атымен сәйкес келе бермейді. Сіз Панель
управления программасын орындай аласыз, одан Сеть пиктограммасын таңдау
арқылы және Идентификация терезесінде ашылған Имя компьютера терезесінде,
мысалы, “MyComputer” атауын бере аласыз. Сонымен бірге сол терезенің
Конфигурация бетінде TCPIP компоненті орнатылғанын тексеріге болады.
Барлығын осы түрде орындаған болсаңыз, онда келесі кезекте cgi-bin
каталогындағы файлдар мен программаларға URL бойынша өте аласыз:
“http:mycomputercgi-binфайл_аты ”. “ http:” браузерлері әдетте адреске
автоматты түрде берілетіндіктен, адрес ретінде “mycomputercgi-
binфайл_атын” беру жеткілікті.
3. HTML -да документтерді сипаттау
HTML(Hypertext Markup Language) тіліндегі Web беттер WWW-да
қолданылатын құжаттарды сипаттау тілінде беріледі. Көптеген редакторлар
.html файлын қарапайым түрде форматталатын текстен құра алады. Web бетін
дайындап қойып қоюға мүмкіндігі бар Microsoft FrontPage жүйесі кең
тараған. Word та соны, бірақ кішігірім мүмкіндіктермен қарапайым
программалық құралдармен жасай алады. Сіз жай ғана түрмен текстің бетін
форматтап алып, оны Сохранить в формате HTML командасымен сақтай аласыз.
HTML документ сипаттау “тегтардан” (операторлардан) құралады. Әрбір
тегтің басы тік жақшаға алынған атымен белгіленеді. Мысалы, тег b немесе
strong қалың шрифтің басын білдіреді. Тегтің аяғын тік жақшаға алынған
тағы да оның атымен беріледі, бірақ атаудың алдында “” қайта қайту слемы
қойылады.
Мысал ретінде кез келген текстік редакторда документ құрыңыз:
HTML
Бұл қалың B шрифты
HTML
Бұл документте b тегіне HTML документінің басын білдіретін html
тегі қосылған. Сізбен құрастырылған тексті “жай ғана текст” ретінде сақтап
қойыңыз. Орындауға қандай да бір браузерді жіберіңіз, мысалы, Internet
Explorer, одан сақталынған файлды ашыңыз. Сіз мына тексті көресіз: “Бұл
қалың шрифт”.
Delphi 6-да HTML документтерін UCP Delphi-ден шықпай дайындап қоюға
болады. Текстік файлды (FileNewOther командасы, New бетіндегі Text
пиктограммасы) ашыңыз және оған берілген тексті енгізіңіз. Оны .html
кеңейтілімін беріп (FileSave as) сақтаңыз. Ал енді код редакторы
терезесінде тышқанның оң жағын басып, контекстік менюден html Editor
командасын таңдаңыз. Егер сіз Internet терезесінде “Open” командасын
берген болсаңыз, онда браузер сіз құрған бетті ашып беріп, сіз оның қандай
болғанын көре аласыз. Delphi 6 Интернет үшін қосымшаны құруды жеңілдететін
өте жақсы инструмент!
Күрделілеу мысал келтірейік:
html
title Delphi бойынша жаңа кітаптар туралы информацияtitle
body
h1 Бином басылымды жаңа кітаптар h1
hr
p А.Я.Архангельский кітабы жарыққа шығуға дайындалу үстіндеp
p’’bDelphi 6-дағы программалау b’’p
p’’b123-45-67 телефоны арқылы звондаңыз p
hr
a HREF= “http:www.Binom.ru”
p Егер сізді баға туралы информация қызықтырса – мында басыңыз
ap
body
html
Документті қандай да бір каталогте сақтаңыз, мысалы,
d:\test\HTML.html. Орындауға қандай да бір браузерді жіберіңіз, мысалы
Internet Explorer, одан сақталынған файлды ашыңыз. 1-суретте Internet
Explorer-да бұл документті қарап шығу нәтижесі көрсетілген.
1-сурет
Келтірілген тексте әлі де талқыланбаған тег қатары енгізілген. title
тегі браузер терезесіндегі тақырып жолындағы тексті анықтайды. body тегі
документтің негізгі текстін анықтайды.тегі бірінші деңгейдегі тақырыптың
форматын береді. h1 тегі текстің бір бөлігін екіншісінен ажырататын сызық
түріндегі жолды береді. p тегі келесі абзацты анықтайды.
a тегі басқа бір документке жүгіністі анықтайды. a символдарынан
кейін HREF кілттік сөзі енгізіледі, ал содан соң теңдік белгісінен кейін
тырнақшада URL адресі мына түрде беріледі: “http: адрес” . Егер документ
Интернетке шықпай-ақ, локальды қолдануға негізделсе, онда URL - дың орнына
қайсысына көшуге қажетті документ файлын көрсетуге болады. Файл “file:
файл аты” форматында көрсетіледі. Мысалы:
a HREF= “file:D:TestHTML2.html”
Жүгіністі қысқаша беруге болады. Мысалы жоғарыда келтірілген мысалды
мынаған дейін қысқартуға болады:
a HREF= “HTML2.html”
Егер HTML2.html документі берілген жүгіністі құраған документ
орналасқан каталогта болса, онда бәрі жақсы орындалады: браузер сол
каталогты алады да, тек қана файл атын “HTML2.html”-ға өзгерте қояды. Егер
жүгініс мына түрде болса:
a HREF= “TestHTML2.html”
Онда жүгінісі бар документ орналасқан диск сол күйінде қала береді.
Сервер адресін құрайтын URL-да да сәйкес қысқартылған жүгіністерді
қолдануға болады. Егер шақырылатын документ жүгінісі бар документ сияқты
бірдей каталогты серверде орналасатын болса, онда жүгіністе “http:”және
толық адресті жазбауға болады, тек документ атын көрсету керек.
Жұмыс кезінде Интернетпен байланыспай-ақ жүгіністерді тексеру үшін
тағы бір документ құрыңыз, мысалы, келесі:
html
title информация о ценах
body
h1 цены h1
hr
p цены договорные p
hr
a HREF = “file:D:TESTHTML1.html”
pb основной текст bap
b
body
html
HTML2.html ретінде d:\tests каталогында сақтаңыз. Ал бірінші
файлға 1-ші мысалда көрсетілгендей осы файлға жүгіністі беріңіз. Сонда
HTML1.html файлын ашып сіз өзіңіздің екі документіңізде серуендей аласыз.
4. Браузерлер
Delphi көмегімен қарапайым браузер құрайық. Ол үшін жаңа қосымшаны
ашыңыз да, Internet бетінен WebBrowser компонентін формаға көшіріңіз. Оны
Align қасиетіндегі alClient –ті беру арқылы барлық формаға жайыңыз. Бұған
дейін біз дайындап қойған документті ғана қарап шығу мүмкіндігіне ие болу
үшін оқиғаларды өңдеушіде OnCreate формасында мына операторды жахғанымыз
жеткілікті:
WebBrowser1. Navigate (‘D:\TEST\HTML1. html );
Бұл оператор Navigate әдісімен көрсетілген файлды немесе URL адресін
іздейді және браузерге керекті документті енгізеді.
Бұл тым жіңішке бағытталған браузер болып шығады. Басқа да
документтерді қарап шығу мүмкіндігі болу үшін қосымшаға OpenDialog диалогын
қосайық. Оның Filter қасиетіне мынаны енгіземіз:
HTML(*.html,*.htm)файлдары *.html;
*.htm
барлық файлдар
*.*
Қосымшаға Открыть бөлігі бар қосымшаны енгізіңіз де, тышқанды екі рет
басу арқылы оның процедурасын жазыңыз:
if (OpenDialog1.Execute)
then WebBrowser1.Navigate(OpenDialog1.Fi leName);
Өзіңіздің қосымшаңызды орындауға жіберіңіз. Сонда сіздің браузеріңіз
бұған дейін құрылған документке жүгінеді де, сіз оны қарап шыға аласыз (2-
сурет). Ал сіздің менюіңіздің Открыть менюі арқылыөз компоненттеріңіздегі
кез келген HTML документтерін ашып, оларда серуендей аласыз.
2-сурет
WebBrowser
компонентінде
құрылған
қарапайым
браузер
Біздің браузер, әрине, қарапайым. Оны жүзеге асыру үшін сізге тек қана
екі оператор қажет болады. Бірақ бұл браузердің мүмкіндіктері әлдеқайда
жоғары. Оның көмегімен, мысалы, қандай да бір .doc кеңейтілуімен Word
документін ашып көріңіз. Сіз төмендегіні көресіз(3-сурет): бұл документті
жүгінуге жіберумен қатар сіздің қатысуынсыз Word-ты шақырып, оның көмегімен
жүгініске түскен тексті электронды документ түрінде береді. Мұнда тексті
қарап шығумен қатар, оны редакторлауға болады.
3-сурет
Жүгілген
Word документі
бар браузер
Егер сіз стандартты кеңейтіліммен басқа бір файлды ашсаңыз, сіз
браузердің өз кеңейтілімімен байланысқан кез келген программаны файлды
ашуда көмекке шақыра алатынын көресіз. Мысалы, .bmp кеңейтіліммен файлдың
ашылуы бөлек терезеде Microsoft Paint программасын шақырып, онда сол
көрініс файлын береді. Егер сіз Excel документін ашсаңыз, онда ол браузерге
Word документіндей жүгінуге жіберіледі. Сіз тіпті Delphi проектін аша
аласыз, сонда Delphi өңдеуші ортасы осы жүгінілген проектімен шақырылады.
Сонымен қатар кез келген .exe орындалатын файлын шақыра алады.
Көп жағдайларда программаны жүзеге асырар алдында, браузердің
диалогтік терезесінде (4-сурет) файлмен не істеу қажет екенін көрсете
аласыз, мысалы файлды ашу, сіз көрсеткен атпен, каталогпен дискіде сақтау.
Егер сіз файлды ашуды таңдасаңыз, файлдың кеңейтіліміне сәйкес Windows
программасы шақырылады. Ал егер сіз сақтауды таңдасаңыз, онда сақталынатын
файлдың аты мен каталогын көрсетуге болатын сақтаудың стандартты диалогын
көресіз. Бұл сізге өз компьютеріңізден Интернеттен файлдарды көшіруге
мүмкіндік береді.
4-сурет
Жүзеге асырылуға
қажет операция
туралы сұраныс
терезесі
Енді браузерімізге қосымша функцияларды қосайық. Формаға Cool Bar
панелін қою. Cool Bar панеліне Tool Bar инструменталды панелін көшіріңіз.
Show Captions қасиетінде true–ді, пернелер үстінде жазбаларды көру үшін
қойыңыз. Панельге тышқанның оң жағын басу арқылы екі пернені енгізіңіз.
Оның біреуін – TB Back, ал екіншісін TB Forward деп атaңыз. Бұл сәйкесінше
қарап шыққан документтер ішінен алдыңғысына және келесісіне көшіретін
пернелер болады. Олардың біріншісіне (Caption) “Назад” жазбасын беріп,
екіншісіне – “Вперед”. Екі перне үшін де Enabled қасиетінде false тұруы
қажет, себебі қосымшаны ашу кезінде ешқайда көшу қажет емес. Қосымшаға
Image List пиктограммаларын қоса аласыз.
Cool Bar панеліне Combo Box “түсіп қалатын тізім” компонентін
көшіріңіз. Бұл тізімді редакторлау терезесіне URL немесе HTML документінің
файл атын тере аласыз, ал “түсіп қалатын тізімнен” бұған дейін қарастырылып
келген документтердің біреуін таңдауға болады. “Түсіп қалатын тізімді”
CBURL деп атаңыз.
Cool Bar панелі үшін оның Auto Size және Show Text қасиеттерін
true–ға қойыңыз. Біріншісі панельде орналасқан компоненттерді қолданушы
көшіру кезінде панельдің өлшемдерін автоматты өзгертуді қамтамасыз етеді.
Ал екіншісі текстің жолдарының көрініп тұратындығын қамтамасыз етеді.
Object Inspector терезесінде Bands қасиетіндегі көп нүктені екі рет басып,
CBURL орналасқан екінші жол үшін ашылатын жол редакторының терезесіне
“Адрес:” (Text қасиетіне) текстін беріңіз.
Панель формасына Status Bar жағдайын көшіріңіз. Оның Simple Text
қасиетін true–ға қойыңыз. Нәтижесінде сіздің қосымшаңыз 5-суретте
көрсетілген түрге келеді (суретте қосымшаны орындауға жіберген кездегі
көрінісі).
5-сурет
Web оқу бетінің
жетілдірген
браузері
Unit Unit1;
Interface
...
type
Tform = class(TForm)
...
procedure FormCreste(Sender:TObject);
procedure CBURLClick(Sender:TObject);
procedure CBURLKeyDown(Sender:TObject; var Key: Word; Shift:
TShiftState);
procedure WebBrowser1BeforeNavigate2 (Sender: TObject; const
pDisp: IDispatch;
var URL, Flags,
TargetFrameName, PostData, Headers:
OleVariant; var
Cansel:WordBool);
procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
procedure MOpenClick(Sender: TObject);
procedure TBBackClick(Sender: TObject);
procedure TBForwardClick(Sender: TObject);
private
{Private declaration}
procedure Load;
public
{Public declarations}
end;
var
Form: Tform1;
implementation
{$R*.DFM}
procedure TForm1.FormCreat(Sender: TObject);
begin
URL
CBURL.Text:= ’D:\TEST\HTML1.html’;
Load;
end;
procedure TForm1.Load;
begin
URL CBURL.Text
WebBrowser1.Navigate(CBURL.Text);
end;
procedure TForm1.CBURLClick(Sender: TObject);
begin
CBURL
Load;
end;
procedure TForm1.CBURLKeyDown(Sender: TObject; var Key: Word;
Shift:TShiftState);
begin
Enter CBURL
if Key = VK_Return
then Load;
end;
procedure TForm1. WebBrowser1.Navigate2(Sender: TObject; const pDisp:
IDispatch;
var URL, Flags,
TargetFrameName, PostData, Headers:
OleVariant; var
Cansel:WordBool);
var
Index: integer;
begin
CBURL
Index:=CBURL.Items.IndexOf(URL);
if Index=-1
then begin
CBURL.Items.Insert(0,URL);
CBURL.Items.Index:=0;
end
else CBURL.Items.Index:=Index;
TBForward TBBack
if CBURL.Items.Index0
then TBForward.Enabled:=true
else TBForward.Enabled:=false;
if CBURL.Items.Index CBURL.Items.Count-1
then TBBack.Enabled:=true
else TBBack.Enabled:=false;
end;
procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
if(Progress0)
then StatusBar1.SimpleText:=Format(‘Docu ment %s: %d kbyte
%d’,
[WebBrowser1.LocationName, Progress div 1024, ProgressMax div
1024]);
end;
procedure MOpenClick(Sender: TObject);
begin
if (OpenDialog1.Execute)
then begin
CBURL.Text:= OpenDialog1.FileName;
Load;
end;
end;
procedure TBBackClick(Sender: TObject);
begin
CBURL.Text:= CBURL.Items[CBURL.Items.Index+1];
Load;
end;
procedure TBForwardClick(Sender: TObject);
begin
CBURL.Text:= CBURL.Items[CBURL.Items.Index-1];
Load;
end;
end.
Келтірілген кодты қарап шығайық. Оған Load функция – утилата
енгізіледі. Ол Navigate әдісімен файлдың браузерін немесе Web бетінің
(CBURL тізімінің терезесінде көрсетілген) URL-іне жүктейді.
FromCreat функциясы OnCreat формалы оқиғаларды өңдеуші болып табылады.
Ол CBURL тізімінің текстіне қосымша орындалуының басталу моментінде ашылу
керек Web -документ терезесінің URL -ін немесе файл атын жазып алады.
Егер сіз автоматты түрде бірінші моментте ешқандай документті ашқыңыз
келмесе, онда ешқандай OnCreat оқиға өңдеушіні жазбай-ақ қоюға болады.
Егер сіз бірінші моментте Web бетін ашқыңыз келсе, онда CBURL тізімінің
текстіне оның -ін енгізе аласыз. Мысалы:
CBURL.Text:= ‘http:www.Borland.comdelphiinde x.html’;
FromCreat функциясында CBURL тізімінің текстін беруден кейін бұған
дейін сипатталған Load утилитын шақыру жалғасады. Осы утилита CBURL
тізімінде қолданушымен адресті таңдау кезінде (CBURLClick функциясы) және
сол тізімнің терезесінде қолданушымен Enter пернесін басу кезінде
(CBURLKeyDown функциясы) шақырылады.
WebBrowser1BeforeNavigate2 функциясы браузердің жаңа документке көшу
алдында басталатын WebBrowser компонентісінің OnBeforeNavigate2 оқиға
өңдеушісі болып табылады. Ол бұл көшудің пайда болуының себебіне тәуелсіз
басталады: Navigate әдісінің орындауымен немесе браузер терезесінде жүгіну
арқылы көшу. Өңдеушіге берілетін URL параметрі көшуді жүзеге асыратын адрес
болып табылады. Cancel параметрі, егер сіз оған false мәнін берсеңіз, онда
ол жаңа документке көшуді үзіп тастайды.
WebBrowser1BeforeNavigate2 өңдеушісінде ең алдымен CBURL тізіміндегі
URL-дің IndexOf әдісімен жаңа индексі анықталады. Егер IndexOf әдісі 1-ді
қайтарса, онда тізімде берілген адрес бұрын болмады. Бұл жағдайда ол Insert
әдісімен тізімнің бірінші позициясына (0 индексімен) қосылады және тізім
индексі 0-ге қойылады. Егер жаңа адрес тізімде болған болса, онда тізім
индексі сол мәнге тең етіп қойылады. Екі жағдайда да тізім индексінің
өзгертілуі оның терезесінде жаңа адрестің көруін қамтамасыз етеді.
Әрі қарай WebBrowser1BeforeNavigate2 өңдеушісінде мүмкін немесе мүмкін
емес TBForward және TBBack новигациялау пернелерін қояды, ол индекс мәнінің
қандай екеніне және тізімде алдыңғы немесе кейінгі документтердің
бар–жоғына тәуелді.
WebBrowser1ProgressChange функциясы OnProgressChange браузерінің оқиға
өңдеушісі болып табылады. Бұл оқиғалар беттерді браузерге жүктеу кезіндегі
уақытта өтеді. Өңдеушіге Progress параметрлері – жүктелген документ көлемі
мен ProgressMax документтің толық көлемі беріледі. Осылайша үлкен
документтерді жүктеу ретін көрсету мүмкіндігі пайда болады. Жүктеу
тоқтатылған кезде Progress мәні 1-ге тең болып қалады.
WebBrowser1ProgressChange өңдеушісінде LocationName – URL-дан алынған
жүктелетін документ аты қасиеті қолданылады.
MOpenClick функциясы Открыть менюіндегі шерту өңдеушісі болып
табылады. Қолданушымен таңдалынған файлдың аты CBURL тізімнің Text
қасиетіне енгізіледі, содан кейін Load утилитасы шақырылады.
TBBackClick және TBForward функциялары Назад және Вперед пернелерін
басуды өңдеуші болып табылады. Оларда CBURL тізімінің тексті ретінде
сәйкесінше келесі немесе оның алдыңдағы ағымдағы элементке қатысты тізімнің
элементі беріледі.
Орындауға өзіңіздің қосымшаңызды жіберіңіз. Орындау кезінде оның
көрінісі жоғарыда 3-суретте көрсетілген. Қолданушы Адрес тізімінің
терезесіне файлдың атын немесе қалаған Web бетінің URL-іне жүгіністі негізе
алады. Enter пернесін басу арқылы сәйкесінше документ ашылады. “Түсіп
қалатын тізімнен” бұған дейін ашылған кез келген беттің адресін таңдау
арқылы оларға оңай көше аласыз. Открыть менюінің командасымен шақырылатын
диалогтан файлдың атын таңдау арқылы кез келген HTML документін ашуға
болады. Инструменттер панелінің орналасу қалпын өзгертуге де болады. Бір
сөзбен, сіз өте жақсы браузер құрдыңыз. Сіздің қосымшаңызға әртүрлі қосымша
функцияларды енгізу қиын емес. Сонда сіздің браузер Internet Explorer-ден
айнымайды. Осындай мысал Delphi-ге жатады. Ол мына каталогта орналасқан:
...Delphi6\Demos\Coolstuf
5. Динамикалық Web беттері – CGI қосымшалары
Cтатикалық Web беттер өзгертілінбейді, оларды алдын-ала кез келген Web
редакторының көмегімен құруға болады. Бұлардан динамикалық беттер қызығырақ
болып келеді. Бұл жағдайда серверге динамикалық сұраныс беріледі, сервер
оны өңдейді, динамикалық түрде HTMLдокументін құрады да оны қолданушыға
жібереді.
Динамикалық бетті негізінен екі әдіспен құруға болады: динамикалық
документті құраушы орындалатын программаны сервермен шақыру немесе клиентке
жауап беретін DLL библиотекасына серверді қарату. CGI және WIN-CGI
интерфейстер көмегімен .exe прогаммаларын шақырумен байланысты бірінші жолы
жүзеге асырылады. Ал ISAPI және NSAPI интерфейстер көмегімен DLL-мен
байланысқан екінші жолы жүзеге асырылады.
CGI (Common Gteway Interface)қосымшалары серверден стандартты негізу
арқылы жіберілетін информацияны алады. Қолданушыға жіберуі керек құрылатын
HTML документі стандартты енгізуге қосымшасымен орындалады.
Қарапайым жағдайда CGI қосымшасы консолды программа ретінде жүзеге
асырыла алады. Аз ғана тәжірибе жасайық. Консолды программа
құрамыз(FileNewOther командасы, бетіндегі Console Application
пиктограммасы):
Program PTime;
{$APPTYPE CONSOLE}
uses SusUtils;
Var Days:array[1..7] of stings = (‘Воскресенье’, ‘Понедельник’,
‘Вторник’, ‘Среда’,
‘Четверг’,
‘Пятница’, ‘Суббота’);
begin
writeln(‘HTML’);
writeln(‘H1 Здравствуйте! H1HR’);
writeln(‘Сегодня’+DateToStr(Date)+’ (‘+Days[DayOfWeek(Date)]+’)HR’);
writeln(FormatDateTime(‘Московское время h час m мин.’,Time));
end;
Бұл программа клиентпен сәлемдеседі және сол кездің датасын аптаның
күнін және уақыты туралу айтады. Текст writeln процедураларымен стандартты
шығару, яғни экранға енгізіледі.
Программаны PTime атымен сақтап, компиляцияға жіберіңіз. Егер сіз
қарапайым түрмен PTime.exe құрылған модульді орындауға жіберсеңіз, DOS
терезесі ашылғанда онда программасымен енгізілген текст шығады. Сіздің
серверіңіздің орындалатын каталогына PTime.exe модулін орналастырыңыз (бұл
FrontPage-тен келетін персоналды серверін қолдану каталогы ...\ FrontPage
Web\Content\cgi-bin). Мысалы, сіз 3-бөлімде құрған браузерге
“mycomputercgi-binptime.exe” түрлі URL-ді енгізіңіз. Сіз 6-суреттегідей
көріністі көресіз. Стандартты шығаруға программа шығаратын текст HTML
тексті ретінде қабылданып, клиентке документ ретінде қайтарылады.
6-сурет
программасы ретінде
қолданылатын
консолды қосымша
ISAPI (Microsoft фирмасының Internet серверінің API-ді
пайдаланушылар) және NSAPI (Natscape фирмасының Natscape серверінің API
-ді пайдаланушылар) программалық интерфейстер серверге өзінің ішіндегі
процестер кеңістігінде мақсаттарды орындауға, әрбір динамикалық сұраныс
кезінде нәтижесінде жаңа процесс болдырмауға мүмкіндік береді.
6. Delphi–дің Web сервері
6.1Web модулін құру
CGI программасымен құрылатын динамикалық бет әрбір орындау кезінде
жаңа текстен (жаңа дата мен уақыттан) тұрады. Бірақ бұл бет өте қарапайым,
ол клиент пен сервер арасындағы қарым-қатынас пробремаларын шешуге
мүмкіндік бермейді. Delphi – де мұндай инструмент бар.
Delphi – де серверлік қосымшалар TWebModule типті компонентісі бар Web
модулі негізінде құрылады. Бұл компонент басқа да компоненттер тізімі үшін
контейнер болып қызметін атқара алады. TWebModule типті сервер
компоненталар палитрасында болмайды. Оны проектирлеу үшін New бетінде
NewItems диалогтік терезесінен Web Server Application пиктограммасын таңдау
керек немесе FileNewOther командасын орындау керек. Сіздің алдыңызда
модуль типін көрсету керек терезе ашылады (7а-сурет). CGI модулін
орындайтын CGI Stand-alone executable типін таңдаңыз. Осыдан кейін Delphi
сәйкесінше модульдің Код Редакторында алдын-ала дайындық жасап, сонда сіз
модуль терезесін көресіз.
Delphi6-да ол беттерді құратын мәліметтер қорымен байланысты жүзеге
асыратын компоненталарды орналастыра алатын бос терезе (7б-сурет). бұл
терезенің контекстік менюінен біз жұмыс істейтін әрекеттер редакторын
шақыра аламыз.
Object Inspector терезесінде сіз Web модулі қасиеттерін көре аласыз.
Модульдің негізгі қасиеті – Actions. Бұл TwebItem объектілер типті
әрекеттер жиынтығы. Бұл тізім Object Inspector терезесіндегі Actions
қасиетінің қасындағы көп нүктелі пернеге басу арқылы шақырылатын арнайы
әрекеттер редакторымен толтырылады (8-сурет). Ашылған терезедегі Add New
(8суреттің сол жағында) жылдам пернесімен жаңа әрекетті негізе аласыз,
DeleteSelected (сол жақтан екінші) пернесімен белгіленген әрекетті өшіре
аласыз, стелкалары бар пернелер әрекеттердің орналасу тізбегін өзгерте
аласыз.
7-сурет
модуль типін (а)
және (б) Delphi модуль
терезесін таңдау
8-сурет
Оқиғалар
редакторының
терезесі
Әрбір әрекет – TwebActionItem өз қасиеттері, әдістері, оқиғалары бар
типті объект. Бір әрекетті таңдау арқылы Object Inspector –де оның
қасиеттері көре аласыз. Әрекеттің негізгі қасиеті – PathInfo. Оның алатын
орнын түсіну үшін URL туралы бірнеше қосымша мәліметтер беруіміз керек:
http:www.myserv.comp1serv1.exe action1?value=5&Resp=Yes
URL (HTTP) протоколын беруден басталады. Әрі қарай сервер адресі
(“www.myserv.com”) беріледі. Одан кейін серверлі қосымша аты мен оған жолы
(“p1serv1.exe”) көрсетіледі. Сосын слештің соңғы белгісінен бастап сұрақ
белгісіне дейін PathInfo деп аталатын URL-дің қажетті емес бөлігі жазылады
(“action1”). Бұл информация серверлік қосымшамен информацияны өңдеу әдісін
анықтайды. Мысалы, берілген мәліметті өңдеуге керек процедура беріле алады.
Cұрақ белгісінің символынан кейін сұраныс – Query деп аталатын URL-дің
бөлігі жалғасады. Әдетте ол идентификатор, олардың мәнін білдіретін және
теңдік символдарынан құралған тізімді береді. Тізімнің бөлек элементтері
бір-бірінен “&” символы арқылы бөлінеді. Жоғарыда келтірілген мысалда “5”
мәнді value аты және “Yes” мәнді Resp аты енгізілген. Бұл информация өңдеу
үшін серверлік қосымшаның процедурасына беріледі.
PathInfo қасиеті URL сұранысының PathInfo элементімен сәйкес келеді.
Сұранысты алу кезінде іздеу әрекеті жүреді. Егер мұндай әрекет табылып, ол
OnAction оқиға өңдеушісіне ие болса, онда осы өңдеушіде жазылған
операторлар орындалады. Өңдеуші тақырыбы мынадай түрде болады:
procedure TWebModule1.WebModule WebAction Item2Action(
Sender: TObject; Request: TWebReqest;
Response: TWebResponse; var Handled: Boolean);
Request параметрі TWebRequest типті сұраныс объектісін анықтайды. Бұл
объектінің негізгі қасиеті Query – URL сұранысының Query бөлігін беретін
string типті жол. Жоғарыда келтірілген URL мысалында ол мынадай түрге ие:
“value=5&Resp=Yes”. Сұраныс объектісінің басқа қасиеті TStrings типті
QueryFields. Бұл қасиет жолдық тізім түрінде беріледі. Келтірілген мысалда
ол екі жолды құрайды: “value=5” және “Resp=Yes”. Осылайша QueryFields
объектісі арқылы оқиға өңдеуші информация сұранысында бұл мәліметтерді
алып, пайдалануға мүмкіндік алады. Сұраныстың параметрлер мәндерін
Values[имя] әдісі арқылы қарап шығуға болады. Мысалы, жоғарыда келтірілген
мысалда Request.QueryFields.Values[‘Resp’] мәні жолын қайтарып береді.
Response параметрі типті жауап объектісін анықтайды. Бұл объектінің
негізгі қасиеті Content – HTML текст ретінде типті қолданушыға жауап.
Handled параметрі жауап аяқталғанын немесе Response объектісі қосымша
басқа әрекеттермен ұрылу керектігін анықтайды. Егер Response құрылуын басқа
әрекеттер аяқтауы керек болса, өңдеушіде false–ке тең Handled мәні
беріледі. Ал егер жауаппен басқа әрекеттер айналысса, оған алдыңғы
әрекеттермен енгізілген тексті қамтитын Content қасиеті бар Response
объектісі ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz