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



3. ђЂЃЋ’Ђ…Њ ‘ ЃЂ‡ЂЊ€ „ЂЌЌ›•

‚ ¤ ­­®© Ј« ўҐ ўл Ї®«гзЁвҐ ¤Ґв «м­го Ё­д®а¬ жЁо, ­Ґ®Ўе®¤Ё¬го
¤«п ЁбЇ®«м§®ў ­Ёп ў Ѓ„ б«®¦­ле Ё­¤ҐЄб­ле ўла ¦Ґ­Ё© Ё дЁ«мва®ў,
¤«п бҐа쥧­®© Їа ЄвЁЄЁ Ї®ЁбЄ  ў Ѓ„, ­ е®¦¤Ґ­Ёп зЁб«®ўле е а ЄвҐаЁбвЁЄ,
б®авЁа®ўЄЁ, г§­ ҐвҐ Є®¬ ­¤л ®Ўа Ў®вЄЁ Ѓ„. ‚л ­ гзЁвҐбм ᮧ¤ ў вм Ї®«п
ЇаЁ¬Ґз ­Ё©, а §¬Ґал Є®в®але ў ®в«ЁзЁҐ ®в ®Ўлз­ле бЁ¬ў®«м­ле Ї®«Ґ©
¬®Јгв Ё§¬Ґ­пвмбп, г§­ ҐвҐ, Є Є ЇҐаҐЁ¬Ґ­®ўлў вм, бвЁа вм, Є®ЇЁа®ў вм,
гЇ«®в­пвм Ѓ„, ®бгйҐбвў«пвм Ёе ў§ Ё¬®¤Ґ©бвўЁҐ.
ќв® Ї®б«Ґ¤­пп Ј« ў , Ј¤Ґ Ё§гз Ґвбп ®ЎйЁ© ¬ вҐаЁ « ¤«п п§лЄ®ў
CLIPPER Ё FOXPRO. ‚ иЁ §­ ­Ёп ў ®Ў« бвЁ ЁбЇ®«м§®ў ­Ёп Ѓ„ Ўг¤гв
а биЁаҐ­л ў Ї®б«Ґ¤гойЁе Ј« ў е.

3.1. Џ®«гз Ґ¬ бЇа ў®з­го Ё­д®а¬ жЁо ® Ў § е ¤ ­­ле

‘Їа ў®з­го Ё­д®а¬ жЁо ¬®¦­® а §¤Ґ«Ёвм ­  3 Є вҐЈ®аЁЁ: Ё­д®а¬ жЁп
® ¬­®¦Ґб⢥ д ©«®ў Ё Ёе б®бв®п­ЁЁ - в Є п, Є Є ў Є в «®Ј е;
Ё­д®а¬ жЁп ® Є®­ЄаҐв­®© Ў §Ґ ¤ ­­ле (Ѓ„); Ё­д®а¬ жЁп ®Ў н«Ґ¬Ґ­в е
Ѓ„. Ќ з­Ґ¬ б дг­ЄжЁЁ Adir(), ў®§ўа й о饩 зЁб«® д ©«®ў ў ⥪г饬
Є в «®ЈҐ Ё 5 ўҐЄв®а®ў (зҐаҐ§ Ї а ¬Ґвал): ўҐЄв®а Ё¬Ґ­ д ©«®ў,
ўҐЄв®а а §¬Ґа®ў д ©«®ў, ўҐЄв®а ¤ в ᮧ¤ ­Ёп, ўҐЄв®а ўаҐ¬Ґ­ ᮧ¤ ­Ёп,
ўҐЄв®а  ваЁЎгв®ў д ©«®ў. „«п Ї®«г祭Ёп Ё­д®а¬ жЁЁ ® Ї®¤¬­®¦Ґб⢥
д ©«®ў § ¤ ов  аЈг¬Ґ­в - бЁ¬ў®«м­го ¬ бЄг < Ў«®­ Ё¬Ґ­>. Ќ ЇаЁ¬Ґа,
и Ў«®­ "*.dbf" Ї®§ў®«пҐв Ї®«гзЁвм ᢥ¤Ґ­Ёп ® Ў § е ¤ ­­ле.
‚ п§лЄҐ CLIPPER гЄ § ­­лҐ ўҐЄв®ал ЇаҐ¤бв ў«Ґ­л ®в¤Ґ«м­л¬Ё
¬ ббЁў ¬Ё <Њ б1> - <Њ б5>:
Adir(< Ў«®­ Ё¬Ґ­>,<Њ б1>,<Њ б2>,<Њ б3>,<Њ б4>,<Њ б5>).
ЌЁ ®¤Ё­  аЈг¬Ґ­в ­Ґ пў«пҐвбп ®Ўп§ вҐ«м­л¬. ЏаЁ Їа®ЇгбЄҐ  аЈг¬Ґ­в 
®бв ў«п©вҐ § Їпвго. Њ ббЁўл ­ ¤® ЇаҐ¤ў аЁвҐ«м­® ®ЇЁб вм.
ЏаЁ¬Ґа 3.1. ‚뢥¤Ґ¬ Ё¬Ґ­  Ё ¤ вл ᮧ¤ ­Ёп Ѓ„ ⥪г饣® Є в «®Ј :
PRIVATE n:= Adir("*.dbf")
PRIVATE Name[n], Dat[n], k:=0, i
Adir("*.dbf", Name, ,Dat) && ‡ Ї®«­пҐ¬ ¬ ббЁўл Ё­д®а¬ жЁҐ© ® Ѓ„
FOR i = 1 TO n
? Name[i], Dat[i] && ‚лў®¤ Ё¬Ґ­Ё Ё ¤ вл ᮧ¤ ­Ёп Ѓ„
ENDFOR
‚ FOXPRO ўлиҐгЄ § ­­лҐ 5 ўҐЄв®а®ў ЇаҐ¤бв ў«Ґ­л бв®«Ўж ¬Ё
¤ўг¬Ґа­®Ј® ¬ ббЁў  <Њ б>, Є®в®ал© Ї®а®¦¤ Ґвбп дг­ЄжЁҐ© Adir():
Adir (<Њ б>,< Ў«®­ Ё¬Ґ­>); ­Ё¦Ґ ¤ ­ ў аЁ ­в ¤«п FOXPRO, ­Ґ
вॡгойЁ© ®ЇЁб ­Ёп ¬ ббЁў .
n = Adir (BD, "*.dbf") &&  Ў«®­ - Ї а ¬Ґва ­Ґ®Ўп§ вҐ«м­л© Ё
FOR i = 1 TO n && ЇЁиҐвбп ­  2 ¬Ґб⥠ў ®в«ЁзЁҐ ®в CLIPPER
? BD[i,1], BD[i,3] && 1-© бв®«ЎҐж - Ё¬Ґ­ , 3-© - ¤ вл ᮧ¤ ­Ёп
ENDFOR
”г­ЄжЁп Afields() ў®§ўа й Ґв зЁб«® Ї®«Ґ©  ЄвЁў­®© Ѓ„ Ё 4
ўҐЄв®а  (зҐаҐ§ Ї а ¬Ґвал): ўҐЄв®а Ё¬Ґ­ Ї®«Ґ©, ўҐЄв®а Ёе вЁЇ®ў, ўҐЄв®а
а §¬Ґа®ў Ї®«Ґ© Ё ўҐЄв®а Є®«ЁзҐбвў ¤ҐбпвЁз­ле §­ Є®ў (¤«п Ї®«Ґ© вЁЇ 
"N"). ‚ п§лЄҐ CLIPPER гЄ § ­­лҐ ўҐЄв®ал ЇаҐ¤бв ў«Ґ­л ¬ ббЁў ¬Ё
<Њ б1> - <Њ б4>, ¤ў  ЇҐаўле - бЁ¬ў®«м­лҐ, Ї®б«Ґ¤­ЁҐ - зЁб«®ўлҐ:
Afields (<Њ б1>,<Њ б2>,<Њ б3>,<Њ б4>).
ЌЁ ®¤Ё­  аЈг¬Ґ­в ®Ўп§ вҐ«м­л¬ ­Ґ пў«пҐвбп, ¬ ббЁўл ­ ¤® ®ЇЁблў вм.
ЏаЁ¬Ґа 3.2. ‚뢥¤Ґ¬ ­ §ў ­Ёп Ё вЁЇл Ї®«Ґ© Ѓ„ DETI (Ї. 2.2):
USE Deti
PRIVATE n:=Afields(), i
PRIVATE Name[n], Tip[n]
Afields (Name, Tip) && …б«Ё ®Їг饭 Є®­Ґж бЇЁбЄ , § ЇпвлҐ
FOR i = 1 TO n && ў Є®­жҐ ¬®¦­® ­Ґ ®бв ў«пвм
? Name[i], Tip[i]
ENDFOR
‚ FOXPRO ўлиҐгЄ § ­­лҐ ўҐЄв®ал ЇаҐ¤бв ў«Ґ­л бв®«Ўж ¬Ё ¤ўг¬Ґа­®Ј®
¬ ббЁў  <Њ б>, Ї®а®¦¤ Ґ¬®Ј® дг­ЄжЁҐ© Afields. ќв® ҐҐ Ґ¤Ё­б⢥­­л©
 аЈг¬Ґ­в. Њ ббЁў <Њ б> ®ЇЁблў вм ­Ґ ­ ¤®. ЌЁ¦Ґ ЇаЁўҐ¤Ґ­ ў аЁ ­в ¤«п
FOXPRO:
n = Afields(Struc) && Џ®а®¦¤ Ґвбп ¬ ббЁў Struc
FOR i = 1 TO n
? Struc[i,1], Struc[i,2] && 1-© бв®«ЎҐж - Ё¬Ґ­ , 2-© - вЁЇл
ENDFOR
”г­ЄжЁп File ("<€¬пF>"), Ј¤Ґ <€¬пF> - Ё¬п д ©«  (®Ўп§ вҐ«м­® б
а биЁаҐ­ЁҐ¬ Ё, ў®§¬®¦­®, б гЄ § ­ЁҐ¬ ЇгвЁ Є д ©«г) Їа®ўҐапҐв
бгйҐбвў®ў ­ЁҐ д ©«  «оЎ®Ј® вЁЇ . „®ЇгбЄ Ґвбп  аЈг¬Ґ­в ў ўЁ¤Ґ бЁ¬ў®«м­®©
ЇҐаҐ¬Ґ­­®© Ё«Ё ўла ¦Ґ­Ёп, ­ ЇаЁ¬Ґа, бЁ¬ў®«м­®© ¬ бЄЁ (б¬. Ї. 1.4).
”г­ЄжЁп ў®§ўа й Ґв .T., Ґб«Ё гЄ § ­­л© д ©« Ё«Ё д ©«, Ё¬п Є®в®а®Ј®
㤮ў«Ґвў®апҐв ¬ бЄҐ, бгйҐбвўгҐв ў ⥪г饬 Є в «®ЈҐ Ё«Ё ­  гЄ § ­­®¬
ЇгвЁ, Ё­ зҐ ў®§ўа й Ґв .F.. ‚® Ё§ЎҐ¦ ­ЁҐ ­Ґ¤®а §г¬Ґ­Ё© ЇаҐ¤ў ап©вҐ
ᮧ¤ ­ЁҐ д ©«  Їа®ўҐаЄ®© бгйҐбвў®ў ­Ёп ®¤­®Ё¬Ґ­­®Ј® д ©«  б Ї®¬®ймо
дг­ЄжЁЁ File().
”г­ЄжЁп DBF() ¤«п  ЄвЁў­®© Ѓ„ ў®§ўа й Ґв ў ўЁ¤Ґ бЁ¬ў®«м­®©
бва®ЄЁ Ё¬п (ў п§лЄҐ FOXPRO) Ё«Ё  «Ё б (ў п§лЄҐ CLIPPER; ў ®вбгвбвўЁҐ
 «Ё б  - Ё¬п)  ЄвЁў­®© Ў §л ¤ ­­ле. …б«Ё ®вЄалв®© Ѓ„ ­Ґв,
ў®§ўа й Ґвбп Їгбв п бва®Є . ‚ п§лЄҐ FOXPRO дг­ЄжЁп ¬®¦Ґв Ё¬Ґвм ўЁ¤
DBF(<ЋЎ« бвм>), в®Ј¤  ®­  ЇаЁ¬Ґ­Ё¬  Є «оЎ®© Ё§ ®вЄалвле Ѓ„.
Ђ­ «®ЈЁз­®Ґ ЇаЁ¬Ґ­Ґ­ЁҐ ў п§лЄҐ CLIPPER Ё¬ҐҐв дг­ЄжЁп Alias (<ЋЎ« бвм>).
—Ёб«® § ЇЁбҐ© ў Ѓ„ б гзҐв®¬ § ЇЁбҐ©, Ї®¬ҐзҐ­­ле ­  г¤ «Ґ­ЁҐ,
ў®§ўа й Ґв дг­ЄжЁп Reccount(), а §¬Ґа § ЇЁбЁ ў Ў ©в е - Recsize(),
а §¬Ґа § Ј®«®ўЄ  Ѓ„ ў Ў ©в е - Header(), зЁб«® Ї®«Ґ© ў бвагЄвгаҐ
Ѓ„ - Fcount(), ­®¬Ґа ⥪г饩 § ЇЁбЁ - Recno(). ‡ Ї®¬­ЁвҐ, зв® Recno()
ў®§ўа й Ґв 0, Ґб«Ё ў ⥪г饩 ®Ў« бвЁ ­Ґв ®вЄалв®© Ѓ„, Ё -1, Ґб«Ё
®вЄалв п ў ­Ґ© Ѓ„ ­Ґ ᮤҐа¦Ёв § ЇЁбҐ©. ‚ᥠнвЁ дг­ЄжЁЁ ў FOXPRO ¬®Јгв
Ё¬Ґвм  аЈг¬Ґ­в <ЋЎ« бвм>, в®Ј¤  Ёе ¬®¦­® ЇаЁ¬Ґ­пвм ­Ґ в®«мЄ® Є
 ЄвЁў­®©, ­® Ё Є «оЎ®© ®вЄалв®© Ѓ„. ‚ CLIPPER, зв®Ўл Ї®«гзЁвм в®в
¦Ґ нд䥪в, ­ ¤® гв®з­пвм дг­ЄжЁо  «Ё б®¬ (Ё¬Ґ­Ґ¬ Ѓ„, Ґб«Ё ­Ґв  «Ё б ):
<Ђ«Ё б Ё«Ё Ё¬п Ѓ„> -> ( <”г­ЄжЁп> ).
ќв® Їа ўЁ«® п§лЄ  CLIPPER ЇаЁ¬Ґ­Ё¬® Ё Є б«®¦­л¬ ўла ¦Ґ­Ёп¬,
ᮤҐа¦ йЁ¬ гЄ § ­­лҐ дг­ЄжЁЁ, ўла ¦Ґ­ЁҐ в Є¦Ґ § Є«оз ов ў бЄ®ЎЄЁ.
„®ЇгбЄ Ґвбп § ¬Ґ­   «Ё б  § Є«о祭­л¬ ў бЄ®ЎЄЁ ўла ¦Ґ­ЁҐ¬, ¤ ойЁ¬
­®¬Ґа а Ў®зҐ© ®Ў« бвЁ.
”г­ЄжЁЁ Key(<‚лаN>) (FOXPRO) Ё IndexKey(<‚лаN>) (CLIPPER)
ў®§ўа й ов ў ўЁ¤Ґ бва®ЄЁ Ё­¤ҐЄб­®Ґ ўла ¦Ґ­ЁҐ, Ј¤Ґ <‚лаN> - ­®¬Ґа
Ё­¤ҐЄб .
”г­ЄжЁп Found() ў®§ўа й Ґв §­ зҐ­ЁҐ .T., Ґб«Ё ЇаҐ¤л¤гйЁ©  Єв
Ї®ЁбЄ  (б¬. Ї. 3.4) § ўҐаиЁ«бп гбЇҐи­®. Њл Ј®ў®аЁ¬ ­Ґ®Ўп§ вҐ«м­® ®
Є®¬ ­¤Ґ Ї®ЁбЄ , ў ­ҐЄ®в®але б«гз пе Ї®ЁбЄ ўлЇ®«­пҐвбп ­Ґпў­®.
”г­ЄжЁп Deleted() ў®§ўа й Ґв .T., Ґб«Ё ⥪гй п § ЇЁбм Ї®¬ҐзҐ­  ­ 
г¤ «Ґ­ЁҐ. ‚ FOXPRO нвЁ дг­ЄжЁЁ ¬®Јгв Ё¬Ґвм  аЈг¬Ґ­в <ЋЎ« бвм>, ў
п§лЄҐ CLIPPER Ёе ¬®¦­® гв®з­пвм  «Ё б®¬, Є Є Ё б«Ґ¤гойЁҐ ­Ё¦Ґ дг­ЄжЁЁ.
‘ Ї®«п¬Ё § ЇЁбЁ ¬®¦­® а Ў®в вм, Є Є б н«Ґ¬Ґ­в ¬Ё ¬ ббЁў , Ї®
­®¬Ґаг <Ќ®¬> Ї®«п ў бвагЄвгॠЃ„. ќвг ў®§¬®¦­®бвм ў п§лЄҐ CLIPPER
®ЎҐбЇҐзЁў ов дг­ЄжЁЁ FieldName(<Ќ®¬>) - ў®§ўа й Ґв Ё¬п Ї®«п Ѓ„,
FieldGet(<Ќ®¬>) - ў®§ўа й Ґв §­ зҐ­ЁҐ Ї®«п ⥪г饩 § ЇЁбЁ,
FieldPut(<Ќ®¬>,<‚ла>) - Ї®¬Ґй Ґв §­ зҐ­ЁҐ <‚ла> ў гЄ § ­­®Ґ Ї®«Ґ Ѓ„.
Ќ Їа®вЁў, дг­ЄжЁп FieldPos(<‚лаC>) ў®§ўа й Ґв Ї®ап¤Є®ўл© ­®¬Ґа Ї®«п,
Ё¬п <‚лаC> Є®в®а®Ј® § ¤ ­®, ­ ЇаЁ¬Ґа: FieldPos("Pol").
‚ FOXPRO дг­ЄжЁп Field(<Ќ®¬>,<ЋЎ« бвм>) ў®§ўа й Ґв Ё¬п Ї®«п Ѓ„,
­Ґ®Ўп§ вҐ«м­л© ўв®а®© Ї а ¬Ґва Ї®§ў®«пҐв а Ў®в вм б «оЎ®© Ё§ ®вЄалвле
Ѓ„. …б«Ё Ї®«п б в ЄЁ¬ ­®¬Ґа®¬ ­Ґв, дг­ЄжЁп ў®§ўа й Ґв Їгбвго бва®Єг.
”г­ЄжЁп Diskspace() ў®§ўа й Ґв а §¬Ґа бў®Ў®¤­®Ј® Їа®бва ­бвў 
(ў Ў ©в е) ­  ⥪г饬 ¤ЁбЄҐ. ‚ п§лЄҐ CLIPPER ў®§¬®¦Ґ­  аЈг¬Ґ­в: 1
¤«п ¤ЁбЄ  "A", 2 - ¤«п ¤ЁбЄ  "B" Ё в.¤. (¤ЁбЄ ­Ґ ®Ўп§ вҐ«м­®
⥪гйЁ©).
‘гйҐбвўгов Ё ¤агЈЁҐ бЇа ў®з­лҐ дг­ЄжЁЁ (б¬. ЇаЁ«®¦Ґ­Ёп 1, ). ‚
з бв­®бвЁ, ў FOXPRO Ё¬ҐҐвбп Ў®«м讥 зЁб«® дг­ЄжЁ© ўЁ¤  SYS(<Ќ®¬Ґа>
...), ў®§ўа й ойЁе а §­®®Ўа §­го Ё­д®а¬ жЁо ў бЁ¬ў®«м­®¬ ўЁ¤Ґ.
‡ ¤ ­ЁҐ 3.1. Џ®«гзЁвҐ ¤ўг¬п а §­л¬Ё бЇ®б®Ў ¬Ё а §¬Ґа
бгйҐбвўго饩 Ѓ„: Ї® Ё­д®а¬ жЁЁ Adir() Ё зҐаҐ§ дг­ЄжЁЁ, ¤ ойЁҐ
а §¬Ґал б®бв ў­ле ҐҐ н«Ґ¬Ґ­в®ў.

3.2. ЏаЁ¬Ґ­пҐ¬ б«®¦­лҐ Ё­¤ҐЄб­лҐ ўла ¦Ґ­Ёп

”г­ЄжЁЁ ў Є«оз е Ё­¤ҐЄб . ‚ Ё­¤ҐЄб­ле ўла ¦Ґ­Ёпе з бв®
ЁбЇ®«м§говбп дг­ЄжЁЁ Upper Ё Trim. ”г­ЄжЁп Upper ЇаЁў®¤Ёв
ЇаҐ¤бв ў«Ґ­ЁҐ ЎгЄў ў бЁ¬ў®«м­®¬ Є«озҐ Є "бв ­¤ авг" - ўҐае­Ґ¬г
ॣЁбваг (­Ґ § Ўлў ©вҐ, зв® Є®¤л бва®з­ле Ё Їа®ЇЁб­ле ЎгЄў
а §«Ёз овбп). ’Ґ¬ б ¬л¬ ¬л Ё§Ў ў«пҐ¬бп ®в ў«Ёп­Ёп ­ҐЎаҐ¦­®бвЁ ў
§ Ї®«­Ґ­ЁЁ нвЁе Ї®«Ґ© Ё Ё­ле д Єв®а®ў. Ќ ЇаЁ¬Ґа, д ¬Ё«ЁЁ DeVilliers,
O'Connor Ё Ђ¤Ґ«мб®­-‚Ґ«мбЄЁ© § ©¬гв ў Ё­¤ҐЄбҐ Ї®«®¦Ґ­ЁҐ б®Ј« б­®
 «д ўЁвг.
