Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
28.06.2014
Размер:
33.75 Кб
Скачать


ѓ‹Ђ‚Ђ 16.
ђЂЃЋ’Ђ…Њ ‘ ЃЂ‡ЂЊ€ „ЂЌЌ›• ‚ FOXPRO

Џа®¤®«¦ п ®Ўб㦤Ґ­ЁҐ ⥬, а бб¬ ваЁў ўиЁебп ў Ј«. 2,3, ¤ ­­ п
Ј« ў  Ї®Є §лў Ґв ®¤­г Ё§ бЁ«м­ле бв®а®­ FOXPRO: ўлб®Єго нд䥪⨢­®бвм
ЇаЁ¬Ґ­Ґ­Ёп Ё­¤ҐЄб®ў, дЁ«мва®ў Ё Ё¬ҐойЁебп ў Є®¬ ­¤ е дЁ«мвагойЁе
гб«®ўЁ©. Ѓ« Ј®¤ ап н⮬г FOXPRO Ё¬ҐҐв ўлб®ЄЁҐ бЄ®а®бв­лҐ
е а ЄвҐаЁбвЁЄЁ. ‚л гўЁ¤ЁвҐ в Є¦Ґ, ­ бЄ®«мЄ® 㤮Ў­  а Ў®в  б®
бўп§ ­­л¬Ё Ѓ„ Ё MEMO-Ї®«п¬Ё ў FOXPRO.

16.1. €бЇ®«м§гҐ¬ ­ҐбЄ®«мЄ® а Ў®зЁе ®Ў« б⥩

“Є § ­­лҐ ў Ї. 3.1 бЇа ў®з­лҐ дг­ЄжЁЁ DBF(), Reccount(), RecSize(),
Recno(), Fcount(), Header(), Deleted(), Found(),   в Є¦Ґ дг­ЄжЁЁ EOF(),
BOF(), Field(), Filter(), Lupdate(), Order(), Seek() ¬®Јгв Ё¬Ґвм  аЈг¬Ґ­в
<ЋЎ«> - ®Ў®§­ зҐ­ЁҐ ®Ў« бвЁ, ў Є®в®а®© ®вЄалв  Ѓ„, ў ўЁ¤Ґ <‚лаC>
(­Ґ § Ўлў ©вҐ Є ўлзЄЁ!) Ё«Ё <‚лаN>. Љ®¬ ­¤л ЇҐаҐ¬ҐйҐ­Ёп Ї® Ѓ„, ­ ЇаЁ¬Ґа
SKIP, Є®¬ ­¤  SET ORDER TO Ё Є®¬ ­¤  USE ¬®Јгв Ё¬Ґвм  ваЁЎгв IN<ЋЎ«>
(Є ўлзЄЁ ­Ґ ­г¦­л). ЋвЄалў Ґ¬ п в Є®© Є®¬ ­¤®© USE Ў §  ­Ґ бв ­®ўЁвбп
 ЄвЁў­®©, Ґб«Ё 㦥 Ґбвм  ЄвЁў­ п Ѓ„. ќвЁ дг­ЄжЁЁ Ё Є®¬ ­¤л Ї®§ў®«пов
