wnimanie ! pri nabore bolx{ih tekstow neobhodimo periodi~eski zapisywatx wwedennye ~asti. ina~e pri sboe ma{iny wesx nabrannyj tekst pogibnet. TED - kratkaq instrukciq 1.0 wwedenie predlagaemyj redaktor prednazna~en dlq sozdaniq nowyh i korrektirowaniq staryh simwolxnyh tekstow. ego glawnaq osobennostx zakl`~aetsq w orientacii na telewizionnyj terminal "VIDEOTON 340". primenenie apparatnyh wozmovnostej |togo wideoterminala pozwolqet namnogo uprostitx t obleg~itx process redaktirowaniq tekstow po srawneni` so standartnoj tehnikoj, prinqtoj w strokowyh redaktorah teletajpnogo tipa. "TED rabotaet ne s fajlom, gde hranitsq ishodnyj tekst, a s ego kopiej, kotoraq sodervitsq w tekstowom bufere redaktora. perwona~alxno (posle zapuska redaktora) |tot bufer pust. su}estwuet komanda ~teniq, kotoraq perenosit sodervimoe fajla w tekstowyj bufer, delaq |tot tekst dostupnym dlq obrabotki. s pomo}x` drugoj komandy (komandy zapisi) sodervimoe tekstowogo bufera movno perepisatx w fajl. otmetim nekotorye udobstwa |togo podhoda. komanda zapisi tekstowogo bufera w fajl ne izmenqet sodervimogo bufera; komanda ~teniq li{x dobawlqet tekst iz fajla k uve ime`}emusq sodervimomu bufera. takim obrazom, tri osnownye operacii - ~tenie, redaktirowanie i zapisx mogut ispolnqtsq w proizwolxnoj posledowatelxnosti. naprimer, esli srazu posle zapuska redaktora pristupitx k operacii redaktirowaniq (propustiw operaci` ~teniq), my polu~im nowyj tekst. posle zapisi |togo teksta w fajl movno opqtx pristupitx k redakcii i zapisatx drugoj wariant |togo ve teksta w nowyj fajl. o~istiw tekstowyj bufer specialxnoj komandoj, my na~nem wse sna~ala. redaktor imeet dwa osnownyh revima raboty - komandnyj revim i |krannyj. w komandnom revime ispolnq`tsq, glawnym obrazom, te operacii, kotorye trebu`t zadaniq parametrow, w |krannom revime polxzowatelx widit pered soboj na |krane ~astx tekstowogo bufera i s pomo}x` ukazatelq (markera) i klawiatury, kotoraq w |tom revime ispolxzuetsq kak funkcionalxnaq, proizwodit redakci`. dialog s polxzowatelem w komandnom revime organizuetsq posredstwom komand s parametrami - ob}eprinqtym w sisteme obrazom. tipi~nye operacii dlq |togo revima - udalenie ili perestanowka gruppy strok, ~tenie fajla (wsego celikom ili tolxko ~asti) w tekstowyj bufer i t.d. maksimalxnaq dlina stroki, dopuskaemaq redaktorom - 126 simwolow. 2.0 komandnyj revim. w priwedennom nive opisanii komand ispolxzu`tsq sledu`}ie obozna~eniq i ponqtiq: - w kwadratnye skobki zakl`~a`tsq neobqzatelxnye parametry (ili |lementy parametrow); - "FILE" ozna~aet standartnu` w sisteme specifikaci` fajla; - "N", "N1", "N2" obozna~a`t desqti~nye ~isla. simwol "$" ponimaetsq kak ~islo rawnoe nomeru poslednej stroki w tekstowom bufere (ili w fajle, kak togo trebuet kontekst); - "P", "P1", "P2" sutx tekstowye ukazateli. tekstowyj ukazatelx estx sredstwo, s pomo}x` kotorogo movno ukazatx mesto w tekstowom bufere s to~nostx` do simwola, tekstowyj ukazatelx wydaet odnowremenno nomer stroki i pozici` wnutri stroki (s~itaetsq, ~to perwyj simwol stroki - |to nulewaq poziciq). tekstowyj ukazatelx movno postroitx dwumq razli~nymi sposobami. wo-perwyh, movno qwno ukazatx nomer stroki s pomo}x` ~isla,znaka "$" (ponimaemogo kak nomer poslednej stroki) i arifmeti~eskih operacij "+" i "-". esli zna~enie postroennogo takim obrazom wyraveniq okavetsq bolx{e ~isla strok w tekstowom bufere, budet ispolxzowan nomer poslednej stroki. |tot wid tekstowogo ukazatelq wsegda wydaet nulewu` pozici` w stroke. wo-wtoryh, movno zadatx cepo~ku simwolow (sostoq}u` minimum iz odnogo simwola), kotoru` redaktor budet pytatxsq otyskatx w tekstowom bufere. esli |ta popytka okavetsq uspe{noj, perwyj simwol iz zadannoj cepo~ki opredelit zna~enie ukazatelq - nomer stroki i pozici`. iskomaq cepo~ka simwolow ograni~iwaetsq s pomo}x` odnogo iz sledu`}ih simwolow: ! " % & ' = : \ / ? < > simwoli~eski |to zapisywaetsq tak: /STRING/ gde wmesto "/" movno upotrebitx l`boj iz pere~islennyh wy{e simwolow, a "STRING" nepustaq posledowatelxnostx simwolow, ne soderva}aq razdelitelq. dlq ukazatelq, zapisannogo takim obrazom, poisk budet wypolnqtxsq na~inaq ot teku}ej pozicii markera i do konca teksta. na~alo poiska movno izmenitx, napisaw /STRING/(N) w |tom slu~ae poisk na~netsq s N - oj stroki (smysl "N" rask- ryt w predydu}em punkte). predel poiska takve movno ukazatx: /STRING/ (N1,N2) dopustimy i takie formy tekstowogo ukazatelq: /STRING/( , N2) /STRING/(N1,N2)+N 2.1 opisanie komand kavdaq komanda sostoit iz koda komandy i wozmovnyh parametrow. kod komandy - |to odin ili dwa simwola. parametry otdelq`tsq drug ot druga probelami, tabulqtorami ili zapqtoj. kod komandy otdelqetsq ot parametrow (esli oni estx) takim ve obrazom. komandnaq stroka dolvna zawer{atxsq libo simwolom "RETURN", libo "ETX", komanda, zawer{ennaq simwolom "ETX", ispolnqetsq oby~nym obrazom, no srazu posle ee wypolneniq redaktor perehodit w |krannyj revim. dopustima takve pustaq komandnaq stroka, t.e. stroka iz simwola "RETURN" ili "ETX". |to prosto perehod w |krannyj revim. nive sleduet opisanie komand, wosprinimaemyh redaktorom w komandnom revime. CTR/Z ili K1  okon~anie raboty s redaktorom SS priostanowitx rabotu redaktora i oswoboditx terminal. |ta komanda daet wozmovnostx wyzwatx drugu` programmu s |togo ve terminala, sohraniw redaktiruemyj tekst w tekstowom bufere. poskolxku redaktor dervit terminal zakreplennyj za soboj, nikakaq drugaq programma ne smovet im wospolxzowatxsq (naprimer, sdelatx raspe~atku na terminale) do teh por, poka redaktor ne oswobodit ego. CL  |ta komanda polnostx` o~i}aet tekstowyj bufer R (P) FILE (N1,N2)  s~itatx fajl "FILE" w tekstowyj bufer. 1) esli opu}eny "N1" i "N2" fajl beretsq wesx, ina~e - ot stroki "N1" do "N2". 2)s~itannyj takim obrazom tekst wstawlqetsq w tekstowyj bufer za strokoj, ukazywaemoj "P" ili za poslednej strokoj w bufere, esli "P" otsutstwuet. 3) "FILE" opuskatx nelxzq. 4) esli wwodnoe ustrojstwo - magnitnaq lenta, a imq fajla - 'IBM', redaktor budet s~itatx, ~to wwodnoj tekst zapisan w kode EBCDIK i perewodit ego w ASCII. 5) wse probely ot konca stroki i do perwogo zna~a}ego simwola ustranq`tsq. WT [P1 P2] [FILE] [N] sodervimoe tekstowogo bufera ot stroki "P1" do "P2" perepisywaetsq w fajl "FILE" wsled za strokoj "N".  1) esli opu}eny "P1" i "P2" - beretsq wesx tekstowyj bufer. esli dan tolxko odin parametr - beretsq ukazywaemaq im stroka. 2) esli opu}en "FILE" - ispolxzuetsq poslednij s~itannyj komandoj >R fajl. 3) "N" movet bytx rawno libo 0, libo $. w perwom slu~ae proishodit zapisx s na~ala fajla, wo wtorom - wsled za poslednej strokoj. esli |tot parametr opu}en, zapisx na~inaetsq s na~ala fajla. 4) pri zapisi redaktor pytaetsq podrqd stoq}ie probely zamenitx na tabulqtory we|de, gde |to wozmovno. zapakowka wypolnqetsq standartnym w sisteme sposobom. 5) esli wywodnoe ustrojstwo - magnitnaq lenta, redaktor dobawlqet w konec stroki probely do teh por, poka dlina stroki ne stanet a) ~etnoj i w) ne menx{e 14 bajtow. 6) esli wywodnoe ustrojstwo - magnitnaq lenta, a imq fajla - 'IBM', redaktor proizwodit perekodirowku iz ASKII w EBCDIC, dowodq dlinu kavdoj stroki s pomo}x` probelow do 80 bajtow. W [P1 R2] [FILE] [N] |ta komanda otli~aetsq ot predydu}ej tolxko tem, ~to zapakowka teksta s pomo}x` tabulqtorow ne primenqetsq. w fajle, polu~ennom s pomo}x` |toj komandy, garantiruetsq otsutstwie tabulqtorow. F  soob}aet specifikaci` poslednego s~itannogo komandoj >R fajla. imenno |tot fajl budet ispolxzowan redaktorom pri ispolnenii komand >W i >WT esli polxzowatelx propustit imq fajla. DF [FILE]  1) esli w |toj specifikacii fajla ukazany kod identifikacii polxzowatelq (UIC) i/ili ustrojstwo (DV:), to redaktor budet ispolxzowatx |ti parametry kak podrazumewaemye po umol~ani` wezde, gde polxzowatelx ne ukazal ih qwno, no po sintaksisu komandy trebowalasx specifikaciq fajla. 2) esli komanda podana bez parametra, redaktor soob}it, kakoj kod identifikacii polxzowatelq i ustrojstwo on nameren ispolxzowatx po umol~ani`. PR P1 [P2]  raspe~atatx stroki ot "P1" do "P2" na terminale. esli "P2" otsutstwuet, raspe~atywaetsq odna stroka. esli w raspe~atywaemoj stroke prisutstwu`t uprawlq`}ie simwoly, kavdyj iz nih predstawlqetsq w wide dwuh - "" i simwola , kod kotorogo na 100(8) bolx{e. naprimer, kod 001(8) budet otobraven kak "a". D P1 [P2]  udalitx stroki ot "P1" do "P2" wkl`~itelxno. M P1 P2 P3  stroki ot "P1" do "P2" skopirowatx i wstawitx za strokoj "P3". |to operaciq dublirowaniq, t.k. stroki "P1" - "P2" osta`tsq na swoem meste. MD P1 P2 P3  stroki ot "P1" do  "P2" udalq`tsq i wstawlq`tsq wsled za strokoj "P3". |to operaciq perenosa gruppy strok. wnimanie! pri neobhodimosti perenesti komandoj m ili MD odnu stroku sleduet nabratx: M[D] P1 P1 P3. SU /OLD/NEW/[(N1 [N2])] SU M /OLD/NEW/[(N1 [N2])] SU N /OLD/NEW/[(N1 [N2])] konteksnaq podstanowka - zamena odnoj cepo~ki simwolow na drugu`. "OLD" sutx siaraq cepo~ka, "NEW" - nowaq. nowaq cepo~ka movet bytx pustoj, staraq - net. w ka~estwe razdelitelej cepo~ek movet primenqtxsq l`boj iz dopustimyh dlq tekstowogo ukazatelq ograni~itelej komanda podstanowki movet rabotatx w odnom iz treh revimow: 1) podstanowka osu}estwlqetsq wezde, gde najdena cepo~ka /OLD/. |tot revim dejstwuet po umol~ani`. 2) stroka, gde najdena cepo~ka  /OLD/ pe~ataetsq na terminale, pri~em sama cepo~ka zakl`~aetsq w dwojnye kawy~ki ("). posle |togo redaktor zadaet polxzowatel` wopros, sleduet li w dannom slu~ae proizwoditx podstanowku. polxzowatelx imeet w |tot moment tri wozmovnosti: a) proizwesti podstanowku i prodolvitx - otwetitx "Y", B) ne proizwoditx podstanowku i prodolvitx - otwetitx "RETURN", C)ne proizwoditx podstanowku i zakon~itx - otwetitx "ETX". 3) wypolnenie zadannogo koli~estwa podstanowok. ~toby wybratx wtoroj revim, nuvno napisatx bukwu "M" w ka~estwe perwogo parametra komandy. esli trebuemoe koli~estwo podstanowok izwestno zaranee, ego movno napisatx na meste perwogo parametra. w |tom slu~ae redaktor ne budet zadawatx nikakih woprosow. 4) wo wseh treh revimah redaktor pe~ataet na terminale stroku posle wypolneniq podstanowki. 5) predely poiska cepo~ki /OLD/ movno zadatx, kak i dlq tekstowogo ukazatelq, tolxko |ti predely dolvny bytx zapisany posle cepo~ki /NEW/. SH P1 P2 N SDWINUTX STROKI OT "P1" do "P2" na N pozicij wprawo, esli N polovitelxno ili wlewo, esli N otricatelxno. S [P]  perejti w |krannyj revim. perwoj strokoj |krana budet stroka, ukazywaemaq "P", ili (esli "P" propu}en) |to budet stroka, na kotoroj stoql marker pered perehodom w komandnyj revim. P [P] perestawitx marker w pozici`, ukazywaemu` "P". perehod w zkrannyj revim ne proishodit. esli parametr opu}en, redaktor soob}aet pozici`, w kotoroj nahoditsq marker. 2.2 redakciq w komandnom revime w komandnom revime dostupny nekotorye sredstwa dlq redakcii komandnyh strok. DL - annulirowatx nabrannu` stroku i na~atx ee wwod zanowo. strelka wlewo - annulirowatx predydu}ij simwol. zame~anie sledu`}ie tri wozmovnosti osnowany na tom, ~to redaktor wsegda pomnit predydu}u` nabrannu` stroku. posle togo, kak stroka zawer{ena (simwolom "RETURN" ili "ETX"), ona stanowitsq "predydu}ej" strokoj. strelka wprawo - zaimstwowatx iz predydu}ej stroki odin simwol, stoq}ij w toj ve pozicii, gde nahoditsq marker. strelka wwerh - zaimstwowatx iz predydu}ej stroki wse simwoly wplotx do simwola konca stroki, no iskl`~aq ego. CTR/D - to ve, ~to i "strelka wwerh", no simwol konca stroki takve zaimstwuetsq. stroka okazywaetsq takim obrazom zawer{ennoj i srazu ispolnqetsq. esli nuvno mnogokratno ispolnitx odnu i tu ve komandu, to wse ~to dlq |togo nuvno sdelatx - izwlekatx simwol CTR/D. 3.0 |krannyj revim. |to revim redaktirowaniq teksta. kavdyj kod, izwle~ennyj na klawiature, qwlqetsq komandoj, po kotoroj redaktor proizwodit nekotorye dejstwiq, ili ne proizwodit nikakih, esli takoj komandy ne su}estwuet. wse kody, izwlekaemye na klawiature, delqtsq na dwe gruppy - pe~atnye kody i uprawlq`}ie. kavdyj pe~atnyj kod izwlekaetsq navatiem odnoj knopki, a uprawlq`}ij - (w ob}em slu~ae) dwumq: sna~ala navimaetsq knopka "CTR", zatem kakaq-nibudx "pe~atnaq" knopka. nekotorye uprawlq`}ie kody movno polu~itx t bolee prostym sposobom, s pomo}x` odnoj specialxno wydelennoj dlq |toj celi knopki: IL = CTR/K DL = CTR/ IC = CTR/\ DC = CTR/] TAB = CTR/I ETX = CTR/C HOME = CTR/L LINE FEED = CTR/J RETURN = CTR/M strelka wlewo = CTR/H strelka wprawo = CTR/X strelka wwerh = CTR/Y strelka wniz = CTR/Z nikakim programmnym sposobom newozmovno otli~itx, byla li navata odna knopka ili odnowremenno dwe sootwetstwu`}ih ej - w oboih slu~aqh |ffekt budet sower{enno odinakowyj. l`boj pe~atnyj simwol, wwedennyj s klawiatury w |krannom revime, zanositsq w pozici`, ukazywaemu` markerom. marker posle |togo peredwigaetsq na odnu pozici` wprawo. postupa`}ie s klawiatury uprawlq`}ie simwoly interpretiru`tsq kak komandy. prawila interpritacii (smysl komandy) opisany nive. "strelka wlewo" peredwigaet marker na odnu pozici` wlewo. "strelka wprawo" peredwigaet marker na odnu pozici` wprawo. "strelka wwerh" pereme}aet marker na odnu stroku wwerh w tu ve poziui`. esli marker nahodilsq w perwoj stroka |krana, pri~em |ta stroka - ne perwaq stroka w tekstowom bufere, proizwoditsq "sdwig" |krana na odnu stroku wniz. "strelka wniz" pereme}aet marker na odnu stroku wniz w tu ve pozici`. esli marker nahodilsq na poslednej stroke |krana, pri~em |ta stroka - ne poslednqq stroka w tekstowom bufere, proizwoditsq "sdwig" |krana na odnu stroku wwerh. HOME  pereme}aet marker na perwu` stroku |krana ili na posledn``, esli marker nahodilsq na perwoj stroke. CTR/F pereme}aet marker w sledu`}u` pozici` tabulqtora (wprawo). CTR/Q  pereme}aet marker w predydu}u` pozici` tabulqtora (wlewo). TAB pereme}aet marker w sledu`}u` pozici` tabulqtora (wpered), zamenqq wse stoq}ie po doroge simwoly na probely. RETURN  pereme}aet marker w perwu` (nulewu`) pozici` stroki. ERASG  regeneriruet zanowo sodervimoe |krana, ni~ego ne izmenqq w tekstowom bufere. LF  obrazuet pustu` stroku pod strokoj, ukazywaemoj markerom. marker pereme}aetsq na nowu` stroku. DL  udalqet stroku, ukazywaemu` markerom. mesto udalennoj stroki zanimaet stroka, stoqw{aq pod udalqemoj (esli ona estx). IL obrazuet pustu` stroku nad ukazywaemoj markerom strokoj. marker pereme}aetsq na nowu` stroku. DC udalqet ukazywaemyj markerom simwol. wse simwoly, stoq}ie sprawa ot markera, pereme}a`tsq na odnu pozici` wlewo, zapolnqq obrazowaw{eesq pustoe mesto. IC  obrazuet probel w ukazywaemoj markerom pozicii, razdwigaq wprawo stroku. esli perwona~alxno dlina stroki byla 126 simwolow, poslednij simwol budet poterqn. CTR/D  izgotawliwaet to~nu` kopi` stroki, ukazywaemoj markerom, i razme}aet ee pod |toj strokoj (drugimi slowami, dubliruet stroku). CTR/A ili CTR/B  razryw stroki w to~ke, ukazywaemoj markerom. |ti komandy obrazu`t iz odnoj stroki dwe nowyh. sm. diagrammu. ---------------------------- : : ishodnaq stroka: : AAAAAAAAAAXBBBBBBBBBBBBB : (marker ukazywaet na "h") : : : : ---------------------------- posle CTR/A : : : XBBBBBBBBBBBBB : : AAAAAAAAAA :   : : ---------------------------- : : posle CTR/B : AAAAAAAAAA : : XBBBBBBBBBBBBB : : : ---------------------------- CTR/P ili CTR/O |ta komanda wozdejstwuet na dwe stroki : ishodnu` (ukazywaemu` markerom) i odnu stroku nad (ili pod) nej. ~astx ishodnoj stroki, na~inaq ot ukazywaemogo markerom simwola i dalee wprawo perenositsq na odnu stroku wwerh (CTR/P) ili wniz (CTR/O). sm. diagrammu.    ----------------------------- : : ishodnoe sostoqnie. : @@@@@@@@@@@@@@@@@@@@@@@@@ : (marker ukazywaet na "h") : AAAAAAAAAAAXBBBBBBBBBBBBB : : @@@@@@@@@@@@@@@@@@@@@@@@@ : "@" - proizwolxnyj : : simwol (naprimer, probel) -----------------------------  : : : @@@@@@@@@@@XBBBBBBBBBBBBB : posle CTR/P : AAAAAAAAAAA : : @@@@@@@@@@@@@@@@@@@@@@@@@ : : : ----------------------------- : : : @@@@@@@@@@@@@@@@@@@@@@@@@ : posle CTR/O : AAAAAAAAAAA : : @@@@@@@@@@@XBBBBBBBBBBBBB : : : ----------------------------- CTR/S perewesti redaktor w revim "wstawki". l`boj pe~atnyj simwol awtomati~eski soprowovdaetsq pri |tom uprawlq`}im simwolom IC. wyhod iz |togo revima osu}estwlqetsq powtornym navatiem CTR/S. CTR/V wwesti w redaktiruemyj tekst l`boj uprawlq`}ij simwol (krome "RETURN") bez interpritacii ego redaktorom. trebuemyj simwol nuvno wwoditx srazu posle simwola CTR/V. CTR/N  perewesti redaktor w "pod|krannyj" revim. marker zahodit pri |tom w uprawlq`}u` oblastx |krana, a ~islo, otobravaemoe w |toj oblasti estx nomer stroki, s kotoroj marker u{el w uprawlq`}u` oblastx (drugimi slowami, nomer stroki, w kotoroj marker nahodilsq w moment navatiq CTR/N). w pod|krannom revime ispolnq`tsq ~etyre komandy: "strelka wlewo" sdwig |krana na 10 pozicij wlewo "strelka wprawo" sdwig |krana na 10 pozicij wprawo "strelka wwerh" sdwig |krana na 13 strok wwerh "strelka wniz" sdwig |krana na 13 strok wniz wozwrat w |krannyj revim osu}estwlqetsq s pomo}x` "ETX" ili "RETURN".