”г­ЄжЁп Trim, ЁбЄ«оз п Є®­жҐўлҐ Їа®ЎҐ«л ў Є«озҐ Ё«Ё
б®бв ў«по饩 Є«оз , Ї®§ў®«пҐв нЄ®­®¬Ёвм Ї ¬пвм, ®вў®¤Ё¬го ¤«п
Ё­¤ҐЄб . ‚ Є«оз е Ё­¤ҐЄб  ЇаЁ¬Ґ­пов Ё Ї®«м§®ў вҐ«мбЄЁҐ дг­ЄжЁЁ. ‚
[1] ЇаЁўҐ¤Ґ­ ЇаЁ¬Ґа дг­ЄжЁЁ, Ї®Є §лў о饩 Їа®жҐ­в Їа®Ё­¤ҐЄбЁа®ў ­­ле
§ ЇЁбҐ© ў Їа®жҐбᥠЁ­¤ҐЄбЁа®ў ­Ёп Ў®«миЁе Ѓ„. Џ®б«Ґ Ё­¤ҐЄбЁа®ў ­Ёп
нв  дг­ЄжЁп ЁбЄ«оз Ґвбп Ё§ б®бв ў  Є«оз .
‘®бв ў­лҐ Є«озЁ. …б«Ё ЁбЇ®«м§®ў ­ЁҐ ®¤­®Ј® Ї®«п Ѓ„ ў Ё­¤ҐЄбҐ
­Ґ ᮧ¤ Ґв ¤®бв в®з­®© гЇ®а冷祭­®бвЁ, ЇаЁ¬Ґ­пов Є«озЁ, ᮤҐа¦ йЁҐ
Ў®«миҐ Ї®«Ґ©. ‡¤Ґбм вॡ®ў ­Ёп Ёб室пв ®в § ¤ з. Ќ ЇаЁ¬Ґа, Ѓ„
"‘в㤥­в" ¬®¦Ґв Ўлвм Їа®Ё­¤ҐЄбЁа®ў ­  Ї® Ї®«о "” Єг«мвҐв". „«п
­ҐЄ®в®а®© § ¤ зЁ нв®Ј® ¤®бв в®з­®, в®Ј¤  Є Є ¤«п ¤агЈ®© - ­ ¤® ў­ҐбвЁ
гЇ®а冷祭­®бвм Ї® Ї®«о "Љгаб" ў Ї®¤¬­®¦Ґбвў® § ЇЁбҐ© Є ¦¤®Ј®
®в¤Ґ«м­®Ј® д Єг«мвҐв . Џ®«Ґ "Љгаб" ЇаЁ н⮬ Ё¬ҐҐв Ї®¤зЁ­Ґ­­го а®«м,
  Ї®«Ґ д Єг«мвҐв - Ј« ў­го. …б«Ё Ї®¬Ґ­пвм Ёе а®«Ё ў Ё­¤ҐЄбҐ, в®
­ Їа®вЁў, Ї®¤¬­®¦Ґбвў  ўбҐе § ЇЁбҐ© ¤«п Є ¦¤®Ј® ®в¤Ґ«м­®Ј® Єгаб 
ўг§  Ўг¤гв а бб®авЁа®ў ­л Ї® д Єг«мвҐв ¬. ѓ« ў­®Ґ Ї®«Ґ ¤®«¦­®
гЄ §лў вмбп ў ­ з «Ґ Ё­¤ҐЄб­®Ј® ўла ¦Ґ­Ёп,   Ї®¤зЁ­Ґ­­лҐ §  ­Ё¬,
ў Ї®ап¤ЄҐ гЎлў ­Ёп бв аиЁ­бвў .
ЏаЁ¬Ґа 3.3. Џгбвм ў Ѓ„ Kadr Ї®«Ґ Famil ᮤҐа¦Ёв д ¬Ё«ЁЁ
Ё Ё­ЁжЁ «л б®ваг¤­ЁЄ®ў, Pol - гЄ §лў Ґв ҐЈ® Ї®« ("Њ“†","†…Ќ"),  
Ї®«Ґ Otdel - ®в¤Ґ«, Ј¤Ґ ®­ а Ў®в Ґв. ‚ᥠваЁ Ї®«п - бЁ¬ў®«м­лҐ.
Dtr (¤ в  ஦¤Ґ­Ёп) - Ї®«Ґ вЁЇ  "„ в ", Ї®«Ґ Stag (бв ¦ а Ў®вл) -
зЁб«®ў®Ґ. ЌҐ®Ўе®¤Ё¬® гЇ®а冷зЁвм Ѓ„ Ї® ®в¤Ґ« ¬, ў а ¬Є е Є ¦¤®Ј®
®в¤Ґ«  - Ї® Ї®«г б®ваг¤­ЁЄ®ў,   ў а ¬Є е Ї®«г祭­ле ЈагЇЇ § ЇЁбҐ© -
Ї® бв ¦г а Ў®вл Ё ўлўҐбвЁ бЇЁб®Є б®ваг¤­ЁЄ®ў.
USE Kadr
INDEX ON Otdel + Upper(Pol) + Str(Stag,2) TO OPStag
LIST Famil, Dtr, Stag
„«п Ї®«г祭Ёп б®бв ў­®Ј® Ё­¤ҐЄб­®Ј® ўла ¦Ґ­Ёп §­ зҐ­Ёп Ї®«Ґ©
ЇаЁў®¤пв Є ®¤­®¬г вЁЇг (®Ўлз­® - Є бЁ¬ў®«м­®¬г, Ё§аҐ¤Є  - зЁб«®ў®¬г).
‚ ­ иҐ¬ ЇаЁ¬ҐаҐ ЇаҐ®Ўа §гҐвбп §­ зҐ­ЁҐ Ї®«п Stag. Ќ ап¤г б®
§­ Є®¬ "+" ¬®¦Ґв ЁбЇ®«м§®ў вмбп §­ Є "-", ®Ў®§­ з ойЁ© а §­®ўЁ¤­®бвм
Є®­Є вҐ­ жЁЁ бЁ¬ў®«м­ле бва®Є.
‘®§¤ ­­л© ­ ¬Ё Ё­¤ҐЄб OPStag ¬®¦Ґв ЁбЇ®«м§®ў вмбп ў § ¤ з е,
Ј¤Ґ вॡгҐвбп гЇ®а冷祭­®бвм «Ёим Ї® ®в¤Ґ« ¬,   Ї® бв ¦г Ё«Ё Ї®«г
Ё бв ¦г ­Ґ ­г¦­ . €­ зҐ Ј®ў®ап, Ё­¤ҐЄб, ®б­®ў ­­л© ­  «Ґў®¬
Ї®¤ўла ¦Ґ­ЁЁ 㦥 бгйҐбвўго饣® Є«оз  Ё­¤ҐЄб , пў«пҐвбп Ё§«Ёи­Ё¬.
ЌҐЇ®«­лҐ Ё­¤ҐЄбл. €­¤ҐЄб, ᮧ¤ ­­л© б  ваЁЎг⮬ UNIQUE,
пў«пҐвбп з бв­л¬ б«гз Ґ¬ ­ҐЇ®«­®Ј® Ё­¤ҐЄб . ‚ п§лЄҐ FOXPRO Ё ў ўҐабЁЁ
CLIPPER 5.02 Ё¬ҐҐвбп ў®§¬®¦­®бвм ᮧ¤ ­Ёп ­ҐЇ®«­ле Ё­¤ҐЄб®ў Їг⥬
ўЄ«о祭Ёп FOR-гб«®ўЁп ў Є®¬ ­¤г Ї®бв஥­Ёп Ё­¤ҐЄб . ‚ ­Ґ¬ Ўг¤гв
гзвҐ­л «Ёим § ЇЁбЁ, 㤮ў«Ґвў®апойЁҐ гЄ § ­­®¬г гб«®ўЁо.
ЏаЁ¬Ґа 3.4. ЋвЄа®Ґ¬ Ѓ„ Kadr Ё ᮧ¤ ¤Ё¬ ­ҐЇ®«­л© Ё­¤ҐЄб Otd
Ї® Ї®«о Otdel, ўЄ«озЁў ў Ё­¤ҐЄб в®«мЄ® ¦Ґ­йЁ­. ‚뢥¤Ґ¬ бЇЁб®Є.

* Џа®Ја ¬¬  Ї®Є §лў Ґв ў®§¬®¦­®бвм ­ҐЇ®«­ле Ё­¤ҐЄб®ў ў CLIPPER 5.01
USE Kadr
INDEX ON Iif(Upper(Pol)="†…Ќ", Otdel + Str(Recno(),5),;
Replicate(" ",Len(Otdel)+5)) TO Otd UNIQUE
IF Upper(Pol) = "Њ“†" && Џа®ўҐаЄ  ­ з «м­®© (ў Ё­¤ҐЄбҐ) § ЇЁбЁ
SKIP && Џа®ЇгбЄ Ґ¤Ё­б⢥­­®© ў®§¬®¦­®© ў Ё­¤ҐЄбҐ "¬г¦бЄ®©"§ ЇЁбЁ
ENDIF
LIST Famil, Otdel REST && ЂваЁЎгв REST ЇаҐЇпвбвўгҐв
&&ЇҐаҐгбв ­®ўЄҐ гЄ § вҐ«п ­  ­ з «м­го § ЇЁбм
€в Є, ¬л гбв ­®ўЁ«Ё ᮮ⢥вбвўЁҐ ¬Ґ¦¤г Є ¦¤®© "¬г¦бЄ®©" § ЇЁбмо
Ё ЁбЄгбб⢥­­л¬ Є«о箬, б®бв®пйЁ¬ Ё§ ®¤­Ёе Їа®ЎҐ«®ў. Џ®бЄ®«мЄг
Ё­¤ҐЄб Ё¬ҐҐв  ваЁЎгв UNIQUE, «Ёим ®¤­  в Є п § ЇЁбм Ўг¤Ґв ўЄ«о祭 
ў ­ҐЈ® (Ё«Ё ­Ё ®¤­®©, Ґб«Ё ­  ЇаҐ¤ЇаЁпвЁЁ б®Ўа «Ёбм ®¤­Ё " ¬ §®­ЄЁ"),
ЇаЁзҐ¬ ®­  ®Є ¦Ґвбп ­ з «м­®© ў Ё­¤ҐЄбҐ. ‚ ¤ ­­®© § ¤ зҐ ¬л ­Ґ ¤®«¦­л
в Є Ї®бвгЇ вм б ¦Ґ­йЁ­ ¬Ё, ¤ ¦Ґ Ґб«Ё ®­Ё Ё§ ®¤­®Ј® ®в¤Ґ« . €¬Ґ­­®
Ї®н⮬㠤®Ў ў«Ґ­ ў Є«оз ­®¬Ґа § ЇЁбЁ: Otdel + Str(Recno(),5).
‡­ зҐ­ЁҐ Є«оз  ў Є ¦¤®© "¦Ґ­бЄ®©" § ЇЁбЁ ⥯Ґам г­ЁЄ «м­®, в.Ґ.
 ваЁЎгв UNIQUE "®ЎҐ§ўаҐ¦Ґ­".
€бЇ®«м§®ў ­ЁҐ ­ҐЇ®«­ле Ё­¤ҐЄб®ў, ®Ја ­ЁзЁў п ¬­®¦Ґбвў®
¤®бвгЇ­ле § ЇЁбҐ©, нЄ®­®¬Ёв ўаҐ¬п Ё Ї®н⮬г пў«пҐвбп е®а®иҐ©
 «мвҐа­ вЁў®© ЁбЇ®«м§®ў ­Ёо дЁ«мва®ў (б¬. ­Ё¦Ґ).
‡ ¤ ­ЁҐ 3.2. ‘®§¤ ©вҐ ¤«п Ѓ„ Kadr ­ҐЇ®«­л© Ё­¤ҐЄб Ї® 2 Ї®«п¬:
Otdel (бв а襥 Ї®«Ґ) Ё Famil, ўЄ«озЁў ў ­ҐЈ® в®«мЄ® б®ваг¤­ЁЄ®ў-
¬г¦зЁ­. ‚ ў аЁ ­вҐ ¤«п FOXPRO ўЄ«озЁвҐ FOR-гб«®ўЁҐ ў Є®¬ ­¤г INDEX.

3.3. ”Ё«мвал. ‘вагЄвга  Є®¬ ­¤. ЋЎ« бвм ¤Ґ©бвўЁп

ЏаЁ а §кпб­Ґ­ЁЁ н«Ґ¬Ґ­в®ў п§лЄ  з бв® ЁбЇ®«м§гов вҐа¬Ё­ "Ї®
㬮«з ­Ёо". Ћ­ ®§­ з Ґв, зв® Ґб«Ё ўлЎ®а в®Ј® Ё«Ё Ё­®Ј® ०Ё¬  ­Ґ
ᤥ« ­ ў Їа®Ја ¬¬Ґ, ०Ё¬ ­ §­ з Ґвбп  ўв®¬ вЁзҐбЄЁ,   Ґб«Ё Є ЄЁҐ-
«ЁЎ®  ваЁЎгвл Є®¬ ­¤ Ё«Ё  аЈг¬Ґ­вл дг­ЄжЁ© ®Їг饭л, ўлЎЁа Ґвбп
­ҐЄ®в®ал© ў аЁ ­в ᮮ⢥вбвўгойЁе Ё¬ ¤Ґ©бвўЁ© - ¤Ґ©бвўЁп Ї® 㬮«з ­Ёо.
”Ё«мвал. — бв® ¤«п аҐиҐ­Ёп § ¤ з ў Ў § е ¤ ­­ле (Ѓ„) вॡгҐвбп
ўл¤Ґ«Ґ­ЁҐ Ё ®Ўа Ў®вЄ  ­ҐЄ®в®а®Ј® Ї®¤¬­®¦Ґбвў  § ЇЁбҐ©. ‚л ¬®¦ҐвҐ
ᤥ« вм "­ҐўЁ¤Ё¬л¬Ё" Їа®зЁҐ § ЇЁбЁ, ­ §­ зЁў дЁ«мва. ”Ё«мва
­ §­ з Ґвбп, Є®Ј¤  Ѓ„  ЄвЁў­ , Ё ¤Ґ©бвўгҐв ¤® ҐҐ § ЄалвЁп Ё«Ё ¤®
ўлЄ«о祭Ёп дЁ«мва . Љ®¬ ­¤  SET FILTER TO <‚лаL> § ¤ Ґв
гб«®ўЁҐ дЁ«мва жЁЁ <‚лаL>, Є®в®а®Ґ ¤®«¦­® Ўлвм ЁбвЁ­­® «Ёим ¤«п
§ ЇЁбҐ© ®Ўа Ў влў Ґ¬®Ј® Ї®¤¬­®¦Ґбвў . ЏаЁ ЇҐаҐЄ«о祭ЁЁ а Ў®зЁе
®Ў« б⥩ дЁ«мва б®еа ­пҐвбп; ­  ¤агЈго Ѓ„ ҐЈ® ¤Ґ©бвўЁҐ ­Ґ
а бЇа®бва ­пҐвбп, ­® Є ¦¤ п ®вЄалв п Ѓ„ ¬®¦Ґв Ё¬Ґвм бў®© дЁ«мва.
”Ё«мва ­ зЁ­ Ґв ¤Ґ©бвў®ў вм Ї ® б « Ґ «оЎ®Ј® ЇҐаҐ¬ҐйҐ­Ёп
гЄ § вҐ«п ў Ѓ„. ЋЎлз­® нв® ®бгйҐбвў«пов Є®¬ ­¤®© GO TOP, Є®в®а п
бв ўЁв гЄ § вҐ«м ­  ЇҐаўго § ЇЁбм, 㤮ў«Ґвў®апойго гб«®ўЁо
дЁ«мва жЁЁ (GO BOTTOM бв ўЁв ҐЈ® ­  Ї®б«Ґ¤­оо в Єго § ЇЁбм).
Љ®¬ ­¤  SET FILTER TO (ЎҐ§  аЈг¬Ґ­в ) ЇаҐЄа й Ґв ¤Ґ©бвўЁҐ дЁ«мва 
 ЄвЁў­®© Ѓ„.
‚ FOXPRO дг­ЄжЁп FILTER (<ЋЎ« бвм>) ў®§ўа й Ґв ў ўЁ¤Ґ бва®ЄЁ
гб«®ўЁҐ дЁ«мва жЁЁ ¤«п гЄ § ­­®© а Ў®зҐ© ®Ў« бвЁ. …Ґ  аЈг¬Ґ­в®¬ ¬®¦Ґв
Ўлвм ­®¬Ґа ®Ў« бвЁ <‚лаN> Ё«Ё ҐҐ  «Ё б <‚лаC>. ‚ п§лЄҐ CLIPPER в®в
¦Ґ १г«мв в ў®§ўа й Ґв дг­ЄжЁп DBFilter(), гв®з­пҐ¬ п ЇаЁ
­Ґ®Ўе®¤Ё¬®бвЁ  «Ё б®¬ а Ў®зҐ© ®Ў« бвЁ:
<Ђ«Ё б> -> ( DBfilter() ).
ЏаЁ¬Ґа 3.5. ‚­®ўм ®Ўа вЁ¬бп Є Ѓ„ Kadr (б¬. ЇаЁ¬Ґа 3.3).
 ) ЌҐ®Ўе®¤Ё¬® ўлўҐбвЁ бЇЁб®Є ¬г¦зЁ­-б®ваг¤­ЁЄ®ў б гЄ § ­ЁҐ¬ ®в¤Ґ« ,
