home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1997 November
/
PCWorld_1997-11_cd.bin
/
software
/
programy
/
FBL
/
TCPBATCH
/
DEMO
/
SHORTMAN.TXT
< prev
next >
Wrap
Text File
|
1997-07-13
|
10KB
|
200 lines
Tento dokument slou₧φ jako struΦn² popis Φinnosti programu TCPBatch ver. 1.10
-----------------------------------------
Popis mo₧n²ch argument∙ programu TCPBatch
-----------------------------------------
B∞₧n∞ program spouÜtφme bez parametr∙, pak je umo₧n∞no interaktivnφ zadßvßnφ
jmΘna souboru-scriptu a jeho spouÜt∞nφ.
-p <protokol> ... jmΘno souboru-protokolu. Neuvedeme-li, pou₧ije se soubor se
jmΘnem TCPBATCH.LOG v aktußlnφm DOS-adresß°i
-p- ... ₧ßdn² protokol
-d <symbol> ... definuj symbol pro mo₧nß v∞tvenφ programu (viz nφ₧e p°φkaz
Define/UnDefine nebo IfDef/IfNotDef), malß a velkß pφsmena v²znamnß
-n <ΦφtaΦ> <hodnota> ... definuj ΦφtaΦ a nastav jej na inicißlnφ hodnotu
-l <°et∞zec> ... inicißlnφ hodnota pro term line (viz nφ₧e), kter² m∙₧e b²t
souΦßstφ odesφlanΘho °et∞zce, zprßv apod.
-c <server> <port> ... ihned po startu programu zahßjφ spojenφ s t∞mito
parametry. Obvykle je parametr kombinovßn s autostartov²m scriptem
-a <port> ... ihned po startu programu Φekß na spojenφ na tomto portu.
Obvykle je parametr kombinovßn s autostartov²m scriptem
Pokud za klφΦov²mi parametry uvedeme i n∞jakΘ poziΦnφ (nep°edchßzenΘ znakem -),
mß prvnφ z nich v²znam souboru-scriptu, v tom p°φpad∞ se tento script ihned
spouÜtφ, ani₧ by program Φekal na stisk tlaΦφtka Start (jde o autostartov²
script), obvykle je na konci scriptu End, tzn. ukonΦenφ celΘho programu
TCPBatch.
-----------------------------------------------------
Popis scriptu pro TCPBatch (defaultovß p°φpona *.TCP)
-----------------------------------------------------
Script m∙₧e obsahovat nßsledujφcφ p°φkazy:
Connect <server> <port>
- port zadat Φφslem, server jmΘnem DNS nebo IP-adresou. P°ipojφ se k serveru
na dotyΦn² port. Pokud je jedna z hodnot znak otaznφk, vy₧ßdß si program
parametry spojenφ interaktivn∞
Accept <port>
- port zadat Φφslem. PoΦkß (listening) na portu, dokud se k n∞mu n∞kdo
nep°ihlßsφ, ₧ßdost akceptuje a listening ukonΦφ. Pokud je mφsto portu
znak otaznφk, vy₧ßdß si program parametry spojenφ interaktivn∞
Disconnect
- ukonΦφ spojenφ. Nenφ t°eba, pokud jej ukonΦil prot∞jÜek, ale nic se
nestane p°i duplicit∞ (vypφÜe se jen warning do protokolu)
Je-li spojenφ navßzßno (tj. za Connect nebo Accept, takΘ jej ovÜem mohl navßzat
p°edchozφ script nebo parametry -c Φi -a programu), m∙₧e nßsledovat:
Send <°et∞zec>
- poÜle °et∞zec v jeho dΘlce (nep°idßvß za n∞j sßm od sebe newline)
Receive <poΦet>
- naΦte p°esn∞ tolik znak∙
SkipTo <°et∞zec>
- °et∞zec musφ b²t jednoznakov². NaΦφtß znaky, dokud nenaΦte tento znak. Lze
pou₧φt i pro naΦtenφ jednΘ °ßdky ve tvaru: SkipTo nl
WaitFor <podmφnka>
- naΦφtß °ßdky ukonΦenΘ newlinem (ignoruje CR), dokud nenφ spln∞na podmφnka.
Podmφnky: End ... a₧ do uzav°enφ spojenφ prot∞jÜkem
EmptyLine ... dokud nenaΦte prßzdnou °ßdku
LineStarting <°et∞zec> ... dokud nenaΦte °ßdku zaΦφnajφcφ textem
ExactMatch <°et∞zec> ... dokud nenaΦte p°esn∞ tuto °ßdku
╪et∞zec je mezerami odd∞lenΘ z°et∞zenφ libovolnΘho poΦtu term∙, p°iΦem₧ term je:
- cokoli v uvozovkßch - funguje escapovßnφ pomocφ '\' vΦetn∞ b∞₧n²ch symbol∙
obdobn²ch z C++ a₧ na dekadickou interpretaci znak∙ (v C++ oktalovß)
- dekadick² zßpis Φφsla 0-255 (souΦßstφ °et∞zce m∙₧e b²t i 0, tedy null)
- nl Φi lf = newline, cr = carriage return, tab = tabelator, esc = escape
- line - poslednφ naΦten² °et∞zec bez koncovΘho znaku °ßdky v p°φpad∞ SkipTo
a WaitFor, resp. v ΦistΘm poΦtu znak∙ v p°φpad∞ Receive nebo naposledy
zadan² °et∞zec v p°φkazu Input
- jmΘno pou₧itΘ d°φve v p°φkazu SetCounter - hodnota ΦφtaΦe v prostΘm
dekadickΘm zßpisu
P°φklad °et∞zce: "Ahoj\r\nPolib mi\tÜos\27\010" nl "Ahoj" tab 4 127 nl "\n"
Program umo₧≥uje p°φjem dat do souboru. Pokud uvedeme p°φkaz:
OutputFile <jmΘno-souboru>
budou vÜechna data Φtenß ze socketu p°φkazy Receive, SkipTo a WaitFor ve svΘ
ΦistΘ dΘlce opisovßna binßrn∞ do tohoto souboru a₧ do konce vÜech script∙ nebo
do p°φkazu CloseOutput (kter² jej uzav°e) nebo dalÜφho OutputFile.
Zapisujφ se pouze Φistß data - pokud bylo v bloku dat p°ijato vφce dat, ale
nap°. WaitFor skonΦil prßzdnou °ßdkou, konΦφ zßpis touto prßzdnou °ßdkou.
P°φkazy OutputFile a CloseOutput nemajφ vliv na zßkladnφ chovßnφ programu.
JmΘno souboru nedßvßme do uvozovek ani nezdvojujeme znaky '\'.
Program mß i jednoduchΘ °φdφcφ p°φkazy:
Label <jmΘno>
- nic nevykonß, jen oznaΦuje mφsto ve scriptu (malß a velkß pφsmena v²znamnß)
GoTo <jmΘno>
- skoΦφ na prvnφ Label <jmΘno> tΘho₧ jmΘna ve scriptu a pokraΦuje za nφm. Pokud
nenalezne jmΘno v tomtΘ₧ scriptu a ten je spouÜt∞n z jinΘho, ukonΦφ provßd∞nφ
tohoto scriptu a zkouÜφ to v nad°φzenΘm. Pokud jmΘno nenφ nalezeno v ₧ßdnΘm
z nad°φzen²ch (volajφcφch) script∙, vyvolß chybu
Wait <poΦet-milisekund>
- poΦkß tolik milisekund (hodnota nenφ shora omezenß; Φekßnφ nenφ p°φmo
v milisekundßch, ale je p°evedeno na jednotky, kter²mi prßv∞ Φasujφ Windows)
Comment <text>
- nic nevykonß. V²znam komentß°∙ majφ i prßzdnΘ °ßdky a °ßdky zaΦφnajφcφ '/' a
dßle °ßdky p°eskoΦenΘ p°φkazem GoTo (jejich₧ obsah se tudφ₧ nekontroluje)
SetCounter <jmΘno> <Φφslo>
- nastavφ ΦφtaΦ <jmΘno> na Φφselnou hodnotu, zalo₧φ jej, pokud dosud nebyl
vytvo°en. ╚φtaΦe lze pou₧φvat jako souΦßst °et∞zc∙, zv∞tÜovat o konstantu a
testovat, ve jmΘn∞ jsou malß a velkß pφsmena v²znamnß
IncrementCounter <jmΘno> [<Φφslo>]
- zv∞tÜφ ΦφtaΦ <jmΘno> o Φφselnou hodnotu (m∙₧e b²t i zßpornß), p°i neuvedenφ
Φφsla o 1. ╚φtaΦ musel ji₧ existovat (jinak vyvolß chybu)
TestCounter <jmΘno> <operßtor> <Φφslo>
- pokud je ΦφtaΦ v relaci s Φφslem, definuje globßlnφ symbol TRUE, jinak jej
undefinuje. Operßtor m∙₧e b²t jeden z <, >, <=, >=, =, <>. ╚φtaΦ musel ji₧
existovat (jinak vyvolß chybu)
ShowCheckBox <jmΘno> [<°et∞zec>]
- pokud dosud nenφ vid∞t check-box s tφmto jmΘnem, vytvo°φ se nov² v po°adφ a
zobrazovan² text (vpravo od ΦtvereΦku) bude °et∞zec (mß syntaxi shodnou
s p°φkazy Send apod., typicky text v uvozovkßch). P°i vynechßnφ °et∞zce se
zobrazφ jmΘno check-boxu, velkß a malß pφsmena v²znamnß. Pokud byl ji₧
check-box s tφmto jmΘnem vid∞t, nezp∙sobφ ₧ßdnou akcφ ani chybu
HideCheckBox <jmΘno>
- pokud je vid∞t check-box s tφmto jmΘnem, skryje jej a uvolnφ prostor pro
dalÜφ check-boxy (souΦasn∞ jich m∙₧e b²t vid∞t max. 10). Pokud check-box
vid∞t nenφ, nezp∙sobφ ₧ßdnou akci ani chybu
SetCheck <jmΘno> <zp∙sob>
- pokud je vid∞t check-box s tφmto jmΘnem, oznaΦφ ho podle zp∙sobu (druhΘho
argumentu), pokud nenφ, ohlßsφ chybu a ukonΦφ interpretaci script∙. Zp∙sob
m∙₧e b²t Φφslice 0 (zruÜ oznaΦenφ), 1 (oznaΦ) nebo 2 (zm∞≥ stav na opaΦn²)
TestCheck <jmΘno>
- pokud je check-box s tφmto jmΘnem vid∞t a oznaΦen, definuje globßlnφ symbol
CHECKED, jinak jej undefinuje. Nikdy nezp∙sobφ chybu
WaitCheck <jmΘno> [<hodnota>]
- Φekß, dokud nenφ check-box s tφmto jmΘnem oznaΦen dle hodnoty (0=neoznaΦen,
1=oznaΦen, p°i vynechßnφ oznaΦen). Pokud check-box nenφ viditeln², ohlßsφ
chybu a ukonΦφ interpretaci script∙
Return
- ukonΦφ provßd∞nφ scriptu (t²₧ efekt mß konec souboru-scriptu)
Stop
- ukonΦφ provßd∞nφ vÜech rozb∞hnut²ch script∙
End
- ukonΦφ provßd∞nφ scriptu i program TCPBatch, pou₧φvßme obvykle v kombinaci
s autostartov²m scriptem (uvedenφm scriptu v p°φkazovΘ °ßdce)
Signalize <jmΘno-souboru>
- soubor musφ b²t dle standardu *.WAV, p°φkaz p°ehraje tento zvuk, neΦekß na
jeho dokonΦenφ a ihned pokraΦuje v interpretaci scriptu. Pokud nenφ soubor
nalezen nebo operaΦnφ systΘm nemß nainstalovßn ₧ßdn² p°ehrßvaΦ zvuk∙, je
p°φkaz ignorovßn bez event. hlßÜenφ chyb
ShowWindow <zp∙sob>
- je-li zp∙sob=1, zobrazφ hlavnφ okno programu, je-li 0, schovß jej (tzn.
minimalizuje jej na taskbar). Tuto akci lze rovn∞₧ vyvolat myÜφ nebo
systΘmov²m menu
Message <°et∞zec>
- zahlßsφ text jako zprßvu, vyΦkß stisku buttonu Ok/Cancel a pokraΦuje ve
scriptu (Cancel ukonΦφ provßd∞nφ vÜech script∙ jako p°φkaz Stop).
╪et∞zec se °φdφ syntaxφ uvedenou v²Üe, typicky n∞jak² text v uvozovkßch
Input <°et∞zec>
- zahlßsφ text jako zprßvu, vyΦkß zadßnφ °et∞zce a stisku buttonu Ok/Cancel
a pokraΦuje ve scriptu (Cancel ukonΦφ provßd∞nφ vÜech script∙ jako p°φkaz
Stop). ╪et∞zec bude ulo₧en do termu line a z∙stßvß platn² a₧ do dalÜφho
p°φkazu Input, Receive, WaitFor nebo SkipTo, tzn. lze jej pou₧φt jako
souΦßst jin²ch °et∞zc∙
Question <°et∞zec>
- zahlßsφ text jako zprßvu, vyΦkß stisku buttonu Yes/No/Cancel a pokraΦuje
ve scriptu. Cancel ukonΦφ provßd∞nφ vÜech script∙ jako p°φkaz Stop, Yes
definuje a No undefinuje globßlnφ symbol CONSENT
IfDef <symbol> [p°φkaz]
IfNotDef <symbol> [p°φkaz]
- p°φkaz se provede, pokud byl (resp. nebyl ve verzi IfNotDef) symbol definovßn
pomocφ -d v p°φkazovΘ °ßdce nebo p°φkazy Define/Undefine nebo (v p°φpad∞
symbolu CONSENT) p°φkazem Question nebo (v p°φpad∞ symbolu TRUE) p°φkazem
TestCounter. P°φkazem b²vß obvykle GoTo nebo Call, m∙₧e jφm b²t i dalÜφ
IfDef/IfNotDef a ovÜem i jak²koli jin² p°φkaz
Define <symbol>
Undefine <symbol>
- definuje symbol resp. zruÜφ definici symbolu stejn∞ jako -d v p°φkazovΘ °ßdce
Call <jmΘno-souboru>
- p°eruÜφ provßd∞nφ scriptu, provede cel² script <jmΘno-souboru> a pokud b∞hem
n∞j nedojde k chyb∞ nebo p°φkaz∙m Stop a End, pokraΦuje za p°φkazem Call
VeÜkerß Φtenß i protokolovanß Φφsla jsou v dekadickΘ soustav∞.
Program vytvo°φ soubor pro protokol TCPBATCH.LOG v aktußlnφm DOSovΘm
adresß°i (neuvedeme-li v p°φkazovΘ °ßdce -p) a vypisuje do n∞j vÜechny
udßlosti i s konkrΘtnφmi daty. Tento protokol se sice p°φkazu DIR jevφ
jako prßzdn², ale pomocφ notepadu nebo p°φkazu TYPE jej lze Φφst v₧dy
v aktußlnφm stavu.