бва®Ёвм Їа®Ја ¬¬г, а Ў®в ойго ба §г б ­ҐбЄ®«мЄЁ¬Ё Ѓ„, ЎҐ§ з бвле
ЇҐаҐЄ«о祭Ё© ®Ў« б⥩.
€­вҐаҐб­  ­®ў п дг­ЄжЁп SEEK (<ЂаЈг¬Ґ­в Ї®ЁбЄ >, <ЋЎ«>),
Є®в®а п ЁбЇ®«м§гҐвбп ў вҐе ¦Ґ гб«®ўЁпе, зв® Ё Є®¬ ­¤  SEEK, Ё ў®§ўа й Ґв
.T., Ґб«Ё Ї®ЁбЄ Ї® § ¤ ­­®¬г  аЈг¬Ґ­вг ў § ¤ ­­®© ®Ў« бвЁ гᯥ襭,
Ё­ зҐ - .F.. €­ зҐ Ј®ў®ап, ®­  а Ў®в Ґв "Ї® б®ў¬ҐбвЁвҐ«мбвўг" Є Є Found().
ЏаЁ¬Ґа 16.1. €¬Ґовбп Ѓ„ ®¤Ё­ Є®ў®© Ё«Ё Ў«Ё§Є®© бвагЄвгал,
ЇаҐ¤Ї®«®¦Ё¬, б § ЇЁбп¬Ё - ®ЇЁб ­Ёп¬Ё «Ёз­®б⥩: Ѓ„ DB1 Ё DB2. ‘®бв ўЁ¬
Їа®Ја ¬¬г, Є®в®а п ¤«п § ¤ ­­®© ў DB1 «Ёз­®бвЁ ЁйҐв ў DB2 Ї®¤е®¤пйго
«Ёз­®бвм. ќв® ¬®¦Ґв Ўлвм Ї®ЁбЄ ЇаҐбвгЇ­ЁЄ  ў Є ав®вҐЄҐ, ¤®­®а  Ї®
ЈагЇЇҐ Єа®ўЁ, தб⢥­­ЁЄ  Ї® ¤Ґ«г ® ­ б«Ґ¤б⢥ Ё в.Ї. ЌЁ¦Ґ Ї®Є § ­
гЇа®йҐ­­л© г祡­л© ў аЁ ­в. “«гз襭ЁҐ Їа®Ја ¬¬л Ўг¤Ґв а бᬮв७® ў
Ї. 17.3.
USE DB1
USE DB2 IN 2 && ЂЄвЁў­®© ®бв « бм DB1 (б¬. ўлиҐ) !
INDEX ON Famil TO IndFam && Џ® Ї®«о "” ¬Ё«Ёп" Ё­¤ҐЄбЁагҐвбп DB1
ACCEPT "‚ўҐ¤ЁвҐ Ё­¤.ўла ¦Ґ­ЁҐ ¤«п DB2 " TO S
ACCEPT "‚ўҐ¤ЁвҐ Ё¬п Ё­¤.д ©«  ¤«п DB2 " TO Ind
SELECT 2 && ‚л­г¦¤Ґ­­®Ґ ЇҐаҐЄ«о祭ЁҐ ®Ў« б⥩
INDEX ON &S TO &Ind && €­¤ҐЄбЁагҐвбп DB2 ¤«п ᮧ¤ ­Ёп
SELECT 1 && гб«®ўЁ© Ўлбва®Ј® Ї®ЁбЄ  ў DB2
ACCEPT "‚ўҐ¤ЁвҐ д ¬Ё«Ёо " TO Fam && “Є § ­ЁҐ «Ёз­®бвЁ ў DB1
IF Iif(Seek(Fam), Seek(&S,2), .F.)
? Recno(2), DB2.Famil && Љ®­ва®«м­л© ўлў®¤ ­®¬Ґа  Ё Ї®«п ­ ©¤Ґ­­®© § ЇЁбЁ
ELSE
? "ЋвбгвбвўгҐв Ёб室­ п (Seek(Fam) = .F.) Ё«Ё ­Ґв Ї®¤е®¤п饩 § ЇЁбЁ"
ENDIF
”г­ЄжЁп Seek(&S,2), а Ў®в п б DB2 ( аЈг¬Ґ­в "2" гЄ §лў Ґв а Ў®зго
®Ў« бвм), ЁбЇ®«м§гҐв ў  аЈг¬Ґ­вҐ Ї®ЁбЄ  §­ зҐ­Ёп Ї®«Ґ© ⥪г饩 § ЇЁбЁ
Ё§ BD1. Џ® ⥬ ¦Ґ Ї®«п¬ Їа®Ё­¤ҐЄбЁа®ў ­  DB2. …б«Ё ўла ¦Ґ­Ё©, Ї® Є®в®ал¬
¬®¦Ґв Їа®Ё§ў®¤Ёвмбп Ї®ЁбЄ, ­Ґ¬­®Ј® (бв®«мЄ® ¦Ґ ў®§¬®¦­ле Ё­¤ҐЄб®ў),
Ё­¤ҐЄбл ¬®Јгв Ўлвм ᮧ¤ ­л § а ­ҐҐ Ё ®вЄалвл ў¬Ґб⥠б DB2. ‚ н⮬ б«гз Ґ
¬®Ј«Ё Ўлвм ЁбЇ®«м§®ў ­л дг­ЄжЁп Order(2) ¤«п ®в®Ўа ¦Ґ­Ёп Ё¬Ґ­Ё ўҐ¤г饣®
Ё­¤ҐЄб  Ё Key(<Ќ®¬>,2) ¤«п ®в®Ўа ¦Ґ­Ёп ҐЈ® Є«оз , зв®Ўл Ї®«м§®ў вҐ«м
­ §­ з « ­Ґ®Ўе®¤Ё¬л© Ё­¤ҐЄб ­Ґ "ўб«ҐЇго".
‘ўп§Ё Ў § ¤ ­­ле. ‚ Ї. 2.6 а бᬮв७® гбв ­®ў«Ґ­ЁҐ бўп§Ґ© Ѓ„.
ђ бᬮваЁ¬ ЇаЁ¬Ґал бўп§Ё "®¤­ -б-®¤­®©" (1:1) ¤«п гпб­Ґ­Ёп ¤Ґв «Ґ©
нв®Ј® Їа®жҐбб . Ќ Ї®¬­Ё¬, зв® ў ўла ¦Ґ­ЁЁ бўп§Ё ЁбЇ®«м§говбп дг­ЄжЁЁ Ё
Ї®«п ¬ вҐаЁ­бЄ®© Ѓ„, е®вп ®ЎҐбЇҐзЁў Ґ¬л© Ё¬ Ї®ЁбЄ (Ё«Ё ¤®бвгЇ Є § ЇЁбЁ)
Їа®Ёб室Ёв ў ¤®зҐа­Ґ© Ѓ„.
ЏаЁ¬Ґа 16.2. Ѓ §  Dipl ᮤҐа¦Ёв ¤ ­­лҐ ® ¤ЁЇ«®¬­ЁЄ е, ў ⮬
зЁб«Ґ д ¬Ё«Ёо б Ё­ЁжЁ « ¬Ё (Ї®«Ґ Famil), ­®¬Ґа Є дҐ¤ал (NKaf),
а §¬Ґа бвЁЇҐ­¤ЁЁ (Stipa) Ё ЇаЁ§­ Є (Pr) § зҐв  Ї® ЇаҐ¤¤ЁЇ«®¬­®©
Їа ЄвЁЄҐ (Pr а ўҐ­ .T., Ґб«Ё § зҐв Ґбвм). ‚ Ў §Ґ Kafedr ­®¬Ґаг Є ¦¤®©
Є дҐ¤ал Nkaf б®Ї®бв ў«Ґ­® ҐҐ ­ §ў ­ЁҐ (KNaz) Ё ­®¬Ґа д Єг«мвҐв  (NFak),
Є®в®а®¬г ЇаЁ­ ¤«Ґ¦Ёв нв  Є дҐ¤а . ‚ Ў §Ґ Faki Є ¦¤®¬г ­®¬Ґаг Nfak
б®Ї®бв ў«Ґ­® ­ §ў ­ЁҐ д Єг«мвҐв  (FNaz). €­¤ҐЄбл ¤ўге Ї®б«Ґ¤­Ёе Ѓ„ 㦥
ᮧ¤ ­л (Ї® Є«оз ¬ - ­®¬Ґа ¬ NKaf Ё NFak ᮮ⢥вб⢥­­®).
Ќг¦­® ­ ЇҐз в вм бЇЁб®Є ¤ЁЇ«®¬­ЁЄ®ў, ­Ґ Ё¬ҐойЁе § зҐв , б
гЄ § ­ЁҐ¬ ­ §ў ­Ёп Є дҐ¤ал Ё д Єг«мвҐв . Љ®¬ ­¤  LIST б  ваЁЎг⮬
TO PRINT ўлў®¤Ёв бЇЁб®Є ®¤­®ўаҐ¬Ґ­­® ­  ¤ЁбЇ«Ґ© Ё ЇаЁ­вҐа.
USE Kafedr INDEX Kafedr && ‚ ®Ў« бвЁ 1 ®вЄалў Ґ¬ Ў §г-"¬ ¬г"
USE Faki INDEX Faki IN 2 && ‚ ®Ў« бвЁ 2 ®вЄалў Ґ¬ Ў §г-"¤®зЄг"
SET RELATION TO Nfak INTO Faki && “бв ­ ў«Ёў Ґ¬ бўп§м "¬ ¬ -¤®зЄ "
SELECT 0 && ЏҐаҐе®¤Ё¬ ў бў®Ў®¤­го ®Ў« бвм б ­ Ё¬Ґ­миЁ¬ ­®¬Ґа®¬(3)
USE Dipl && ‚ ®Ў« бвЁ 3 ®вЄалў Ґ¬ Ў §г-"Ў ЎгиЄг"
SET RELATION TO Nkaf INTO Kafedr && ‘ўп§м "Ў ЎгиЄ -¬ ¬ "
? "‘’“„…Ќ’›, Џђ…„‘’Ђ‚‹…ЌЌ›… Љ Ћ’—€‘‹…Ќ€ћ"
SET FILTER TO .NOT.Pr
LIST OFF Famil, A.KNaz, B.FNaz TO PRINT
ЋЎа вЁвҐ ў­Ё¬ ­ЁҐ ­  в®, зв® бўп§м "¬ ¬ -¤®зЄ " гбв ­®ў«Ґ­ 
ЇаЁ  ЄвЁў­®© Ў §Ґ-"¬ ¬Ґ",   бўп§м "Ў ЎгиЄ -¬ ¬ " - ЇаЁ  ЄвЁў­®©
"Ў ЎгиЄҐ". ђ бᬮваЁ¬, зв® ¬®¦Ґв б«гзЁвмбп, Ґб«Ё ў § ЇЁбпе Ѓ„
Dipl Ё¬Ґовбп ­ҐбгйҐбвўгойЁҐ ­®¬Ґа  Nkaf. …б«Ё в Є®ў  ⥪гй п
§ ЇЁбм, в® ЇаЁ Ї®ЁбЄҐ ў Ѓ„ Kafedr,   § вҐ¬ - Ё ў Ѓ„ Faki Їа®Ёб室Ёв
ўл室 Ё§ Ѓ„ ­  дЁЄвЁў­го (Їгбвго) § ЇЁбм. Ѓг¤Ґв ®вЇҐз в ­  «Ёим
д ¬Ё«Ёп бв㤥­в , ЇаЁЇЁб ­­®Ј® Є "­ҐЇ®­пв­®©" Є дҐ¤аҐ. “Їа®й п
ЇаЁ¬Ґа, ¬л ўлў®¤Ё«Ё ­ҐгЇ®а冷祭­л© бЇЁб®Є; ЁбЇ®«м§®ў «Ёбм «Ёим
®Ўп§ вҐ«м­лҐ ¤«п ¤®зҐа­Ёе ®Ў« б⥩ Ё­¤ҐЄбл.
“­Ёз⮦Ґ­ЁҐ бўп§Ґ© Ѓ„. …б«Ё ўбҐ бўп§Ё Ѓ„ ­Ґ ­г¦­л ®¤­®ўаҐ¬Ґ­­®,
­Ґ ­ §­ з ©вҐ Ёе ®¤­®© Є®¬ ­¤®©,   ¤®Ў ў«п©вҐ Ї® ¬ҐаҐ ­ ¤®Ў­®бвЁ,
гЄ §лў п ў Є®­жҐ Є®¬ ­¤л б«®ў® ADDITIVE. ЃҐ§ ҐЈ® гЄ § ­Ёп бгйҐбвўгойЁҐ
бўп§Ё г­Ёз⮦ вбп. ‘в ўиго ­Ґ­г¦­®© бўп§м б«Ґ¤гҐв ­Ґ¬Ґ¤«Ґ­­®
г­Ёз⮦ вм Є®¬ ­¤®© SET RELATION OFF INTO<ЋЎ« бвм> (ЇаЁ ­ ¤®Ў­®бвЁ
ҐҐ ¬®¦­® Ўг¤Ґв ў®§®Ў­®ўЁвм). „Ґ«® ў ⮬, зв® Є ¦¤ п бўп§м ўл§лў Ґв
Ї®ЁбЄ ў ¤®зҐа­Ёе Ѓ„, Ё 祬 Ў®«миҐ бўп§Ґ©, ⥬ ¬Ґ¤«Ґ­­ҐҐ ®Ўа Ў влў овбп
§ ЇЁбЁ ¬ вҐаЁ­бЄ®© Ѓ„. Љ®¬ ­¤  SET RELATION TO г­Ёз⮦ Ґв ўбҐ бўп§Ё.
…Ґ ¬®¦­® ЁбЇ®«м§®ў вм Ё ЇаЁ ®в¬Ґ­Ґ Ў®«миЁ­бвў  бўп§Ґ©, ў®ббв ­ ў«Ёў п
§ вҐ¬ ­Ґ®Ўе®¤Ё¬лҐ. „ўҐ ¤ ­­лҐ Є®¬ ­¤л ЁбЇ®«м§говбп ЇаЁ  ЄвЁў­®©
¬ вҐаЁ­бЄ®© Ѓ„.
‘ўп§м Ї® зЁб«®ў®¬г ўла ¦Ґ­Ёо. —Ёб«®ў®Ґ ўла ¦Ґ­ЁҐ ¤ Ґв ­®¬Ґа
"¤®зҐа­Ґ©" § ЇЁбЁ. €в Є, Ї®ЁбЄ  ­Ґв, Ё­¤ҐЄбЁа®ў вм ¤®зҐа­оо Ѓ„ ­Ґ
­г¦­®.
ЏаЁ¬Ґа 16.3. ‚ ­ҐЄ®в®а®© "Ј«®Ў «м­®©" бЁб⥬Ґ ®ЇЁб ­Ёп ЇҐаб®­
Ґбвм Ё ¬Ґ¤ЁжЁ­бЄЁҐ ᢥ¤Ґ­Ёп ® ­Ёе, ЁбЇ®«м§гҐ¬лҐ ў ЁбЄ«озЁвҐ«м­ле
б«гз пе. ќвЁ ᢥ¤Ґ­Ёп (ЈагЇЇ  Єа®ўЁ Grk, ¤ ­­лҐ .T./.F. ® ЇҐаҐ­ҐбҐ­­ле
Ў®«Ґ§­пе, ва ў¬ е, ® ЈҐ­ҐвЁзҐбЄ®© ЇаҐ¤а бЇ®«®¦Ґ­­®бвЁ Ё в.Ї.),
§ ­Ё¬ п ў Ѓ„ Ў®«ми®© ®ЎкҐ¬, § ¬Ґ¤«п«Ё Ўл нвЁ¬ Їа®жҐбб аҐиҐ­Ёп
Ў®«миЁ­бвў  § ¤ з, Ї®нв®¬г ўл­ҐбҐ­л ў ®в¤Ґ«м­го Ѓ„ в Є, зв® ®¤Ё­ Є®ўлҐ
Ї® ­®¬Ґаг § ЇЁбЁ Ё§ ­ҐҐ Ё ®б­®ў­®© Ѓ„ Glav ®в­®бпвбп Є ®¤­®© ЇҐаб®­Ґ.
‚ § ¤ зҐ, вॡго饩 ¬Ґ¤ЁжЁ­бЄЁе ¤ ­­ле (Ѓ„ Medic), бўп§м Ѓ„
гбв ­ ў«Ёў Ґвбп б Ї®¬®ймо зЁб«®ў®Ј® ўла ¦Ґ­Ёп Recno():
USE Glav
USE Medic IN 2
SET RELATION TO Recno() INTO Medic && ЂЄвЁў­  Ѓ„ Glav !
LIST Famil, Addr, B.Grk && Љ®¬ ­¤  LIST "¬®¤Ґ«ЁагҐв" ®Ўа Ў®вЄг ¤ ­­ле
‘«®¦­лҐ зЁб«®ўлҐ ўла ¦Ґ­Ёп ।Є® ЇаЁ¬Ґ­пов ¤«п бўп§Ё Ѓ„.
‘ўп§м "®¤­ -б®-¬­®ЈЁ¬Ё"(1:N). Џ®б«Ґ гбв ­®ў«Ґ­Ёп бўп§Ё "®¤­ -б-®¤­®©"
ўлЇ®«­пов Є®¬ ­¤г SET SKIP TO <‘ЇЁб®Є ¤®зҐа­Ёе ®Ў« б⥩>, ­ ЇаЁ¬Ґа
SET SKIP TO A,B. ЏаЁ ўлў®¤Ґ ¤ ­­ле в Є п бўп§м Ї®¤¤Ґа¦Ёў Ґвбп Є®¬ ­¤ ¬Ё
LIST Ё BROWSE. ЋЎа вЁ¬бп Є ЇаЁ¬Ґаг 2.6 ў­®ўм,
ЁбЇ®«м§гп ў§ ¬Ґ­ LIST Є®¬ ­¤г BROWSE, а бб¬ ваЁў Ґ¬го Ї®¤а®Ў­® ў
Ї. 18.1. ‚®бЇ®«м§гҐ¬бп Є«оз ¬Ё :H=<‚лаC> (Є«оз § ЇЁблў Ґвбп Їа ўҐҐ
®Ў®§­ зҐ­Ёп ўлў®¤Ё¬®Ј® Ї®«п), Ј¤Ґ <‚лаC> - § Ј®«®ў®Є ­ ¤ Є®«®­Є®©
Ї®«п ў в Ў«ЁжҐ.
USE Deti
INDEX ON TabNum TO Tb
SELECT 0
USE Kadr
SET RELATION TO Tabnum INTO Deti && “бв ­®ў«Ґ­ЁҐ бўп§Ё "1:1"
SET SKIP TO Deti && “бв ­®ў«Ґ­ЁҐ бўп§Ё "1:N"
BROWSE FIELDS Famil :H="” ¬Ё«Ёп,Ё.,®.", A.Imya :H="€¬п ॡҐ­Є "
ЏаЁ ўлў®¤Ґ ¤ ­­ле ® ¤Ґвпе б®ваг¤­ЁЄ  ҐЈ® д ¬Ё«Ёп ўл¤ Ґвбп ®¤Ё­
а § ­Ґ§ ўЁбЁ¬® ®в зЁб«  ¤ҐвҐ©. …б«Ё ¤ҐвЁ ®вбгвбвўгов, ў ᮮ⢥вбвўго饩
Є®«®­ЄҐ ўлў®¤Ёвбп Ї®«Ґ Їа®ЎҐ«®ў. €¬Ґ©вҐ ў ўЁ¤г, зв® ўлў®¤ Їа®Ёб室Ёв
«Ёим ­  ¤ЁбЇ«Ґ©, в®Ј¤  Є Є Є®¬ ­¤  LIST ¬®¦Ґв ўлў®¤Ёвм Ё ­  ЇаЁ­вҐа.
‚ Ј« ўҐ 17 ўл ®§­ Є®¬ЁвҐбм б ¤агЈЁ¬Ё ў®§¬®¦­®бвп¬Ё ®¤­®ўаҐ¬Ґ­­®Ј®
ЁбЇ®«м§®ў ­Ёп ­ҐбЄ®«мЄЁе Ѓ„.
‡ ¤ ­ЁҐ 16.1. Ћ¤­® Ё§ ­Ґг¤®Ўбвў Їа®Ја ¬¬л ЇаЁ¬Ґа  16.1 б®бв®Ёв
ў ⮬, зв® ЇаЁ Ї®ўв®а­®¬ ЇаЁ¬Ґ­Ґ­ЁЁ ўла ¦Ґ­Ёп Ї®ЁбЄ  (Є«оз  Ё­¤ҐЄб )
ўл¤ Ґвбп ў®Їа®б, ­г¦­® «Ё Ё­¤ҐЄбЁа®ў вм Ѓ„, ЁЎ® Ё­¤ҐЄб бгйҐбвўгҐв.
Ћ­ бгйҐбвўгҐв, ­® ­Ґ Ўл« ®вЄалв ­ ¬Ё, Ё ¬л ўл­г¦¤Ґ­л ®вўҐвЁвм "„ ".
€§¬Ґ­ЁвҐ Їа®Ја ¬¬г, зв®Ўл Ё§Ў ўЁвм Ї®«м§®ў вҐ«п ®в ­Ґ­г¦­ле
ў®Їа®б®ў Ё ­Ґ Ї®ўв®апвм ᮧ¤ ­ЁҐ Ё­¤ҐЄб .