ЁбЇ®«м§гп Є®¬ ­¤г ўлў®¤  LIST. ‚뢥¤Ґ¬ Ё гб«®ўЁҐ дЁ«мва жЁЁ.
USE Kadr
SET FILTER TO Upper(Pol) =="Њ“†"
LIST Famil, Otdel && Љ®¬ ­¤  LIST ®ЎҐбЇҐзЁў Ґв ¤ўЁ¦Ґ­ЁҐ Ї® Ѓ„
S = DBFilter() && ‚ FOXPRO ­ ¤® § ЇЁб вм S = Filter()
SET FILTER TO && ‚лЄ«о祭ЁҐ дЁ«мва 
? "“б«®ўЁҐ дЁ«мва : ", S && ‚лў®¤ гб«®ўЁп дЁ«мва жЁЁ
Ў) ‚뢥¤Ґ¬ бЇЁб®Є б®ваг¤­ЁЄ®ў, ¤ҐвЁ Є®в®але (Ѓ„ Deti, б¬. ЇаЁ¬Ґа 2.6)
Ё¬Ґов ¤ вг ஦¤Ґ­Ёп Ї®б«Ґ 31 ¤ҐЄ Ўап 1985 Ј. —в®Ўл бв аиЁ© ॡҐ­®Є
б®ваг¤­ЁЄ  ®Є § «бп ЇҐаўл¬, Їа®Ё­¤ҐЄбЁа㥬 Ѓ„ Deti Ї® б®бв ў­®¬г
Є«озг TabNum + DTOS(Dtr): ¤ в  ஦¤Ґ­Ёп Dtr ЇаЁўҐ¤Ґ­  Є бЁ¬ў®«м­®¬г
вЁЇг,   Ї®«Ґ TabNum - бЁ¬ў®«м­®Ґ. Џ®«Ґ, Ї® Є®в®а®¬г ®бгйҐбвў«пҐвбп
бўп§м Ѓ„, пў«пҐвбп бв аиЁ¬ ў Є«озҐ Ё­¤ҐЄб  (®Ўп§ вҐ«м­®Ґ вॡ®ў ­ЁҐ).
USE Deti
INDEX ON TabNum + DTOS(Dtr) TO TbDtr
SELECT 0
USE Kadr
SET FILTER TO Deti->Dtr > CTOD("12/31/85")
SET RELATION TO TabNum INTO Deti
LIST TabNum, Famil
‚ дЁ«мвॠ¬ вҐаЁ­бЄ®© Ѓ„ ¬®¦­® гЄ §лў вм Ї®«п ¤®зҐа­Ёе Ѓ„ (Є
¬®¬Ґ­вг ҐЈ® ЁбЇ®«м§®ў ­Ёп бўп§м Ѓ„ ¤®«¦­  Ўлвм гбв ­®ў«Ґ­ ).
Џа®Ја ¬¬  § ¤ ­Ёп "Ў" гб«®¦­пҐвбп, Ґб«Ё ­ ¤® ўлпў«пвм ­Ґ Ў®«ҐҐ
Ї®§¤­ЁҐ,   ЇаҐ¤иҐбвўгойЁҐ ¤ вҐ ¤­Ё ஦¤Ґ­Ёп. Ќг¦­® ®Ўа вЁвм Ї®а冷Є
б«Ґ¤®ў ­Ёп ¤ҐвҐ© ®¤­®Ј® б®ваг¤­ЁЄ  (¬« ¤иЁ© ॡҐ­®Є - ЇҐаўл©) Ё ЇаЁ
н⮬ ЇаҐ¤®вўа вЁвм ўлў®¤ д ¬Ё«Ё© ЎҐ§¤Ґв­ле б®ваг¤­ЁЄ®ў. „Ґ«® ў ⮬, зв®
ЇаЁ ­ҐгбЇҐи­®¬ Ї®ЁбЄҐ ў Ѓ„ Deti гЄ § вҐ«м гбв ­ ў«Ёў Ґвбп ­  дЁЄвЁў­го
§ ЇЁбм б Їгбвл¬ §­ зҐ­ЁҐ¬ Ї®«п Dtr (­ Ё¬Ґ­миЁ¬). €бЇ®«м§г©вҐ ў дЁ«мваҐ
дг­ЄжЁо Empty().
Њл ­Ґ Ї®§ Ў®вЁ«Ёбм ® ­ з «м­®¬ ЇҐаҐ¬ҐйҐ­ЁЁ гЄ § вҐ«п, в Є Є Є
Є®¬ ­¤  LIST ¤Ґ« Ґв нв® б ¬ , Є Є Ё ¤агЈЁҐ Є®¬ ­¤л б ­Ґпў­л¬ жЁЄ«®¬.
‡ Ї®¬Ё­ ­ЁҐ гб«®ўЁп дЁ«мва жЁЁ Ё¬ҐҐв б¬лб«, Ґб«Ё ®­® б«®¦­®Ґ Ё ў­®ўм
¬®¦Ґв Ї®вॡ®ў вмбп, е®вп Ўл Ё ў ¤агЈ®© Ѓ„ (ҐЈ® ­ §­ з ов Ї®б«Ґ ®вЄалвЁп
Ѓ„ Є®¬ ­¤®© SET FILTER TO &S, Ј¤Ґ & - §­ Є ¬ Єа®Ї®¤бв ­®ўЄЁ).
Љ®¬ ­¤  SET DELETED ON ॠ«Ё§гҐв з бв­л© б«гз © дЁ«мва жЁЁ
§ ЇЁбҐ© - § ЇЁбЁ, Ї®¬ҐзҐ­­лҐ ­  г¤ «Ґ­ЁҐ, бв ­®ўпвбп ­ҐўЁ¤Ё¬л¬Ё.
„®бвгЇ Є ­Ё¬ ў®ббв ­ ў«Ёў Ґвбп, Ґб«Ё ­г¦­®, Є®¬ ­¤®© SET DELETED OFF.
Ћ дЁ«мва е ў п§лЄҐ FOXPRO б¬. ¤®Ї®«­ЁвҐ«м­® Ї. !!!!!.
‘вагЄвга  Є®¬ ­¤ Ѓ„. Њ­®ЈЁҐ Є®¬ ­¤л, а Ў®в ойЁҐ б Ѓ„, ᮤҐа¦ в
­Ґпў­л© жЁЄ«, ®Ўа Ў влў п ў ­Ґ¬ ­ҐЄ®в®а®Ґ ¬­®¦Ґбвў® § ЇЁбҐ©.
„«п ®ЇаҐ¤Ґ«Ґ­Ёп а ¬®Є ¬­®¦Ґбвў  § ¤ ов ®Ў« бвм ¤Ґ©бвўЁп ("Ја ­Ёжл"
Ї® вҐа¬Ё­®«®ЈЁЁ FOXPRO; нв®Ј® вҐа¬Ё­  ¬л Ё Ўг¤Ґ¬, Є Є Їа ўЁ«®,
ЇаЁ¤Ґа¦Ёў вмбп), ®ЇаҐ¤Ґ«пп ҐҐ ®¤­Ё¬ Ё§ б«Ґ¤гойЁе  ваЁЎгв®ў Є®¬ ­¤л:
RECORD <Ќ®¬Ґа> - ®Ўа Ў влў Ґвбп Ґ¤Ё­б⢥­­ п § ЇЁбм, ЇҐаҐ¤ нвЁ¬
­Ґпў­® ўлЇ®«­пҐвбп Є®¬ ­¤  GO <Ќ®¬Ґа> ;
NEXT <Љ®«> - ®Ўа Ў влў Ґвбп <Љ®«> § ЇЁбҐ©, ­ зЁ­ п б ⥪г饩;
REST - ®Ўа Ў влў овбп § ЇЁбЁ, ­ зЁ­ п б ⥪г饩 Ё ¤® Є®­ж ;
ALL - ®Ўа Ў влў Ґвбп ўҐбм д ©«. ЏаЁ¬Ґ­Ґ­ЁҐ дЁ«мва  ў­®бЁв Є®а४⨢л
ў б¬лб« нв®Ј® Ё ¤ўге ЇаҐ¤л¤гйЁе  ваЁЎгв®ў. ‚ з бв­®бвЁ,  ваЁЎг⮬
NEXT § ¤ Ґвбп Є®«ЁзҐбвў® ®зҐаҐ¤­ле § ЇЁбҐ©, 㤮ў«Ґвў®апойЁе гб«®ўЁо
дЁ«мва жЁЁ. Ќ  ¤Ґ©бвўЁҐ  ваЁЎгв  RECORD дЁ«мва ­Ґ ®Є §лў Ґв ­ЁЄ Є®Ј®
ў«Ёп­Ёп. Ќ ЇаЁ¬Ґа, Є®¬ ­¤  LIST Famil RECORD 2 ўбҐЈ¤  ॠ«Ё§гҐв
ўлў®¤ Ї®«п Famil ўв®а®© § ЇЁбЁ ­Ґ§ ўЁбЁ¬® ®в в®Ј®, 㤮ў«Ґвў®апҐв «Ё
§ ЇЁбм дЁ«мваг.
…б«Ё "Ја ­Ёжл" ­Ґ § ¤ ­л, Є®¬ ­¤л DELETE, DISPLAY, RECALL Ё
REPLACE ®Ўа Ў влў ов в®«мЄ® ⥪гйго § ЇЁбм, ў ¤агЈЁе Є®¬ ­¤ е Ѓ„
Ї® 㬮«з ­Ёо ЇаҐ¤Ї®« Ј Ґвбп  ваЁЎгв ALL (®Ўа Ў®вЄ  ўбҐе § ЇЁбҐ©).
“в®з­Ґ­ЁҐ ¬­®¦Ґбвў  ®Ўа Ў влў Ґ¬ле § ЇЁбҐ© Ї®¬Ё¬® дЁ«мва  Ё ў
а ¬Є е ®в¤Ґ«м­®© Є®¬ ­¤л ॠ«Ё§гҐв FOR-гб«®ўЁҐ: FOR <‚лаL> .
€§ ®Ў« бвЁ ¤Ґ©бвўЁп ¤«п ®Ўа Ў®вЄЁ ўлЎЁа овбп ⥠§ ЇЁбЁ, ¤«п Є®в®але
<‚лаL> ЁбвЁ­­®. ‡ ¬ҐвЁ¬, зв® FOR-гб«®ўЁҐ ­Ґ Ё§¬Ґ­пҐв б¬лб«  ваЁЎгв 
NEXT.
Ља®¬Ґ FOR-гб«®ўЁп, ў®§¬®¦­® WHILE-гб«®ўЁҐ: WHILE <‚лаL> .
Ћ­® ®ЎҐбЇҐзЁў Ґв гбҐзҐ­ЁҐ ®Ў« бвЁ ¤Ґ©бвўЁп: § ЇЁбЁ Ё§ ­ҐҐ
®Ўа Ў влў овбп, Ї®Є  <‚лаL> ЁбвЁ­­®. ’ Є Ї®бвгЇ ов, Є®Ј¤  Ја ­Ёж 
д ЄвЁзҐбЄ®© ®Ў« бвЁ ®Ўа Ў®вЄЁ в®з­® ­Ґ Ё§ўҐбв­ ; ®Ў« бвм ¤Ґ©бвўЁп
­ §­ з ов "б § Ї б®¬". …б«Ё Є®¬ ­¤  ᮤҐа¦Ёв WHILE-гб«®ўЁҐ, ®Ўа Ў®вЄ 
ўбҐЈ¤  ­ зЁ­ Ґвбп б ⥪г饩 § ЇЁбЁ, ¤ ¦Ґ Ґб«Ё § ¤ ­  ваЁЎгв ALL.
€в Є, ўбҐ гЄ § ­­лҐ ўлиҐ  ваЁЎгвл ®Ўп§ вҐ«м­л¬Ё ­Ґ пў«повбп.
“б«®ўЁ¬бп ў ®ЇаҐ¤Ґ«Ґ­Ёпе ўл¤Ґ«пвм ¦Ёа­л¬ иаЁд⮬ ®Ўп§ вҐ«м­лҐ
н«Ґ¬Ґ­вл. …б«Ё FOR- Ё WHILE-гб«®ўЁп ®Ў®§­ зЁвм вҐа¬Ё­®¬ <“б«®ўЁп>,
®Ўй п з бвм бвагЄвгал Є®¬ ­¤ Ѓ„ ЇаЁ®ЎаҐв Ґв ўЁ¤
<€¬п Є®¬ ­¤л> <‘ЇЁб®Є> <ѓа ­Ёжл> <“б«®ўЁп> .
Џ®а冷Є б«Ґ¤®ў ­Ёп н«Ґ¬Ґ­в®ў Є®¬ ­¤л Ї®б«Ґ ҐҐ Ё¬Ґ­Ё Їа®Ё§ў®«Ґ­.
ЏаЁ¬Ґал Ё¬Ґ­Ё Є®¬ ­¤л: LIST, DISPLAY. ‚ нвЁе Є®¬ ­¤ е <‘ЇЁб®Є>
®ЇаҐ¤Ґ«пҐв ўлў®¤Ё¬го Ё­д®а¬ жЁо, ®­Ё 㤮Ў­л ЇаЁ ®в« ¤ЄҐ
Їа®Ја ¬¬л Ё Ї® 㬮«з ­Ёо ¤Ґ« ов ўлў®¤ ­  ¤ЁбЇ«Ґ©. ЂваЁЎгв TO PRINT
ЇҐаҐЄ«оз Ґв ўлў®¤ ­  ЇаЁ­вҐа,  ваЁЎгв TO FILE <€¬п д ©« > - ў
⥪бв®ўл© д ©«. ‡ ЇЁбЁ ўлў®¤пвбп б Ёе ­®¬Ґа ¬Ё. ЂваЁЎгв OFF
ЁбЄ«оз Ґв ўлў®¤ ­®¬Ґа®ў.
ЏаЁ¬Ґа 3.6. “б«®¦­Ё¬ § ¤ зг ЇаЁ¬Ґа  3.5: Їа®Ё­¤ҐЄбЁа㥬 Ѓ„
Kadr Ї® Ї®«о Otdel Ё ўлўҐ¤Ґ¬ ­  ЇаЁ­вҐа бЇЁб®Є ¬г¦зЁ­ в®Ј® ®в¤Ґ« ,
Є®в®ал© ў Ё­¤ҐЄбҐ Ё¤Ґв ЇҐаўл¬, Ї®¤ ў«пп ўлў®¤ ­®¬Ґа®ў § ЇЁбҐ©.

USE Kadr
INDEX ON Otdel TO Tdl
Otd = Otdel && ‡ Ї®¬Ё­ ­ЁҐ ®в¤Ґ« 
LIST OFF Famil FOR Upper(Pol) =="Њ“†" WHILE Otdel == Otd TO PRINT
EJECT && ‡ Є«озЁвҐ«м­л© ЇҐаҐў®¤ бва®ЄЁ Ё Їа®вп¦Є  Ўг¬ ЈЁ
‚ § Є«о祭ЁҐ а бᬮваЁ¬ ҐйҐ ®¤­г Є®¬ ­¤г Ѓ„. Љ®¬ ­¤ 
REPLACE <‘ЇЁб®Є § ¬Ґ­ §­ зҐ­Ё© Ї®«Ґ©> <ѓа ­Ёжл> <“б«®ўЁп>
ॠ«Ё§гҐв ЇаЁбў Ёў ­ЁҐ §­ зҐ­Ё© ®¤­®¬г Ё«Ё ­ҐбЄ®«мЄЁ¬ Ї®«п¬ § ЇЁбЁ.
…б«Ё ­Ґ гЄ § ­л ­Ё <ѓа ­Ёжл>, ­Ё <“б«®ўЁп>, ®Ўа Ў влў Ґвбп в®«мЄ®
⥪гй п § ЇЁбм. Ћ¤­  § ¬Ґ­  Ї®«п ў <‘ЇЁбЄҐ § ¬Ґ­ §­ зҐ­Ё© Ї®«Ґ©>
ЇаҐ¤бв ў«Ґ­  н«Ґ¬Ґ­в®¬ бЇЁбЄ  <Џ®«Ґ> WITH <‚ла ¦Ґ­ЁҐ>.
<‚ла ¦Ґ­ЁҐ> ¤ Ґв ЇаЁбў Ёў Ґ¬®Ґ Ї®«о §­ зҐ­ЁҐ.
ЏаЁ¬Ґа: REPLACE Famil WITH "Џ®¤ЇЁ«Ёеў®бв Њ.ћ.".
ЏаЁ¬Ґа 3.7. ‘®§¤ ¤Ё¬ Ѓ„ Primer б Ґ¤Ё­б⢥­­л¬ зЁб«®ўл¬ Ї®«Ґ¬
Num, ᤥ« Ґ¬ ў ­Ґ© 6 Їгбвле § ЇЁбҐ© Ё § Ї®«­Ё¬ Ёе:
USE Primer
FOR i = 1 TO 6 && –ЁЄ« ᮧ¤ ­Ёп 6 Їгбвле § ЇЁбҐ©
APPEND BLANK && „®Ў ў«Ґ­ЁҐ ®¤­®© Їгбв®© § ЇЁбЁ
ENDFOR && Љ®¬ ­¤  SKIP ў жЁЄ«Ґ ­Ґ ­г¦­ 
REPLACE Num WITH 3*Recno() ALL && ЋЎа Ў влў овбп ўбҐ 6 § ЇЁбҐ©
LIST Num && ‚ нв®© Є®¬ ­¤Ґ "ALL" Ї® 㬮«з ­Ёо

‡ ¤ ­ЁҐ 3.3. €§¬Ґ­ЁвҐ Їа®Ја ¬¬г ЇаЁ¬Ґа  3.6 в Є, зв®Ўл ®­ 
ўлў®¤Ё«  бЇЁб®Є ¬г¦зЁ­-б®ваг¤­ЁЄ®ў Ї® Є ¦¤®¬г Ё§ ®в¤Ґ«®ў. ЏаЁ¬Ґ­ЁвҐ
Є®¬ ­¤г DO WHILE. ЏҐаҐ¤ бЇЁбЄ®¬ Є ¦¤®Ј® ®в¤Ґ«  ўлў®¤ЁвҐ ҐЈ®
®Ў®§­ зҐ­ЁҐ: Ћ ’ „ … ‹ <ЋЎ®§­ зҐ­ЁҐ>.

3.4. ЋбгйҐб⢫塞 Ї®ЁбЄ ў Ў §Ґ ¤ ­­ле

Џ®ЁбЄ ЇҐаҐЎ®а®¬ § ЇЁбҐ©. ‚ ЇаҐ¤л¤гйЁе ЇаЁ¬Ґа е Ї®ЁбЄ
 ўв®¬ вЁзҐбЄЁ ®бгйҐбвў«п«бп ў Їа®жҐбᥠўлў®¤ . ђ бᬮваЁ¬ б।бвў 
Ї®ЁбЄ  § ЇЁбҐ© ¤«п Ёе ®Ўа Ў®вЄЁ. Џ®ЁбЄ ЇҐаҐЎ®а®¬ ўлЇ®«­пҐв Є®¬ ­¤ 
LOCATE <FOR-гб«®ўЁҐ> <ѓа ­Ёжл> <WHILE-гб«®ўЁҐ> .
Џ®ЁбЄ ®бв ­ ў«Ёў Ґвбп «ЁЎ® ЇаЁ ®Ў­ а㦥­ЁЁ ЇҐаў®© § ЇЁбЁ,
㤮ў«Ґвў®апо饩 FOR-гб«®ўЁо, «ЁЎ® ЇаЁ ўл室Ґ §  Ја ­Ёжг ®Ў« бвЁ
¤Ґ©бвўЁп. ‘®®вўҐвб⢥­­® дг­ЄжЁп Found() ЇаЁ®ЎаҐв Ґв §­ зҐ­ЁҐ .T.
Ё«Ё .F.. Ќ ©¤Ґ­­ п § ЇЁбм бв ­®ўЁвбп ⥪г饩 Ё ҐҐ ¬®¦­® ®Ўа Ў влў вм.
—в®Ўл ­ ©вЁ б«Ґ¤гойго § ЇЁбм, § з бвго ЁбЇ®«м§гов Є®¬ ­¤г CONTINUE,
­® нв  Є®¬ ­¤  ­Ґ Є®­ва®«ЁагҐв ўл室 Ё§ ®Ў« бвЁ ¤Ґ©бвўЁп Ё ў ­Ґ©
­Ґ ¤Ґ©бвўгҐв WHILE-гб«®ўЁҐ. €бЇ®«м§г©вҐ SKIP б®ў¬Ґбв­® б LOCATE
в Є, Є Є н⮠ᤥ« ­® ў б«Ґ¤го饬 ЇаЁ¬ҐаҐ.
ЏаЁ¬Ґа 3.8. ” ©« Kadr (ЇаЁ¬Ґа 3.3) а ­ҐҐ Їа®Ё­¤ҐЄбЁа®ў ­ Ї®
Ї®«о Otdel. ’ॡгҐвбп Ї®¤бзЁв вм зЁб«® ¬г¦зЁ­ ў Є ¦¤®¬ ®в¤Ґ«Ґ,
ЇаЁ¬Ґ­пп LOCATE ¤«п ЇҐаҐе®¤  ®в ®¤­®© ЁбЄ®¬®© § ЇЁбЁ Є ¤агЈ®©.

USE Kadr
DO WHILE .NOT.Eof() && Џа®е®¤Ё¬ ўҐбм д ©«
K = 0 && ЏҐаҐ¬Ґ­­ п - бзҐвзЁЄ ¬г¦зЁ­
Otd = Otdel
LOCATE FOR Upper(Pol) =="Њ“†" WHILE Otdel == Otd
DO WHILE Found()
K = K+1
SKIP && ‘¬Ґй Ґ¬ Ја ­Ёжг ¤Ґ©бвўЁп Є®¬ ­¤л LOCATE REST
LOCATE REST FOR Upper(Pol) =="Њ“†" WHILE Otdel == Otd
ENDDO
? "‚ ®в¤Ґ«Ґ", Otd, K, " ¬г¦зЁ­" && ‚лў®¤ १г«мв в 
ENDDO
ЂваЁЎгв REST ¬®¦­® ®ЇгбвЁвм, ЁЎ® WHILE-гб«®ўЁҐ Ё­ЁжЁЁагҐв
а Ў®вг, ­ зЁ­ п б ⥪г饩 § ЇЁбЁ. ‚ ¤ «м­Ґ©иҐ¬ ўл гўЁ¤ЁвҐ, зв®
§ ¤ з  аҐи Ґвбп Їа®йҐ ¤агЈЁ¬Ё б।бвў ¬Ё. ‡¤Ґбм ­ иҐ© 楫мо Ўл« 
¤Ґ¬®­бва жЁп ў®§¬®¦­®б⥩ Є®¬ ­¤л LOCATE.
Ѓлбвал© Ї®ЁбЄ. Љ®¬ ­¤  LOCATE ­г¦­  ¤«п ®ЎҐбЇҐзҐ­Ёп ЈЁЎЄ®бвЁ
Їа®Ја ¬¬л, ®¤­ Є® ў Ў®«миЁе Ў § е ¤ ­­ле ЇҐаҐЎ®а § ЇЁбҐ© ЇаЁ Ї®ЁбЄҐ
¬®¦Ґв бгйҐб⢥­­® § ¬Ґ¤«пвм а Ў®вг. Љ®¬ ­¤  SEEK <‚ла> , ­Ґ
Ўг¤гзЁ г­ЁўҐаб «м­®©, ®ЎҐбЇҐзЁў Ґв Ўлбвал© Ї®ЁбЄ ў ᮮ⢥вбвўгойЁ¬
®Ўа §®¬ гЇ®а冷祭­®© (Їа®Ё­¤ҐЄбЁа®ў ­­®©) Ѓ„. Њл ­Ґ Ўг¤Ґ¬
а бб¬ ваЁў вм  ­ «®ЈЁз­го Є®¬ ­¤г FIND, ў®§¬®¦­®бвЁ Є®в®а®© Ї®«­®бвмо
ЇҐаҐЄалў овбп ў®§¬®¦­®бвп¬Ё Є®¬ ­¤л SEEK.
ЂаЈг¬Ґ­в Ї®ЁбЄ  <‚ла> ¤ Ґв §­ зҐ­ЁҐ в®Ј® ¦Ґ вЁЇ , зв® Ё Ё­¤ҐЄб­®Ґ
ўла ¦Ґ­ЁҐ, Ї® Є®в®а®¬г ­г¦­® § а ­ҐҐ Їа®Ё­¤ҐЄбЁа®ў вм Ѓ„. ќв®в
Ё­¤ҐЄб ЇаЁ Ї®ЁбЄҐ ¤®«¦Ґ­ Ўлвм ўҐ¤гйЁ¬. ЏаЁ ®Ўа йҐ­ЁЁ Є § ЇЁбп¬ Ѓ„
§­ зҐ­ЁҐ <‚ла> ба ў­Ёў Ґвбп б® §­ зҐ­ЁҐ¬ Ё­¤ҐЄб­®Ј® ўла ¦Ґ­Ёп
(Є«оз ), ЇаЁзҐ¬ вॡгҐвбп «Ёим ­ҐбЄ®«мЄ® ба ў­Ґ­Ё© ¤«п в®Ј®, зв®Ўл
«®Є «Ё§®ў вм ЁбЄ®¬го § ЇЁбм Ё«Ё гбв ­®ўЁвм д Єв ҐҐ ®вбгвбвўЁп.
Ќ ЇаЁ¬Ґа, гЄ § ў ў Є®¬ ­¤Ґ SEEK Є®­ЄаҐв­л© ®в¤Ґ«, ¬л б ҐҐ Ї®¬®ймо
Їа ЄвЁзҐбЄЁ ¬Ј­®ўҐ­­® Ї®«гз Ґ¬ ¤®бвгЇ Є ЇҐаў®© § ЇЁбЁ, ®в­®бп饩бп
Є н⮬㠮⤥«г, Є®­Ґз­®, ЇаЁ гб«®ўЁЁ, зв® Ѓ„ Kadr Їа®Ё­¤ҐЄбЁа®ў ­ 
Ї® Ї®«о Otdel. Ќ ©¤Ґ­­ п Є®¬ ­¤®© SEEK § ЇЁбм бв ­®ўЁвбп ⥪г饩.
ЋЎ« бвмо Ї®ЁбЄ  пў«пҐвбп ¬­®¦Ґбвў® § ЇЁбҐ©, гз⥭­ле ў Ё­¤ҐЄбҐ.
ЏаЁ¬Ґа 3.9. ЋбгйҐбвўЁ¬ Ўлбвал© Ї®ЁбЄ ў Ѓ„ Kadr б®ваг¤­Ёжл б
¤ҐўЁз쥩 д ¬Ё«ЁҐ© (гЄ § ­­®© ў Ѓ„) ЃҐ¤­пЄ®ў  ¤«п § ¬Ґ­л нв®©
д ¬Ё«ЁЁ ­  ­®ўго - ‘Є®а®Ў®Ј в®ў .

USE Kadr && €­¤ҐЄбЁагп Ѓ„, ¬л ®ЎҐбЇҐзЁў Ґ¬ ЇаЁ¬Ґ­Ґ­ЁҐ SEEK
INDEX ON Upper(Famil+Imya+Otch) TO Fml
SEEK "Ѓ…„ЌџЉЋ‚Ђ" && €«Ё SEEK Upper("ЃҐ¤­пЄ®ў ")
IF Found()
REPLACE Famil WITH "‘Є®а®Ў®Ј в®ў "
ELSE
? "ЌҐв в Є®© б®ваг¤­Ёжл !"
ENDIF

