Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:БД книги 2 / материалы по FoxPro / GL16
.PASѓ‹Ђ‚Ђ 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