Formy zaprosa ili uchim myshku sprashivat'... Vvedenie Formy predstavlyayut soboj instrument dlya formirovaniya zaprosov, podlezhaschih avtomaticheskoj obrabotke. Zapros vyglyadit kak soobschenie, v tele kotorogo nahodyatsya strogo opredelennye polya, soderzhaschie strokovye peremennye. Zaprosy ishodyat ot pol'zovatelya, osnaschennogo programmoj The Bat! s ustanovlennymi shablonami form (fajlami s rasshireniem TBC, opisyvayuschimi svojstva formy). Takoj pol'zovatel' nazyvaetsya klientom. Pered tem, kak sdelat' zapros, programma "The Bat!" predlagaet klientu zapolnit' formu podobnuyu tem, kotorye vam navernyaka prihodilos' zapolnyat' na vebe. Programma obrabotki zaprosov klienta, nazyvaetsya serverom. Dannye, zanesennye klientom, The Bat! avtomaticheski preobrazuet v soobschenie so strogo opredelennymi polyami, pri neobhodimosti podpishet cifrovoj podpis'yu i/ili zashifruet, i otpravit po `elektronnoj pochte na server (e-mail adres servera uzhe est' v shablone formy). Sistema vzaimodejstviya klienta i servera posredstvom zaprosov i otvetov nazyvaetsya The Bat! klient-server. Odin cikl zapros-otvet v sisteme klient-server nazyvaetsya transakciej. Sistema klient-server prednaznachena dlya udalennogo dostupa k informacii i upravleniya ej v rezhime off-line, vyderzhivaya trebovaniya bezopasnosti. Oblast' primeneniya sistemy: upravlenie bankovskimi schetami, bronirovanie aviabiletov, rezervirovanie gostinichnyh nomerov i t.d. Dlya bezopasnosti transakcij na transportnom urovne ispol'zuetsya shifrovanie i `elektronnaya podpis' (algoritmy RSA/IDEA/MD5), sootvetstvuyuschie RFC-1991. Servernaya programma zavisit ot specifiki zaprosa; bank, Internet-magazin ili agentstvo po bronirovaniyu aviabiletov ispol'zuyut raznye servernye programmy; klient zhe, s pomosch'yu "The Bat!", mozhet obraschat'sya k uslugam vseh treh organizacij odnovremenno. Format polej zaprosa strogo soglasovan mezhdu serverom i klientom. Odin server obychno obsluzhivaet bolee odnogo klienta, po`etomu shablon formy (TBC-fajl) sozdaetsya na servere, podpisyvaetsya `elektronnoj podpis'yu i peredaetsya klientam pered nachalom provedeniya transakcij opredelennogo tipa. Po mere provedeniya transakcij, server mozhet predostavlyat' novye vidy uslug, dlya `etogo emu neobhodimo razoslat' klientam novye versii shablonov, pozvolyayuschie obraschat'sya k `etim uslugam. Poluchiv shablon formy, i proveriv sootvetstvie `elektronnoj podpisi, klient dobavlyaet ego v svoj spisok. Nalichie `elektronnoj podpisi yavlyaetsya obyazatel'nym atributom shablona. `Eto sposobstvuet obespecheniyu soglasovannosti formatov polej zaprosa i pomogaet zaschitit' sistemu klient-server ot proniknoveniya nesankcionirovannyh shablonov form. Takoe proniknovenie mozhet proishodit' pod vidom obnovleniya shablonov u vseh klientov i mozhet privesti k vnedreniyu fal'shivyh form na vse ili chast' klientov. Nesankcionirovannye vnedreniya podobnogo roda mogut sluzhit' kak prichinoj prostoya otkrytyh setej, tak i prichinoj utechki informacii iz nih. Takaya utechka mozhet yavlyat'sya sledstviem zamena adresa servera v shablone formy. Format shablona formy SHablony form hranyatsya v tekstovom fajle s rasshireniem TBC. Soderzhimoe fajlov podpisano cifrovoj podpis'yu. TBC-fajly sozdayutsya na servere, podpisyvayutsya `elektronnoj podpis'yu i peredayutsya klientam pered nachalom provedeniya transakcij opredelennogo tipa. Poluchiv TBC-fajl, soderzhaschij shablon formy, i proveriv sootvetstvie `elektronnoj podpisi, klient dobavlyaet ego v svoj spisok (menyu Svojstva/SHablony form zaprosov). SHablon opisyvaet svojstva okna `ekrannoj formy, kotoruyu zapolnyaet klient, atributy soobscheniya, v kotorom budet otpravlen zapros, i peremennye zaprosa. Kazhdaya stroka shablona soderzhit odno klyuchevoe slovo, za kotorym sleduyut odin ili neskol'ko parametrov. Esli stroka nachinaetsya s simvola ';', to takaya stroka rassmatrivaetsya kak kommentarij. Svojstva okna i atributy soobscheniya Klyuchevoe slovo MSG prednaznacheno dlya opisaniya svojstv okna i atributov soobscheniya, ostal'nye klyuchevye slova ispol'zuyutsya dlya "nabivki" formy. Klyuchevoe slovo MSG mozhet imet' sleduyuschie parametry: FORMTITLE (zagolovok okna formu zaprosa, strokovoe znachenie); FORMWIDTH (shirina okna; chislovoe znachenie); FORMHEIGHT(vysota okna; chislovoe znachenie); AREAWIDTH (shirina oblasti vvoda vnutri okna; chislovoe znachenie); AREAHEIGHT (vysota oblasti vvoda vnutri okna); TO (e-mail adres servera dlya otpravki soobscheniya; strokovoe znachenie);SUBJ (Pole Subject soobscheniya; strokovoe znachenie); PRIORITY (pole Priority soobscheniya; strokovoe znachenie); ENCRYPT (zashifrovat' soobschenie pered otpravkoj; logicheskoe znachenie: ON ili OFF); SIGN (podpisat' soobschenie pered otpravkoj; ON ili OFF). Soderzhimoe zaprosa Dannye, zanesennye pol'zovatelem v polya `ekrannoj formy, predstavlyayut soboj soderzhimoe zaprosa. Kak tol'ko pol'zovatel' nazhal OK, The Bat! pomeschaet soderzhimoe zaprosa v telo soobscheniya, i, esli `eto ukazano v shablone, podpishet soobschenie cifrovoj podpis'yu i/ili zashifruet, posle chego otpravit ego po `elektronnoj pochte na server (e-mail adres servera tozhe ukazan v shablone). Telo soobscheniya vyglyadit kak odna stroka neogranichennoj dlinny, soderzhaschaya strokovye peremennye. Peremennye otdelyayutsya drug ot druga simvolom "&". Imena peremennyh opisany v shablone, znacheniya peremennyh berutsya iz polej `ekrannoj formy, zapolnennoj klientom. V stroke zaprosa, peredavaemoj serveru v tele soobscheniya, imya peremennoj otdelyaetsya ot ee znacheniya simvolom "=". Predpolozhim, zapros soderzhit dve peremennye s imenami servicetype i accountnumber; peremennaya servicetype soderzhit znachenie "getaccountlog"; a peremennaya accountnumber - znachenie "849780094", v `etom sluchae telom soobscheniya budet yavlyat'sya sleduyuschaya stroka: servicetype=getaccountlog&accountnumber=849780094 Takoj sposob formirovaniya stroki zaprosa yavlyaetsya sovmestimym s RFC1866 (razdel 8.2.1, tip application/x-www-form-urlencoded) Imena i znacheniya peremennyh mogut soderzhat' lyubye simvoly, no opredelennye simvoly dolzhny zamenyat'sya po sleduyuschim pravilam: probel'nyj simvol zamenyaetsya na simvol '+', vse ostal'nye simvoly, krome cifr i bukv, zamenyayutsya na "%HH" (simvol "procent" i dve shestnadcaterichnye cifry, predstavlyayuschie ASCII-kod zamenyaemogo simvola). Obzor `elementov formy `Ekrannaya forma mozhet soderzhat' takie graficheskie `elementy, kak stroki vvoda, spiski, pereklyuchateli, metki i knopki. Vse `eti `elementy opisyvayutsya v shablone s pomosch'yu klyuchevyh slov: EDIT (odnostrochnoe okno vvoda), MEMO (mnogostrochnoe okno vvoda), CHECKBOX (pereklyuchatel'), LISTBOX (spisok zaranee opredelennyh strok, odna ili neskol'ko iz kotoryh mogut byt' vybrannymi), COMBOBOX (vypadayuschij spisok strok). Krome togo, imeetsya special'naya "nevidimyj" `element HIDDEN (pol'zovatel' ne mozhet izmenit' znachenie peremennoj, obrazuemoj `etim `elementom), a takzhe vidimyj `element LABEL, kotoryj ne obrazuet peremennoj i ispol'zuetsya kak metka, tekst kotoroj vyvoditsya na `ekrane. Dlya upravleniya formoj imeyutsya `elementy SUBMIT (knopka, pri nazhatii kotoroj proishodit otpravka formy) i CANCEL (knopka otmeny). Obzor parametrov `elementov Graficheskie `elementy mogut imet' sleduyuschie parametry: X, Y (koordinaty verhnego levogo ugla `elementa v predelah okna; koordinaty uvelichivayutsya sverhu vniz, sleva napravo), WIDTH, HEIGHT (shirina/vysota `elementa; u vseh `elementov shirina i/ili vysota libo zadana po umolchaniyu, libo vychislyaetsya v zavisimosti ot razmerov shrifta, po`etomu `eti dva parametra mogut byt' opuscheny), NAME, VALUE (imya peremennoj i znachenie peremennoj po umolchaniyu; dlya vseh `elementov krome LABEL, SUBMIT i CANCEL). Krome togo, `element EDIT mozhet imet' parametr MASK (formatirovannyj vvod), `elementy LISTBOX i COMBOBOX - parametr ITEM (`element spiska), a `elementy LABEL, CHECKBOX, SUBMIT i CANCEL - parametr CAPTION (nadpis'). Dlya `elementa LABEL dopustimy parametry FOCUSNAME (imya `elementa, k kotoromu privyazan LABEL; pri schelchke myshki v oblasti `elementa LABEL ili nazhatii goryachej klavishi, kursor, ili fokus vvoda, budet perenesen na `element, k kotoromu privyazan LABEL); JUSTIFY (vyravnivanie teksta po centru ili levomu/pravomu krayu); SHOWACCEL (ispol'zovat' li simvol "&" kak marker goryachej klavishi). Perechen' `elementov EDIT Odnostrochnoe okno vvoda. Obyazatel'nye parametry: X, Y, NAME; dopustimye parametry: WIDTH, HEIGHT, VALUE, MASK. MEMO Mnogostrochnoe okno vvoda. Obyazatel'nye parametry: X, Y, NAME; dopustimye parametry: WIDTH, HEIGHT, VALUE. CHECKBOX Pereklyuchatel'. Obyazatel'nye parametry: X, Y, NAME; dopustimye parametry: WIDTH, HEIGHT, VALUE. LISTBOX Spisok zaranee opredelennyh strok, odna ili neskol'ko iz kotoryh mogut byt' vybrannymi. Obyazatel'nye parametry: X, Y, NAME; dopustimye parametry: ITEM, WIDTH, HEIGHT. COMBOBOX Vypadayuschij spisok strok. Obyazatel'nye parametry: X, Y, NAME; dopustimye parametry: ITEM, WIDTH, HEIGHT. HIDDEN "Nevidimyj" `element, obrazuyuschij peremennuyu. Obyazatel'nye parametry: NAME, VALUE. LABEL Metka. Obyazatel'nye parametry: X, Y, CAPTION, dopustimye parametry:, WIDTH, HEIGHT, FOCUSNAME, JUSTIFY, SHOWACCEL. SUBMIT Knopka, pri nazhatii kotoroj proishodit otpravka formy. Obyazatel'nye parametry: X, Y, dopustimye parametry:, WIDTH, HEIGHT, CAPTION. CANCEL Knopka otmeny. Obyazatel'nye parametry: X, Y, dopustimye parametry:, WIDTH, HEIGHT, CAPTION. Perechen' parametrov `elementov X Gorizontal'naya koordinata levogo kraya `elementa v predelah okna; koordinaty uvelichivayutsya sleva napravo. YAvlyaetsya obyazatel'nym parametrom dlya vseh vidimyh `elementov: EDIT, MEMO, CHECKBOX, LISTBOX, COMBOBOX, LABEL, SUBMIT, CANCEL, to est' vo vseh, krome HIDDEN. CHislovoe znachenie. Y Vertikal'naya koordinata verhnego kraya `elementa v predelah okna; koordinaty uvelichivayutsya sverhu vniz. YAvlyaetsya obyazatel'nym parametrom dlya vseh vidimyh `elementov: EDIT, MEMO, CHECKBOX, LISTBOX, COMBOBOX, LABEL, SUBMIT, CANCEL, to est' vo vseh, krome HIDDEN. CHislovoe znachenie. WIDTH SHirina `elementa. SHirina vseh vidimyh `elementov uzhe zadana po umolchaniyu, po`etomu `etot parametr mozhet byt' opuschen. Primenyaetsya vo vseh vidimyh `elementah: EDIT, MEMO, CHECKBOX, LISTBOX, COMBOBOX, LABEL, SUBMIT, CANCEL, to est' vo vseh, krome HIDDEN. CHislovoe znachenie. HEIGHT Vysota `elementa. Vysota mnogostrochnyh vidimyh `elementov (LISTBOX, MEMO) uzhe zadana po umolchaniyu. Vysota odnostrochnyh `elementov (EDIT, LABEL, CHECKBOX) vychislyaetsya v sootvetstvii s razmerom shrifta. Primenyaetsya vo vseh vidimyh `elementah: EDIT, MEMO, CHECKBOX, LISTBOX, COMBOBOX, LABEL, SUBMIT, CANCEL, to est' vo vseh, krome HIDDEN. CHislovoe znachenie. NAME Imya peremennoj. YAvlyaetsya obyazatel'nym parametrom dlya vseh `elementov, kotorye formiruyut peremennye: EDIT, MEMO, CHECKBOX, LISTBOX, COMBOBOX. Strokovoe znachenie. VALUE Znachenie peremennoj po umolchaniyu. YAvlyaetsya obyazatel'nym parametrom dlya `elementa HIDDEN, primenyaetsya takzhe v EDIT, MEMO i CHECKBOX. Strokovoe znachenie. CAPTION Nadpis'. YAvlyaetsya obyazatel'nym parametrom dlya `elementov LABEL i CHECKBOX, primenyaetsya takzhe v SUBMIT i CANCEL. Strokovoe znachenie. FOCUSNAME Imya `elementa, kotoryj neobhodimo sfokusirovat'. Mozhet ispol'zovat'sya tol'ko kak parametr klyuchevogo slova LABEL. Znacheniem parametra yavlyaetsya imya `elementa, k kotoromu budet privyazan LABEL; pri schelchke myshki v oblasti `elementa LABEL ili nazhatii goryachej klavishi, kursor, ili fokus vvoda, budet perenesen na `element, imya kotorogo ukazano v kachestve znacheniya. Strokovoe znachenie. JUSTIFY Vyravnivanie teksta nadpisi. Mozhet ispol'zovat'sya tol'ko kak parametr klyuchevogo slova LABEL. Dopustimye znacheniya: LEFT (vyravnivat' po levomu krayu), RIGHT (vyravnivat' po pravomu krayu), CENTER (vyravnivat' po centru). SHOWACCEL Ispol'zovat' li simvol "&" kak marker goryachej klavishi. Mozhet ispol'zovat'sya tol'ko kak parametr klyuchevogo slova LABEL. Dopustimye znacheniya - ON ili OFF. ITEM Ispol'zuetsya dlya dobavleniya novogo `elementa v spisok: LISTBOX, COMBOBOX ili CHECKLISTBOX. Format parametra - dve (LISTBOX/COMBOBOX) ili tri (CHECKLISTBOX) stroki, razdelennye zapyatymi. Pervaya soderzhit nazvanie novogo `elementa, vtoraya - ego zagolovok, a tret'ya (tol'ko dlya CHECKLISTBOX) upravlyaet polozheniem pereklyuchatelya - vklyuchen (lyuboe znachenie) ili vyklyuchen (pustaya stroka). WORDWRAP Pozvolyaet ispol'zovat' perenos dlinnyh strok teksta, chtoby oni umeschalis' na `ekrane. Logicheskoe znachenie. ON - vklyuchit' perenos po pravoj granice dannogo `elementa. OFF - vystraivat' v odnu strochku (ne pomestivshijsya uchastok teksta ne otobrazhaetsya). PASSWORD Pole dlya vvoda parolya. Esli ukazano znachenie ON, EDIT otobrazhaet special'nyj simvol "zvezdochku" vmesto lyuboj vvedennoj vami bukvy. COLUMNS Kolichestvo kolonok v spiske, kotorye vidny bez pomoschi gorizontal'noj prokrutki. Neobyazatel'nyj parametr dlya `elementov LISTBOX i CHECKLISTBOX. CHislovoe znachenie. Po umolchaniyu COLUMNS=0 Pri `etom ispol'zuetsya odna kolonka i esli kolichestvo `elementov ne umeschaetsya na `ekrane, pol'zovatel' mozhet vospol'zovat'sya vertikal'noj prokrutkoj spiska. Esli uvelichit' znachenie `etogo parametra, programma budet perenosit' ne pomestivshiesya `elementy v nachalo novoj kolonki (shirina kazhdoj kolonki zavisit ot ih obschego kolichestva, a takzhe ot znacheniya parametra WIDTH). DEFTPL SHablon dlya parametra VALUE. Ispol'zuetsya v `elementah EDIT, MEMO i HIDDEN. Podderzhivaet standartnyj nabor makrosov, odnako vmesto znaka procenta (%) pered kazhdym nazvaniem neobhodimo stavit' simvol '#'. Primer: DEFTPL="#FOLDERFROMNAME" v `elemente EDIT naznachaet parametru VALUE znachenie iz polya "FROM", kotoroe ukazano v svojstvah aktivnoj papki na zakladke "Lichnost'". VBODYRE Rezul'tat raboty regulyarnogo vyrazheniya (oblast' poiska - tekst vydelennogo pis'ma). Rabotaet analogichno parametru DEFTPL, tol'ko v kachestve znacheniya neobhodimo ukazat' ne shablon, a regulyarnoe vyrazhenie. Primer: VBODYRE="^UserFullName: (.+)$". VFILERE Rezul'tat raboty regulyarnogo vyrazheniya (oblast' poiska - tekstovyj fajl, dlya vybora kotorogo programma otkroet standartnoe dialogovoe okno Windows). Posimvol'naya proverka pri pomoschi parametra MASK Parametr MASK pozvolyaet zaranee ukazat' format, v kotorom pol'zovatelyu pozvoleno vvodit' neobhodimye dannye (k primeru, ogranichit' nabor dopustimyh dlya vvoda simvolov). Proverka osuschestvlyaetsya posledovatel'no - simvol za simvolom. Pri `etom ne sleduet stavit' v nachale maski ampersant (&), tak kak v rezul'tate programma schitaet ee soderzhimoe klyuchevym slovom (o nih my rasskazhem nemnogo pozzhe). Maska sostoit iz treh chastej, razdelennyh tochkoj s zapyatoj. Pervaya chast', `eto ee tekst. Vtoraya ukazyvaet na to, sleduet li rascenivat' alfavitnye simvoly maski kak chast' vvedennyh dannyh. Tret'ya soderzhit special'nyj simvol dlya otmetki uchastkov teksta, kotorye mozhno redaktirovat'. Special'nye simvoly dlya pervoj chasti maski Simvol Opisanie ! Zamenit' neobyazatel'nye simvoly v tekste na predshestvuyuschie probely < Preobrazovat' vse posleduyuschie bukvy (vplot' do simvola '&' ili do konca maski) v propisnye (verhnij registr) > Preobrazovat' vse posleduyuschie bukvy (vplot' do simvola '<' ili do konca maski) v strochnye (nizhnij registr) <> Otmenit' proverku registra simvolov i ne izmenyat' vvedennye pol'zovatelem dannye \ Otobrazit' sleduyuschij simvol bez izmenenij, dazhe esli on yavlyaetsya special'nym (odnim iz perechislennyh v `etom spiske) L Potrebovat' obyazatel'nyj alfavitnyj simvol na `etoj pozicii l Razreshit' neobyazatel'nyj alfavitnyj simvol na `etoj pozicii A Potrebovat' obyazatel'nyj alfavitno-cifrovoj simvol na `etoj pozicii a Razreshit' neobyazatel'nyj alfavitno-cifrovoj simvol na `etoj pozicii C Potrebovat' obyazatel'nyj lyuboj simvol na `etoj pozicii c Razreshit' neobyazatel'nyj lyuboj simvol na `etoj pozicii 0 Potrebovat' obyazatel'nyj cifrovoj simvol na `etoj pozicii 9 Razreshit' neobyazatel'nyj cifrovoj simvol na `etoj pozicii # Razreshit' neobyazatel'nyj cifrovoj simvol (libo znak + ili -) na `etoj pozicii : Zamenit' `etot simvol na standartnyj razdelitel' chasov, minut i sekund, kotoryj ispol'zuetsya dlya otobrazheniya vremeni v vashej operacionnoj sisteme / Zamenit' `etot simvol na standartnyj razdelitel' mesyaca, dnya i goda, kotoryj ispol'zuetsya dlya otobrazheniya daty v vashej operacionnoj sisteme ; Razdelitel' treh chastej, iz kotoryh sostoit maska _ Dobavit' v tekst maski sootvetstvuyuschee kolichestvo probelov Vse ostal'nye simvoly budut pokazany bez izmenenij (programma vvedet ih avtomaticheski i ne pozvolit redaktirovat'). CHtoby otobrazit' analogichnym obrazom lyuboj special'nyj simvol iz privedennoj vyshe tablicy, neobhodimo postavit' pered nim obratnuyu kosuyu chertu (\). Dopolnitel'nye vozmozhnosti parametra MASK Esli v nachale maski postavit' simvol "&", programma budet schitat' ee soderzhimoe (vplot' do znaka ravenstva =) odnim iz klyuchevyh slov, perechislennyh nizhe: URL Informaciyu neobhodimo predstavit' v vide setevoj ssylki EMAIL Informaciyu neobhodimo predstavit' v vide adresa `elektronnoj pochty DATA Soderzhimoe `elementa, parametrom kotorogo yavlyaetsya MASK. Pomogaet osuschestvit' proverku ukazannyh pol'zovatelem dannyh. Primer: EDIT NAME=UserPassword MASK="&DATA=UserPasswordAgain=Vy oshiblis' pri vvode parolya". Programma posimvol'no sravnivaet soderzhimoe svoego `elementa EDIT (NAME=UserPassword) so sleduyuschim (NAME=UserPasswordAgain). Esli stroki ne sovpadayut, poyavlyaetsya okno s nadpis'yu "Vy oshiblis' pri vvode parolya" REGEX Format opredelyaetsya rezul'tatom raboty regulyarnogo vyrazheniya. Primer: MASK="®EX=^[a-fA-F0-9]{8}$". Pol'zovatel' dolzhen vvesti vosem' alfavitno-cifrovyh simvolov MANDATORY `Element formy yavlyaetsya obyazatel'nym dlya zapolneniya. Esli pol'zovatel' ego proignoriruet, programma vydast soobschenie ob oshibke Primer TBC-fajla Nizhe privedeno soderzhimoe tipichnogo TBC-fajla, kotoryj ispol'zuetsya dlya polucheniya svodki kursov valyut za opredelennyj period vremeni. `Ekrannaya forma soderzhit vypadayuschij spisok dlya vybora naimenovaniya valyuty (COMBOBOX), a takzhe polya dlya vvoda nachal'noj i konechnoj daty (EDIT). -----BEGIN PGP SIGNED MESSAGE----- MSG FORMTITLE="Currency Rate Request" MSG TO="Client-Bank " MSG SUBJ="Client-Bank" MSG PRIORITY="High" MSG FORMWIDTH=260 MSG FORMHEIGHT=190 MSG ENCRYPT=ON MSG SIGN=ON HIDDEN NAME="service" VALUE="getcurrencytrend" LABEL CAPTION="&Currency" X=16 Y=8 FOCUSNAME="iso" COMBOBOX NAME="iso" X=16 Y=24 WIDTH=120 COMBOBOX NAME="iso" ITEM="MDL","Moldavian Leu" COMBOBOX NAME="iso" ITEM="USD","US Dollar" COMBOBOX NAME="iso" ITEM="RUR","Russian Rouble" COMBOBOX NAME="iso" ITEM="UAH","Ukrainean Hr." COMBOBOX NAME="iso" ITEM="FIM","Finnish Mark" COMBOBOX NAME="iso" ITEM="DEM","Deutche Mark" COMBOBOX NAME="iso" ITEM="GBP","GB Pound" LABEL CAPTION="&Starting Date" X=154 Y=8 FOCUSNAME="date1" EDIT NAME="date1" X=154 Y=24 EDIT NAME="date1" MASK="00/00/0000" VALUE="01011996" LABEL CAPTION="&Ending Date" X=154 Y=52 FOCUSNAME="date2" EDIT NAME="date2" X=154 Y=68 EDIT NAME="date2" MASK="00/00/0000" VALUE="01011999" SUBMIT CAPTION="OK" X=60 Y=112 CANCEL CAPTION="Cancel" X=154 Y=112 -----BEGIN PGP SIGNATURE----- iQDVAwUANfjoiRQeqwtQAYtzAQHkIQX+JhO61HCBfVw5VF3KqQhpApmOPhk2gEKz C7qkNwpx7lexjbZvTVNGNfxTk7cTx5AxSFiUV32JH9WPm9fuJ5/bXIfWojDnaYbi OM/BqS2KykFyoiuy+KULji10oRTt1jdC0Yqyv+OMgo2RuMwI0QhUozpHlVvkEHkk r3acZ3NVIjBZHdW0I4YCjA3FKxBQmoFsQg9/ndjeE2lHZTCtLK2Kue036PeSCJq1 JWwVgWwT0JfhfFMXjj5tZm7pspNaGLst =FBRX -----END PGP SIGNATURE----- Kogda klient nazhmet na knopku s nadpis'yu "OK", The Bat! sgeneriruet stroku zaprosa: service=getcurrencytrend&iso=USD&date1=01011996&date2=01011999 `Ekrannaya forma, opisannaya privedennym TBC-fajlom, vyglyadit sleduyuschim obrazom: Tak kak znacheniya parametrov ENCRYPT i SIGN klyuchevogo slova MSG ustanovleny v "ON", programma podpishet i zashifruet `etu stroku pered otpravkoj na server. Telo pis'ma budet vyglyadet' primerno tak: -----BEGIN PGP MESSAGE----- hMwDFB6rC1ABi3MBBgBuPwdXPA/obgJJ/fcjDSqO7oh820EHlKpA5mzbYSwg/qWg wYvNO/iJq4mofSfUnwozK3S5dD4zSeNcEqzQzw3ZZpE5D8aLOlNRAKlRh2ZIfN4W 6pmLJrhcX/GvsH667YUfL97r8LCWbaBtYI8D85ZluPSNGzt8AIgjIEZLKaAcq6yD eYpO5GpxvvDvT8Vb80QnUZW5kTX9MGFg+gtUGqcb3f3dibyewWZfjndhkjj4Br4I QLQ5v0mjx76lqxhbi5qmAAABM3PfOx1lpLE7VkHCTuQSPsm09a69rjQqgKimOPxj hcH8wKXAi2FYDQ8wY8iszRZ9IeDHJtqOsdr0vUltT0Mj0jGvWi1Jb/jFOZ0jW/2J k1uFMo5Dy/gaGQjjCIZvRT2dWy7CQ67vnegTi2zsvMAPM6/Bz7qTA6lsMMY88E9p 4qDlcN6OZIlY8DGaExcIDpoZwPChgIQfA55VQyNfN5YKzfBxCmtqSWbbLFh7WnkR 8FBLi9E8rPGg2jmzfAn1CczYnlfXinHtuAKmxmt3m3bOyNv5SGmMz+9WWhWIBH8Q XIBXrfH2yDDldKwkyj0tsjeXs6LFS7D/kMCdBNM1FClWw1EftTBbdwL0ykDX9Z6f NS6fQxYJxGrfAMp7hSaGydrenSKEviAy5o6HyjBxoCqQLGKdsWQ= =wflO -----END PGP MESSAGE----- Poluchiv pis'mo, server ego rasshifruet, proverit' podlinnost' podpisi, obrabotaet stroku zaprosa i otpravit tekuschij kurs valyut obratno pol'zovatelyu. Esli dobavit' v shablon `eti strochki: MSG TPL="Usluga : $service$" MSG TPL="Valyuta : $iso$" MSG TPL="Nachal'naya data : $date1$" MSG TPL="Konechnaya data : $date2$" ...to programma sformiruet chitabel'nyj zapros i rasshifrovannoe telo pis'ma budet vyglyadet' tak: Usluga : getcurrencytrend Valyuta : MDL Nachal'naya data : 01.01.1996 Konechnaya data : 01.01.1999 Esli dobavit' v shablon `eti strochki: MSG NFO="Pis'mo soderzhit zapros o tekuschem kurse valyut i prednaznacheno dlya" MSG NFO="otpravki v bank. Tekst zashifrovan pri pomoschi OpenPGP, chtoby" MSG NFO="obespechit' sohrannost' peredavaemyh dannyh. Esli vy nahodites' v" MSG NFO="seti Internet, nazhmite kombinaciyu klavish ili" MSG NFO="vospol'zujtes' punktom glavnogo menyu programmy "YAschik | Otpravit'" MSG NFO="pochtu"." ... to telo pis'ma pered otpravkoj budet vyglyadet' tak: Pis'mo soderzhit zapros o tekuschem kurse valyut i prednaznacheno dlya otpravki v bank. Tekst zashifrovan pri pomoschi OpenPGP, chtoby obespechit' sohrannost' peredavaemyh dannyh. Esli vy nahodites' v seti Internet, nazhmite kombinaciyu klavish ili vospol'zujtes' punktom glavnogo menyu programmy "YAschik | Otpravit' pochtu". -----BEGIN PGP MESSAGE----- hMwDFB6rC1ABi3MBBgBuPwdXPA/obgJJ/fcjDSqO7oh820EHlKpA5mzbYSwg/qWg wYvNO/iJq4mofSfUnwozK3S5dD4zSeNcEqzQzw3ZZpE5D8aLOlNRAKlRh2ZIfN4W 6pmLJrhcX/GvsH667YUfL97r8LCWbaBtYI8D85ZluPSNGzt8AIgjIEZLKaAcq6yD eYpO5GpxvvDvT8Vb80QnUZW5kTX9MGFg+gtUGqcb3f3dibyewWZfjndhkjj4Br4I QLQ5v0mjx76lqxhbi5qmAAABM3PfOx1lpLE7VkHCTuQSPsm09a69rjQqgKimOPxj hcH8wKXAi2FYDQ8wY8iszRZ9IeDHJtqOsdr0vUltT0Mj0jGvWi1Jb/jFOZ0jW/2J k1uFMo5Dy/gaGQjjCIZvRT2dWy7CQ67vnegTi2zsvMAPM6/Bz7qTA6lsMMY88E9p 4qDlcN6OZIlY8DGaExcIDpoZwPChgIQfA55VQyNfN5YKzfBxCmtqSWbbLFh7WnkR 8FBLi9E8rPGg2jmzfAn1CczYnlfXinHtuAKmxmt3m3bOyNv5SGmMz+9WWhWIBH8Q XIBXrfH2yDDldKwkyj0tsjeXs6LFS7D/kMCdBNM1FClWw1EftTBbdwL0ykDX9Z6f NS6fQxYJxGrfAMp7hSaGydrenSKEviAy5o6HyjBxoCqQLGKdsWQ= =wflO -----END PGP MESSAGE----- Copyright © 1995-2001 [1]RITLABS. All rights reserved. References 1. http://www.ritlabs.com/