…б«Ё ў Ё­¤ҐЄб­®¬ ўла ¦Ґ­ЁЁ Ё¬Ґовбп ЇаҐ®Ўа §®ў ­Ёп Ї®«Ґ©, в® Ё
ў  аЈг¬Ґ­вҐ Ї®ЁбЄ  «ЁЎ® в®з­® гзЁвлў ов нд䥪⠯८Ўа §®ў ­Ёп, «ЁЎ®
§ ЇЁблў ов б ¬® ЇаҐ®Ўа §®ў ­ЁҐ (®Ў  ў аЁ ­в  Ї®Є § ­л ­ ¬Ё ў ЇаЁ¬ҐаҐ).
‚Ґа®пв­®, ўл § ¬ҐвЁ«Ё, зв®  аЈг¬Ґ­в Ї®ЁбЄ  «®ЈЁзҐбЄЁ ­ҐЇ®«­л©:
Ё¬п Ё ®взҐбвў® ¬л ­Ґ гЄ § «Ё. ’ Є Ї®бвгЇ вм ¬®¦­®, Ґб«Ё ¬л §­ Ґ¬,
зв® ®¤­®д ¬Ё«м楢 ­Ґв. Љ®¬ ­¤  SEEK а Ў®в Ґв ў ०Ё¬Ґ SET EXACT OFF
(б¬. Ї. 1.4) ­Ґ§ ўЁбЁ¬® ®в в®Ј®, ¤Ґ©бвўгҐв «Ё нв®в ०Ё¬ ў Їа®Ја ¬¬Ґ.
„агЈЁ¬Ё б«®ў ¬Ё, Ґб«Ё  аЈг¬Ґ­в Ї®ЁбЄ  пў«пҐвбп ­ з «м­®© Ї®¤бва®Є®©
Є«оз  § ЇЁбЁ, ЇҐаў п Ё§ в ЄЁе § ЇЁбҐ© ЇаЁ­Ё¬ Ґвбп §  १г«мв в.
‚ ЇаЁ­жЁЇҐ, ¬®¦Ґв б®ўЇ ¤ вм Ё Ї®«­л©  аЈг¬Ґ­в. ‚ ॠ«м­ле
Їа®Ја ¬¬ е Є Є  аЈг¬Ґ­в Ї®ЁбЄ  ЁбЇ®«м§гов ­Ґ д ¬Ё«Ёо,   в Є
­ §лў Ґ¬л© в ЎҐ«м­л© ­®¬Ґа - г­ЁЄ «м­®Ґ §­ зҐ­ЁҐ ў Є ¦¤®© § ЇЁбЁ
"Є ¤а®ў®©" Ѓ„.
†ҐбвЄЁ© Ё ­Ґ¦ҐбвЄЁ© Ї®ЁбЄ Є®¬ ­¤®© SEEK. †ҐбвЄЁ© Ї®ЁбЄ
(ЁбЇ®«м§гҐвбп Ї® 㬮«з ­Ёо) ¤ Ґв ®¤­®§­ з­л© Ёб室: «ЁЎ® ЁбЄ®¬®Ј®
१г«мв в  ­Ґв, «ЁЎ® ®­ Ґбвм. ЌҐ¦ҐбвЄЁ© Ї®ЁбЄ ®Ўлз­® ЇаҐ¤« Ј Ґв
­ҐЄ®в®а®Ґ §­ зҐ­ЁҐ, ў®Їа®б ® ЇаЁЈ®¤­®бвЁ Є®в®а®Ј® аҐи Ґвбп ®в¤Ґ«м­®.
”г­ЄжЁп Found() ў «оЎ®¬ б«гз Ґ ў®§ўа й Ґв §­ зҐ­ЁҐ .T., в®«мЄ®
Ґб«Ё ЁбЄ®¬®Ґ §­ зҐ­ЁҐ ­ ©¤Ґ­®. Џ®«®¦Ґ­ЁҐ гЄ § вҐ«п § ЇЁбЁ (§­ зҐ­ЁҐ
дг­ЄжЁЁ Recno()) Ї®б«Ґ ­ҐгбЇҐи­®Ј® Ї®ЁбЄ  ­Ґ®¤Ё­ Є®ў®. ЏаЁ ¦ҐбвЄ®¬
Ї®ЁбЄҐ гЄ §лў Ґвбп Ї®§ЁжЁп Reccount()+1 §  Є®­Ґз­®© § ЇЁбмо д ©« .
ЏаЁ ­Ґ¦ҐбвЄ®¬ Ї®ЁбЄҐ дг­ЄжЁп Recno() гЄ §лў Ґв Ї®§ЁжЁо, ў Є®в®а®©
§ ЇЁбм б ЁбЄ®¬л¬ §­ зҐ­ЁҐ¬ ¤®«¦­  Ўл«  а бЇ®« Ј вмбп. ’Ґ¬ б ¬л¬
®Ў®§­ з Ґвбп § ЇЁбм б Ў«Ё¦ ©иЁ¬ б«Ґ¤гойЁ¬ §­ зҐ­ЁҐ¬ Є«оз , Ґб«Ё
в®«мЄ®  аЈг¬Ґ­в Ї®ЁбЄ  ­Ґ ЇаҐў®б室Ёв ўбҐ Ё¬ҐойЁҐбп §­ зҐ­Ёп Є«оз .
…б«Ё, гбв ­®ўЁў ०Ё¬ ­Ґ¦ҐбвЄ®Ј® Ї®ЁбЄ  Ё ®вЄалў Ў §г Primer
(б¬. ЇаЁ¬Ґа 3.7) б® §­ зҐ­Ёп¬Ё 3, 6, 9, 12, 15, 18, Їа®Ё­¤ҐЄбЁа®ў вм
ҐҐ Ё ўлЇ®«­Ёвм SEEK 7, дг­ЄжЁп Recno() ЇаЁ¬Ґв §­ зҐ­ЁҐ 3, гЄ §лў п
§ ЇЁбм, ᮤҐа¦ йго "9",   §­ зҐ­ЁҐ¬ дг­ЄжЁЁ Found() Ўг¤Ґв .F.
‚ ­ҐЄ®в®але § ¤ з е Ё в Є®© १г«мв в Ї®ЁбЄ  Ё¬ҐҐв б¬лб«.
ЏаҐ¤бв ўмвҐ, зв® ў Ѓ„ Employ а §лбЄЁў Ґвбп б®ваг¤­ЁЄ Ї® д ¬Ё«ЁЁ,
ЇаЁзҐ¬ Ё­ЁжЁ «л,   ¬®¦Ґв Ўлвм, Ё ®Є®­з ­ЁҐ д ¬Ё«ЁЁ ­Ґв®з­л -
­Ґв®зҐ­  аЈг¬Ґ­в Ї®ЁбЄ . ЌҐ¦ҐбвЄЁ© Ї®ЁбЄ ўлў®¤Ёв ­ б ў вг ®Ў« бвм
д ©« , Ј¤Ґ ЁбЄ®¬л© १г«мв в ®ЇаҐ¤Ґ«пҐвбп ўЁ§г «м­® - ­  ¤ЁбЇ«ҐҐ.
Џ®¤®Ў­ п бЁвг жЁп ў®§¬®¦­  Ё ЇаЁ зЁб«®ўле Є«оз е. Ќ ЇаЁ¬Ґа, ¬л ЁйҐ¬
б®ваг¤­ЁЄ  б § ¤ ­­л¬ бв ¦Ґ¬,   в®з­® в Є®Ј® бв ¦  ­Ґв, Ґбвм
Ў«Ё§Є®Ґ ҐЈ® §­ зҐ­ЁҐ.
ђҐ¦Ё¬ ­Ґ¦ҐбвЄ®Ј® Ї®ЁбЄ  ў CLIPPER ­ §­ з Ґвбп Є®¬ ­¤®© SET
SOFTSEEK ON, ў FOXPRO - Є®¬ ­¤®© SET NEAR ON. „«п ў®§ўа в  Є
¦ҐбвЄ®¬г Ї®ЁбЄг ­ ¤®, ЇаЁ¬Ґ­пп нвЁ Є®¬ ­¤л, § ¬Ґ­Ёвм ў ­Ёе "ON" ­ 
"OFF".
‡ ¤ ­ЁҐ 3.4. ‚­®ўм ®Ўа вЁ¬бп Є Ѓ„ Kadr. ‘®бв ўм⥠Їа®Ја ¬¬г,
Є®в®а п ЁбЇ®«м§гп Є®¬ ­¤г SEEK, ­ е®¤Ёв ўбҐе б®ваг¤­ЁЄ®ў б® бв ¦Ґ¬
®в 10 ¤® 20 «Ґв ўЄ«озЁвҐ«м­® Ё ўлў®¤Ёв Ёе д ¬Ё«ЁЁ Ё бв ¦ Є®¬ ­¤®©
LIST. Љ®¬ ­¤г SEEK ЁбЇ®«м§г©вҐ ¤ў ¦¤л - ¤«п ­ е®¦¤Ґ­Ёп ­Ё¦­Ґ© Ё
ўҐае­Ґ© Ја ­Ёжл ЁбЄ®¬®© ЈагЇЇл § ЇЁбҐ©.

3.5. ‘в ­®ўЁ¬бп "Їа®дҐббЁ®­ « ¬Ё" Ї®ЁбЄ 

’®з­л© Ї®ЁбЄ Ї® бЁ¬ў®«м­®¬г Є«озг. “бҐзҐ­­л©  аЈг¬Ґ­в Ї®ЁбЄ 
ЁбЇ®«м§гҐвбп з бв®, ­® ­Ґ ўбҐЈ¤  ®­ ЇаЁҐ¬«Ґ¬. ЏаҐ¤бв ўмвҐ, Є ЇаЁ¬Ґаг,
зв® ­ҐЄ®в®алҐ Ё§¤Ґ«Ёп ®Ў®§­ зҐ­л иЁда ¬Ё "XPR01", "XPR02","XPR022"
Ё в.Ї., ­® ­Ґ ўбҐ иЁдал ЇаЁбгвбвўгов ў Ѓ„. Џлв пбм гбв ­®ўЁвм д Єв
ЇаЁбгвбвўЁп Ё§¤Ґ«Ёп "XPR02", ¬л ¬®¦Ґ¬ Ї®«гзЁвм §­ зҐ­ЁҐ .T. дг­ЄжЁЁ
Found() ("гбЇҐе") ЇаЁ ®Ў­ а㦥­ЁЁ иЁда  "XPR022", ЁЎ®  аЈг¬Ґ­в Ї®ЁбЄ 
пў«пҐвбп Ї®¤бва®Є®© нв®Ј® иЁда .
—в®Ўл Є®¬ ­¤  SEEK ўлЇ®«­п«  в®з­л© Ї®ЁбЄ, ­г¦­® ¤®Ї®«­пвм
 аЈг¬Ґ­в Ї®ЁбЄ  Їа®ЎҐ« ¬Ё ¤® а §¬Ґа  Є«оз , ў ­ иҐ¬ б«гз Ґ - ¤®
а §¬Ґа  бЁ¬ў®«м­®Ј® Ї®«п Shifr, ЁбЇ®«м§гҐ¬®Ј® ў Ѓ„ Postavki.
ЏаЁ¬Ґа 3.10. Ќ ©¤Ґ¬ ўбҐ § ЇЁбЁ c § ¤ ­­л¬ §­ зҐ­ЁҐ¬ Ї®«п
Shifr (¤®ЇгбвЁ¬, Є ¦¤ п § ЇЁбм ᮮ⢥вбвўгҐв ®¤­®¬г Ї®бв ўйЁЄг
Ё§¤Ґ«Ёп). Ѓ §  ¤ ­­ле ЇаҐ¤ў аЁвҐ«м­® Їа®Ё­¤ҐЄбЁа®ў ­  Ї® Ё­¤ҐЄб­®¬г
ўла ¦Ґ­Ёо Upper(Shifr).
USE Postavki && ЋвЄалў Ґ¬ Ў §г ¤ ­­ле "Џ®бв ўЄЁ"
z = Padr("XPR02", Len(Shifr)) && „®Ї®«­пҐ¬  аЈг¬Ґ­в Ї®ЁбЄ  Їа®ЎҐ« ¬Ё
SEEK z
DO WHILE Upper(Shifr) == z
? Recno(), Shifr && ‚¬Ґбв® ®Ўа Ў®вЄЁ ¬л ўлў®¤Ё¬ ­®¬Ґа Ё иЁда
SKIP && ЏҐаҐе®¤ Є б«Ґ¤го饩 § ЇЁбЁ д ©« 
ENDDO
ЏаЁ¬Ґа 3.11. ђ бᬮваЁ¬ б«гз © б®бв ў­®Ј® Є«оз . Ѓ„ Kadr
Їа®Ё­¤ҐЄбЁа®ў ­  Ї® б®бв ў­®¬г Є«озг Є®¬ ­¤®©
INDEX ON Upper (Famil + Imya + Otch) TO Fio.
…б«Ё ¬л § ЇЁиҐ¬ Є®¬ ­¤г SEEK "‘Є®а®Ў®Ј в®ў  Њ аЁ­  ‘ҐаЈҐҐў­ ",
в® ­Ґ Ї®«гзЁ¬ ЁбЄ®¬®© § ЇЁбЁ Ё§-§  "«Ёи­Ёе" ў­гв७­Ёе Їа®ЎҐ«®ў ў
б®бв ў­®¬ Є«озҐ (Є ¦¤®Ґ Ї®«Ґ § Є ­зЁў Ґвбп Їа®ЎҐ« ¬Ё, Ґб«Ё ­Ґ
§ ­пв® Ї® ¬ ЄбЁ¬г¬г). …бвм ¤ў  ЇгвЁ гбва ­Ґ­Ёп ­Ґб®®вўҐвбвўЁп.
1. ‚ў®¤Ёвм б®бв ў«пойЁҐ  аЈг¬Ґ­в  Ї®ЁбЄ  ў ®в¤Ґ«м­лҐ ЇҐаҐ¬Ґ­­лҐ
F, I, O Ё ЇҐаҐ¤ Є®­Є вҐ­ жЁҐ© ¤®Ї®«­пвм Є ¦¤го ЇҐаҐ¬Ґ­­го
Їа®ЎҐ« ¬Ё ¤® ¤«Ё­л ᮮ⢥вбвўго饣® Ї®«п. Џ®«гз Ґ¬  аЈг¬Ґ­в Ї®ЁбЄ 
Upper(Padr(F,Len(Famil)) + Padr(I,Len(Imya)) + Padr(O,Len(Otch))).
2. Љ Є ЇаЁ Ё­¤ҐЄбЁа®ў ­ЁЁ Ѓ„, в Є Ё ў Є®¬ ­¤Ґ SEEK, ЁбЇ®«м§®ў вм
ў аЁ ­в Є®­Є вҐ­ жЁЁ б г¤ «Ґ­ЁҐ¬ "еў®бв®ўле" Їа®ЎҐ«®ў ­ з «м­ле
б« Ј Ґ¬ле; Є Є Ё ўлиҐ, ЁбЇ®«м§гҐ¬ ў  аЈг¬Ґ­вҐ ЇҐаҐ¬Ґ­­лҐ F,I,O:
INDEX ON Upper (Famil - Imya - Otch) && "-" §­ Є Є®­Є вҐ­ жЁЁ
SEEK Upper (F - I - Padr(O, Len(Otch)).
ЏҐаҐ¬Ґ­­го O ¬л ¤®Ї®«­Ё«Ё Їа®ЎҐ« ¬Ё, ЁЎ® ў Ё­¤ҐЄб­®¬ ўла ¦Ґ­ЁЁ
Їа®ЎҐ«л ў Є®­жҐ Ї®«п Otch ­Ґ г¤ «повбп. …б«Ё Ўл ¬л ўлўҐ«Ё  аЈг¬Ґ­в
Ї®ЁбЄ , Ї®«гзЁ«®бм Ўл б«Ґ¤го饥:"‘Є®а®Ў®Ј в®ў Њ аЁ­ ‘ҐаЈҐҐў­  ".
‚ п§лЄҐ CLIPPER в®з­л© Ї®ЁбЄ Ї®  аЈг¬Ґ­вг Y, ¤®Ї®«­Ґ­­®¬г
Їа®ЎҐ« ¬Ё, ўлЇ®«­пҐв г­ЁўҐаб «м­л© Ў«®Є Poisk:
FUNCTION Poisk (Y) && ЋЎкпб­Ґ­ЁҐ ¬ Єа®Ї®¤бв ­®ўЄЁ "&" б¬. ў Ј«. 4
SEEK Padr(Y, Len (&(Indexkey(0))))
RETURN Found() && ‚®§ўа й Ґвбп .T., Ґб«Ё § ЇЁбм ­ ©¤Ґ­  ў Ѓ„

ЏаЁ б®бв ў­®¬ Є«озҐ Ї®«м§®ў вҐ«м ¤®«¦Ґ­ ў­Ё¬ вҐ«м­® ᮥ¤Ё­пвм
з бвЁ  аЈг¬Ґ­в  Y, ­Ґ ¤®ЇгбЄ п "ЇҐаҐЄ®б®ў" Ї® ®в­®иҐ­Ёо Є Є«озг.
’ҐЇҐам Ї®Є ¦Ґ¬, Є Є ®ЎҐбЇҐзЁвм Ї®«м§®ў вҐ«о Ё­вҐа ЄвЁў­л© ўлЎ®а
¬Ґ¦¤г в®з­л¬ Ё ЇаЁЎ«Ё¦Ґ­­л¬ Ї®ЁбЄ®¬. Џгбвм Є«о箬, Ї® Є®в®а®¬г
Їа®Ё­¤ҐЄбЁа®ў ­  Ѓ„, Ўг¤Ґв Ї®«Ґ Shifr.

*** Ѓ « ® Є Ї ® Ё б Є   Ї ® б Ё ¬ ў ® « м ­ ® ¬ г Є « о з г
FUNCTION Vibor
Arg = Space (Len(Shifr)) && ‡ Ї®«­пҐ¬ Їа®ЎҐ« ¬Ё  аЈг¬Ґ­в Arg
@ 5, 10 SAY "‚ўҐ¤ЁвҐ §­ зҐ­ЁҐ  аЈг¬Ґ­в  Ї®ЁбЄ " GET Arg
READ
Otvet = "*" //‡­ зҐ­ЁҐ, Ї®§ў®«по饥 жЁЄ«г ­ з вм а Ў®вг
DO WHILE .NOT. Upper(Otvet) $ "YES NO " && ‘¬. $ ў Ї. 1.4)
Otvet = Space(3) //€­ЁжЁ «Ё§ жЁп, ­Ґ®Ўе®¤Ё¬ п ¤«п а Ў®вл GET
@ 6, 10 SAY "‚лЇ®«­пвм в®з­л© Ї®ЁбЄ [YES, NO] ? " GET Otvet
READ
ENDDO
Arg = Iif(Upper(Otvet)="YES", Arg, Trim(Arg) )
SEEK Arg //Ё«Ё SEEK Upper(Arg), Ґб«Ё Upper - ў Ё­¤ҐЄб­®¬ ўла ¦Ґ­ЁЁ
RETURN Found() //‚®§ўа й Ґвбп .T. ў б«гз Ґ гбЇҐи­®Ј® Ї®ЁбЄ 

‡¤Ґбм ЇҐаҐ¬Ґ­­ п Arg ­Ґ§ ўЁбЁ¬® ®в зЁб«  ўўҐ¤Ґ­­ле ў ­ҐҐ
бЁ¬ў®«®ў б®еа ­пҐв ЇҐаў®­ з «м­л© а §¬Ґа бва®ЄЁ Їа®ЎҐ«®ў - а §¬Ґа
Ї®«п (гб«®ўЁҐ в®з­®Ј® Ї®ЁбЄ ). ‚ б«гз Ґ ЇаЁЎ«Ё¦Ґ­­®Ј® Ї®ЁбЄ  ¤®«¦­л
Ўлвм ®вЎа®иҐ­л Їа®ЎҐ«л бЇа ў , зв® Ё ўлЇ®«­пҐв дг­ЄжЁп Trim (Arg).
Љ Є ў п§лЄҐ CLIPPER ўў®¤Ёвм  аЈг¬Ґ­в Ї®ЁбЄ  ў б«гз Ґ, Ґб«Ё ®­
пў«пҐвбп ўла ¦Ґ­ЁҐ¬, ўлЎЁа Ґ¬л¬ Ї®«м§®ў вҐ«Ґ¬ ў Їа®жҐбᥠаҐиҐ­Ёп,
¬л а бᬮваЁ¬ ў Ї. 4.9.
Џ®ЁбЄ Ї® Ў«Ё§®бвЁ Ё Ї® Ё­вҐаў «г. ЋЎа вЁ¬бп ⥯Ґам Є зЁб«®ўл¬
Є«оз ¬ Ё Є«оз ¬ вЁЇ  "¤ в ". „«п ®ЇаҐ¤Ґ«Ґ­­®бвЁ Ї®«®¦Ё¬ ў®§а бв о饩
Ї®б«Ґ¤®ў вҐ«м­®бвм Є«о祩 ў Ё­¤ҐЄбҐ. Џ®ЁбЄ Ї® Ў«Ё§®б⨠ᢥаег (б­Ё§г)
ЇаҐ¤Ї®« Ј Ґв ®влбЄ ­ЁҐ ў Ѓ„ Є«оз , §­ зҐ­ЁҐ Є®в®а®Ј® пў«пҐвбп
Ў«Ё¦ ©иЁ¬ ­Ґ ¬Ґ­миЁ¬ (­Ґ Ў®«миЁ¬) Ї® ®в­®иҐ­Ёо Є  аЈг¬Ґ­вг Ї®ЁбЄ .
’ Є®Ј® Є«оз  ў Ѓ„ ­Ґв в®«мЄ® ў б«гз Ґ, Ґб«Ё  аЈг¬Ґ­в Ў®«миҐ
(¬Ґ­миҐ) ўбҐе Є«о祩, ᮤҐа¦ йЁебп ў Ё­¤ҐЄбҐ.
ЋзҐўЁ¤­®, ¤®«¦Ґ­ ЇаЁ¬Ґ­пвмбп ­Ґ¦ҐбвЄЁ© Ї®ЁбЄ б Ї®б«Ґ¤го饩
Їа®ўҐаЄ®© гЄ § вҐ«п § ЇЁбЁ. ‘«Ґ¤гойЁ© Ў«®Є ॠ«Ё§гҐв Ї®ЁбЄ Ї® Ў«Ё§®бвЁ.
Y - зЁб«®ў®© Ё«Ё вЁЇ  "¤ в "  аЈг¬Ґ­в Ї®ЁбЄ , P § ¤ ов Є Є .T. (.F.)
¤«п Ї®ЁбЄ  Ї® Ў«Ё§®б⨠ᢥаег (б­Ё§г). …б«Ё Ў«®Є ў®§ўа й Ґв §­ зҐ­ЁҐ
.T., ­г¦­го ­ ¬ § ЇЁбм гЄ §лў Ґв дг­ЄжЁп Recno().

*** Ѓ « ® Є Ї ® Ё б Є   Ї ® Ў « Ё § ® б в Ё ( CLIPPER )
FUNCTION Bliz(Y,P)
LOCAL B,W
W = Set(_SET_SOFTSEEK, .T.) && Ќ §­ з Ґвбп ०Ё¬ ­Ґ¦ҐбвЄ®Ј® Ї®ЁбЄ 
SEEK Y && Ё § Ї®¬Ё­ Ґвбп ў W Ёб室­л© ०Ё¬
B = Iif (P .AND. Recno() > Reccount(), .F., .T.)
IF .NOT.P .AND. &(IndexKey(0)) # Y
SKIP -1
B = Iif (Bof(), .F., .T.)
ENDIF
Set(_SET_SOFTSEEK, W) && ‚®ббв ­®ў«Ґ­ЁҐ Ёб室­®Ј® ०Ё¬ 
RETURN B && ‚ Їа®Ја ¬¬Ґ ¤®«¦­  Ўлвм ¤ЁаҐЄвЁў  #include "Set.ch"