16.2. ђ Ў®в Ґ¬ б Memo-Ї®«п¬Ё ў FOXPRO

„«п а Ў®вл б Memo-Ї®«п¬Ё ў FOXPRO ЇаҐ¤гᬮв७л бЇҐжЁ «м­лҐ
дг­ЄжЁЁ Ё Є®¬ ­¤л. Ља®¬Ґ в®Ј®, ЁбЇ®«м§говбп бва®Є®ўлҐ дг­ЄжЁЁ (Ї. 1.4).
‚ Є®¬ ­¤Ґ REPLACE ЇаҐ¤гᬮв७  ваЁЎгв ADDITIVE, ­ «ЁзЁҐ Є®в®а®Ј®
ўл§лў Ґв ¤®Ў ў«Ґ­ЁҐ ў Є®­Ґж Memo-Ї®«п ­®ў®Ј® ⥪бв ,   ­Ґ § ¬ҐйҐ­ЁҐ
Ё¬ ЇаҐ¦­ҐЈ®. Љ Є Ё ў CLIPPER, ¤«п 㤮Ўбвў  ­ Ў«о¤Ґ­Ёп Memo-Ї®«Ґ
д®а¬ вЁагҐвбп, а §ЎЁў Ґвбп ­  з бвЁ-бва®ЄЁ (­Ґ Їгв вм б бЁ¬ў®«м­л¬Ё
бва®Є ¬Ё!). ЁаЁ­г бва®ЄЁ <‚лаN> ў ¤Ё Ї §®­Ґ ®в 8 ¤® 256 гбв ­ ў«Ёў Ґв
Є®¬ ­¤  SET MEMOWIDTH TO <‚лаN>. Џ® 㬮«з ­Ёо иЁаЁ­  бва®ЄЁ а ў­  50.
”г­ЄжЁп ATLINE (ATCLINE) ў®§ўа й Ґв ­®¬Ґа бва®ЄЁ Memo-Ї®«п, ў
Є®в®а®© ­ ©¤Ґ­® ЇҐаў®Ґ ўе®¦¤Ґ­ЁҐ <‚лаC>: ATLINE (<‚ла‘>,<Memo-Ї®«Ґ>).
…Ґ "¤гЎ«м" ATCLINE ЁЈ­®аЁагҐв а §«ЁзЁҐ бва®з­ле Ё Їа®ЇЁб­ле ЎгЄў.
RATLINE ("¤гЎ«м" - RATCLINE) ў®§ўа й Ґв ­®¬Ґа бва®ЄЁ, Ј¤Ґ Ё¬ҐҐвбп
Ї®б«Ґ¤­ҐҐ ўе®¦¤Ґ­ЁҐ <‚лаC>. ‚ᥠнвЁ дг­ЄжЁЁ ў®§ўа й ов 0, Ґб«Ё
ўе®¦¤Ґ­Ёп <‚лаC> ­Ґ ®Ў­ а㦥­®. „ ­­лҐ дг­ЄжЁЁ ЇаЁ¬Ґ­Ё¬л Ё Є ®Ўлз­®©
бЁ¬ў®«м­®© бва®ЄҐ (ўв®ал¬  аЈг¬Ґ­в®¬ Ўг¤Ґв ҐҐ Ё¬п), Ґб«Ё ўлЇ®«­Ґ­ 
Є®¬ ­¤  SET MEMOWIDTH TO <‚лаN>.
”г­ЄжЁп MLINE (<Memo-Ї®«Ґ>,<Ќ®¬>) ўл¤Ґ«пҐв Ё§ Memo-Ї®«п Ё
ў®§ўа й Ґв бва®Єг б ­®¬Ґа®¬ <Ќ®¬> (Їгбвго бва®Єг, Ґб«Ё <Ќ®¬> Ў®«миҐ
зЁб«  бва®Є),   MEMLINES (<Memo-Ї®«Ґ>) ў®§ўа й Ґв зЁб«® бва®Є ў
Memo-Ї®«Ґ. ђҐ§г«мв вл нвЁе дг­ЄжЁ© § ўЁбпв ®в иЁаЁ­л бва®ЄЁ Ё ў®§¬®¦­®
Ё¬ҐойЁебп ў Memo-Ї®«Ґ ¦ҐбвЄЁе ў®§ўа в®ў Є аҐвЄЁ (Ї. 8.1).
Љ®¬ ­¤л ¤«п Memo-Ї®«Ґ©. ‘ЇҐжЁ «м­ п Є®¬ ­¤  ®Ў­®ў«Ґ­Ёп Memo-Ї®«п
APPEND MEMO <Memo-Ї®«Ґ> FROM <€¬п д ©« > OVERWRITE
«ЁЎ® § ­®ў® § ЇЁблў Ґв Memo-Ї®«Ґ (нв® ¤Ґ« Ґвбп ЇаЁ ­ «ЁзЁЁ OVERWRITE
ў Є®¬ ­¤Ґ), ЇҐаҐ­®бп ў ­ҐЈ® ⥪бв Ё§ д ©« , гЄ § ­­®Ј® б а биЁаҐ­ЁҐ¬
Ё¬Ґ­Ё, «ЁЎ® ¤®Ў ў«пҐв нв®в ⥪бв ў Є®­Ґж Memo-Ї®«п (ў ®вбгвбвўЁҐ
OVERWRITE). Ќ Їа®вЁў, Є®¬ ­¤  COPY MEMO <Memo-Ї®«Ґ> TO <€¬п д ©« >
ADDITIVE ¤®Ў ў«пҐв ⥪бв Memo-Ї®«п Є бгйҐбвўго饬г д ©«г; ЇаЁ
®вбгвбвўЁЁ ADDITIVE ᮧ¤ Ґв д ©« б гЄ § ­­л¬ Ё¬Ґ­Ґ¬ (а биЁаҐ­ЁҐ Ї®
㬮«з ­Ёо TXT) Ё Є®ЇЁагҐв ў ­ҐЈ® нв®в ⥪бв. …б«Ё д ©« б в ЄЁ¬ Ё¬Ґ­Ґ¬
бгйҐбвў®ў «, ҐЈ® ᮤҐа¦ ­ЁҐ  ­­г«ЁагҐвбп.
Љ®¬ ­¤  MODIFY MEMO <‘ЇЁб®Є Memo-Ї®«Ґ©>
NOEDIT NOWAIT RANGE<‚лаN1>,<‚лаN2> SAVE WINDOW<ЋЄ­®>
®вЄалў Ґв ®Є­  । ЄвЁа®ў ­Ёп Memo-Ї®«Ґ©. ‚ бЇЁбЄҐ ¬®Јгв Ўлвм
Memo-Ї®«п ­ҐбЄ®«мЄЁе (®вЄалвле) Ѓ„. ЏаЁ ­ ¦ вЁЁ Ctrl+W Ё§¬Ґ­Ґ­Ёп
⥪бв  ЇҐаҐ­®бпвбп ў Memo-Ї®«Ґ Ё ®Є­® § Єалў Ґвбп,   ЇаЁ ўл室Ґ Ё§
®Є­  Ї® Esc б®еа ­пҐвбп ЇаҐ¦­Ё© (­ҐЁ§¬Ґ­Ґ­­л©) ⥪бв Memo-Ї®«п. ‚
®вбгвбвўЁҐ  ваЁЎгв  WINDOW Є ¦¤®Ґ Memo-Ї®«Ґ ®вЄалў Ґвбп ў ®в¤Ґ«м­®¬
бЁб⥬­®¬ ®Є­Ґ, Ё­ зҐ ¤«п ўбҐе ЁбЇ®«м§гҐвбп гЄ § ­­®Ґ ў Є®¬ ­¤Ґ ®Є­®
(Ї® ®зҐаҐ¤Ё).
ђ бᬮваЁ¬ ®ЇжЁЁ Є®¬ ­¤л:
NOEDIT - ¤®ЇгбЄ Ґв в®«мЄ® Їа®б¬®ва Memo-Ї®«п (­Ґв । ЄвЁа®ў ­Ёп);
NOWAIT - б®ў¬Ґй Ґв ®вЄалвЁҐ ®Є­  б Їа®¤®«¦Ґ­ЁҐ¬ ўлЇ®«­Ґ­Ёп Є®¬ ­¤,
­ ЇаЁ¬Ґа, ¤® Ў«Ё¦ ©иҐ© Є®¬ ­¤л READ;
RANGE - ®вЄалў Ґв ®Є­® б Ў«®Є®¬ ⥪бв  ®в Ї®§ЁжЁЁ <‚лаN1> ¤®
Ї®§ЁжЁЁ <‚лаN2>. …б«Ё нвЁ Ї®§ЁжЁЁ б®ўЇ ¤ ов, ўл¤Ґ«Ґ­ЁҐ ⥪бв  ­Ґ
Їа®Ёб室Ёв,   Єгаб®а гбв ­ ў«Ёў Ґвбп ў ¤ ­­го Ї®§ЁжЁо. ‚ «оЎ®¬ б«гз Ґ
®ЎҐбЇҐзЁў Ґвбп Ёб室­®Ґ Їа®¤ўЁ¦Ґ­ЁҐ ⥪бв  ў ®Є­Ґ, Є®Ј¤  ®­® ­Ґ®Ўе®¤Ё¬®;
SAVE - б®еа ­пҐв ®Є­® ­  нЄа ­Ґ Ї® § ўҐа襭ЁЁ । ЄвЁа®ў ­Ёп.
Љ®¬ ­¤  CLOSE MEMO <‘ЇЁб®Є Memo-Ї®«Ґ©> § Єалў Ґв ®Є­ ,
®вЄалвлҐ Є®¬ ­¤ ¬Ё MODIFY MEMO Ё BROWSE ¤«п гЄ § ­­ле ў бЇЁбЄҐ Memo-Ї®«Ґ©,
ЇҐаҐ­®бп ў нвЁ Memo-Ї®«п ᤥ« ­­лҐ ў ®Є­ е Ё§¬Ґ­Ґ­Ёп ⥪бв . Љ®¬ ­¤ 
CLOSE MEMO ALL § Єалў Ґв ўбҐ ®Є­  । ЄвЁа®ў ­Ёп Memo-Ї®«Ґ©.
…б«Ё ў а §«Ёз­ле Є®¬ ­¤ е । ЄвЁа®ў ­Ёп Ўг¤Ґв ЁбЇ®«м§®ў ­®
®ЎйҐҐ ¤«п ¬­®ЈЁе Memo-Ї®«Ґ© ®Є­®, ҐЈ® ¬®¦­® § а ­ҐҐ ®ЇЁб вм (б¬. Ј«.18)
Ё ­ §­ зЁвм Є®¬ ­¤®©
SET WINDOW OF MEMO TO <ЋЄ­®>. ’  ¦Ґ Є®¬ ­¤  ЎҐ§ Ї а ¬Ґва  ®в¬Ґ­пҐв
ᤥ« ­­®Ґ ­ §­ зҐ­ЁҐ.
ЏаЁ¬Ґа 16.4. Ќ  ¤®«¦­®бвм Ї®ў а  ў бва®©®ва拉 ­Ґ®Ўе®¤Ё¬®
ўлЎа вм бв㤥­вЄг, Ё¬Ґойго ­ ЁЎ®«миЁ© ®Їлв. "Џ®б«г¦­®© бЇЁб®Є"
бв㤥­в®ў ®ва ¦Ґ­ ў Memo-Ї®«Ґ History § ЇЁбҐ© Ѓ„ Boyci. ЏаЁ
Ї®б«Ґ¤®ў вҐ«м­®¬ Їа®б¬®вॠMemo-Ї®«Ґ© Ї®«м§®ў вҐ«м б Ї®¬®ймо ЇаЁў®¤Ё¬®©
­Ё¦Ґ Їа®Ја ¬¬л ®вЎЁа Ґв Ё Є®ЇЁагҐв ў д ©«л Ї®¤е®¤пйЁҐ "Ї®б«г¦­лҐ бЇЁбЄЁ".
ђ бЇҐз вЄЁ нвЁе д ©«®ў ЇаҐ¤кпў«повбп ­  ®Є®­з вҐ«м­®Ґ а бᬮв७ЁҐ.