*** Ѓ « ® Є Ї ® Ё б Є   Ї ® Ў « Ё § ® б в Ё ( FOXPRO )
FUNCTION Bliz
PARAM Y,P
PRIVATE B, W, C
W = Set ("NEAR") && ‡ Ї®¬Ё­ Ґвбп Ёб室­л© ०Ё¬ Ї®ЁбЄ 
SET NEAR ON && Ќ §­ з Ґвбп ०Ё¬ ­Ґ¦ҐбвЄ®Ј® Ї®ЁбЄ 
SEEK Y
B = Iif (P .AND. Recno() > Reccount(), .F., .T.)
C = Key(Val(Sys(21))) &&Џ®«г祭ЁҐ ўла ¦Ґ­Ёп Є«оз  ўҐ¤г饣® Ё­¤ҐЄб 
IF .NOT. P .AND. &C # Y && Њ Єа®Ї®¤бв ­®ўЄ  &C ¤ Ґв Є«оз ⥪г饩
SKIP -1 && § ЇЁбЁ
B = Iif (Bof(), .F., .T.)
ENDIF
SET NEAR &W && ‚®ббв ­®ў«Ґ­ЁҐ Ёб室­®Ј® ०Ё¬  Ї®ЁбЄ 
RETURN B
Џ®ЁбЄ Ї® Ё­вҐаў «г ЇаҐ¤Ї®« Ј Ґв ®влбЄ ­ЁҐ ўбҐе § ЇЁбҐ©,
­ Ё¬Ґ­м襥 A Ё ­ ЁЎ®«м襥 B §­ зҐ­Ёп Є«оз  Є®в®але § ¤ ­®. ЋЇаҐ¤Ґ«повбп
Ї®§ЁжЁЁ N2, N1 § ЇЁбҐ©, пў«пойЁебп ᮮ⢥вб⢥­­® ўҐае­Ґ© ў­Ґи­Ґ©
Ё ­Ё¦­Ґ© Ја ­ЁжҐ© ЁбЄ®¬ле § ЇЁбҐ© ў Ё­¤ҐЄб­®© Ї®б«Ґ¤®ў вҐ«м­®бвЁ.
…б«Ё а §­®бвм N1 - N2 а ў­  0, §­ зЁв ­Ґв ­Ё ®¤­®© ЁбЄ®¬®© § ЇЁбЁ.
Ѓ«®Є Interv Ї®ЁбЄ  Ї® Ё­вҐаў «г ¬л ЇаЁ¬Ґ­Ё¬ ¤«п ўлў®¤  д ¬Ё«Ё©
ўбҐе б®ваг¤­ЁЄ®ў, бв ¦ а Ў®вл Stag Є®в®але ®в 10 ¤® 20 «Ґв:

*** CLIPPER-Їа®Ја ¬¬  Ї®ЁбЄ  Ї® § ¤ ­­®¬г Ё­вҐаў «г бв ¦  а Ў®вл
#include "Set.ch"
LOCAL N1, N2, A, B
USE Employ
INDEX ON Stag TO Stg
INPUT "‚ўҐ¤ЁвҐ ­Ё¦­оо Ја ­Ёжг бв ¦  " TO A
INPUT "‚ўҐ¤ЁвҐ ўҐае­оо Ја ­Ёжг бв ¦  " TO B
Interv (A, B, @N1, @N2) && Џ а ¬Ґвал N1, N2 ЇҐаҐ¤ овбп Ї® ббл«ЄҐ
GO N1 && ‚л室 ­  1-о Ё§ ­ ©¤Ґ­­ле § ЇЁбҐ©
LIST Famil WHILE Recno() # N2
*** Ѓ « ® Є Ї ® Ё б Є   Ї ® Ё ­ в Ґ а ў   « г ( CLIPPER)
FUNCTION Interv(A,B,N1,N2)
LOCAL W
W = Set(_SET_SOFTSEEK, .T.)
SEEK A
N1 = Recno()
SEEK B
DO WHILE &(IndexKey(0)) = B && ‚ᥠ§ ЇЁбЁ б Є«о箬, а ў­л¬
SKIP && ўҐае­Ґ© Ја ­ЁжҐ, ўЄ«оз овбп ў ®вўҐв
ENDDO && (зҐаҐ§ ᮮ⢥вбвўго饥 §­ зҐ­ЁҐ N2)
N2 = Recno()
Set(_SET_SOFTSEEK, W)
RETURN N1 # N2 &&‚®§ўа й Ґ¬®Ґ §­ зҐ­ЁҐ а ў­® .T. «Ёим ЇаЁ N1 # N2

Ѓ«®Є Interv ¬®¦­® ЇаЁ¬Ґ­пвм Ё Є бЁ¬ў®«м­л¬ Ї®«п¬. Ќ ЇаЁ¬Ґа,
Ґб«Ё Ѓ„ Employ Їа®Ё­¤ҐЄбЁа®ў ­  Ї® Ї®«о Famil (ўҐ¤гйЁ© Ё­¤ҐЄб),
®Ўа йҐ­ЁҐ Interv("Ђ","†", @N1, @N2) ў®§ўа вЁв ­®¬Ґа  § ЇЁбҐ© N1, N2
в ЄЁҐ, зв® ў ЈагЇЇҐ § ЇЁбҐ© б д ¬Ё«Ёп¬Ё ®в "Ђ" ¤® "†" ЇҐаў п Ўг¤Ґв
Ё¬Ґвм ­®¬Ґа N1,   Ї®б«Ґ¤­пп - Ўг¤Ґв ЇаҐ¤иҐбвў®ў вм (Ї® Ё­¤ҐЄбг)
§ ЇЁбЁ б ­®¬Ґа®¬ N2. …б«Ё ¦Ґ в ЄЁе д ¬Ё«Ё© ­Ґв, N1 = N2. …б«Ё ўл
§ ¬Ґ­ЁвҐ ў Є®¬ ­¤Ґ DO WHILE §­ Є "=" ­  "==", д ¬Ё«ЁЁ, ­ зЁ­ ойЁҐбп
б ЎгЄўл "†", ўЄ«озҐ­л ў ®вўҐв ­Ґ Ўг¤гв. ЋЎкп᭨⥠¤ ­­л© нд䥪в.
‡ ¤ ­ЁҐ 3.5. ‘®бв ўЁвм Ё ЁбЇлв вм Ў«®Є Ї®ЁбЄ  § ЇЁбҐ© Ї®
Ё­вҐаў «г ¤«п п§лЄ  FOXPRO, ЁбЇ®«м§гп ¤Ґв «Ё Ў«®Є  Ї®ЁбЄ  Ї® Ў«Ё§®бвЁ
Ё ®б­®ў­лҐ Ё¤ҐЁ ЇаЁўҐ¤Ґ­­®Ј® ўлиҐ Ў«®Є  Ї®ЁбЄ  Ї® Ё­вҐаў «г.

3.6. Ќ е®¤Ё¬ зЁб«®ўлҐ е а ЄвҐаЁбвЁЄЁ. Љ®¬ ­¤  SCAN

„«п вЁЇЁз­ле § ¤ з ­ е®¦¤Ґ­Ёп зЁб«®ўле е а ЄвҐаЁбвЁЄ Ї®ЁбЄ Ё
®Ўа Ў®вЄ  § ЇЁбҐ© ᮥ¤Ё­Ґ­л ў Є®¬ ­¤ е, Ё¬ҐойЁе ­Ґпў­л© жЁЄ«.
Џ®¤бзҐв § ЇЁбҐ©. ЋЎа Ў®вЄг § ¤ ­­®Ј® Ї®¤¬­®¦Ґбвў  § ЇЁбҐ© б
§ ­ҐбҐ­ЁҐ¬ бзҐвзЁЄ  ў <ЏҐаҐ¬Ґ­­го> ўлЇ®«­пҐв Є®¬ ­¤ 
COUNT <ѓа ­Ёжл> <“б«®ўЁп> TO <ЏҐаҐ¬Ґ­­ п> .
ЏаЁ¬Ґа. COUNT FOR Deleted() TO N && ‘зҐвзЁЄ § ЇЁбҐ©,
&&Ї®¬ҐзҐ­­ле ­  г¤ «Ґ­ЁҐ
‚ Є®¬ ­¤Ґ FOXPRO ¬®¦Ґв ®вбгвбвў®ў вм ¤ ¦Ґ <ЏҐаҐ¬Ґ­­ п>: Є®¬ ­¤ 
COUNT Ё¬ҐҐв в®в ¦Ґ १г«мв в, зв® Ё Reccount(), ­® ў ®в«ЁзЁҐ ®в
дг­ЄжЁЁ ўлў®¤Ёв зЁб«® § ЇЁбҐ© Ѓ„ ­  ¤ЁбЇ«Ґ©.
ЏаЁ¬Ґа 3.12. ЋвЄа®Ґ¬ Ѓ„ Kadr Ё Ї®¤бзЁв Ґ¬ зЁб«® б®ваг¤­ЁЄ®ў Ї®
®в¤Ґ« ¬:
USE Kadr && €­¤ҐЄб Tdl «ЁЎ® ᮧ¤ Ґ¬, «ЁЎ® гЄ §лў Ґ¬
INDEX ON Otdel TO Tdl && ў Є®¬ ­¤Ґ USE, Ґб«Ё ®­ ᮧ¤ ­ а ­ҐҐ
Otd = Otdel && ‡ Ї®¬Ё­ ­ЁҐ ®в¤Ґ« , гЄ § ­­®Ј® ЇҐаўл¬ ў Ё­¤ҐЄбҐ
DO WHILE .NOT. EOF()
COUNT WHILE Otdel = Otd TO N
? "‚ ®в¤Ґ«Ґ ", Otd, N, " б®ваг¤­ЁЄ®ў"
Otd = Otdel && ‡ Ї®¬Ё­ ­ЁҐ б«Ґ¤го饣® ®в¤Ґ« 
ENDDO
Ќ ¬ ­Ґ Ї®вॡ®ў « бм Є®¬ ­¤  SKIP, ЁЎ® ў COUNT - бў®© ­Ґпў­л©
жЁЄ« б ЇҐаҐ¬ҐйҐ­ЁҐ¬ Ї® Ѓ„. Џ®пб­Ґ­Ё© вॡгҐв § ўҐа襭ЁҐ а Ў®вл.
Љ®¬ ­¤  COUNT дЁЄбЁагҐв Є®­Ґж Ѓ„ Ё Ї®б«Ґ¤­Ё© а § ЇҐаҐ¤ Ґв бзҐвзЁЄ ў N,
Їа®Ёб室Ёв ўлў®¤; б®бв®п­ЁҐ EOF() = .T. б®еа ­пҐвбп Ё г« ў«Ёў Ґвбп
Є®¬ ­¤®© DO WHILE, § ўҐаи о饩 жЁЄ«.
Ќ е®¦¤Ґ­ЁҐ бг¬¬л Ё б।­ҐЈ®  аЁд¬ҐвЁзҐбЄ®Ј®. Љ®¬ ­¤ 
SUM <‘ЇЁб®Є ўлаN> <ѓа ­Ёжл> <“б«®ўЁп> TO <‘ЇЁб®Є ЇҐаҐ¬Ґ­­ле>
§ ­®бЁв §­ зҐ­ЁҐ бг¬¬л ¤«п Є ¦¤®Ј® <ўлаN>, Ї®«г祭­®© ­  ­ҐЄ®в®а®¬
¬­®¦Ґб⢥ § ЇЁбҐ©  ЄвЁў­®© Ѓ„, ў ᮮ⢥вбвўгойго (Ї® Ї®«®¦Ґ­Ёо ў
бЇЁбЄҐ) ЇҐаҐ¬Ґ­­го,   Є®¬ ­¤  AVERAGE б в®© ¦Ґ б ¬®© бвагЄвга®© Ё
¤Ґ©бвўЁҐ¬ ®в«Ёз Ґвбп ®в SUM «Ёим १г«мв в®¬ - б।­Ё¬  аЁд¬ҐвЁзҐбЄЁ¬.
‚ FOXPRO <‘ЇЁб®Є ЇҐаҐ¬Ґ­­ле> ¬®¦­® ­Ґ ЇаҐ¤гб¬ ваЁў вм (ЇаЁ
 ўв®¬ вЁзҐбЄ®¬ ўлў®¤Ґ १г«мв в®ў ­  ¤ЁбЇ«Ґ©), ҐЈ® ¬®¦­® в Є¦Ґ
§ ¬Ґ­пвм  ваЁЎг⮬ ARRAY <Њ ббЁў>. <Њ ббЁў> ¤®«¦Ґ­ Ўлвм § а ­ҐҐ
®ЇЁб ­, ў 1-© ҐЈ® н«Ґ¬Ґ­в § ­®бЁвбп 1-© १г«мв в Ё в.¤.
ЏаЁ¬Ґа 3.13. ЋвЄа®Ґ¬ Ѓ„ Kadr Ё ­ ©¤Ґ¬ б।­Ё© бв ¦ SS Ё
б।­оо § а Ў®в­го Ї« вг SZ (Ї®«Ґ Zarp ЁбЇ®«м§гҐвбп ¤«п §­ зҐ­Ё©
§ а Ў®в­®© Ї« вл) ¤«п ­ҐЇ®¬ҐзҐ­­ле ­  г¤ «Ґ­ЁҐ § ЇЁбҐ© (¤«п ­Ґ
гў®«ЁўиЁебп б®ваг¤­ЁЄ®ў):
AVERAGE Stag, Zarp FOR .NOT.Deleted() TO SS, SZ .
ЏаЁ¬Ґ­пҐ¬ п Є  ЄвЁў­®© Ѓ„, Їа®Ё­¤ҐЄбЁа®ў ­­®© Ё«Ё
®вб®авЁа®ў ­­®© Ї® Є«озг <‚ла>, Є®¬ ­¤  б ­Ґпў­л¬ жЁЄ«®¬
TOTAL ON <‚ла> TO<€¬п Ѓ„> FIELDS <‘ЇЁб®Є Ї®«Ґ©> <ѓа ­Ёжл> <“б«®ўЁп>
ᮧ¤ Ґв ­®ўго Ѓ„ (ҐҐ ®Ў®§­ з Ґв <€¬п Ѓ„>), ў Є®в®аго § ­®бпвбп б㬬л
зЁб«®ўле Ї®«Ґ©, гЄ § ­­ле ў Є®¬ ­¤Ґ. ‘㬬Ёаговбп Ї®«п Ї®б«Ґ¤®ў вҐ«м­®
Ё¤гйЁе § ЇЁбҐ©, ¤«п Є®в®але §­ зҐ­ЁҐ <‚ла> ®¤Ё­ Є®ў®. ’ ЄЁ¬
®Ўа §®¬, ¤«п Є ¦¤®© Ё¬Ґо饩бп ў  ЄвЁў­®© Ѓ„ ЈагЇЇл § ЇЁбҐ© б ®ЎйЁ¬
§­ зҐ­ЁҐ¬ Є«оз  <‚ла> ᮧ¤ Ґвбп ® ¤ ­   ­®ў п § ЇЁбм, ᮤҐа¦ й п
гЄ § ­­лҐ б㬬л. …б«Ё  ЄвЁў­ п Ѓ„ ­Ґ гЇ®а冷祭 , ўл Ї®«гзЁвҐ
ЎҐбЇ®«Ґ§­го ­®ўго Ѓ„. ‚ ®вбгвбвўЁҐ <‘ЇЁбЄ  Ї®«Ґ©> ўла Ў влў овбп
Ёв®ЈЁ ¤«п ўбҐе зЁб«®ўле Ї®«Ґ©.
‘вагЄвга  б®§¤ ў Ґ¬®© Ѓ„ Ё¤Ґ­вЁз­  бвагЄвгॠЁб室­®©  ЄвЁў­®©
Ѓ„, Ї®н⮬㠭 ¤® б«Ґ¤Ёвм §  ⥬, зв®Ўл а §¬Ґал Ї®¤л⮦Ёў Ґ¬ле Ї®«Ґ©
ў Ёб室­®© Ѓ„ Ўл«Ё ¤®бв в®з­л¬Ё ¤«п а §¬ҐйҐ­Ёп б㬬 (ў ­®ў®© Ѓ„).
ЏаЁ¬Ґа 3.14. Ѓ„ Kadr Їа®Ё­¤ҐЄбЁа®ў ­  Ї® Ї®«о Otdel.
TOTAL ON Otdel TO Itog FIELDS Zarp FOR .NOT.Deleted() .
Џ® Є ¦¤®¬г ®в¤Ґ«г Ўг¤Ґв ­ ©¤Ґ­  б㬬  § а Ў®в­®© Ї« вл; ҐбвҐб⢥­­®,
гў®«ЁўиЁҐбп ­Ґ гзЁвлў овбп. ‚ ­®ў®© Ѓ„ Itog Ўг¤Ґв бв®«мЄ® § ЇЁбҐ©,
бЄ®«мЄ® §­ зҐ­Ё© Ї®«п Otdel ў Ѓ„ Kadr. ‚ ­Ёе Ї®«Ґ Zarp Ўг¤Ґв
ᮤҐа¦ вм б㬬㠧 а Ў®в­®© Ї« вл Ї® ®в¤Ґ«г, Їа®зЁҐ Ї®«п "­ б«Ґ¤гов"
§­ зҐ­Ёп ®в ЇҐаў®© § ЇЁбЁ ў ᮮ⢥вбвўго饩 ЈагЇЇҐ Ёб室­ле § ЇЁбҐ©:
д ¬Ё«Ёо, бв ¦ Ё в.Ї. Љ®­Ґз­®, ЇаЁ ўлў®¤Ґ, Єа®¬Ґ Ї®«Ґ© б㬬 ­ б
Ё­вҐаҐбгов «Ёим Є«озҐўлҐ Ї®«п, ўе®¤пйЁҐ ў <‚ла>. ‚ ­ иҐ¬ ЇаЁ¬ҐаҐ нв®
Ї®«Ґ Otdel. …б«Ё Ёб室­ п Ѓ„ ­Ґ б®авЁа®ў « бм Ї® Є«озг <‚ла>,  
Ўл«  гЇ®а冷祭  Їг⥬ Ё­¤ҐЄбЁа®ў ­Ёп Ї® н⮬㠪«озг, Є®¬ ­¤  TOTAL
­®а¬ «м­® дг­ЄжЁ®­ЁагҐв, в®«мЄ® Ґб«Ё Ё­¤ҐЄб - ЎҐ§  ваЁЎгв  UNIQUE.
‚ п§лЄҐ FOXPRO Ё¬ҐҐвбп Є®¬ ­¤  г­ЁўҐаб «м­®Ј® ¤Ґ©бвўЁп
CALCULATE б в Є®© ¦Ґ бвагЄвга®©, Є Є г Є®¬ ­¤ SUM, AVERAGE, ¤®ЇгбЄ ой п
ў бў®Ґ¬ бЇЁбЄҐ ўла ¦Ґ­Ё© б«Ґ¤гойЁҐ дг­ЄжЁЁ (ў­Ґ ҐҐ ­Ґ ЁбЇ®«м§г©вҐ!):
AVG(<‚лаN>) - б।­ҐҐ  аЁд¬ҐвЁзҐбЄ®Ґ §­ зҐ­Ё© <‚лаN>;
CNT() - бзҐвзЁЄ § ЇЁбҐ© ў ­ҐЄ®в®а®¬ ¬­®¦Ґб⢥ § ЇЁбҐ©;
MAX(<‚ла>) - ¬ ЄбЁ¬ «м­®Ґ §­ зҐ­ЁҐ ўла ¦Ґ­Ёп <‚ла>;
MIN(<‚ла>) - ¬Ё­Ё¬ «м­®Ґ §­ зҐ­ЁҐ ўла ¦Ґ­Ёп <‚ла>;
STD(<‚лаN>) - б।­ҐЄў ¤а вЁзҐбЄ®Ґ ®вЄ«®­Ґ­ЁҐ ¤«п <‚лаN>;
SUM(<‚лаN>) - б㬬  §­ зҐ­Ё© <‚лаN> ­  ¬­®¦Ґб⢥ § ЇЁбҐ©;
VAR(<‚лаN>) - ¤ЁбЇҐабЁп §­ зҐ­Ё© <‚лаN>;
NPV(<‚лаN1>,<‚лаN2>,<‚лаN3>) - дЁ­ ­б®ў п дг­ЄжЁп (б¬. [3] ).
‚ла ¦Ґ­Ёп <‚ла>,<‚лаN> ᮤҐа¦ в Ё¬п Ї®«п  ЄвЁў­®© Ѓ„ (Ё«Ё Ё¬Ґ­ 
­ҐбЄ®«мЄЁе Ї®«Ґ©  ЄвЁў­®© Ѓ„).
ЏаЁ¬Ґа 3.15. Џгбвм Ё¬Ґ­  P1 - P4 ®Ў®§­ з ов Ї®«п  ЄвЁў­®© Ѓ„.
CALCULATE MAX(P2/P1), MIN(P3+P4), AVG(P1**2-SQRT(P3)) TO ARRAY Z
Ўг¤Ґв Ё¬Ґвм Ёв®Ј®¬ бў®ҐЈ® ўлЇ®«­Ґ­Ёп б«Ґ¤гойЁҐ §­ зҐ­Ёп ў ¬ ббЁўҐ:
Z[1] - ¬ ЄбЁ¬г¬ ®в­®иҐ­Ёп §­ зҐ­Ё© Ї®«Ґ© P2 Ё P1;
Z[2] - ¬Ё­Ё¬г¬ бг¬¬л §­ зҐ­Ё© Ї®«Ґ© P3 Ё P4;
Z[3] - б।­ҐҐ  аЁд¬ҐвЁзҐбЄ®Ґ ўла ¦Ґ­Ёп AVG(P1**2-SQRT(P3)).
Љ ᮦ «Ґ­Ёо, § ЇЁбЁ, ў Є®в®але ­ ©¤Ґ­л ¬ ЄбЁ¬г¬ Ё ¬Ё­Ё¬г¬, ­Ґ
гЄ §лў овбп. Љ®­Ґз­®, §­ зҐ­Ёп Z[1], Z[2] ¬®¦­® ЁбЇ®«м§®ў вм ¤«п Ёе
Ї®ЁбЄ .
‘вагЄвга  SCAN ... ENDSCAN, Ё¬Ґой пбп ў п§лЄҐ FOXPRO,
®Ў«ҐЈз Ґв ®Ўа Ў®вЄг Ѓ„. …Ґ ­ з «м­ п Є®¬ ­¤  Ё¬ҐҐв ўЁ¤
SCAN <ѓа ­Ёжл>, <“б«®ўЁп>
ЏаЁ¬Ґа 3.16. Ќ ©¤Ґ¬ ў Ѓ„ Prim б।Ё § ЇЁбҐ©, ­Ґ Ї®¬ҐзҐ­­ле ­ 
г¤ «Ґ­ЁҐ, § ЇЁбм б ¬ ЄбЁ¬ «м­л¬ ®в­®иҐ­ЁҐ¬ P2/P1 Ё § ЇЁбм б
¬Ё­Ё¬ «м­®© б㬬®© P3+P4, Ј¤Ґ P1 - P4 - Ї®«п Ѓ„ Prim.
DECLARE Z[2]
USE Prim
SET FILTER .NOT.Deleted()
GO TOP
Z[1] = P2/P1
Z[2] = P3+P4
STORE Recno() TO N1, N2
SCAN REST && ЋЇаҐ¤Ґ«Ё«Ё ®Ў« бвм ¤Ґ©бвўЁп  ваЁЎг⮬ REST
IF P2/P1 > Z[1]
Z[1] = P2/P1
N1 = Recno()
ENDIF
IF P3+P4 < Z[2]
Z[2] = P3+P4
N2 = Recno()
ENDIF
ENDSCAN
‚¬Ґбв® FOR-гб«®ўЁп ў Є®¬ ­¤Ґ SCAN ¬л ЁбЇ®«м§®ў «Ё дЁ«мва, ЁЎ®
­г¦­® ҐйҐ ¤® жЁЄ«  SCAN ўл©вЁ ­  ЇҐаўго § ЇЁбм, 㤮ў«Ґвў®апойго
гб«®ўЁо, Ё ЁбЇ®«м§гп ҐҐ Ї®«п, Ї®«гзЁвм ®вЇа ў­лҐ §­ зҐ­Ёп Z[1],Z[2].
‚ п§лЄҐ CLIPPER ў¬Ґбв® бвагЄвгал SCAN ¬л ў®бЇ®«м§гҐ¬бп дг­ЄжЁҐ©
DBEval(), ®ЇЁб ­­®© ў Ї. 4.2.
‡ ¤ ­ЁҐ 3.6. ‚§пў §  ®б­®ўг Їа®Ја ¬¬г ЇаЁ¬Ґа  3.12, § ЇЁиЁвҐ
Їа®Ја ¬¬г, ўлў®¤пйго ¤«п Є ¦¤®Ј® ®в¤Ґ«  Їа®жҐ­в ¦Ґ­йЁ­-б®ваг¤­ЁЄ®ў.
„«п Ї®¤бзҐв  ЁбЇ®«м§г©вҐ в®«мЄ® Є®¬ ­¤г COUNT. ЏаҐ¤ў аЁвҐ«м­®
Їа®Ё­¤ҐЄбЁаг©вҐ Ѓ„ Ї® Ї®«п¬ Otdel (Ј« ў­®Ґ Ї®«Ґ) Ё Pol.

3.7. Ќ зЁ­ Ґ¬ а Ў®в вм б MEMO-Ї®«п¬Ё

ЏаҐЄа б­ п ўҐйм - дЁЄбЁа®ў ­­л© а §¬Ґа § ЇЁбЁ ў .DBF-д ©«Ґ
Ў §л ¤ ­­ле! €¬Ґ­­® нв® ®ЎҐбЇҐзЁў Ґв Ўлбвал© (Їаאַ©) ¤®бвгЇ Є
«оЎ®© § ЇЁбЁ: бЁб⥬  Ї® ­®¬Ґаг § ЇЁбЁ ўлзЁб«пҐв ҐҐ  ¤аҐб ў Ї ¬пвЁ.
Ќ® ў® ¬­®ЈЁе ॠ«м­ле § ¤ з е Ґбвм ­ ¤®Ў­®бвм ў­®бЁвм ў § ЇЁбм
Ё­д®а¬ жЁо ЇҐаҐ¬Ґ­­®© ¤«Ё­л. ‚ Ѓ„ Kadr (ЇаЁ¬Ґа 3.3) Ґо ¬®¦Ґв Ўлвм
"¤®бмҐ", Є б о饥бп б«г¦ҐЎ­ле ЇҐаҐ¬ҐйҐ­Ё© б®ваг¤­ЁЄ , § ¬Ґз ­Ё© Ё
Ў« Ј®¤ а­®б⥩ Ї® ўлЇ®«­Ґ­­л¬ а Ў®в ¬ Ё в.Ї. ЌҐЄ®в®алҐ § ЇЁбЁ Ѓ„
¬®Јгв ­Ґ Ё¬Ґвм (е®вп Ўл ўаҐ¬Ґ­­®) в Є®© Ё­д®а¬ жЁЁ.
„«п еа ­Ґ­Ёп Ё­д®а¬ жЁЁ ЇҐаҐ¬Ґ­­®© ¤«Ё­л ЁбЇ®«м§гов «ЁЎ®
бЁ¬ў®«м­®Ґ Ї®«Ґ, ­ §­ зҐ­­®Ґ б ¬ ЄбЁ¬ «м­®© ¤«Ё­®©, «ЁЎ® MEMO-Ї®«Ґ.
‚ ЇҐаў®¬ б«гз Ґ ­Ґ¤®бв вЄ®¬ ¬®¦Ґв Ўлвм ­Ё§ЄЁ© (ўЇ«®вм ¤® 0 ў
®в¤Ґ«м­ле § ЇЁбпе) Їа®жҐ­в ЁбЇ®«м§®ў ­Ёп Ї®«п ¤«п еа ­Ґ­Ёп ¤ ­­ле.
Ља®¬Ґ в®Ј®, ў FOXPRO ¬ ЄбЁ¬ «м­ п ¤«Ё­  бЁ¬ў®«м­®Ј® Ї®«п - 254 Ў ©в 
(ў CLIPPER - 64 K), ¤ ­­лҐ MEMO-Ї®«п Ё¬Ґо⠯।Ґ«м­го ¤«Ё­г 64 K.
MEMO-Ї®«п ЁбЇ®«м§гов Ї ¬пвм ¤Ё­ ¬ЁзҐбЄЁ: ®­Ё 㢥«ЁзЁў овбп Ї®
¬ҐаҐ ­ ¤®Ў­®бвЁ. ‚ Є ¦¤®© § ЇЁбЁ .DBF-д ©«  Ѓ„ Ё¬ҐҐвбп Ї®«Ґ,
§ ­Ё¬ о饥 10 Ў ©в, ¤«п ббл«ЄЁ ­  MEMO-¤ ­­лҐ,   б ¬Ё нвЁ ¤ ­­лҐ
а §¬Ґй овбп ў ®в¤Ґ«м­®¬ д ©«Ґ б в ЄЁ¬ ¦Ґ Ё¬Ґ­Ґ¬, Є Є г .DBF-д ©« ,
Ё а биЁаҐ­ЁҐ¬ .DBT (CLIPPER) Ё«Ё .FPT (FOXPRO). Ѓг¤Ґ¬ ­ §лў вм ҐЈ®
Memo-д ©«®¬.
Џ ¬пвм ў Memo-д ©«Ґ ўл¤Ґ«пҐвбп Ў«®Є ¬Ё, бв ­¤ ав­л© а §¬Ґа Rb
Є®в®але ў п§лЄҐ CLIPPER а ўҐ­ 512 Ў ©в ¬, ў FOXPRO - 64 Ў ©в ¬.
…б«Ё е®вп Ўл ЇаЁЎ«Ё§ЁвҐ«м­® Ё§ўҐбв­  б।­пп ¤«Ё­  Rcp MEMO-¤ ­­ле,
®ЎйҐҐ зЁб«® N § ЇЁбҐ© Ё б।­Ё© Їа®жҐ­в Pr § ЇЁбҐ© б MEMO-¤ ­­л¬Ё,
¬®¦­® ­ ©вЁ ЇаҐ¤Ї®« Ј Ґ¬лҐ § ва вл Ї ¬пвЁ Ї® д®а¬г«Ґ
N*10 + (N*Pr/100) * Rb * Int((Rcp + Rb -1)/Rb)
Ё ба ў­Ёвм Ёе б Ї®вҐ­жЁ «м­л¬Ё § ва в ¬Ё ­  бЁ¬ў®«м­®Ґ Ї®«Ґ
¬ ЄбЁ¬ «м­®© ¤«Ё­л Rmax: N*Rmax. C« Ј Ґ¬®Ґ N*10 гзЁвлў Ґв а §¬ҐйҐ­ЁҐ
ббл«®Є ў .DBF-д ©«Ґ. Џ®­пв­®, зв® ЇаЁ ­Ё§Є®¬ Їа®жҐ­вҐ Pr,   в Є¦Ґ
Ґб«Ё Rmax > Rb, Rcp > Rb Ё Rmax >> Rcp, MEMO-Ї®«п ®Є ¦гвбп
ЇаҐ¤Ї®звЁвҐ«м­ҐҐ. Memo-д ©« - ®¤Ё­ ЇаЁ «оЎ®¬ зЁб«Ґ MEMO-Ї®«Ґ© ў
бвагЄвгॠЃ„. Џ®¤ ҐЈ® § Ј®«®ў®Є а б室гҐвбп 512 Ў ©в.
‚ FOXPRO ўл ¬®¦ҐвҐ ­ §­ зЁвм а §¬Ґа Ў«®Є  Rb Є®¬ ­¤®© SET
BLOCKSIZE. Џ ¬пвм нЄ®­®¬­ҐҐ ЁбЇ®«м§гҐвбп ЇаЁ ¬ «ле Rb, ­® ЇаЁ н⮬
б­Ё¦ Ґвбп бЄ®а®бвм ¤®бвгЇ  Є MEMO-¤ ­­л¬ ЇаЁ 㢥«ЁзҐ­ЁЁ Ёе ¤«Ё­л.
‚ ‘“Ѓ„ Ё¬ҐҐвбп ¬®й­л© ­ Ў®а Є®¬ ­¤ Ё дг­ЄжЁ© ¤«п а Ў®вл б
MEMO-Ї®«п¬Ё, ­® ¤«п ЇҐаў®Ј® §­ Є®¬бвў  ¬®¦­® ®Ја ­ЁзЁвмбп Є®¬ ­¤®©
REPLACE, Є®в®а п Ї®§ў®«пҐв Ёе ­ Ї®«­пвм, Ё Є®¬ ­¤ ¬Ё DISPLAY, LIST,
Ї®§ў®«пойЁ¬Ё MEMO-Ї®«п ўлў®¤Ёвм.
ЏаЁ¬Ґа 3.17. ђ биЁаЁ¬ б Ї®¬®ймо гвЁ«Ёвл DBU (CLIPPER) Ё«Ё
Є®¬ ­¤л MODIFY STRUCTURE (FOXPRO) бвагЄвгаг Ѓ„ Kadr, ¤®Ў ўЁў ў ­ҐҐ
MEMO-Ї®«Ґ Dosje,   § вҐ¬ Їа®Ја ¬¬­л¬ Їг⥬ ў­ҐбҐ¬ ў MEMO-Ї®«п
­ҐЄ®в®але § ЇЁбҐ© Є Єго-«ЁЎ® Ё­д®а¬ жЁо (Ґб«Ё ®бв ў«пҐвҐ Ї®«Ґ
Їгбвл¬, ­ ¦Ё¬ ©вҐ ба §г Enter ў ®вўҐв ­  ЇаЁЈ« иҐ­ЁҐ ACCEPT):

USE Kadr
DO WHILE .Not. EOF()
ACCEPT "‚ўҐ¤ЁвҐ Dosje. ‘®ваг¤­ЁЄ " + Famil TO S
REPLACE Dosje WITH S && "WITH Dosje + S", Ґб«Ё ­ ¤® ¤®Ї®«­пвм
SKIP
ENDDO
LIST Famil, Dosje && Џа®б¬®ва ўўҐ¤Ґ­­®© MEMO-Ё­д®а¬ жЁЁ

‚ п§лЄҐ CLIPPER ¤«п ЇҐаў®­ з «м­®Ј® § ­ҐбҐ­Ёп Ё«Ё § ¬Ґ­л MEMO-
¤ ­­ле ¬®¦­® ЁбЇ®«м§®ў вм Є®¬ ­¤г REPLACE Dosje WITH MemoEdit() ,
¤«п ¤®Ї®«­Ґ­Ёп MEMO-Ї®«Ґ© ­®ўл¬Ё ¤ ­­л¬Ё - ®ЇҐа в®а REPLACE Dosje
WITH MemoEdit(Dosje); Є®¬ ­¤  ACCEPT ­Ґ ­г¦­ . ‡ ўҐаи п ­ Ў®а
(¤®Ї®«­Ґ­ЁҐ) ⥪бв  ў ०Ё¬Ґ MemoEdit(), ­г¦­® ­ ¦Ё¬ вм Є« ўЁиЁ
CTRL-W. Џ®¤а®Ў­® б।бвў  а Ў®вл б MEMO-¤ ­­л¬Ё а бᬮваҐ­л ў Ј«. 8.
ЏаЁ 㢥«ЁзҐ­ЁЁ а §¬Ґа  MEMO-¤ ­­ле ¬®Јгв ў®§­ЁЄ вм ­ҐЁбЇ®«м§гҐ¬лҐ
Ў«®ЄЁ, Є Є Ё ЇаЁ г¤ «Ґ­ЁЁ § ЇЁбҐ©. “Ї«®в­Ґ­ЁҐ Memo-д ©«®ў а бᬮв७®
ў Ї. 3.8.
‡ ¤ ­ЁҐ 3.7. €§¬Ґ­ЁвҐ Їа®Ја ¬¬г ЇаЁ¬Ґа  3.17 б ⥬, зв®Ўл ®­ 
¤®Ї®«­п«  MEMO-¤ ­­лҐ, Ё ®Їа®Ўг©вҐ ҐҐ ­  Ѓ„ Kadr.

3.8. ЏҐаҐЁ¬Ґ­®ўлў Ґ¬, бвЁа Ґ¬, Є®ЇЁа㥬, гЇ«®в­пҐ¬
Ў §л ¤ ­­ле

ЌЁ¦Ґ ¬л ў®бЇ®«м§гҐ¬бп Є®¬ ­¤®© ЇҐаҐЁ¬Ґ­®ў ­Ёп д ©« , Ё¬Ґо饩
ўЁ¤ RENAME <‘в а®Ґ Ё¬п> TO <Ќ®ў®Ґ Ё¬п>.
ђ биЁаҐ­Ёп Ё¬Ґ­ ®Ўп§ вҐ«м­л, Ґб«Ё ®­Ё Ґбвм. …б«Ё <Ќ®ў®Ґ Ё¬п> ᮤҐа¦Ёв
Їгвм Є д ©«г Ё«Ё гбва®©бвў®, д ©« ЇҐаҐ¬ҐбвЁвбп б®Ј« б­® нвЁ¬ гЄ § ­Ёп¬.
Џ®ЇлвЄ  ЇҐаҐЁ¬Ґ­®ў вм  ЄвЁў­го Ѓ„ ўҐ¤Ґв Є ­ҐЇаҐ¤бЄ §гҐ¬л¬
Ї®б«Ґ¤бвўЁп¬. …б«Ё <Ќ®ў®Ґ Ё¬п> ¤гЎ«ЁагҐв Ё¬п бгйҐбвўго饣® д ©« ,
Є®¬ ­¤  ЁЈ­®аЁагҐвбп. …б«Ё ЇҐаҐЁ¬Ґ­®ўлў Ґвбп Ѓ„ б MEMO-Ї®«п¬Ё, ­ ¤®
ЇҐаҐЁ¬Ґ­®ў вм Ё MEMO-д ©«, Ё­ зҐ ЇаЁ ®Ўа Ў®вЄҐ MEMO-Ї®«Ґ© ў®§­ЁЄ­гв
®иЁЎЄЁ.
‘вЁа ­ЁҐ «оЎ®Ј® ­Ґ®вЄалв®Ј® (§ Єалв®Ј®) д ©«  ॠ«Ё§гҐв
Є®¬ ­¤  ERASE <€¬п д ©«  б а биЁаҐ­ЁҐ¬> Ё«Ё нЄўЁў «Ґ­в­ п Ґ©
Є®¬ ­¤  DELETE FILE <€¬п д ©«  б а биЁаҐ­ЁҐ¬>. ЂаЈг¬Ґ­в Є®¬ ­¤ ¬®¦Ґв
ўЄ«оз вм Ё Їгвм Є д ©«г.
‚ п§лЄ е FOXPRO Ё CLIPPER Ґбвм 2 Є®¬ ­¤л Є®ЇЁа®ў ­Ёп д ©«®ў:
®¤­  Є®ЇЁагҐв  ЄвЁў­го Ѓ„ Ё Ўг¤Ґв а бᬮв७  Ї®§¤­ҐҐ, ¤агЈ п
ЇаЁ¬Ґ­Ё¬  Є ­Ґ®вЄалвл¬ (§ Єалвл¬) д ©« ¬ «оЎ®Ј® вЁЇ :
COPY <€¬п Ёб室­®Ј® д ©«  б а биЁаҐ­ЁҐ¬> TO <€¬п д ©« -Є®ЇЁЁ б
а биЁаҐ­ЁҐ¬>. „ ­­ п Є®¬ ­¤  ­ҐЇаЁЈ®¤­  ¤«п Є®ЇЁа®ў ­Ёп Ѓ„ б
MEMO-Ї®«п¬Ё. …б«Ё ЇҐаҐ¤ ЇаЁ¬Ґ­Ґ­ЁҐ¬ «оЎ®© Ё§ 2 Є®¬ ­¤ Є®ЇЁа®ў ­Ёп
бгйҐбвў®ў « д ©« б Ё¬Ґ­Ґ¬ д ©« -Є®ЇЁЁ, ®­  ­­г«ЁагҐвбп ЎҐ§
ЇаҐ¤гЇаҐ¦¤Ґ­Ёп.
„агЈ п, "бЇҐжЁ «Ё§Ёагой пбп" ­  д ©« е Ѓ„ Є®¬ ­¤  Є®ЇЁа®ў ­Ёп
COPY TO <€¬п д ©« -Є®ЇЁЁ> FIELDS<‘ЇЁб®Є Ї®«Ґ©> <ѓа ­Ёжл> <“б«®ўЁп>
<ЏаҐ¤бв ў«Ґ­ЁҐ>, Є®ЇЁагҐв ­Ґ в®«мЄ® .DBF-д ©«, ­® Ё Memo-д ©«
(Ґб«Ё ў Ѓ„ Ё¬Ґовбп MEMO-Ї®«п). ” ©«-Є®ЇЁп ¬®¦Ґв Ўлвм Ў §®© ¤ ­­ле
Ё«Ё ASCII-д ©«®¬, д®а¬  § ЇЁбЁ ¤ ­­ле ў Є®в®ал© ®ЇаҐ¤Ґ«пҐвбп
­Ґ®Ўп§ вҐ«м­л¬  ваЁЎг⮬ <ЏаҐ¤бв ў«Ґ­ЁҐ>. Љ®ЇЁаговбп Ї®«п, гЄ § ­­лҐ
ў бЇЁбЄҐ Ї®«Ґ©. …б«Ё  ваЁЎгв FIELDS <‘ЇЁб®Є Ї®«Ґ©> ®вбгвбвўгҐв,
Є®ЇЁаговбп ўбҐ Ї®«п. …б«Ё Є®ЇЁа®ў ­ЁҐ Їа®Ёб室Ё«® ЇаЁ ўЄ«о祭­®¬
Ё­¤ҐЄбҐ, § ЇЁбЁ ў Є®ЇЁЁ а §¬Ґй овбп ў Ї®ап¤ЄҐ, § ¤ ­­®¬ Ё­¤ҐЄб®¬.
ЏаЁ а Ў®вҐ б Ѓ„ б«Ґ¤гҐв Ё§ЎҐЈ вм ­Ґ®Ўа вЁ¬ле, Ї®вҐ­жЁ «м­®
®Ї б­ле ¤Ґ©бвўЁ©. Џ®н⮬㠭Ґ ४®¬Ґ­¤гҐвбп ЇаЁ¬Ґ­пвм Є®¬ ­¤г PACK,
гЇ«®в­пойго .DBF-д ©« Їг⥬ Ё§кпвЁп § ЇЁбҐ©, Ї®¬ҐзҐ­­ле ­  г¤ «Ґ­ЁҐ.
ЌҐЇ®« ¤ЄЁ б н«ҐЄва®ЇЁв ­ЁҐ¬, б«гз ©­®Ґ ®вЄ«о祭ЁҐ ќ‚Њ ¬®Јгв ЇаЁўҐбвЁ
Є гва вҐ ¤ ­­ле ЇаЁ ҐҐ ўлЇ®«­Ґ­ЁЁ. „агЈ п ЇаЁзЁ­  - Є®¬ ­¤  PACK
п§лЄ  CLIPPER ­Ґ гЇ«®в­пҐв Memo-д ©«. ЏаҐ¤« Ј Ґвбп ЁбЇ®«м§®ў вм
Є®¬ ­¤г COPY TO.
ЏаЁ¬Ґа 3.18. Ѓ«®Є гЇ«®в­Ґ­Ёп Ў §л ¤ ­­ле, ўЄ«оз п Memo-д ©«.

* Ѓ«®Є ­ ЇЁб ­ ¤«п CLIPPER, ¤«п FOXPRO ­ ¤® ў 4 бва®Є е § ¬Ґ­Ёвм
* ".DBT" ­  ".FPT"; бва®ЄЁ, Ј¤Ґ ­г¦­л § ¬Ґ­л, б¤ўЁ­гвл ўЇа ў®
* Ѓ«®Є Allpack ­ Ґ б « Ґ ¤ г Ґ в ЇаЁ¬Ґ­пвм Є ® в Є а л в ® © Ѓ„