* „«п Є®ЇЁа®ў ­Ёп ў д ©« ­ ¦Ё¬ ов Ctrl+W, ¤«п Їа®ЇгбЄ  - Esc.
USE Boyci && ЋвЄалў Ґ¬ Ѓ„ - бЇЁб®Є Ў®©ж®ў ®вап¤ 
SET SAFETY OFF
SCAN FOR Pol="†" && –ЁЄ« ЇҐаҐЎ®а  "¦Ґ­бЄЁе" § ЇЁбҐ© Ѓ„ Boyci
@ 24,4 SAY "‘в㤥­вЄ  " + Fam
N = At(" Ї®ў а",History)
N = Iif(N = 0, At("Џ®ў а",History), N)
MODIFY MEMO History NOEDIT RANGE N,N
IF Lastkey() = 23 && 23 - нв® Inkey-Є®¤ Ctrl+W
Fail = Str(Recno(),2) && Џ® ­®¬Ґаг § ЇЁбЁ ᮧ¤ Ґвбп Ё¬п д ©« 
COPY MEMO History TO &Fail && Љ®ЇЁа®ў ­ЁҐ ў д ©«
ENDIF
CLOSE MEMO History
ENDSCAN
…б«Ё ў ⥪б⥠­ ©¤Ґ­® б«®ў® "Ї®ў а", Єгаб®а гбв ­ ў«Ёў Ґвбп ­ 
ҐЈ® ­ з «®. ЏаЁ ҐЈ® Ї®ЁбЄҐ ¬л ­Ґ ў®бЇ®«м§®ў «Ёбм дг­ЄжЁҐ© Atc,  
¤ў ¦¤л ЇаЁ¬Ґ­Ё«Ё At, Ї®бЄ®«мЄг Atc ­ҐЇаЁЈ®¤­  ў б«гз Ґ ЄЁаЁ««Ёжл.
Љ Є гЄ §лў «®бм ў Ї. 3.7, ¤ЁбЄ®ў®Ґ Їа®бва ­бвў® ¤«п Memo-Ї®«п
ўл¤Ґ«пҐвбп Ў«®Є ¬Ё. ‚ FOXPRO ¬®¦­® ­ §­ з вм а §¬Ґа Ў«®Є  Rb (Ї®
㬮«з ­Ёо 64 Ў ©в ) Є®¬ ­¤®© SET BLOCKSIZE TO <‚лаN>, ЇаЁзҐ¬, Ґб«Ё
<‚лаN> < 33, Rb а ўҐ­ <‚лаN>*512, Ё­ зҐ Rb = <‚лаN>. ђ бᬮваЁ¬
ҐйҐ ®¤Ё­ ЇаЁ¬Ґа 楫Ґб®®Ўа §­®Ј® ЇаЁ¬Ґ­Ґ­Ёп Memo-Ї®«Ґ©.
ЏаЁ¬Ґа 16.5. ‘ва®Ёвбп бЁб⥬   ўв®¬ вЁзҐбЄ®© ўл¤ зЁ бв ­¤ ав­ле
¤®Єг¬Ґ­в®ў. Љ ¦¤л© Ё§ ­Ёе, Ё¬Ґп и Ў«®­­го д®а¬г, вॡгҐв ў­ҐбҐ­Ёп ў
­ҐҐ д ¬Ё«Ё©, ¤ в Ё«Ё ­ §ў ­Ё© ¬ вҐаЁ «®ў Ё в.Ї. (б¬. ЇаЁ¬Ґа 15.11).
Џ®н⮬㠤«п ўл¤ зЁ ¤®Єг¬Ґ­в®ў ­ ¤® ®вЄалвм Ѓ„, ᮤҐа¦ йго д ¬Ё«ЁЁ (Ё
¤агЈЁҐ ¤ ­­лҐ) «Ёз­®б⥩ Ё«Ё ­ §ў ­Ёп ¬ вҐаЁ «®ў Ё Їа., Ё § ЇгбвЁвм
ᮮ⢥вбвўгойго Їа®Ја ¬¬г, ЁбЇ®«м§гойго ­ҐЄ®в®ал© вҐЄбв®ўл© и Ў«®­.
‘®§¤ ¤Ё¬ Ѓ„ Docum б Ї®«п¬Ё Nazv (­ §ў ­ЁҐ ¤®Єг¬Ґ­в ), ImyaBD (Ё¬п
Ў §л), Progr (Ё¬п Їа®Ја ¬¬л), Shab (и Ў«®­). ‚ᥠЇ®«п бЁ¬ў®«м­лҐ,
ЇаЁзҐ¬ Ї®б«Ґ¤­ҐҐ ¬®¦Ґв Ўлвм в®«мЄ® Memo-Ї®«Ґ¬ ўўЁ¤г Їа®Ё§ў®«м­®©
¤«Ё­л д®а¬ ¤®Єг¬Ґ­в®ў.
Џа®Ја ¬¬  Ї®«гз Ґвбп ¤®ў®«м­®-в ЄЁ н«Ґ¬Ґ­в а­®©:
USE Docum
BROWSE FIELD Nazv && Ќ ў®¤Ё¬ ¬ аЄҐа ­  ᮮ⢥вбвўго饥 ­ §ў ­ЁҐ
Imya = ImyaBD && Ё ­ ¦Ё¬ Ґ¬ Esc
Pro = Progr
SELECT 0 && Ќ §­ з Ґвбп бў®Ў®¤­ п а Ў®з п ®Ў« бвм (®Ў« бвм B)
USE (Imya) && ‚ ­Ґ© ®вЄалў Ґвбп ᮮ⢥вбвўгой п ¤®Єг¬Ґ­вг Ў § 
DO &Pro && ‡ ЇгбЄ Ґвбп ᮮ⢥вбвўгой п Їа®Ја ¬¬ 
ђ бᬮваЁ¬ ᮤҐа¦ ­ЁҐ ®¤­®© § ЇЁбЁ Ѓ„ Docum, ®Ўа вЁўиЁбм Є
ЇаЁ¬Ґаг 15.11. Ќ §ў ­ЁҐ¬ ¤®Єг¬Ґ­в  (Ї®«Ґ Nazv) Ўг¤Ґв "‘га®ў®Ґ
­ Ї®¬Ё­ ­ЁҐ", и Ў«®­ (Shab) Ўг¤Ґв в ЄЁ¬, Є Є®© Ї®Є § ­ ¬Ґ¦¤г Є®¬ ­¤ ¬Ё
SCAN Ё ENDSCAN, Ё¬п ЁбЇ®«м§гҐ¬®© Ѓ„ (Ї®«Ґ ImyaBD) - Conduit. €¬п
Їа®Ја ¬¬л (Ї®«Ґ Progr) Їгбвм в Є¦Ґ Ўг¤Ґв Conduit Ё ®­  Ўг¤Ґв а §¬ҐйҐ­ 
ў д ©«Ґ Conduit.prg.
’Ёа ¦Ёагп ­ Ї®¬Ё­ ­Ёп c ЇаҐ¤кпў«Ґ­ЁҐ¬ Ёе ⥪бв  ­  нЄа ­, ®­  Ўг¤Ґв
Ї®¬Ґй вм н⨠⥪бвл ў д ©« Napom.txt ¤«п Ї®б«Ґ¤го饩 а бЇҐз вЄЁ:
SET TEXTMERGE ON TO Napom && “Є § ­ д ©«-­ Є®ЇЁвҐ«м Napom
SCAN FOR Datisp < Date() && ‡ ЇЁб ­® гб«®ўЁҐ ўлЎ®а  Ї®аг祭Ё©
\
\ <<A.Shab>> && ‚бв ўЄ  ⥪бв  Memo-Ї®«п, ў Є®в®а®¬ бў®Ё ўбв ўЄЁ
\
WAIT"" && Џ г§  ¤«п Їа®б¬®ва  вҐЄбв ,ЇаҐалў Ґ¬ п ­ ¦ вЁҐ¬ Є« ўЁиЁ
ENDSCAN
SET TEXTMERGE TO && ‡ ЄалвЁҐ д ©«  Napom
‡ ¤ ­ЁҐ 16.2. ‘®§¤ ©вҐ Ѓ„ Docum Ё § Ї®«­ЁвҐ е®вп Ўл ®¤­г § ЇЁбм
б а бᬮв७­л¬ ўлиҐ б®¤Ґа¦ ­ЁҐ¬, 㤮бв®ўҐамвҐбм ў а Ў®в®бЇ®б®Ў­®бвЁ
Їа®Ја ¬¬л ЇаЁ¬Ґа  16.5.

16.3. “§­ Ґ¬ ­®ў®Ґ ®Ў Ё­¤ҐЄбЁа®ў ­ЁЁ

‚ FOXPRO ў­Ґ¤аҐ­л ­®ўиҐбвў , б®Єа й ойЁҐ § ва вл ¤ЁбЄ®ў®© Ї ¬пвЁ
¤«п Ё­¤ҐЄб®ў Ё гбЄ®апойЁҐ ¤®бвгЇ Є § ЇЁбп¬ Ї® Ё­¤ҐЄбг. €бЇ®«м§говбп
"®Ўлз­лҐ" Ё­¤ҐЄб­лҐ д ©«л б а биЁаҐ­ЁҐ¬ Ё¬Ґ­Ё .IDX Ё ¬г«мвЁЁ­¤ҐЄб­лҐ
- б а биЁаҐ­ЁҐ¬ .CDX .
Љ®¬Ї Єв­лҐ Ё­¤ҐЄбл. Ќ зЁ­ п б ўҐабЁЁ 2.0 ў FOXPRO ЁбЇ®«м§говбп
Є®¬Ї Єв­лҐ Ё­¤ҐЄбл, ў Є®в®але ®ЎйЁҐ ¤«п Є«о祩 а §­ле § ЇЁбҐ© бв аиЁҐ
з бвЁ ¤ ­л ў ®¤­®¬ нЄ§Ґ¬Ї«паҐ,   ¤«п еа ­Ґ­Ёп Є«о祩 ЁбЇ®«м§говбп
бва®ЄЁ ­Ґ дЁЄбЁа®ў ­­®©,   д ЄвЁзҐбЄ®© ¤«Ё­л. Ќ ЇаЁ¬Ґа, Ґб«Ё Ѓ„
Student Їа®Ё­¤ҐЄбЁа®ў ­  Ї® Є«озг Fak+Kurs ("д Єг«мвҐв + Єгаб"), в®
¤«п ўбҐе § ЇЁбҐ© бв㤥­в®ў д Єг«мвҐв  ќ’ Ўг¤Ґв ®ЎйҐ© з бвм Є«оз  "ќ’".
— бвм "ќ" Ўг¤Ґв ®ЎйҐ© ¤«п § ЇЁбҐ© ўбҐе д Єг«мвҐв®ў б ­ §ў ­Ёп¬Ё,
­ зЁ­ ойЁ¬Ёбп б ЎгЄўл "ќ". €в Є, бвагЄвга  ¬­®¦Ґбвў  Є«о祩 -
¤аҐў®ўЁ¤­ п. €­¤ҐЄбл ў .CDX-д ©« е Є®¬Ї Єв­лҐ,   зв®Ўл .IDX-Ё­¤ҐЄб
⮦Ґ Ўл« Є®¬Ї Єв­л¬, ў Є®¬ ­¤Ґ INDEX ON гЄ §лў ов  ваЁЎгв COMPACT.
ЌҐЇ®«­лҐ Ё­¤ҐЄбл (Ё­¤ҐЄбл-дЁ«мвал). ‚ Є®¬ ­¤Ґ INDEX ON ¬®¦­®
§ ЇЁб вм FOR-гб«®ўЁҐ ¤«п ®вЎ®а  ў Ё­¤ҐЄб § ЇЁбҐ©, 㤮ў«Ґвў®апойЁе
«Ёим н⮬г гб«®ўЁо. „®бвгЇ Є § ЇЁбп¬ гбЄ®апҐвбп.
Њг«мвЁЁ­¤ҐЄб­л© д ©« (.CDX-д ©«) еа ­Ёв ­ҐбЄ®«мЄ® Ё­¤ҐЄб­ле
ўла ¦Ґ­Ё© Ё пў«пҐвбп "бЄ« ¤®¬" Ё­¤ҐЄб®ў - ⥣®ў. Џ®н⮬г 㢥«ЁзҐ­ЁҐ
зЁб«  Ё­¤ҐЄб®ў ­Ґ Ја®§Ёв ЇаҐўл襭ЁҐ¬ ЇаҐ¤Ґ«  зЁб«  ®вЄалвле д ©«®ў,
гбв ­ ў«Ёў Ґ¬®Ј® ў DOS. Љ ¦¤л© ⥣ Ё¬ҐҐв Ё¬п, гЄ §лў Ґ¬®Ґ ЇаЁ ᮧ¤ ­ЁЁ
Ё«Ё ®вЄалвЁЁ Ё­¤ҐЄб . „«п 㤮Ўбвў  Ї®«м§®ў ­Ёп ®¤Ё­ .CDX-д ©«,
­ §лў Ґ¬л© бвагЄвга­л¬, ᤥ« ­ ®¤­®Ё¬Ґ­­л¬ б Ѓ„. Ћ­ ®вЄалў Ґвбп
 ўв®¬ вЁзҐбЄЁ ў¬ҐбвҐ б Ѓ„ Ё § Єалвм ®в¤Ґ«м­® ®в ­ҐҐ ҐЈ® ­Ґ«м§п. ЏаЁ