FUNCTION AllPack
PARAM DBName && €¬п Ѓ„ ў ўЁ¤Ґ бва®ЄЁ ЎҐ§ а биЁаҐ­Ёп
PRIVATE A, R
R = Select() && ‡ Ї®¬Ё­ ­ЁҐ ⥪г饩 а Ў®зҐ© ®Ў« бвЁ
A = DBName + ".DBF"
RENAME &A TO _Vrem.DBF && ЏҐаҐЁ¬Ґ­®ў ­ЁҐ Ёб室­®Ј® .DBF-д ©« 
A = DBNAME + ".DBT"
IF File(A) && Џа®ўҐаЄ  ­ «ЁзЁп MEMO-Ї®«Ґ© ў Ѓ„
RENAME &A TO _Vrem.DBT && ЏҐаҐЁ¬Ґ­®ў ­ЁҐ Ёб室­®Ј® MEMO-д ©« 
ENDIF
SELECT 0 && ЏҐаҐЄ«о祭ЁҐ ­  ЇҐаўго бў®Ў®¤­го ®Ў« бвм
USE _Vrem && ЋвЄалвЁҐ Ёб室­®© Ў §л ¤ ­­ле
COPY TO &DBName FOR .NOT.Deleted() && Љ®ЇЁа®ў ­ЁҐ б® б¦ вЁҐ¬
USE && ‡ ЄалвЁҐ Ёб室­®© Ў §л ¤ ­­ле
ERASE _Vrem.DBF && “¤ «Ґ­ЁҐ Ёб室­®Ј® .DBF-д ©« 
IF File("_Vrem.DBT")
ERASE _Vrem.DBT && “¤ «Ґ­ЁҐ Ёб室­®Ј® MEMO-д ©« 
ENDIF
SELECT (R) && ‚®§ўа в Є ЇаҐ¦­Ґ© а Ў®зҐ© ®Ў« бвЁ
RETURN
…б«Ё  ў аЁ©­®Ґ ®вЄ«о祭ЁҐ ќ‚Њ Їа®Ё§®©¤Ґв ЇаЁ а Ў®вҐ Ў«®Є , в®
Ёб室­ п Ѓ„ б®еа ­Ёвбп «ЁЎ® Ї®¤ ЇҐаў®­ з «м­л¬ Ё¬Ґ­Ґ¬, «ЁЎ® Ї®¤
Ё¬Ґ­Ґ¬ _Vrem. Џ®б«Ґ гЇ«®в­Ґ­Ёп Ѓ„ ­г¦­® ў®бᮧ¤ вм Ё­¤ҐЄбл (Ґб«Ё ®­Ё
бгйҐбвў®ў «Ё) Є®¬ ­¤®© REINDEX, ®вЄалў Ѓ„ б® бЇЁбЄ®¬ Ё­¤ҐЄб®ў.
Ѓ«Ё§Є  Ї® ­ §­ зҐ­Ёо Є Є®¬ ­¤ ¬ Є®ЇЁа®ў ­Ёп Є®¬ ­¤  APPEND FROM:
APPEND FROM <Ѓ„> <ЋЎ« бвм ¤Ґ©бвўЁп> FIELDS<‘ЇЁб®Є Ї®«Ґ©> <“б«®ўЁп>.
Ћ­  ®вЄалў Ґв д ©«-Ёбв®з­ЁЄ <Ѓ„> (Ґб«Ё нв  <Ѓ„> Ўл«  ®вЄалв  ¤® Є®¬ ­¤л
APPEND, б«Ґ¤гҐв ЇаҐ¤ў аЁвҐ«м­® § Єалвм ҐҐ) Ё ЁбЇ®«м§гҐв ҐЈ® § ЇЁбЁ
¤«п ᮧ¤ ­Ёп ᮮ⢥вбвўго饣® зЁб«  ­®ўле, ¤®Ў ў«пҐ¬ле ў Є®­Ґж
 ЄвЁў­®© Ѓ„. …б«Ё бЇЁб®Є Ї®«Ґ© ­Ґ § ¤ ­, в® § ЇЁбЁ Є®ЇЁаговбп ®¤­  Є
®¤­®©, Ё­ зҐ Є®ЇЁаговбп §­ зҐ­Ёп в®«мЄ® гЄ § ­­ле Ї®«Ґ© д ©« -Ёбв®з­ЁЄ ,
Ё­лҐ Ї®«п (Ґб«Ё ®­Ё Ґбвм) ў ­®ў®© § ЇЁбЁ ­Ґ § Ї®«­повбп. ЏаЁ § ¤ ­­®¬
FOR-гб«®ўЁЁ § ЇЁбЁ Ё§ ®Ў« бвЁ ¤Ґ©бвўЁп (Ї® 㬮«з ­Ёо - ўҐбм д ©«-Ёбв®з­ЁЄ)
®вЎЁа овбп Ї® н⮬г гб«®ўЁо. ЂаЈг¬Ґ­в <Ѓ„> ¬®¦Ґв Ўлвм § ¤ ­ ў ўЁ¤Ґ
«ЁвҐа «  (Ё¬Ґ­Ё Ѓ„ Ё«Ё Ё¬Ґ­Ё ASCII-д ©« ) «ЁЎ® ў ўЁ¤Ґ ( <‚лаC> ).
…б«Ё  ЄвЁў­ п Ѓ„ Ўл«  Їгбв®©, Ё¬ҐҐв ¬Ґбв® ®Ўллз­®Ґ Є®ЇЁа®ў ­ЁҐ.
Љ®¬ ­¤л Є®ЇЁа®ў ­Ёп ­ҐаҐ¤Є® ЇаЁ¬Ґ­пов ¤«п ᮧ¤ ­Ёп а Ў®зҐ© Ѓ„
Ї®¤ Є®­ЄаҐв­го § ¤ зг (Ї®¤§ ¤ зг), ®вЎЁа п ў Ѓ„ «Ёим ­г¦­лҐ ¤ ­­лҐ
Ё б®Єа й п ўаҐ¬п ®Ўа Ў®вЄЁ ¤ ­­ле §  бзҐв 㬥­м襭Ёп а §¬Ґа®ў Ѓ„.
‡ ¤ ­ЁҐ 3.8. ‘®§¤ ©вҐ Їгбвго Ѓ„ Rab1 б Ї®«п¬Ё Famil (д ¬Ё«Ёп
Ё Ё­ЁжЁ «л «Ёз­®бвЁ), Dtr (¤ в  ஦¤Ґ­Ёп), NumD (зЁб«® ¤ҐвҐ©). ‘
Ї®¬®ймо Є®¬ ­¤л APPEND FROM ЇҐаҐ­ҐбЁвҐ ў Rab1 ¤ ­­лҐ Ё§ Ѓ„ Kadr
(ЇаЁ¬Ґа 3.3) Ё гЎҐ¤ЁвҐбм ў Їа ўЁ«м­®бвЁ ЇҐаҐ­®б , ўлЇ®«­Ёў LIST
(Ї®«Ґ NumD ®бв Ґвбп Їгбвл¬).

3.9. ‚лЇ®«­пҐ¬ б®авЁа®ўЄг § ЇЁбҐ© Ў §л ¤ ­­ле

‘®авЁа®ўЄ  Ѓ„ ўлЇ®«­пҐвбп Їг⥬ ᮧ¤ ­Ёп ­®ў®© Ѓ„, ў Є®в®а®©
дЁ§ЁзҐбЄ®Ґ а §¬ҐйҐ­ЁҐ § ЇЁбҐ© ᮮ⢥вбвўгҐв § ¤ ­­®¬г ЇаЁ­жЁЇг. Џ®
㬮«з ­Ёо зЁб«®ўлҐ Ї®«п гЇ®а冷稢 овбп Ї® ў®§а бв ­Ёо, ¤ вл - ў
еа®­®«®ЈЁзҐбЄ®¬ Ї®ап¤ЄҐ, бва®ЄЁ Ї®«гз ов "б«®ў а­го"
Ї®б«Ґ¤®ў вҐ«м­®бвм,   Ї®а冷Є «®ЈЁзҐбЄЁе §­ зҐ­Ё© в Є®ў: б­ з «  .F.,
§ вҐ¬ .T..
‘®авЁа®ўЄ  - ўаҐ¬пҐ¬ЄЁ© Їа®жҐбб, 㦥 Ї®н⮬г ४®¬Ґ­¤гов
ЇаЁ¬Ґ­пвм ҐҐ ०Ґ,   з йҐ - Ё­¤ҐЄбЁа®ў ­ЁҐ. ‚Є«о祭ЁҐ ­®ўле § ЇЁбҐ©
ў а ­ҐҐ ®вб®авЁа®ў ­­го Ѓ„ в Є¦Ґ Їа®ЁЈалў Ґв Ї® ўаҐ¬Ґ­Ё Ёе ўЄ«о祭Ёо
ў Ё­¤ҐЄб, ЇаЁзҐ¬ «Ёим Ї®б«Ґ¤­оо а Ў®вг бЁб⥬  ЎҐаҐв ­  ᥡп.
Џ®н⮬㠢 Ў®«миЁе Ѓ„ б®авЁа®ўЄ  ®Їа ў¤ ­ , «Ёим Є®Ј¤  ¤ ­­лҐ
®в­®бЁвҐ«м­® бв вЁз­л,   ᮧ¤ ў Ґ¬ п гЇ®а冷祭­®бвм § ЇЁбҐ©
ЁбЇ®«м§гҐвбп ў® ¬­®ЈЁе § ¤ з е Ё«Ё ¤«ЁвҐ«м­®Ґ ўаҐ¬п. ЏаЁ н⮬
¤агЈЁҐ ў аЁ ­вл Ёе гЇ®а冷祭­®бвЁ ®ЎҐбЇҐзЁў овбп Ё­¤ҐЄбЁа®ў ­ЁҐ¬ Ѓ„.
Ќг¦­® в Є¦Ґ Ё¬Ґвм ў ўЁ¤г, зв® б®авЁа®ўЄҐ вॡгҐвбп १Ґаў Ї ¬пвЁ
­  ¤ЁбЄҐ, ў¤ў®Ґ Ў®«миЁ©, 祬 Ї ¬пвм, § ­пв п Ёб室­®© Ѓ„.
‘®авЁа®ўЄг § ЇЁбҐ©  ЄвЁў­®© Ѓ„ ўлЇ®«­пҐв Є®¬ ­¤ 
SORT ON <‘ЇЁб®Є Ї®«Ґ©> TO <€¬п ­®ў®© Ѓ„> <ѓа ­Ёжл> <“б«®ўЁп> .
ќ«Ґ¬Ґ­в бЇЁбЄ  Ї®«Ґ© ¬®¦Ґв б®Їа®ў®¦¤ вм  ваЁЎгв /A (б®авЁа®ўЄ  Ї®
ў®§а бв ­Ёо зЁбҐ«, ¤ в Ё в.Ї.), /D (б®авЁа®ўЄ  Ї® гЎлў ­Ёо) Ё«Ё /‘
(б®авЁа®ўЄ  бЁ¬ў®«м­®Ј® Ї®«п, ­Ґ гзЁвлў ой п ॣЁбва ЎгЄў). ЂваЁЎгв
/A ¬®¦­® ­Ґ ЇЁб вм,  ваЁЎгв /DC ᮥ¤Ё­пҐв б¬лб« ¤ўге  ваЁЎгв®ў.
Џ®а冷Є Ї®«Ґ© ў <‘ЇЁбЄҐ Ї®«Ґ©> Ё¬ҐҐв §­ зҐ­ЁҐ: ЇҐаў®Ґ
Ї®«Ґ бзЁв Ґвбп Ј« ў­л¬, ЇаЁ®аЁвҐв б«Ґ¤гойЁе - гЎлў Ґв.
“Ї®а冷祭­®бвм Ї® Ј« ў­®¬г Ї®«о - Ј«®Ў «м­ п, Ї® ®бв «м­л¬ -
«®Є «м­ п, ў ЇаҐ¤Ґ« е Ї®¤¬­®¦Ґбвў § ЇЁбҐ©.
ЏаЁ¬Ґа 3.19. Ќг¦­® ў Ѓ„ Kadr (б¬. ЇаЁ¬Ґа 3.3) а §¬ҐбвЁвм
§ ЇЁбЁ ЈагЇЇ ¬Ё, ®в¤Ґ« §  ®в¤Ґ«®¬ (Ј«®Ў «м­л© Ї®а冷Є),   ў Є ¦¤®©
ЈагЇЇҐ - а §¤Ґ«м­® "¬г¦бЄЁҐ" Ё "¦Ґ­бЄЁҐ" § ЇЁбЁ («®Є «м­л© Ї®а冷Є).
"Њг¦бЄЁҐ" § ЇЁбЁ Ўг¤Ґ¬ а §¬Ґй вм ¤® "¦Ґ­бЄЁе",   Ї®бЄ®«мЄг §­ зҐ­ЁҐ
"Њ“†" Ї®«п Pol Ї®  «д ўЁвг Ё¤Ґв Ї®б«Ґ "†…Ќ", вॡгҐвбп  ваЁЎгв /D;
зв®Ўл ЁбЄ«озЁвм ў«Ёп­ЁҐ ॣЁбва  ЎгЄў, гЄ ¦Ґ¬ Ё  ваЁЎгв /C (Ґб«Ё
ў¬Ґбв® §­ зҐ­Ё© "Њ“†","†…Ќ" § ЇЁб ­л "¬г¦","¦Ґ­", нв® ­Ґ Ї®ў«ЁпҐв).

*** ЏаЁ б®авЁа®ўЄҐ Їа®Ја ¬¬  § ®¤­® гЇ«®в­пҐв .DBF-д ©«
USE Kadr
SET DELETED ON && „Ґ« Ґ¬ ­ҐўЁ¤Ё¬л¬Ё § ЇЁбЁ,Ї®¬ҐзҐ­­лҐ ­  г¤ «Ґ­ЁҐ
SORT ON Otdel/C, Pol/DC TO _Temp && _Temp - Ё¬п ўаҐ¬Ґ­­®© Ѓ„
USE && ‡ Єалў Ґ¬ Ѓ„ Kadr
COPY FILE _Temp.dbf TO Kadr.dbf && ‡ ¬Ґ­пҐ¬ ЇаҐ¦­ҐҐ ᮤҐа¦ ­ЁҐ Ѓ„
ERASE _Temp.dbf && ‘вЁа Ґ¬ а Ў®зго Ѓ„ _Temp

‡ ¬ҐвЁ¬, зв® Ё¬ҐўиЁҐбп ЇаҐ¦¤Ґ Ё­¤ҐЄбл Ѓ„ Kadr ­ ¤® ў®бᮧ¤ вм,
ўлЇ®«­Ёў Є®¬ ­¤л USE Kadr INDEX <‘ЇЁб®Є Ё­¤ҐЄб®ў>, REINDEX.
€в Є, б®авЁа®ўЄ  Ї® бЇЁбЄг Ї®«Ґ©, а ў­® Є Є Ё Ё­¤ҐЄбЁа®ў ­ЁҐ
Ї® б®бв ў­®¬г Є«озг, Ї®§ў®«пҐв Ї®«гзЁвм Ї®б«Ґ¤®ў вҐ«м­®бвм § ЇЁбҐ©
Ѓ„ б ЁҐа аеЁзҐбЄ®© (­Ґ пў­®©) бвагЄвга®©. ‘®авЁа®ўЄ  ¬®¦Ґв Ўлвм
ўлЇ®«­Ґ­  ЎҐ§ Є®¬ ­¤л SORT, Є®ЇЁа®ў ­ЁҐ¬ Їа®Ё­¤ҐЄбЁа®ў ­­®©
ᮮ⢥вбвўгойЁ¬ ®Ўа §®¬ Ѓ„ ЇаЁ гб«®ўЁЁ, зв® нв®в Ё­¤ҐЄб - ўҐ¤гйЁ©.
„«п 㢥«ЁзҐ­Ёп "ЇаЁў«ҐЄ вҐ«м­®бвЁ" Є®¬ ­¤л SORT п§лЄ FOXPRO
ЇаҐ¤гб¬ ваЁў Ґв ¤®Ї®«­ЁвҐ«м­л© ҐҐ  ваЁЎгв: FIELDS <‘ЇЁб®Є Ї®«Ґ© ­®ў®©
Ѓ„>. Џ®«гз Ґвбп, зв® ЇаЁ б®авЁа®ўЄҐ ¬л ¬®¦Ґ¬ б®Єа й вм в Ў«Ёжг (Ѓ„)
Ї® «оЎ®¬г Ё§¬ҐаҐ­Ёо. Њ®Јгв Ўлвм гЄ § ­л Ї®«п Ё§ ¤®зҐа­Ёе Ѓ„ Ї®
®в­®иҐ­Ёо Є  ЄвЁў­®© Ѓ„, ҐбвҐб⢥­­®, гв®з­Ґ­­лҐ  «Ё б®¬ Ё«Ё Ё¬Ґ­Ґ¬
Ѓ„. „«п ўбв ўЄЁ ў а ­ҐҐ ®вб®авЁа®ў ­­го Ѓ„ ­®ўле § ЇЁбҐ© ў FOXPRO
ЁбЇ®«м§гов Є®¬ ­¤г INSERT, ­® ¬Ґбв® ўбв ўЄЁ ®ЇаҐ¤Ґ«пҐв Ї®«м§®ў вҐ«м.
‡ ¤ ­ЁҐ 3.9. ‘®бв ўЁвм ­®ўл© ў аЁ ­в Їа®Ја ¬¬л ЇаЁ¬Ґа  3.19.
‚ ­Ґ©  ) Їа®Ё­¤ҐЄбЁа®ў вм Ѓ„ Kadr Ї® б®бв ў­®¬г Є«озг (Ї®«п Otdel,
Pol); Ў) бЄ®ЇЁа®ў вм Ѓ„ Kadr; ў) г¤ «Ёвм Ѓ„ Kadr; Ј) ЇҐаҐЁ¬Ґ­®ў вм
Є®ЇЁо, гЄ § ў Kadr Є Є ­®ў®Ґ Ё¬п.

3.10. ЋЎҐбЇҐзЁў Ґ¬ ў§ Ё¬®¤Ґ©бвўЁҐ Ў § ¤ ­­ле

€§ Ј«. 2 ўл §­ ҐвҐ, Є Є гбв ­ ў«Ёў вм ᮮ⢥вбвўЁҐ § ЇЁбҐ©
¬ вҐаЁ­бЄ®© Ё ¤®зҐа­Ёе Ѓ„. Ља®¬Ґ в®Ј®, ў ¬ Ё§ўҐбв­®, зв® Ї®«п
®вЄалвле Ѓ„, гв®з­Ґ­­лҐ  «Ё б ¬Ё Ё«Ё Ё¬Ґ­ ¬Ё Ѓ„, ¬®Јгв ЁбЇ®«м§®ў вмбп
б®ў¬Ґбв­®. ‡¤Ґбм ¦Ґ ¬л а бᬮваЁ¬ ¤ўҐ Є®¬ ­¤л б ­Ґпў­л¬ жЁЄ«®¬,
ॠ«Ё§гойЁҐ ¬ бб®ўго ®Ўа Ў®вЄг § ЇЁбҐ©.
Љ®¬ ­¤  JOIN ®бгйҐбвў«пҐв ў§ Ё¬®¤Ґ©бвўЁҐ  ЄвЁў­®© Ѓ„ (Ѓ„1) Ё
¤агЈ®© ®вЄалв®© Ѓ„ (Ѓ„2), д®а¬Ёагп ­  Ёе ®б­®ўҐ ­®ўго Ѓ„ Їг⥬
Ї®бв஥­Ёп § ЇЁбЁ Ё§ Є ¦¤®© Ї ал (§ ЇЁбм Ѓ„1, § ЇЁбм Ѓ„2),
㤮ў«Ґвў®апо饩 FOR-гб«®ўЁо, гЄ § ­­®¬г ў Є®¬ ­¤Ґ JOIN:
JOIN WITH <ЋЎ« бвм> TO<Ќ®ў п Ѓ„> <FOR-гб«®ўЁҐ> FIELDS<‘ЇЁб®Є Ї®«Ґ©>
ЂваЁЎгв <ЋЎ« бвм> (а Ў®з п ®Ў« бвм Ў §л Ѓ„2) ¬®¦Ґв Ўлвм § ¤ ­
­®¬Ґа®¬ ®Ў« бвЁ,   в Є¦Ґ  «Ё б®¬ Ё«Ё Ё¬Ґ­Ґ¬ Ѓ„2. ‚ <‘ЇЁбЄҐ Ї®«Ґ©>
¬®Јгв гЄ §лў вмбп Ї®«п Ѓ„1 Ё Ѓ„2 (Ї®«п Ѓ„2 - б гв®з­Ґ­ЁҐ¬ Ё¬Ґ­Ё).
…б«Ё  ваЁЎгв FIELDS<‘ЇЁб®Є Ї®«Ґ©> ­Ґ § ¤ ­, ў ­®ўго Ѓ„
ўЄ«оз овбп ўбҐ Ї®«п ¤ўге Ёб室­ле Ѓ„.
ЏаЁ¬Ґа 3.20. ‚ Ѓ„ Student Ё¬Ґовбп Ї®«п Famil, Pol, Fak
(д Єг«мвҐв), Spec (бЇҐжЁ «м­®бвм) Ё ¤а., ЇаЁзҐ¬ бЇҐжЁ «м­®бвм § ¤ ­ 
иЁд஬. ‚ Ѓ„ SpecBD Ё¬Ґовбп Ї®«п Shifr (иЁда бЇҐжЁ «м­®бвЁ, Є Є Ё
ў Ї®«Ґ Spec Ѓ„ Student), Name (­ §ў ­ЁҐ бЇҐжЁ «м­®бвЁ). „«п ўлў®¤ 
д®а¬л, ў Є®в®а®© д ¬Ё«Ёп бв㤥­в  б®Їа®ў®¦¤ Ґвбп ­ §ў ­ЁҐ¬
бЇҐжЁ «м­®бвЁ, ¬л ¬®Ј«Ё Ўл гбв ­®ўЁвм бўп§м ¤ўге Ѓ„ (SET RELATION).
Ђ«мвҐа­ вЁў®© пў«пҐвбп ᮧ¤ ­ЁҐ а Ў®зҐ© Ѓ„ _Temp б Ї®«п¬Ё Famil,
Pol, Fak, Name:
USE SpecBD && ЋвЄалў Ґ¬ Ѓ„ б а биЁда®ўЄ®© бЇҐжЁ «м­®бвЁ
SELECT 2 && Ќ §­ з Ґ¬ а Ў®зго ®Ў« бвм ¤«п Ѓ„ Student
USE Student
JOIN WITH SpecBD TO _Temp FOR Spec = SpecBD->Shifr ;
FIELDS Famil, Pol, Fak, SpecBD->Name
Љ®¬ ­¤  JOIN ўлЇ®«­пҐв ¤ўгЄа в­л© ЇҐаҐЎ®а § ЇЁбҐ©, а бб¬ ваЁў п
ў 室Ґ ЇҐаҐЎ®а  N*M § ЇЁбҐ©, Ј¤Ґ N, M - Є®«ЁзҐбвў  § ЇЁбҐ©
Ёб室­ле Ѓ„. ‚ § ўЁбЁ¬®бвЁ ®в е а ЄвҐа  FOR-гб«®ўЁп зЁб«® § ЇЁбҐ©
­®ў®© Ѓ„ ¬®¦Ґв ®Є § вмбп «оЎл¬, ў з бв­®бвЁ, Ў«Ё§ЄЁ¬ Є ЇаҐ¤Ґ«г N*M.
…б«Ё, ­ ЇаЁ¬Ґа, N = M =1000, в® ¬®¦Ґв Ўлвм ᮧ¤ ­® ¤® ¬Ё««Ё®­ 
§ ЇЁбҐ©. ЌҐг¬Ґ«®Ґ ЇаЁ¬Ґ­Ґ­ЁҐ JOIN ў Ў®«миЁе Ѓ„ з бв® ўҐ¤Ґв Є
ЇҐаҐа б室㠢६Ґ­Ё Ё ¤ЁбЄ®ў®© Ї ¬пвЁ. ‚ п§лЄҐ FOXPRO ४®¬Ґ­¤гҐвбп
ЁбЇ®«м§®ў вм ­Ґ JOIN,   Ў®«ҐҐ нд䥪⨢­го Ё ЈЁЎЄго Є®¬ ­¤г SELECT.
Љ®¬ ­¤  UPDATE ЁбЇ®«м§гҐв ўбв஥­­го Є®¬ ­¤г REPLACE (б¬.
Ї.3.3) ¤«п ®Ў­®ў«Ґ­Ёп ¤ ­­ле  ЄвЁў­®© Ѓ„ (Ѓ„1) ¤ ­­л¬Ё ¤агЈ®©
®вЄалв®© Ѓ„ (Ѓ„2), ЇаЁзҐ¬ ў ®Ў­®ў«Ґ­ЁЁ § ЇЁбЁ б Є«о箬 K гз бвўгҐв
ЈагЇЇ  § ЇЁбҐ© Ѓ„2, Є«оз Є®в®але Ё¬ҐҐв §­ зҐ­ЁҐ K. ЂЄвЁў­ п
(®Ў­®ў«пҐ¬ п) Ѓ„ ¤®«¦­  Ўлвм Їа®Ё­¤ҐЄбЁа®ў ­  Ё«Ё ®вб®авЁа®ў ­ 
Ї® н⮬㠪«озг, зв® ¦Ґ« вҐ«м­® Ё ¤«п Ѓ„2 (гбЄ®апҐвбп ®Ўа Ў®вЄ ).
…б«Ё ¦Ґ Ѓ„2 ­Ґ гЇ®а冷祭 , нв® ®Ў®§­ з ов  ваЁЎг⮬ RANDOM;
¤«п ®вЎ®а  § ЇЁбҐ© б ®¤Ё­ Є®ўл¬ Є«о箬 ўлЇ®«­пҐвбп Їа®бв®© ЇҐаҐЎ®а.
Љ®¬ ­¤  UPDATE Ё¬ҐҐв б«Ґ¤гойго бвагЄвгаг:
UPDATE ON <Љ«оз> FROM <ЋЎ« бвм> <Љ®¬ ­¤  REPLACE> RANDOM .
Џ а ¬Ґва <ЋЎ« бвм> - нв® Ё¬п Ё«Ё  «Ё б Ѓ„.
ЏаЁ ®Ў­®ў«Ґ­ЁЁ ўбҐе § ЇЁбҐ© Ѓ„1 ®­Ё ¤®«¦­л Ё¬Ґвм г­ЁЄ «м­лҐ
§­ зҐ­Ёп Є«оз , Ё­ зҐ ®Ў­®ў«пҐвбп «Ёим ®¤­  § ЇЁбм (ЇҐаў п) ¤«п
Є ¦¤®Ј® §­ зҐ­Ёп Є«оз . ’ॡ®ў ­ЁҐ г­ЁЄ «м­®бвЁ Є«оз  ­  Ѓ„2 ­Ґ
а бЇа®бва ­пҐвбп. ‘Ёвг жЁп, Є®Ј¤  ¤«п § ЇЁбЁ Ѓ„1 ­Ґв Ї®¤е®¤п饩
§ ЇЁбЁ ў Ѓ„2, бзЁв Ґвбп ­®а¬ «м­®© (§ ЇЁбм Ѓ„1 ­Ґ ®Ў­®ў«пҐвбп).
ЏаЁ¬Ґа 3.21. ЋЎ­®ў«пҐ¬®© Ѓ„ пў«пҐвбп Ў §  Account б г­ЁЄ «м­л¬
Ї®«Ґ¬ Num (­®¬Ґа бзҐв  Є«ЁҐ­в ) Ё Ї®«Ґ¬ Sum (¤Ґ­Ґ¦­ п б㬬  ­  н⮬
бзҐвҐ). ЋЎ­®ў«Ґ­ЁҐ б®бв®Ёв ў б­пвЁЁ б® бзҐв®ў а б室®ў ­  ⥠Ё«Ё
Ё­лҐ Ї®ЄгЇЄЁ, ᢥ¤Ґ­Ёп ® Є®в®але ЇаҐ¤бв ў«Ґ­л Ї®«п¬Ё Ras (а б室) Ё
Num (­®¬Ґа бзҐв ) ў Ѓ„ Trati. ‚ нв®© Ѓ„ Ї®«Ґ Num ­Ґ г­ЁЄ «м­®, ЁЎ®
Є«ЁҐ­в ¬®¦Ґв ᤥ« вм ­ҐбЄ®«мЄ® Ї®ЄгЇ®Є.