ЁбЇ®«м§®ў ­ЁЁ ҐЈ® ⥣®ў ¬®¦­® ­Ґ гЄ §лў вм Ё¬п .CDX-д ©« .
‘®§¤ ­ЁҐ Ё­¤ҐЄб®ў. ‚ бўп§Ё б ­®ў®ўўҐ¤Ґ­Ёп¬Ё Є®¬ ­¤  INDEX ON
а биЁаҐ­ : INDEX ON <‚ла> <€­¤ҐЄб> FOR<“б«®ўЁҐ> COMPACT UNIQUE
DESCENDING ADDITIVE .
<€­¤ҐЄб> ¬®¦Ґв Ўлвм ў 3 ў аЁ ­в е:
 ) TO <€¬п .IDX-д ©« > ;
Ў) TAG <€¬п ⥣  бвагЄвга­®Ј® .CDX-д ©« > ;
ў) TAG <€¬п ⥣ > OF <€¬п .CDX-д ©« >.
ЏаЁ¬Ґа: INDEX ON Fak+Kurs TAG Fakrs OF Sklad FOR Pol = "†".
‚ ᮧ¤ ­­®¬ ⥣Ґ (Ё­¤ҐЄбҐ) Fakrs .CDX-д ©«  Sklad Ўг¤гв гз⥭л
в®«мЄ® ¦Ґ­йЁ­л. …б«Ё ⥣ пў«пҐвбп ЇҐаўл¬ (.CDX-д ©«  ЇаҐ¦¤Ґ ­Ґ Ўл«®),
.CDX-д ©« ᮧ¤ Ґвбп. ЂваЁЎгв COMPACT а бᬮв७ ўлиҐ, UNIQUE - ў
Ї. 2.5. ‘®§¤ ­­л© Ё­¤ҐЄб  ўв®¬ вЁзҐбЄЁ ®вЄалў Ґвбп; ADDITIVE
ЇаҐ¤®вўа й Ґв  ўв®¬ вЁзҐбЄ®Ґ § ЄалвЁҐ а ­ҐҐ ®вЄалвле Ё­¤ҐЄб®ў.
DESCENDING ЇаЁ¬Ґ­Ё¬ «Ёим Є ⥣ ¬ Ё § ¤ Ґв гЇ®а冷祭­®бвм Ї® гЎлў ­Ёо
§­ зҐ­Ё© Є«оз . Џ®б«Ґ¤®ў вҐ«м­®бвм ⥣®ў д ©«  ®ЇаҐ¤Ґ«пҐвбп
Ї®ап¤Є®¬ ᮧ¤ ­Ёп.
ЋвЄалвЁҐ Ё­¤ҐЄб®ў. ђ ­ҐҐ ᮧ¤ ­­лҐ Ё­¤ҐЄбл ®вЄалў ов Ё«Ё ў¬ҐбвҐ
б Ѓ„, Ё«Ё Є®¬ ­¤®© SET INDEX TO. …Ґ ᮤҐа¦ ­ЁҐ Ї®«­®бвмо ᮮ⢥вбвўгҐв
з бвЁ Є®¬ ­¤л USE, б«Ґ¤го饩 §  б«®ў®¬ INDEX. ђ бᬮваЁ¬ н«Ґ¬Ґ­вл.
<‘ЇЁб®Є Ё­¤ҐЄб­ле д ©«®ў> Ї®Є §лў Ґв ®зҐаҐ¤­®бвм ®вЄалвЁп д ©«®ў.
‘ ­Ґ© бўп§ ­  "бЄў®§­ п" ­г¬Ґа жЁп Ё­¤ҐЄб®ў. ЌҐ§ ўЁбЁ¬® ®в в®Ј®,
Є ЄЁ¬Ё Є®¬ ­¤ ¬Ё ®вЄалвл Ё­¤ҐЄбл, ­ з «м­лҐ ­®¬Ґа  Ё¬Ґов .IDX-Ё­¤ҐЄбл
ў Ї®ап¤ЄҐ Ёе ®вЄалвЁп, § вҐ¬ - ⥣Ё бвагЄвга­®Ј® д ©« , §  ­Ё¬Ё - Їа®зЁҐ
⥣Ё ў Ї®ап¤ЄҐ Ёе ®вЄалвЁп. Ќг¬Ґа жЁп - б 1. „®ЇгбвЁ¬, Ё­¤ҐЄбл ®вЄалвл
в®«мЄ® Є®¬ ­¤®© USE, .IDX-д ©« ®¤Ё­ Ё § ¬лЄ Ґв бЇЁб®Є Ё­¤ҐЄб®ў. Ћ­ ўбҐ
а ў­® Ї®«гз Ґв ­®¬Ґа 1. …б«Ё .IDX-д ©«л ­Ґ ®вЄалвл, ­®¬Ґа 1 Ї®«гз Ґв
⥣ бвагЄвга­®Ј® д ©« , ў ҐЈ® ®вбгвбвўЁҐ - ⥣ ЇҐаў®Ј® ў бЇЁбЄҐ
.CDX-д ©« . …б«Ё, ­ ЇаЁ¬Ґа, ў бЇЁбЄҐ .CDX-д ©«, ў Є®в®а®¬ 3
⥣ , Ё ¤ў  .IDX-д ©« ,   ў бвагЄвга­®¬ .CDX-д ©«Ґ (ў бЇЁбЄҐ ­Ґ гЄ § ­)
2 ⥣ , Ї®б«Ґ¤­Ё© ⥣ .CDX-д ©«  Ўг¤Ґв Ї®¤ ­®¬Ґа®¬ 7. „®ЇгбвЁ¬, ҐйҐ
®¤Ё­ .IDX-д ©« ®вЄалў Ґв Є®¬ ­¤  SET INDEX TO б  ваЁЎг⮬ ADDITIVE.
"‘Єў®§­лҐ" ­®¬Ґа  ⥣®ў 㢥«Ёз вбп ­  1, ЁЎ® ­®¬Ґа 3 ЇаЁЇЁб ­ ў­®ўм
®вЄал⮬г д ©«г.
.IDX-д ©«, ­ зЁ­ ойЁ© бЇЁб®Є, § ¤ Ґв ўҐ¤гйЁ© .IDX-Ё­¤ҐЄб, Ґб«Ё
 ваЁЎгв ORDER ­Ґ ®ЇаҐ¤Ґ«пҐв Ё­®Ґ. …б«Ё бЇЁб®Є ­ зЁ­ Ґвбп б .CDX-д ©« 
Ё ­Ґв  ваЁЎгв  ORDER, ­Ґв Ё ўҐ¤г饣® Ё­¤ҐЄб . ’®Ј¤  ЁбЇ®«м§гҐвбп
дЁ§ЁзҐбЄЁ© Ї®а冷Є а бЇ®«®¦Ґ­Ёп § ЇЁбҐ©. ’®в ¦Ґ нд䥪⠢л§лў Ґв
 ваЁЎгв ORDER 0.
‘ Ї®¬®ймо  ваЁЎгв  ORDER ўҐ¤гйЁ© Ё­¤ҐЄб ­ §­ з ов ®¤­Ё¬ Ё§ 3 бЇ®б®Ў®ў:
 ) ORDER<Ќ®¬Ґа> (­г¬Ґа жЁп Ё­¤ҐЄб®ў а бᬮв७  ўлиҐ);
Ў) ORDER<€¬п .IDX-д ©« >; ў) ORDER<€¬п ⥣ > OF <€¬п .CDX-д ©« >.
„«п бвагЄвга­®Ј® д ©«  ¬®¦­® ЇЁб вм ORDER<€¬п ⥣ >.
ЂваЁЎгв ADDITIVE ЇаҐ¤®вўа й Ґв  ўв®¬ вЁзҐбЄ®Ґ § ЄалвЁҐ а ­ҐҐ
®вЄалвле (ў USE, ў INDEX ON, ў SET INDEX TO) Ё­¤ҐЄб®ў. ЋвЄалвм
(§ Єалвм) ®в¤Ґ«м­л© ⥣ ­Ґ«м§п: нв® ¤Ґ©бвўЁп б д ©« ¬Ё.
ЂваЁЎгв ASCENDING (DESCENDING) § ¤ Ґв Ї®а冷Є Їа®е®¦¤Ґ­Ёп Ё­¤ҐЄб ,
­ ЇаЁ¬Ґа, ЇаЁ ўлў®¤Ґ Є®¬ ­¤®© LIST. Џ® 㬮«з ­Ёо ЁбЇ®«м§гҐвбп
Ї®а冷Є, ЇаҐ¤гᬮв७­л© ЇаЁ ᮧ¤ ­ЁЁ Ё­¤ҐЄб .
€§¬Ґ­Ґ­ЁҐ ўҐ¤г饣® Ё­¤ҐЄб . Љ®¬ ­¤  SET ORDER TO Ё¬ҐҐв
Ї а ¬Ґвал, гЄ § ­­лҐ ўлиҐ, ­ зЁ­ п б  ваЁЎгв  ORDER, в.Ґ. ®­ 
ўлЇ®«­пҐв з бвм а Ў®вл Є®¬ ­¤л SET INDEX TO. Љ®¬ ­¤  ЎҐ§ Ї а ¬Ґва®ў
ў®®ЎйҐ ®в¬Ґ­пҐв ўҐ¤гйЁ© Ё­¤ҐЄб, в® ¦Ґ ¤Ґ« Ґв SET ORDER TO 0.
Љ®¬ ­¤  ¤®ЇгбЄ Ґв гЄ § ­ЁҐ а Ў®зҐ© ®Ў« бвЁ: IN<ЋЎ«> (б¬. Ї. 16.1).
‡ ЄалвЁҐ Ё­¤ҐЄб®ў, Єа®¬Ґ бвагЄвга­®Ј® .CDX-д ©« , ®бгйҐбвў«пов
Є®¬ ­¤л INDEX ON, SET INDEX TO ЎҐ§  ваЁЎгв  ADDITIVE. ЏаЁ н⮬ Є®¬ ­¤ 
SET INDEX TO, «ЁиҐ­­ п Ї а ¬Ґва®ў, в®«мЄ® «Ёим § Єалў Ґв Ё­¤ҐЄбл
(ҐҐ нЄўЁў «Ґ­в - Є®¬ ­¤  CLOSE INDEX).
„Ґ©бвўЁп ­ ¤ Ё­¤ҐЄб­л¬Ё д ©« ¬Ё. „«п Ёе ўлЇ®«­Ґ­Ёп Ѓ„ ¤®«¦­ 
Ўлвм ®вЄалв  б ᮮ⢥вбвўгойЁ¬Ё Ё­¤ҐЄб­л¬Ё д ©« ¬Ё. Љ®¬ ­¤л
COPY INDEXES ALL TO <€¬п .CDX-д ©« >
COPY INDEXES <‘ЇЁб®Є .IDX-д ©«®ў> TO <€¬п .CDX-д ©« >
Є®ЇЁагов ᮮ⢥вб⢥­­® ўбҐ ®вЄалвлҐ Ё«Ё гЄ § ­­лҐ ў ҐҐ бЇЁбЄҐ
(®вЄалвлҐ) .IDX-д ©«л ў .CDX-д ©«, Ј¤Ґ ®­Ё бв ­®ўпвбп ⥣ ¬Ё. …б«Ё
Ї а ¬Ґва TO <€¬п .CDX-д ©« > ®вбгвбвўгҐв, Є®ЇЁа®ў ­ЁҐ Ё¤Ґв ў
бвагЄвга­л© .CDX-д ©«. Ќ Їа®вЁў, Є®¬ ­¤ 
COPY TAG <€¬п ⥣ > OF<€¬п .CDX-д ©« > TO<€¬п .IDX-д ©« >
б­Ё¬ Ґв Є®ЇЁо ⥣  ў ўЁ¤Ґ .IDX-д ©« . …б«Ё Ё¬п ⥣  г­ЁЄ «м­® Ё«Ё
®­ Ё§ бвагЄвга­®Ј® д ©« , Ї а ¬Ґва OF<€¬п .CDX-д ©« > ­Ґ ­г¦Ґ­.
Љ®¬ ­¤  DELETE TAG ALL OF<€¬п .CDX-д ©« > г¤ «пҐв ўбҐ ⥣Ё
Ё§ .CDX-д ©«  (Ї® 㬮«з ­Ёо - Ё§ бвагЄвга­®Ј®),   Є®¬ ­¤ 
DELETE TAG <‘ЇЁб®Є ⥣®ў> - ўбҐ гЄ § ­­лҐ ў бЇЁбЄҐ ⥣Ё; н«Ґ¬Ґ­в
бЇЁбЄ  ⥣®ў Ё¬ҐҐв ўЁ¤ <€¬п ⥣ > OF <€¬п .CDX-д ©« > «ЁЎ®
<€¬п ⥣ > - Ґб«Ё Ё¬п ⥣  г­ЁЄ «м­® Ё«Ё ®­ Ё§ бвагЄвга­®Ј® д ©« .
‘Їа ў®з­лҐ дг­ЄжЁЁ. ”г­ЄжЁп NDX(<Ќ®¬>) (Ё«Ё CDX(<Ќ®¬>) )
ў®§ўа й Ґв Ё¬п .IDX-д ©«  (.CDX-д ©« ) Ё§ зЁб«  ®вЄалвле, § ¤ ­­®Ј®
­®¬Ґа®¬ <Ќ®¬>, Ј¤Ґ <Ќ®¬> гЄ §лў Ґв ®зҐаҐ¤­®бвм ®вЄалвЁп. Ќг¬Ґа жЁп
®в¤Ґ«м­  ¤«п .IDX- Ё .CDX-д ©«®ў. ЏаЁ н⮬ бвагЄвга­л© .CDX-д ©«,
Ґб«Ё ®­ Ґбвм, Ё¬ҐҐв ­®¬Ґа 1. ‚ ҐЈ® ®вбгвбвўЁҐ ­®¬Ґа 1 Ё¬ҐҐв ¤агЈ®©
®вЄалвл© .CDX-д ©«. ”г­ЄжЁп TAG(<Ќ®¬>) ў®§ўа й Ґв Ё¬п ⥣  Ё«Ё
.IDX-д ©« , Ј¤Ґ <Ќ®¬> - ­®¬Ґа "бЄў®§­®©" ­г¬Ґа жЁЁ Ё­¤ҐЄб®ў (б¬.
Є®¬ ­¤г SET INDEX TO). ‚ ў аЁ ­вҐ TAG("<€¬п .CDX-д ©« >", <Ќ®¬>)
<Ќ®¬> ®§­ з Ґв Ї®ап¤Є®ўл© ­®¬Ґа ⥣  ў гЄ § ­­®¬ .CDX-д ©«Ґ.
‚ᥠ㪠§ ­­лҐ дг­ЄжЁЁ ¬®Јгв Ё¬Ґвм 2-©  аЈг¬Ґ­в - <ЋЎ«> (б¬. Ї. 16.1).
ЋЎ­®ў«Ґ­ЁҐ Ё­¤ҐЄб®ў Є®¬ ­¤®© REINDEX. …б«Ё ЇаЁ Ё§¬Ґ­Ґ­ЁЁ Ї®«Ґ©,
гз бвўгойЁе ў Є«оз е Ё­¤ҐЄб®ў, Ё­¤ҐЄбл ­Ґ Ўл«Ё ®вЄалвл, в ЄЁҐ Ё­¤ҐЄбл
¬®¦­® ®Ў­®ўЁвм Ї®§¤­ҐҐ: ­г¦­® ®вЄалвм Ѓ„ Ё нвЁ Ё­¤ҐЄбл Ё ўлЇ®«­Ёвм
Є®¬ ­¤г REINDEX. ’ Є®Ґ ®Ў­®ў«Ґ­ЁҐ Ё­¤ҐЄб®ў Ў®«ми®© Ѓ„ § ­Ё¬ Ґв ¬­®Ј®
ўаҐ¬Ґ­Ё Ё ЇаЁЎҐЈ вм Є ­Ґ¬г ­ ¤® «Ёим ЇаЁ ­Ґ®Ўе®¤Ё¬®бвЁ.
‚ § Є«о祭ЁҐ а бᬮваЁ¬ Ї®«­®Ґ ®ЇаҐ¤Ґ«Ґ­ЁҐ Є®¬ ­¤л USE:
USE <€¬п Ѓ„> IN<ЋЎ«> ALIAS<Ђ«Ё б> INDEX<‘ЇЁб®Є Ё­¤ҐЄб­ле д ©«®ў>
ORDER<ЋЎ®§­ зҐ­ЁҐ Ё­¤ҐЄб > ASCENDING | DESCENDING AGAIN
NOUPDATE EXCLUSIVE | SHARED .
ЋЇжЁЁ Є®¬ ­¤л а бᬮваҐ­л ў ЇЇ. 2.4, 16.1 (®ЇжЁп IN), 16.3
(®ЇжЁЁ INDEX, ORDER, ASCENDING | DESCENDING). ЋЇжЁп EXCLUSIVE | SHARED
а бб¬ ваЁў Ґвбп ў Ї. 23.2. ЋЇжЁо AGAIN гЄ §лў ов, Ґб«Ё Ѓ„ ®вЄалў ов
Ї®ўв®а­® - ў ­®ў®© а Ў®зҐ© ®Ў« бвЁ. ЏаЁ н⮬ ¤®бвгЇ Є Ѓ„ ў ®Ў« бвЁ,
Ј¤Ґ ®­  Ўл«  ®вЄалв  а ­ҐҐ, ®Ја ­ЁзЁў Ґвбп з⥭ЁҐ¬,   Є ¦¤л© Ё­¤ҐЄб Ѓ„
¬®¦Ґв Ўлвм ®вЄалв «Ёим ў ®¤­®© Ё§ ®Ў« б⥩ (ў ¤агЈ®© ¬®¦­® ®вЄалвм ҐЈ®
Є®ЇЁо).
ЋЇжЁп NOUPDATE ®§­ з Ґв, зв® Ѓ„ ®вЄалў ов ў ०Ё¬Ґ "в®«мЄ® з⥭ЁҐ".

‡ ¤ ­ЁҐ 16.3. „«п Ё¬Ґо饩бп Ѓ„, ­ ЇаЁ¬Ґа, Ѓ„ Dipl, ᮧ¤ ©вҐ
Ё­¤ҐЄбл-⥣Ё Ё .IDX-Ё­¤ҐЄбл. €§¬Ґ­пп ў Їа®Ја ¬¬Ґ (Ё«Ё ў Є®¬ ­¤­®¬
®Є­Ґ) Ї®а冷Є ®вЄалвЁп Ё­¤ҐЄб®ў Ё ЁбЇ®«м§гп ­ҐбЄ®«мЄ® Є®¬ ­¤,
®вЄалў ойЁе Ё­¤ҐЄбл, Ё§гзЁвҐ Ёе ­г¬Ґа жЁо (ЁбЇ®«м§г©вҐ дг­ЄжЁо TAG).
ЋЇа®Ўг©вҐ Є®¬ ­¤л SET ORDER TO, COPY INDEXES, DELETE TAG.

16.4. Ќ®ў®Ґ ў Ї®ЁбЄҐ ¤ ­­ле. ’Ґе­®«®ЈЁп Rushmore

Ља®¬Ґ дг­ЄжЁЁ SEEK, гЇ®¬п­гв®© ў Ї. 16.1, ў FOXPRO Ё¬ҐҐвбп ҐйҐ
®¤­  Ї®«Ґ§­ п дг­ЄжЁп Ї®ЁбЄ  LOOKUP(<Џ®«Ґ1>, <‚ла>, <Џ®«Ґ2>),
Є®в®а п ЁйҐв ЇҐаўго § ЇЁбм б ўлЇ®«­Ґ­­л¬ вॡ®ў ­ЁҐ¬ <Џ®«Ґ2>=<‚ла>
Ё Ґб«Ё ҐҐ ­ е®¤Ёв, ў®§ўа й Ґв бва®Єг - §­ зҐ­ЁҐ бЁ¬ў®«м­®Ј® Ї®«п
<Џ®«Ґ1> ­ ©¤Ґ­­®© § ЇЁбЁ. ‚ Їа®вЁў­®¬ б«гз Ґ ў®§ўа й Ґвбп Їгбв п
бва®Є . …б«Ё ®вЄалв Ё­¤ҐЄб, Є«оз Є®в®а®Ј® - <Џ®«Ґ2>, Ї®ЁбЄ
г᪮७­л©, Ё­ зҐ - Ї®б«Ґ¤®ў вҐ«м­л©.
Ќ зЁ­ п б ўҐабЁЁ 2.0, ў FOXPRO ЁбЇ®«м§гҐвбп вҐе­®«®ЈЁп Rushmore
, Ї®§ў®«пой п Їа®Ё§ў®¤Ёвм ¤®бвгЇ Є Ї®¤¬­®¦Ґбвўг § ЇЁбҐ© Ё­¤ҐЄбЁа®ў ­­®©
Ѓ„ §  ўаҐ¬п, ба ў­Ё¬®Ґ б ўаҐ¬Ґ­Ґ¬ ¤®бвгЇ  Є ®¤­®© § ЇЁбЁ. ‚лЁЈали ⥬
®йгвЁ¬ҐҐ, 祬 Ў®«миҐ § ЇЁбҐ© ў ўл¤Ґ«пҐ¬®¬ Ї®¤¬­®¦Ґб⢥. ‚ўҐ¤Ґ­ЁҐ
Є®¬Ї Єв­ле Ё­¤ҐЄб®ў а бб¬ ваЁў Ґвбп Є Є гб®ўҐа襭бвў®ў ­ЁҐ Ї®Є § вҐ«Ґ©
‘“Ѓ„, в®Ј¤  Є Є вҐе­®«®ЈЁп Rushmore Є зҐб⢥­­® г«гзи Ґв ў®§¬®¦­®бвЁ
Џќ‚Њ ЇаЁ ®Ўа Ў®вЄҐ "ЈЁЈ ­вбЄЁе" Ѓ„, Є Є Ўл ЇаЁЎ«Ё¦ Ґв Џќ‚Њ Є Є« ббг
б।­Ёе Ё Ў®«миЁе Џќ‚Њ. „ ­­л© бЇ®б®Ў ®ЇвЁ¬Ё§ жЁЁ ¤®бвгЇ  ЁбЇ®«м§гҐвбп
ў Є®¬ ­¤ е AVERAGE, BROWSE, CALCULATE, CHANGE, COPY TO, COPY TO ARRAY,
COUNT, DELETE, DISPLAY, EDIT, EXPORT, LABEL, LIST, LOCATE, RECALL,
REPLACE, REPORT, SCAN, SORT, SUM, TOTAL, Ґб«Ё
- ў Є®¬ ­¤Ґ Ё¬ҐҐвбп FOR-гб«®ўЁҐ,   ў ­Ґ¬ Є Є ®ЇҐа ­¤л (®ЇҐа ­¤)
а ўҐ­бвў Ё«Ё ­Ґа ўҐ­бвў § ЇЁб ­л Ё­¤ҐЄб­лҐ ўла ¦Ґ­Ёп (Ё­¤ҐЄб­®Ґ
ўла ¦Ґ­ЁҐ); ¤ ­­лҐ а ўҐ­бвў  Ё«Ё ­Ґа ўҐ­бвў  ­ §®ўҐ¬ ®ЇвЁ¬Ё§ЁагойЁ¬Ё;
- ᮮ⢥вбвўгойЁҐ Ё­¤ҐЄбл (®¤Ё­ Ё­¤ҐЄб) ®вЄалвл;
- ў Є®¬ ­¤Ґ ­Ґв  ваЁЎгв®ў WHILE, NOOPTIMIZE Ё ¤Ґ©бвўгҐв бв вгб
SET OPTIMIZE ON (бв вгб, ЁбЇ®«м§гҐ¬л© Ї® 㬮«з ­Ёо; ®в¬Ґ­пҐвбп
- SET OPTIMIZE OFF).
‚§ ¬Ґ­ FOR-гб«®ўЁп ¬®¦Ґв Ўлвм § ¤ ­ дЁ«мва (SET FILTER) б
 ­ «®ЈЁз­л¬ а ўҐ­бвў®¬ (­Ґа ўҐ­бвў®¬) Ё в®Ј¤  ®ЇвЁ¬Ё§ЁагҐвбп а Ў®в 