USE Trati &&Ѓ„ ­Ґ Їа®Ё­¤ҐЄбЁа®ў ­  Ё ­Ґ ®вб®авЁа®ў ­  Ї® Є«озг Num
SELECT 2 && Ќ §­ з Ґ¬ а Ў®зго ®Ў« бвм ¤«п Ѓ„ Account
USE Account
INDEX ON Num TO NumAc
UPDATE ON Num FROM Trati RANDOM; && Љ®¬ ­¤  Їа®¤®«¦ Ґвбп ­Ё¦Ґ
REPLACE Sum WITH Sum - Trati->Ras
Ћ¤­  Є®¬ ­¤  REPLACE ¬®¦Ґв ®Ў­®ў«пвм Ё ­ҐбЄ®«мЄ® Ї®«Ґ© § ЇЁбЁ.
’ЁЇЁз­л¬ ЇаЁ¬Ґ­Ґ­ЁҐ¬ Є®¬ ­¤л UPDATE пў«пҐвбп ЇҐаҐ­®б ў Ёб室­го Ѓ„
१г«мв в®ў ®Ўа Ў®вЄЁ ­ҐЄ®в®а®Ј® ҐҐ Ї®¤¬­®¦Ґбвў  - а Ў®зҐ© Ѓ„.
‡ ¤ ­ЁҐ 3.10. Ќ  ®б­®ўҐ Ѓ„ Kadr (б¬. ЇаЁ¬Ґа 3.3) ᮧ¤ ©вҐ
а Ў®зго Ѓ„, ўЄ«озЁў ў ­ҐҐ гбҐзҐ­­лҐ "¬г¦бЄЁҐ" § ЇЁбЁ, ᮤҐа¦ йЁҐ
«Ёим Ї®«п Famil Ё Stag (бв ¦). Љ®¬ ­¤®© LIST ®бгйҐб⢨⥠Ёе ўлў®¤.
‡ вҐ¬ ў Є ¦¤®© § ЇЁбЁ а Ў®зҐ© Ѓ„ 㢥«Ёзм⥠§­ зҐ­ЁҐ Ї®«п Stag ­  1.
Љ®¬ ­¤®© UPDATE ЇҐаҐ­ҐбЁвҐ §­ зҐ­Ёп Ї®«п Stag ў Ёб室­го Ѓ„ Ё
ўлўҐ¤ЁвҐ ­  ¤ЁбЇ«Ґ© Ї®«п Famil, Stag ¤«п "¬г¦бЄЁе" § ЇЁбҐ©, зв®Ўл
гЎҐ¤Ёвмбп ў Їа ўЁ«м­®© а Ў®вҐ Їа®Ја ¬¬л.

3.11. Џа®Ја ¬¬­® ᮧ¤ Ґ¬ Ё Ё§¬Ґ­пҐ¬
бвагЄвгаг Ў § ¤ ­­ле

Љ®ЇЁа®ў ­ЁҐ бвагЄвга Ѓ„ - а бЇа®бва ­Ґ­­л© б«гз ©. …б«Ё,
¤®ЇгбвЁ¬, а §¤Ґ«л Є ав®вҐЄЁ Є­Ё¦­®Ј® д®­¤  ЇаҐ¤бв ў«Ґ­л ®в¤Ґ«м­л¬Ё Ѓ„,
бвагЄвга  Ёе Ё¤Ґ­вЁз­ . ЏаЁ ®Ўа §®ў ­ЁЁ ­®ў®Ј® а §¤Ґ«  ¬®¦­®
ЇаЁ¬Ґ­Ёвм Є®¬ ­¤г COPY STRUCTURE TO <€¬п Ѓ„> FIELDS <‘ЇЁб®Є Ї®«Ґ©>,
ᮧ¤ ойго Їгбвго Ѓ„ б гЄ § ­­л¬ Ё¬Ґ­Ґ¬, Є®в®а п Ўг¤Ґв Ё¬Ґвм бвагЄвгаг
 ЄвЁў­®© Ѓ„ - Ѓ„ бгйҐбвўго饣® а §¤Ґ« . ‚ ­ иҐ¬ ЇаЁ¬ҐаҐ  ваЁЎгв FIELDS
­Ґ ­г¦Ґ­. Ћ­ ЁбЇ®«м§гҐвбп, Є®Ј¤  бвагЄвга  ­®ў®© Ѓ„ пў«пҐвбп
Ї®¤¬­®¦Ґбвў®¬ Ёб室­®©, Ё гЄ §лў Ґв ­Ґ®Ўе®¤Ё¬лҐ Ї®«п.
…б«Ё ¤ ­­ п ®ЇҐа жЁп Їа®Ё§ў®¤Ёвбп з бв®, Ё¬ҐҐв б¬лб« еа ­Ёвм
"нв «®­­го" бвагЄвгаг ў ўЁ¤Ґ Їгбв®© Ѓ„.
ЏаЁ¬Ґа 3.22. USE Etalon && ЋвЄалў Ґ¬ "нв «®­­го" Ѓ„
COPY STRUCTURE TO NewBD && ‘®§¤ Ґ¬ ­®ўго Їгбвго Ѓ„
< Ќ Ї®«­Ґ­ЁҐ NewBD >
…б«Ё бвагЄвга  § Ё¬бвўгҐвбп з бвЁз­® Ё ¤®Ї®«­пҐвбп (ЇаЁ н⮬,
ў®§¬®¦­®, ¬®¤ЁдЁжЁагҐвбп, ­ ЇаЁ¬Ґа, Ё§¬Ґ­пҐвбп а §¬Ґа Ї®«Ґ©), в®
б­ з «  § Ё¬бвў®ў ­­ п з бвм § Ї®¬Ё­ Ґвбп ў ўЁ¤Ґ "д ©« -¬ ЄҐв ",
§ вҐ¬, Ґб«Ё ­г¦­®, Їа®Ё§ў®¤пв ҐҐ Ё§¬Ґ­Ґ­ЁҐ, гбҐзҐ­ЁҐ, ¤®Ї®«­Ґ­ЁҐ,
  ¤ «ҐҐ - ᮧ¤ ов Ї® д ©«г-¬ ЄҐвг ­®ўго Ѓ„ (Їгбвго). ‚ д ©«Ґ-¬ ЄҐвҐ,
Є®в®ал© в Є¦Ґ пў«пҐвбп Ў §®© ¤ ­­ле, Є ¦¤ п § ЇЁбм ®ЇЁблў Ґв
Ї®«Ґ Ѓ„ Ё ўЄ«оз Ґв ў ᥡп б«Ґ¤гойЁҐ 4 Ї®«п:
Field_name (вЁЇ C, ¤«Ё­  10), ᮤҐа¦Ёв Ё¬п ®ЇЁблў Ґ¬®Ј® Ї®«п,
Field_type (вЁЇ C, ¤«Ё­  1), ᮤҐа¦Ёв вЁЇ ®ЇЁблў Ґ¬®Ј® Ї®«п,
Field_len (вЁЇ N, ¤«Ё­  3), ᮤҐа¦Ёв а §¬Ґа ®ЇЁблў Ґ¬®Ј® Ї®«п,
Field_dec (вЁЇ N, ¤«Ё­  4), ᮤҐа¦Ёв ¤«Ё­г ¤а®Ў­®© з бвЁ Ё«Ё ­®«м.
Љ®¬ ­¤  COPY STRUCTURE EXTENDED TO <€¬п д ©« -¬ ЄҐв >
Є®ЇЁагҐв (ЎҐ§ Ё§¬Ґ­Ґ­Ёп) бвагЄвгаг  ЄвЁў­®© Ѓ„ ў ᮧ¤ ў Ґ¬л©
 ўв®¬ вЁзҐбЄЁ д ©«-¬ ЄҐв. ‚л ¬®¦ҐвҐ ¤®Ї®«­Ёвм ҐЈ® Їгбвл¬Ё § ЇЁбп¬Ё
(Є®¬ ­¤  APPEND BLANK)   § вҐ¬ Є®¬ ­¤®© REPLACE ў­ҐбвЁ ў ­Ёе ®ЇЁб ­Ёп
¤®Ў ў«пҐ¬ле ў бвагЄвгаг Ї®«Ґ©.
Џгбв®© д ©«-¬ ЄҐв б Ё¬Ґ­Ґ¬ <‚лаC> ᮧ¤ Ґв Є®¬ ­¤  CREATE <‚лаC>,
ЁбЇ®«м§гҐ¬ п, Є®Ј¤  бвагЄвга  Ѓ„ ᮧ¤ Ґвбп "®в ­г«п". Џгбв®© д ©«-
¬ ЄҐв  ўв®¬ вЁзҐбЄЁ ®вЄалў Ґвбп ў ⥪г饩 а Ў®зҐ© ®Ў« бвЁ, § Єалў п
 ЄвЁў­го Ѓ„ (Ґб«Ё ®­  Ўл« ). ‚® Ё§ЎҐ¦ ­ЁҐ § ЄалвЁп ўлЇ®«­п©вҐ
ЇаҐ¤ў аЁвҐ«м­® Є®¬ ­¤г SELECT 0.
‘®§¤ ­ЁҐ ­®ў®© (Їгбв®©) Ѓ„ Ї® д ©«г-¬ ЄҐвг ўлЇ®«­пҐв Є®¬ ­¤ 
CREATE <€¬п ­®ў®© Ѓ„> FROM <€¬п д ©« -¬ ЄҐв > .
‘®§¤ ў Ґ¬ п Ѓ„  ўв®¬ вЁзҐбЄЁ ®вЄалў Ґвбп ў ⥪г饩 а Ў®зҐ© ®Ў« бвЁ.
ЏаЁ¬Ґа 3.23. Ќ  ®б­®ўҐ бвагЄвгал Ѓ„ Student ᮧ¤ Ґвбп Їгбв п
Ѓ„ Aspirant, ЇаЁзҐ¬ 5 Ё 7 Ї®«п Ёб室­®© бвагЄвгал ­Ґ ­г¦­л, ­® ­ ¤®
¤®Ў ўЁвм Ї®«Ґ Proc (Їа®жҐ­в Ј®в®ў­®бвЁ ¤ЁббҐав жЁЁ).
USE Student
COPY STRUCTURE EXTENDED TO Maket && ‘®§¤ Ґвбп д ©«-¬ ЄҐв
USE Maket
GO 5
DELETE && Џ®¬Ґз Ґ¬ ®ЇЁб ­ЁҐ 5 Ї®«п ­  г¤ «Ґ­ЁҐ
GO 7
DELETE && Џ®¬Ґз Ґ¬ ®ЇЁб ­ЁҐ 7 Ї®«п ­  г¤ «Ґ­ЁҐ
PACK && ”Ё§ЁзҐбЄЁ ЁбЄ«оз Ґ¬ ®ЇЁб ­Ёп 5 Ё 7 Ї®«п
APPEND BLANK && „®Ў ў«пҐ¬ ў Є®­Ґж ¬ ЄҐв  Їгбвго § ЇЁбм
REPLACE Field_name WITH "Proc", Field_type WITH "N", ;
Field_len WITH 2, Field_dec WITH 0
CREATE Aspirant FROM Maket && ‘®§¤ Ґвбп Ё бв ­®ўЁвбп  ЄвЁў­®© Ѓ„
< Ќ Ї®«­Ґ­ЁҐ Ѓ„ Aspirant >
‚®бЇ®«м§гҐ¬бп нвЁ¬ ЇаЁ¬Ґа®¬ ¤«п а §Ў®а  е а ЄвҐа­®© ®иЁЎЄЁ.
‘¤Ґ« Ґ¬ ў­Ґи­Ґ ЎҐ§®ЎЁ¤­®Ґ Ё§¬Ґ­Ґ­ЁҐ Їа®Ја ¬¬л, ўбв ўЁ¬ Є®¬ ­¤г
SELECT 0 ЇҐаҐ¤ CREATE ... FROM. ’ҐЇҐам Ѓ„ Aspirant Ўг¤Ґв ®вЄалв  ў
ЇҐаў®© бў®Ў®¤­®© ®Ў« бвЁ. Ќ® ў н⮬ б«гз Ґ Ѓ„ Maket ®Є §лў Ґвбп
­Ґ§ Єалв®©, Ё§¬Ґ­Ґ­Ёп бвагЄвгал ­Ґ ­ е®¤пв ®ва ¦Ґ­Ёп ў д ©«Ґ Ѓ„
Maket Ё ᮧ¤ Ґвбп Ѓ„ Aspirant б ­ҐўҐа­®© бвагЄвга®©. ‡ Єа®©вҐ Ѓ„
Maket ЇҐаҐ¤ ҐҐ ЁбЇ®«м§®ў ­ЁҐ¬ ¤«п ᮧ¤ ­Ёп Ѓ„, ­ ЇаЁ¬Ґа, ¤ ©вҐ
Є®¬ ­¤г USE. ‚ п§лЄҐ CLIPPER5.01  «мвҐа­ вЁў®© пў«пҐвбп ЁбЇ®«м§®ў ­ЁҐ
дг­ЄжЁЁ DBCommit().
€§¬Ґ­Ґ­ЁҐ бвагЄвгал ¤Ґ©бвўго饩 Ѓ„. Љ®¬ ­¤  COPY STRUCTURE
EXTENDED ¤ Ґв ў®§¬®¦­®бвм Ё§¬Ґ­Ґ­Ёп бвагЄвгал Ѓ„ ЎҐ§ гва вл ¤ ­­ле Ѓ„.
„®ЇгбвЁ¬, ў Ѓ„ Student 5 Ё 7 Ї®«п ЇҐаҐбв «Ё Ўлвм ­г¦­л¬Ё, ­® вॡгҐвбп
Ї®«Ґ Proc - Їа®жҐ­в ўлЇ®«­Ґ­Ёп г祡­®Ј® Ја дЁЄ . ЌҐ®Ўе®¤Ё¬го
­ ¬ а Ў®зго Ѓ„ ­ §®ўҐ¬ Aspirant. Ћбв Ґвбп ¤®Ї®«­Ёвм Їа®Ја ¬¬г ЇаЁ¬Ґа 
3.23 Є®¬ ­¤®© APPEND FROM Student (ЇҐаҐ­®б ¤ ­­ле ў а Ў®зго Ѓ„;
нв® Ё Ўг¤Ґв "Ќ Ї®«­Ґ­ЁҐ¬ Ѓ„ Aspirant"), Є®¬ ­¤®© г¤ «Ґ­Ёп Ёб室­®©
Ѓ„ ERASE Student.dbf Ё ЇҐаҐЁ¬Ґ­®ў ­Ёп - RENAME Aspirant.dbf TO
Student.dbf. Memo-д ©«, Ґб«Ё ®­ Ё¬ҐҐвбп, Ё§¬Ґ­Ґ­Ёп¬ ­Ґ Ї®¤ўҐаЈ «бп.
Ља®¬Ґ Ї®Є § ­­ле ў Їа®Ја ¬¬Ґ гбҐзҐ­Ёп Ё ¤®Ї®«­Ґ­Ёп бвагЄвгал,
ўл ¬®¦ҐвҐ Ё§¬Ґ­Ёвм ¤«Ё­г бЁ¬ў®«м­ле Ї®«Ґ© ў «оЎго бв®а®­г. ‚ ­®ў®©
Ѓ„ Ї®«Ґ Proc, ҐбвҐб⢥­­®, Ўг¤Ґв ­Ґ§ Ї®«­Ґ­­л¬. €§¬Ґ­Ґ­ЁҐ вЁЇ  Ї®«п
Їа®Ё§ў®¤пв ।Є®; нв®в б«®¦­л© б«гз © ¬®¤ЁдЁЄ жЁЁ Ѓ„ §¤Ґбм ­Ґ
а бб¬ ваЁў Ґвбп. ‚ Ї. 5.9 ¬л Їа®¤®«¦Ё¬ ⥬г ᮧ¤ ­Ёп Ё Ё§¬Ґ­Ґ­Ёп
бвагЄвга Ѓ„.
‡ ¤ ­ЁҐ 3.11. Џа®ўҐам⥠ў иҐ Ї®­Ё¬ ­ЁҐ ⥬л б«Ґ¤гойЁ¬ гЇа ¦­Ґ­ЁҐ¬:
ЁбЇ®«м§гп Є®¬ ­¤г CREATE Ё«Ё б Ї®¬®ймо гвЁ«Ёвл DBU, ᮧ¤ ©вҐ
бвагЄвгал ¤ўге Ѓ„ A Ё B, § вҐ¬ ­ Ї®«­ЁвҐ Ѓ„ A,   ¤ «ҐҐ, ЁбЇ®«м§гп
Є®¬ ­¤г COPY STRUCTURE EXTENDED, ᢥ¤ЁвҐ бвагЄвгал ў ®¤­г б Ї®¬®ймо
Є®¬ ­¤л APPEND FROM Ё ®вЄа®©вҐ Ѓ„, Ё¬Ґойго "бў®¤­го" бвагЄвгаг.
‡ вҐ¬ ЇҐаҐ­ҐбЁвҐ ў ­ҐҐ ¤ ­­лҐ Ѓ„ A.

‡ЂЉ‹ћ—…Ќ€… Љ 3-‰ ѓ‹Ђ‚…

…б«Ё ўл ўлЇ®«­Ё«Ё § ¤ ­Ёп ¤ ­­®© Ј« ўл ­  ќ‚Њ Ё Їа® ­ «Ё§Ёа®ў «Ё
ЇаЁ¬Ґал, ®вўҐвл Є § ¤ ­Ёп¬, ўл Ї®¤­п«Ёбм ­  2 бвгЇҐ­м ў ®ў« ¤Ґ­ЁЁ
Ў § ¬Ё ¤ ­­ле. "Џ®ўл襭ЁҐ Єў «ЁдЁЄ жЁЁ" Їа®Ё§®©¤Ґв ў а §¤Ґ« е Ї®
п§лЄ ¬ CLIPPER Ё FOXPRO. €§гзЁў г­ЁўҐаб «м­лҐ Ў«®ЄЁ (ЇЇ. 3.5, 3.8,
®вўҐв Є § ¤ ­Ёо 3.5), ­ з­ЁвҐ ᮧ¤ ­ЁҐ "ЎЁЎ«Ё®вҐЄЁ" в ЄЁе Ў«®Є®ў,
Ї®Ї®«­пп ҐҐ ­®ўл¬Ё Ў«®Є ¬Ё Ї® 室㠨§г祭Ёп б«Ґ¤гойЁе Ј« ў. ” ©« б
нвЁ¬Ё Ў«®Є ¬Ё ®Ў«ҐЈзЁв ў ¬ ॠ«Ё§ жЁо б«®¦­ле ЇаЁ¬Ґа®ў § ¤ з.
Соседние файлы в папке материалы по FoxPro