вҐе ўлиҐгЄ § ­­ле Є®¬ ­¤, Є®в®алҐ ®Є § «Ёбм ў §®­Ґ ¤Ґ©бвўЁп дЁ«мва .
…б«Ё ў «®ЈЁзҐбЄЁ б«®¦­®¬ FOR-гб«®ўЁЁ Ё«Ё дЁ«мвॠ­Ґ ўбҐ
б®бв ў«пойЁҐ пў«повбп ®ЇвЁ¬Ё§ЁагойЁ¬Ё, ¤®бвгЇ ®ЇвЁ¬Ё§ЁагҐвбп з бвЁз­®
Ё«Ё ­Ґ ®ЇвЁ¬Ё§ЁагҐвбп, Ё­ зҐ ®ЇвЁ¬Ё§ жЁп ¤®бвгЇ  Ї®«­ п.
ЏаЁ¬Ґа 16.6. Ѓ„ Їа®Ё­¤ҐЄбЁа®ў ­  Ї® Є«оз ¬ Fak (д Єг«мвҐв),
Pol (Ї®«). Џ®¤бзЁвлў Ґвбп зЁб«® n бв㤥­в®Є, зЁб«® m бв㤥­в®ў-
¬г¦зЁ­ бв аиҐ 20 «Ґв Ё ®Ўа Ў влў Ґвбп Ї®¤¬­®¦Ґбвў® "бв㤥­вл-¬г¦зЁ­л
д Єг«мвҐв  Ђ‚’".
USE student INDEX IndFak, IndPol ORDER 0
COUNT TO n FOR Pol = "†" && Џ®«­®бвмо ®ЇвЁ¬Ё§Ёа㥬 п Є®¬ ­¤ 
SET FILTER TO Fak ="Ђ‚’".AND. Pol ="Њ" && €¬ҐҐв ¬Ґбв® Ї®«­ п
LIST Famil, Kurs OFF && ®ЇвЁ¬Ё§ жЁп Є®¬ ­¤ LIST,AVERAGE
AVERAGE SrBall TO Sb && Ќ е®¤Ёвбп б।­Ё© Ў «« ¤«п Ї®¤¬­®¦Ґбвў 
SET FILTER TO
COUNT TO m FOR Pol ="Њ".AND. Vozr > 20 && — бвЁз­ п ®ЇвЁ¬Ё§ жЁп
ЌҐа ўҐ­бвў® Vozr > 20 (ў®§а бв Ў®«миҐ 20) - ­Ґ®ЇвЁ¬Ё§Ёаго饥,
Ї®н⮬㠮ЇвЁ¬Ё§ жЁп з бвЁз­  (б¬. ­Ё¦Ґ § ўЁбЁ¬®бвм ®в «®ЈЁзҐбЄЁе
®ЇҐа жЁ©). ‡ ¬ҐвЁ¬, зв® ўбҐ ®вЄалвлҐ Ё­¤ҐЄбл ®вЄ«озҐ­л ®в гЇа ў«Ґ­Ёп
(ORDER 0). ‘Ёб⥬  ®ЇвЁ¬Ё§ жЁЁ б ¬  "а бЇ®ап¦ Ґвбп" ®вЄалвл¬Ё Ё­¤ҐЄб ¬Ё.
ЋЇвЁ¬Ё§ жЁп ЇаЁ б«®¦­ле «®ЈЁзҐбЄЁе ўла ¦Ґ­Ёпе. ЋЇҐа жЁп .NOT.
­Ґ гзЁвлў Ґвбп ЇаЁ ўлпб­Ґ­ЁЁ га®ў­п ®ЇвЁ¬Ё§ жЁЁ, в®Ј¤  Є Є ®ЇҐа жЁЁ
.AND.,.OR. нв®в га®ўҐ­м ®ЇаҐ¤Ґ«пов:
---------Џ®¤ўла ¦Ґ­ЁҐ 1 ------------ Џ®¤ўла ¦Ґ­ЁҐ 2 -----ђҐ§г«мв в------
Џ®«­®бвмо (з бвЁз­®) ®ЇвЁ¬Ё§Ёа.і ANDі ЌҐ®ЇвЁ¬Ё§Ёа.і— бвЁз­ п ®ЇвЁ¬Ё§ жЁп
Џ®«­®бвмо (з бвЁз­®) ®ЇвЁ¬Ё§Ёа.і OR і ЌҐ®ЇвЁ¬Ё§Ёа.і ЋЇвЁ¬Ё§ жЁЁ ­Ґв
ЏаЁ¬Ґа 16.7. “бв ­ ў«Ёў Ґвбп дЁ«мва ¤«п ўл¤Ґ«Ґ­Ёп Ї®¤¬­®¦Ґбвў 
бв㤥­в®ў, Є®в®ал¬ ¬Ґ­миҐ 18 «Ґв Ё«Ё Є®в®алҐ Їа®и«Ё ў®Ё­бЄго б«г¦Ўг
(ЇаЁ§­ Є VS а ўҐ­ "„ЊЃ"). Њл ­ ¬ҐаҐ­­® Ё§ЎҐЈ Ґ¬ ¤Ё§ко­ЄжЁЁ (.OR.).
USE Student INDEX IndVozr, IndPol ORDER 0
SET FILTER TO Pol ="Њ".AND..NOT.(Vozr >= 18 .AND. VS # "„ЊЃ")
LOCATE Ё Rushmore. ђ ­ҐҐ Ї®« Ј «®бм, зв® Є®¬ ­¤  LOCATE ўлЇ®«­пҐв
Ї®ЁбЄ ¬Ґ¤«Ґ­­®, Ї®б«Ґ¤®ў вҐ«м­л¬ ЇҐаҐЎ®а®¬ § ЇЁбҐ©. ЋЇвЁ¬Ё§ жЁп ¤®бвгЇ 
Є ­Ё¬, ®б®ЎҐ­­® Ґб«Ё ®­  Ї®«­ п, ЇаЁў®¤Ёв Є ⮬г, зв® LOCATE а Ў®в Ґв
бв®«м ¦Ґ Ўлбва®, Є Є SEEK. ‡ ¬ҐвЁ¬, зв® ў LOCATE ¬л ­Ґ ®Ја ­ЁзҐ­л ў
ўлЎ®аҐ гб«®ўЁп Ї®ЁбЄ  Ё ¬®¦Ґ¬ Їа®Ё§ў®«м­® ҐЈ® гб«®¦­пвм.
’ॡ®ў ­Ёп Є Ї ¬пвЁ. ЋЇвЁ¬Ё§ жЁп ¤®бвгЇ  㢥«ЁзЁў Ґв ЁбЇ®«м§гҐ¬го
®Ў« бвм Ї ¬пвЁ. ЏаҐ¤Ї®« Ј Ґвбп, зв® ¤«п а Ў®вл б Ў®«миЁ¬Ё Ѓ„ (Ў®«миҐ
500000 § ЇЁбҐ©) ЇаЁ¬Ґ­пҐвбп а биЁаҐ­­ п ўҐабЁп FOXPRO ЇаЁ
ᮮ⢥вбвўго饬 ®Ў®а㤮ў ­ЁЁ. ‚ Їа®вЁў­®¬ б«гз Ґ ў®§¬®¦­л б®®ЎйҐ­Ёп
® ­Ґеў вЄҐ Ї ¬пвЁ "Not enough memory for optimization". ЌЁзҐЈ®
"д в «м­®Ј®" ЇаЁ н⮬ ­Ґ Їа®Ёб室Ёв, ®Ўа Ў®вЄ  ўҐ¤Ґвбп, ­® ¬Ґ¤«Ґ­­ҐҐ.
Rushmore ў SQL. Љ®¬ ­¤  SELECT п§лЄ  SQL (б¬. Ј«. 18),
ўлЇ®«­пп б«®¦­го ®Ўа Ў®вЄг ¤ ­­ле, ў®§¬®¦­®, ­ҐбЄ®«мЄЁе Ѓ„,
б ¬  ®вЄалў Ґв Ѓ„ Ё ®ЎҐбЇҐзЁў Ґв Ё­¤ҐЄб ¬Ё, ®ЇвЁ¬Ё§Ёагп ¤®бвгЇ.
Џ®«­®в  ®ЇвЁ¬Ё§ жЁЁ ¤®бвгЇ . …бвм д Єв®ал, ­Ґ гЄ § ­­лҐ ўлиҐ:
¦Ґ« вҐ«Ґ­ бв вгб SET DELETED OFF, ®вбгвбвўЁҐ ўҐ¤г饣® Ё­¤ҐЄб  (б¬.
ў ЇаЁ¬Ґа е 16.6, 16.7  ваЁЎгв ORDER 0). “звЁвҐ, зв® Ё­¤ҐЄбл-дЁ«мвал
Ё Ё­¤ҐЄбл, ᮧ¤ ­­лҐ б  ваЁЎг⮬ UNIQUE, ў ®ЇвЁ¬Ё§ жЁЁ ­Ґ гз бвўгов.
‚ᥠЇа®зЁҐ а §­®ўЁ¤­®бвЁ Ё­¤ҐЄб®ў "а Ў®в ов".
ЏаЁ¬Ґз ­ЁҐ. ‡ ЇЁбм Ё­¤ҐЄб­®Ј® ўла ¦Ґ­Ёп ў FOR-гб«®ўЁЁ (ў дЁ«мваҐ)
¤®«¦­  Ўлвм Ё¤Ґ­вЁз­  ЁбЇ®«м§®ў ­­®© ЇаЁ ᮧ¤ ­ЁЁ Ё­¤ҐЄб , ­Ґ ¤®«¦­ 
ᮤҐа¦ вм  «Ё б®ў.
ЋвЄ«о祭ЁҐ ®ЇвЁ¬Ё§ жЁЁ ¤®бвгЇ . Rushmore дЁЄбЁагҐв Ї®¤¬­®¦Ґбвў®
®Ўа Ў влў Ґ¬ле § ЇЁбҐ© ў ­ з «Ґ ўлЇ®«­Ґ­Ёп Є®¬ ­¤л. ‚ вҐе ।ЄЁе
б«гз пе, Є®Ј¤  Є®¬ ­¤  Ё§¬Ґ­пҐв ў § ЇЁбпе Є«оз Ё­¤ҐЄб , гз бвўго饣®
ў ®ЇвЁ¬Ё§ жЁЁ ¤®бвгЇ , ®­  "агЎЁв бгЄ, ­  Є®в®а®¬ бЁ¤Ёв". ‚®§¬®¦­ 
­ҐЇ®«­ п (  ®вбо¤  - Ё ­ҐЇа ўЁ«м­ п) ®Ўа Ў®вЄ  Ї®¤¬­®¦Ґбвў . Ћб®ЎҐ­­®
ў ¦­® ®вб«Ґ¦Ёў вм в ЄЁҐ б«гз Ё ЇаЁ гбв ­®ўЄҐ ®ЇвЁ¬Ё§ЁагойЁе дЁ«мва®ў.
…б«Ё «®ЈЁЄ  ®Ўа Ў®вЄЁ бв®«м "ўлзга­ ", ®вЄ«о砩⥠®ЇвЁ¬Ё§ жЁо ў
Є®¬ ­¤Ґ  ваЁЎг⮬ NOOPTIMIZE Ё«Ё - ¤«п ЈагЇЇл Є®¬ ­¤ - гбв ­®ўЄ®©
бв вгб  SET OPTIMIZE OFF (Ї®в®¬ ў®ббв ­®ўЁвҐ Ёб室­л© бв вгб).
‡ ¤ ­ЁҐ 16.4. €бЇ®«м§гп Є®¬ ­¤г LOCATE б ®ЇвЁ¬Ё§ жЁҐ© ¤®бвгЇ 
Ё ЎҐ§ ­ҐЈ®, гЎҐ¤ЁвҐбм ў нд䥪⨢­®бвЁ ®ЇвЁ¬Ё§ жЁЁ. ЌҐЎ®«миЁҐ а §¬Ґал
ў иҐ© Ѓ„ "бЄ®¬ЇҐ­бЁаг©вҐ" ЇаЁ¬Ґ­Ґ­ЁҐ¬ жЁЄ«  б Ў®«миЁ¬ зЁб«®¬
ўлЇ®«­Ґ­Ё© LOCATE, зв®Ўл а §­Ёж  ўаҐ¬Ґ­Ё ®Ўа Ў®вЄЁ бв «  ®йгвЁ¬®©.

16.5. ‚лЇ®«­пҐ¬ б®авЁа®ўЄг Ё ¬ вҐ¬ вЁзҐбЄго ®Ўа Ў®вЄг

‘®авЁа®ўЄ  (дЁ§ЁзҐбЄ®Ґ гЇ®а冷祭ЁҐ § ЇЁбҐ© Ѓ„) а бᬮв७  ў
Ї. 3.9. “Є ¦Ґ¬ «Ёим ­®ўл©  ваЁЎгв DESCENDING, ў­ҐбҐ­ЁҐ Є®в®а®Ј® ў
Є®¬ ­¤г SORT Ё§¬Ґ­пҐв Ї®б«Ґ¤®ў вҐ«м­®бвм § ЇЁбҐ© ў ®вб®авЁа®ў ­­®¬
д ©«Ґ ­  Їаאַ Їа®вЁў®Ї®«®¦­го. ќв® 㤮Ў­® ЇаЁ ®в« ¤ЄҐ, Ґб«Ё
Їа®ЎгҐвбп (ЁбЇ®«м§гҐвбп) Ё в , Ё ¤агЈ п Ї®б«Ґ¤®ў вҐ«м­®бвЁ, ®б®ЎҐ­­®
Ґб«Ё б®авЁа®ўЄ  ўҐ¤Ґвбп Ї® ­ҐбЄ®«мЄЁ¬ Ї®«п¬ (Є®¬ ­¤  гб«®¦­Ґ­ ).
ЏаЁ¬Ґа 16.8. Џг⥬ б®авЁа®ўЄЁ Ѓ„ Student Ї®«гзЁ¬ гЇ®а冷祭­л©
Ї®  «д ўЁвг бЇЁб®Є Sp бв㤥­в®ў: д ¬Ё«Ёп, Ё.,®., Ї®«, ў®§а бв,
а биЁда®ўЄ  (­ §ў ­ЁҐ) бЇҐжЁ «м­®бвЁ SpecNaz, Ё§ў«ҐЄ Ґ¬ п Ё§ ¤®зҐа­Ґ©
Ѓ„ SpecBD. ‘ўп§го饥 Ї®«Ґ Ѓ„ (­®¬Ґа бЇҐжЁ «м­®бвЁ) Ё¬ҐҐв Ё¬п Spec.
USE Student && ‚ ®Ў« бвЁ "A" ®вЄалв  Ѓ„ Student
USE SpecBD IN B INDEX SpecIn && ‚ ®Ў« бвЁ "B" ®вЄалв  Ѓ„ SpecBD
SET RELATION TO Spec INTO B && ‘ўп§м б ¤®зҐа­Ґ© ®Ў« бвмо "B"
SORT ON Famil TO Sp FIELDS Famil, Pol, Vozr, B.SpecNaz
‘®авЁа®ўЄ  Ё¬ҐҐв Є Є®©-в® б¬лб«, Ґб«Ё дЁ§ЁзҐбЄ п гЇ®а冷祭­®бвм
ЁбЇ®«м§гҐвбп ¤«ЁвҐ«м­®Ґ ўаҐ¬п, ў®§¬®¦­®, ў® ¬­®ЈЁе § ¤ з е. Џа®Ў«Ґ¬®©
пў«пҐвбп ҐҐ Ї®¤¤Ґа¦ ­ЁҐ ЇаЁ ¤®Ў ў«Ґ­ЁЁ ­®ўле § ЇЁбҐ©. Ћ­Ё ¤®«¦­л
ўбв ў«пвмбп ў Ѓ„,   ­Ґ Їа®бв® ¤®Ў ў«пвмбп. ЊҐбв® ўбв ўЄЁ ®Ў®§­ з Ґвбп
⥪г饩 § ЇЁбмо, ®ЇаҐ¤Ґ«Ґ­ЁҐ Є®в®а®© - ¤Ґ«® Їа®Ја ¬¬л,   ўбв ўЄг
Їа®Ё§ў®¤Ёв Є®¬ ­¤  INSERT, Ё¬Ґой п ў аЁ ­вл. Љ®¬ ­¤  INSERT (INSERT
BEFORE) ўбв ў«пҐв ­®ўго § ЇЁбм Ї®б«Ґ (¤®) ⥪г饩 § ЇЁбЁ, ®ЎҐбЇҐзЁў п
Ї®«­®нЄа ­­л© ०Ё¬ । ЄвЁа®ў ­Ёп ¤«п ўў®¤  §­ зҐ­Ё© Ї®«Ґ©.
Љ®¬ ­¤  INSERT BLANK (INSERT BEFORE BLANK) ўбв ў«пҐв Їгбвго
§ ЇЁбм Ї®б«Ґ (¤®) ⥪г饩 § ЇЁбЁ, ­Ґ ЇаҐ¤кпў«пп ҐҐ ­  нЄа ­Ґ. …б«Ё
ЇҐаҐ©вЁ Є ­Ґ© Є®¬ ­¤®© SKIP, §­ зҐ­Ёп Ї®«Ґ© ¬®¦­® § ¤ вм б Ї®¬®ймо
REPLACE Ё«Ё Є®¬ ­¤ ... GET - READ . ЏаЁ ўбв ўЄҐ ¬­®ЈЁе § ЇЁбҐ©
а б室гҐвбп ­Ґ®Їа ў¤ ­­® ¬­®Ј® ўаҐ¬Ґ­Ё, Ї®н⮬㠫гзиҐ ¤«п гЇ®а冷祭Ёп
Ѓ„ ЁбЇ®«м§®ў вм Ё­¤ҐЄб: ў н⮬ б«гз Ґ ­ ¤®Ў­®бвм ў INSERT ®вЇ ¤ Ґв.
‘®авЁа®ўЄ  вॡгҐв ¤®Ї®«­ЁвҐ«м­®© ¤ЁбЄ®ў®© Ї ¬пвЁ, а ў­®©
г¤ў®Ґ­­®¬г а §¬Ґаг Ёб室­®© Ѓ„. Ќг¦­® Ё¬Ґвм ў ўЁ¤г Ё в®, зв® ў
®в«ЁзЁҐ ®в Ё­¤ҐЄбЁа®ў ­Ёп б®авЁа®ўЄ  ­Ґ ЁбЇ®«м§гҐв дг­ЄжЁЁ, ўла ¦Ґ­Ёп
¤«п гЇа ў«Ґ­Ёп гЇ®а冷祭ЁҐ¬ (в®«мЄ® Ї®«п Ѓ„ "ў зЁб⮬ ўЁ¤Ґ").
ЂаЁд¬ҐвЁзҐбЄ п ®Ўа Ў®вЄ . Ћб®ЎҐ­­®бвмо FOXPRO пў«пҐвбп Є®¬ ­¤ 
CALCULATE б иЁа®ЄЁ¬Ё ў®§¬®¦­®бвп¬Ё (б¬. Ї. 3.6). ‚ з бв­®бвЁ, ў ­Ґ©
¬®¦Ґв Ўлвм гЄ § ­  дЁ­ ­б®ў п дг­ЄжЁп NPV - дг­ЄжЁп ®жҐ­ЄЁ
楫Ґб®®Ўа §­®бвЁ Є ЇЁв «®ў«®¦Ґ­Ё©. Џ®б«Ґ¤­пп бгйҐбвўгҐв, Ґб«Ё
ЇҐаў®­ з «м­® ў«®¦Ґ­­л© Є ЇЁв « NK ЇаЁ­®бЁв ®¦Ё¤ Ґ¬л© Їа®жҐ­в PR
Ј®¤®ў®© ЇаЁЎл«Ё (нв  ҐҐ з бвм ва вЁвбп). "‘ўҐаеЇаЁЎл«м" Ё¤Ґв ­ 
а биЁаҐ­ЁҐ Є ЇЁв « . Џ« ­Ёаговбп Ё гЎлвЄЁ ў ⥠Ё«Ё Ё­лҐ Ј®¤л.
Ђ«ЈҐЎа ЁзҐбЄго б㬬㠣®¤®ў®© ЇаЁЎл«Ё Ё гЎлвЄ®ў ®Ў®§­ зЁ¬ Dohod. ’ Є
Ўг¤Ґв ­ §лў вмбп Ї®«Ґ Ѓ„ Capit, ў Є®в®а®© § ЇЁбЁ гЇ®ап¤®зҐ­л Ї® Ј®¤ ¬.
„®ЇгбвЁ¬, PR=12 %, NK = 100000000 агЎ,   ®¦Ё¤ Ґ¬лҐ ¤®е®¤л Ї®
Ј®¤ ¬ б®бв ў«пов 1500000, 10000000, 25000000, 45000000. Љ®¬ ­¤ 
CALCULATE NPV(0.12, Dohod, -100000000) ¤ Ґв ®ваЁж вҐ«м­л© १г«мв в
-44295955.79. „ ­­®Ґ Є ЇЁв «®ў«®¦Ґ­ЁҐ ­Ґ Ї®§ў®«пҐв Ґ¦ҐЈ®¤­® Ё§л¬ вм
12 % Є ЇЁв « . ‡ ¬ҐвЁ¬, зв® ­ з «м­л© Є ЇЁв « § ¤ ов б® §­ Є®¬ ¬Ё­гб,
  ў¬Ґбв® Їа®жҐ­в  гЄ §лў ов б®влҐ ¤®«Ё. Џ®«г祭ЁҐ ­Ґ®ваЁж вҐ«м­®Ј®
१г«мв в  гЄ §лў «® Ўл ­  楫Ґб®®Ўа §­®бвм ў«®¦Ґ­Ёп.
Љ®¬ ­¤  CALCULATE Ё¬ҐҐв в® ЇаҐЁ¬гйҐбвў®, зв® Ї®§ў®«пҐв Ї®«гз вм
бҐаЁо १г«мв в®ў ўбҐЈ® §  ®¤Ё­ "Їа®Ј®­" д ©«  Ѓ„.
‡ ¤ ­ЁҐ 16.5. ‘а ў­ЁвҐ Ї® ўаҐ¬Ґ­Ё б®авЁа®ўЄг Ѓ„ Ё гЇ®а冷祭ЁҐ
ҐҐ зҐаҐ§ Ё­¤ҐЄбЁа®ў ­ЁҐ-Є®ЇЁа®ў ­ЁҐ.

‡ЂЉ‹ћ—…Ќ€… Љ ѓ‹Ђ‚… 16

€§гзЁў ЇаЁ¬Ґал Ё ўлЇ®«­Ёў § ¤ ­Ёп ¤ ­­®© Ј« ўл, ўл Ї®¤­п«Ёбм ­ 
Ў®«ҐҐ ўлб®Єго бвгЇҐ­м ў ®ў« ¤Ґ­ЁЁ б।бвў ¬Ё ®Ўа Ў®вЄЁ Ў § ¤ ­­ле.
‚®§м¬ЁвҐ ­  ў®®а㦥­ЁҐ ЇаЁҐ¬л, Ї®Є § ­­лҐ ў ЇаЁ¬Ґа е ¤ ­­®© Ј« ўл.
Соседние файлы в папке материалы по FoxPro