Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:БД книги 2 / материалы по FoxPro / GL23
.PAS ѓ‹Ђ‚Ђ 23
ђЂЃЋ’Ђ…Њ ‚ ‹ЋЉЂ‹њЌЋ‰ ‘…’€
Љ § «®бм Ўл, б®ў¬Ґб⮥ ЁбЇ®«м§®ў ЁҐ Ў § ¤ ле Ё
ЇҐаЁдҐаЁЁ - Ґб«®¦ п ўҐйм. Ћ¤ Є®, Є®Ј¤ Ї®«м§®ў ⥫Ё
ЁбЇ®«м§гов ®ЎйЁҐ аҐбгабл, Є®«ЁзҐбвў® ЇҐаҐе®¤Ёв ў Є зҐбвў®, ®Ўлз®
- ег¤иҐҐ. Ќ® ЁвҐЈа жЁп ¤ ле Ё бҐвЁ - Ґг¬®«Ё¬®Ґ вॡ®ў ЁҐ ўаҐ¬ҐЁ.
„ ¦Ґ ¤ўҐ Їа®Ја ¬¬л, Є®а४влҐ ЇаЁ Ґ¤Ё®«Ёз®¬ ў« ¤ҐЁЁ аҐбгаб ¬Ё,
ЇаЁ ўлЇ®«ҐЁЁ ў ०Ё¬Ґ а §¤Ґ«ҐЁп аҐбгаб®ў ¬®Јгв ᮧ¤ вм Їа®Ў«Ґ¬л.
‚ ¤ ®© Ј« ўҐ а бб¬ ваЁў Ґвбп бгйҐбвў® нвЁе Їа®Ў«Ґ¬ Ё п§лЄ®ў®Ґ
®ЎҐбЇҐзҐЁҐ а Ў®вл ў бҐвЁ. ђ бб¬ ваЁў Ґвбп Їа®бв п бҐвм Џќ‚Њ.
23.1. ‡ Є®¬Ё¬бп б «®Є «м®© бҐвмо Џќ‚Њ Ё вҐа¬Ё ¬Ё
‹®Є «м п бҐвм Ї®§ў®«пҐв ¤ўг¬ Ё«Ё Ў®«м襬г зЁб«г Ї®«м§®ў ⥫Ґ©
б®ў¬Ґбв® ЁбЇ®«м§®ў вм ¤ лҐ, ¤ЁбЄЁ Ё ЁлҐ ЇҐаЁдҐаЁ©лҐ гбва®©бвў .
‘®Ґ¤ЁҐЁҐ Џќ‚Њ ў бҐвм вॡгҐв гбв ®ўЄЁ бҐвҐў®Ј® Їа®Ја ¬¬®Ј®
®ЎҐбЇҐзҐЁп Ё ®Ў®а㤮ў Ёп: ®¤ Ї« в ў Є ¦¤®© Џќ‚Њ Ё ᮥ¤ЁЁвҐ«мл©
Є ЎҐ«м. „«п ЁбЇ®«м§®ў Ёп FOXPRO ў бҐвЁ вॡгҐвбп бҐвҐў п ўҐабЁп
FOXPRO - FOXPRO/LAN.
‚ Їа®бв®© бҐвЁ ®¤Ё Ј« ўл© Є®¬ЇмовҐа (‘ҐаўҐа «ЁЎ® ” ©«-бҐаўҐа)
ᮤҐа¦Ёв ўЁзҐбвҐаҐ бҐвҐў®Ґ Їа®Ја ¬¬®Ґ ®ЎҐбЇҐзҐЁҐ Ё д ©«л,
ЁбЇ®«м§гҐ¬лҐ ў ०Ё¬Ґ а §¤Ґ«ҐЁп ("а §¤Ґ«пҐ¬лҐ"): ў Їа®бв®© бҐвЁ
¤ўг¬ Ё Ў®«ҐҐ Ї®«м§®ў вҐ«п¬ а §аҐиҐ® ®вЄалў вм ®¤Ё Ё в®в ¦Ґ д ©«
‘ҐаўҐаҐ (” ©«-бҐаўҐаҐ) ¤«п а Ў®вл б ¤агЈЁе Џќ‚Њ бҐвЁ, §лў Ґ¬ле
а Ў®зЁ¬Ё бв жЁп¬Ё. Ћ¤ Є®, а §¤Ґ«ҐЁҐ д ©«®ў Ґ ўбҐЈ¤ ЇаЁҐ¬«Ґ¬®, Ё
Ї®н⮬㠯।гᬮвॠ⠪¦Ґ ¬®®Ї®«мл© аҐ¦Ё¬ ЁбЇ®«м§®ў Ёп д ©« .
ЏаҐ¤бв ўм⥠Ї®ЇҐаҐ¬Ґ®Ґ ЁбЇ®«м§®ў ЁҐ § ЇЁбҐ© а §¤Ґ«пҐ¬®© Ѓ„ Student,
ў Є®в®але гЄ § Єгаб ®Ўг票п, Їа®Ја ¬¬®©, ўла Ў влў о饩 ¤«п Є ¦¤®Ј®
Єгаб ®в¤Ґ«млҐ аҐ§г«мв вл, Ё Їа®Ја ¬¬®©, Ё§¬Ґпо饩 § зҐЁп Ї®«п
"Љгаб" ў бўп§Ё б ЇҐаҐў®¤®¬ бв㤥⮢ ®ўл© Єгаб. ЌҐ«ҐЇ®бвм в Є®Ј®
"а §¤Ґ«ҐЁп Ѓ„" ®зҐўЁ¤ . „ «ҐҐ аҐзм Ё¤Ґв ® а §¤Ґ«пҐ¬ле Ѓ„.
Ѓ„ ¬®¦® ®вЄалвм ў ¬®®Ї®«м®¬ ०Ё¬Ґ, Ґб«Ё ® Ґ ®вЄалв Ё
®¤®© ¤агЈ®© а Ў®зҐ© бв жЁЁ. •®вп Є®ЄгаЁагов Ё ўаҐ¬Ґ ¬Ё Є®д«ЁЄвгов
Ґ б ¬Ё Ї®«м§®ў ⥫Ё, ЁбЇ®«м§гойЁҐ а §¤Ґ«пҐ¬л© д ©« Їа®жҐббл,
Ї®а®¦¤ Ґ¬лҐ Ї®«м§®ў ⥫мбЄЁ¬Ё Їа®Ја ¬¬ ¬Ё, Ё§«®¦ҐЁҐ гЇа®й Ґвбп, Ґб«Ё
гЇ®¬Ё овбп Ї®«м§®ў ⥫Ё. Џ®«м§®ў ⥫м,Є®в®ал© ®вЄал« Ѓ„ ў ¬®®Ї®«м®¬
०Ё¬Ґ, Ґ¤Ё®«Ёз® ў« ¤ҐҐв Ґо, Ё Ї®Є ® Ґ § Єа®Ґв Ѓ„, ЁЄв® ¤агЈ®©
¤®бвгЇ Є Ґ© Ґ Ї®«гзЁв. ќв®в б ¬л© "нЈ®ЁбвЁзл©" ў аЁ в ®Ја ЁзҐЁп
¤®бвгЇ §лў ов Ї®«л¬ Ў«®ЄЁа®ў ЁҐ¬. …б«Ё д ©« ®вЄалв ў ०Ё¬Ґ
а §¤Ґ«ҐЁп, ЁЄв® Ґ ¬®¦Ґв гбв ®ўЁвм ¬®®Ї®«мл© аҐ¦Ё¬, ® ®¤Ё Ё§
Ї®«м§®ў ⥫Ґ© д ©« ¬®¦Ґв ҐЈ® § еў вЁвм (Ў«®ЄЁа®ў вм), Ї®б«Ґ 祣® ¤агЈЁ¬
Ї®«м§®ў вҐ«п¬ ҐЈ® § ЇЁбЁ бв ®ўпвбп ¤®бвгЇл «Ёим ў ०Ё¬Ґ з⥨п.
ђ §«Ёз ©вҐ Ў«®ЄЁа®ў ЁҐ Ё Ї®«®Ґ Ў«®ЄЁа®ў ЁҐ.
Ѓ«®ЄЁа®ў вм ¬®¦® Ё ўҐбм д ©«, Ё ®в¤Ґ«млҐ § ЇЁбЁ; ᤥ« вм нв®
¬®Јгв ҐбЄ®«мЄ® Ї®«м§®ў ⥫Ґ© (Є ¦¤л© § еў влў Ґв бў®о "¤®«о").
Џ®«м§®ў ⥫м, ўлЇ®«ЁўиЁ© Ў«®ЄЁа®ў ЁҐ, §лў Ґвбп ў« ¤Ґ«м楬 Ў«®ЄЁа®ў Ёп.
ђ §Ў«®ЄЁа®ў ЁҐ - нв® ®в¬Ґ Ў«®ЄЁа®ў Ёп. ‡ ЇЁбм ЇҐаҐ¤ ҐҐ Ё§¬ҐҐЁҐ¬
Ў«®ЄЁагов, ЁЎ® Ґв Ў®«ҐҐ бва и®© Є авЁл, 祬 ®¤®ўаҐ¬Ґ®Ґ Ё§¬ҐҐЁҐ
§ ЇЁбЁ ҐбЄ®«мЄЁ¬Ё Ї®«м§®ў ⥫ﬨ. Џ®б«Ґ Ё§¬ҐҐЁп § ЇЁбм 㦮 а §Ў«®ЄЁа®ў вм.
Џ®«м§®ў ⥫о, ¤®«Ј® ¬®®Ї®«Ё§Ёаго饬㠨«Ё Ў«®ЄЁаго饬㠁„,
४®¬Ґ¤гов бЁ¬ вм Є®ЇЁо Ѓ„ Ё ¤Ґ« вм б Ґ© ўбҐ, зв® § Ў« Ј®а ббг¤Ёвбп,
б ЇҐаҐалў ¬Ё з ҐЇЁвЁҐ, ®бв ўЁў Ёб室го Ѓ„ ў а бЇ®а殮ЁЁ ¤агЈЁе
Ї®«м§®ў ⥫Ґ©. ЏаЁ Ґ®Ўе®¤Ё¬®бвЁ ЇҐаҐҐбвЁ ў ҐҐ Ё§¬ҐҐЁп Ї®¬®¦Ґв
Є®¬ ¤ UPDATE.
ЏаҐ¤бв ўм⥠Ёго бЁвг жЁо: Ѓ„ § Ў«®ЄЁа®ў Ї®«м§®ў ⥫Ґ¬,
Їа®зЁҐ Ё«Ё а Ў®в ов б Ґ© ў ०Ё¬Ґ з⥨п, Ё«Ё ®¦Ё¤ ов а §Ў«®ЄЁа®ў Ёп.
…б«Ё Ўл Ї®«м§®ў ⥫м 㤮ў«Ґвў®аЁ«бп § еў в®¬ Ґ ўбҐ© Ѓ„, ®в¤Ґ«мле
§ ЇЁбҐ©, ў®§¬®¦®, Ґ ЇаЁи«®бм Ўл ¦¤ вм ¤агЈЁ¬. ЏаҐ¤бв ўм⥠¤ «ҐҐ, зв®
¤«п § ўҐа襨п а Ў®вл б Ѓ„ ЇҐаў®¬г Ї®«м§®ў ⥫о 㦥 ¤®бвгЇ Є ¤агЈ®©
Ѓ„, ® Єв®-в® "Ї®¦ ¤Ёз «" Ё ®вЄал« ҐҐ ў ¬®®Ї®«м®¬ ०Ё¬Ґ. ’ҐЇҐам
ЇаЁе®¤Ёвбп ¦¤ вм Ё Ґ¬г ( б Ё¬ Ё ¤агЈЁ¬). —в®Ўл "бЈгбвЁвм Єа бЄЁ",
¤®Ў ўЁ¬, зв® ўв®а®¬г ў« ¤Ґ«мжг Ў«®ЄЁа®ў Ёп ¤«п § ўҐа襨п а Ў®вл б
Ѓ„, вॡгҐвбп ¤®бвгЇ Є ЇҐаў®© Ѓ„ б 楫мо Ё§¬ҐҐЁп § ЇЁбҐ©. Ќ® ЇҐаў п
Ѓ„ § еў зҐ . ’гЇЁЄ. ‚®в зв® Ї®«гз Ґвбп, Є®Ј¤ б«ЁиЄ®¬ амп® "впгв
®¤Ґп«® ᥡп" Ё«Ё Ё§®Ўа ¦ ов "б®Ў Єг ᥥ", ў« ¤Ґп Ў«®ЄЁа®ўЄ®©,
® ЁбЇ®«м§гп Ѓ„ «Ёим з бвЁз®. ’гЇЁЄЁ - ®¤ Ё§ Їа®Ў«Ґ¬ а Ў®вл ў бҐвЁ.
€в Є, ЇаЁ ЁвҐбЁў®© а Ў®вҐ б а §¤Ґ«пҐ¬л¬Ё Ѓ„ ¬®®Ї®«мл© аҐ¦Ё¬
¤®«¦Ґ ЁбЇ®«м§®ў вмбп в®«мЄ® ў ўЁ¤Ґ ЁбЄ«о票п. —в®Ўл б®Єа вЁвм ®ЎйЁҐ
(Ё б®Ўб⢥лҐ) Ї®вҐаЁ ўаҐ¬ҐЁ, Ї®«м§®ў вҐ«п¬ бҐвЁ б«Ґ¤гҐв:
)Ґ § еў влў вм ¤ лҐ Ў®«ҐҐ ¤«ЁвҐ«мл© ЇҐаЁ®¤, 祬 ®ЎкҐЄвЁў®
Ґ®Ўе®¤Ё¬®; ЇаЁ¬Ґа, Ґ 㦮 Ї®« Ј вмбп ўв®¬ вЁзҐбЄ®Ґ
а §Ў«®ЄЁа®ў ЁҐ ¤ ле Ї® ®Є®з ЁЁ аҐиҐЁп § ¤ зЁ;
Ў) ®вЄалў вм Ѓ„ ў ०Ё¬Ґ а §¤Ґ«ҐЁп, Ґб«Ё Ё§¬ҐҐЁо ¤ ле
ЇаҐ¤иҐбвўгҐв Ё®Ґ Ёе ЁбЇ®«м§®ў ЁҐ, § еў в Ѓ„ ®бгйҐбвў«пвм Ї®§¤ҐҐ;
ў) бв६Ёвмбп Є Ї®«®© Ё«Ё ўаҐ¬Ґ®© § ¬ҐҐ Є ¦¤®Ј® § еў в Ѓ„
§ еў в®¬ ®в¤Ґ«мле § ЇЁбҐ© Ё«Ё - ў FOXPRO - ЈагЇЇ § ЇЁбҐ©;
Ј) Ґ¬Ґ¤«Ґ® ®в¬Ґпвм ўбҐ бў®Ё Ў«®ЄЁа®ў Ёп, Ґб«Ё ҐгбЇҐи Ї®ЇлвЄ
®зҐаҐ¤®Ј® Ў«®ЄЁа®ў Ёп Ё ®б®§ ЎҐбЇ®«Ґ§®бвм ¤ «мҐ©иҐЈ® ®¦Ё¤ Ёп;
¤) Ёбб«Ґ¤®ў вм ўҐа®пв®бвм вгЇЁЄ®ў Ё ®Ў¤г¬лў вм ¬Ґал Ёе ЇаҐ¤®вўа 饨п.
Џ®б«Ґ¤ҐҐ ¤Ґ« Ґвбп ў ЄагЈг Ї®«м§®ў ⥫Ґ© б гз бвЁҐ¬ ¤¬ЁЁбва в®а Ѓ„.
Ћв¬ҐЁвм Ў«®ЄЁа®ў ЁҐ ¬®¦Ґв в®«мЄ® ў« ¤Ґ«Ґж. Ћв¬Ґ ¬®¦Ґв Ґ Ўлвм
пў®©: ў Ў §Ґ ¤ ле ®ў®Ґ Ў«®ЄЁа®ў ЁҐ ®в¬ҐпҐв ¤Ґ©бвўЁҐ ЇаҐ¤л¤г饣®.
€бЄ«о票Ґ (ў Ї®б«Ґ¤Ёе ўҐабЁпе ‘“Ѓ„) ᤥ« ® ¤«п ЈагЇЇ®ў®Ј® Ў«®ЄЁа®ў Ёп
§ ЇЁбҐ©, Є®Ј¤ ў®§¬®¦® б®еа ҐЁҐ ЇаҐ¤л¤г饣® Ў«®ЄЁа®ў Ёп § ЇЁбҐ©.
„®ЇгбвЁ¬, ¬л Ў«®ЄЁа㥬 § ЇЁбм, § ⥬ - ўбо Ѓ„. Џ®б«Ґ ®в¬Ґл Ў«®ЄЁа®ў Ёп
¤ ®© Ѓ„ ў Ґ© Ґ Ўг¤Ґв Ё ®¤®© Ў«®ЄЁа®ў ®© § ЇЁбЁ.
’ ЄЁ¬ ®Ўа §®¬, Ї®«м§®ў ⥫м бҐвЁ ¬®¦Ґв
- ®вЄалў вм д ©« Ѓ„ «ЁЎ® ў ०Ё¬Ґ а §¤Ґ«ҐЁп, «ЁЎ® ў ¬®®Ї®«м®¬ ०Ё¬Ґ;
- ўлЇ®«пвм Ў«®ЄЁа®ў ЁҐ Ѓ„, ®в¤Ґ«мле § ЇЁбҐ© Ё ЈагЇЇ § ЇЁбҐ©;
Ў«®ЄЁа®ў лҐ § ЇЁбЁ Ё Ў §л ¤®бвгЇл Ї® звҐЁо Ё «оЎ®¬г ¤агЈ®¬г
Ї®«м§®ў ⥫о;
- ®в¬Ґпвм Ў«®ЄЁа®ў Ёп, Є®в®ал¬Ё ў« ¤ҐҐв;
- Їа®ўҐапвм ⥪гйЁ© бв вгб Ў«®ЄЁа®ў Ёп Ѓ„ Ё«Ё § ЇЁбЁ Ѓ„;
- Їа®ўҐапвм гбЇҐи®бвм ўлЇ®«ҐЁп Є®¬ ¤ USE Ё APPEND BLANK, ЇаЁ¬ҐҐле
Є а §¤Ґ«пҐ¬®© Ѓ„ (ў CLIPPER ЁбЇ®«м§гҐвбп дгЄжЁп NetErr(), ў®§ўа й ой п .F.
ЇаЁ гбЇҐеҐ, ў FOXPRO Ґ®Ўе®¤Ё¬ ЇҐаҐеў в ЇаҐалў Ёп ¤«п ®Ўа Ў®вЄЁ ®иЁЎЄЁ).
Џ®«м§®ў ⥫м, Ґ ЇаЁ®ЎйҐл© Є бҐвЁ, ¬®¦Ґв ®бв ў вмбп Ёўл¬ ¤®
б ¬®© бв а®бвЁ Ё Ґ гзЁвлў вм бгйҐбвў®ў ЁҐ бҐвЁ, ЁЎ® Ї® 㬮«з Ёо ‘“Ѓ„
®вЄалў Ґв Ѓ„ ў ¬®®Ї®«м®¬ ०Ё¬Ґ: ¤Ґ©бвўгҐв гбв ®ўЄ SET EXCLUSIVE ON.
23.2. ‚лЇ®«пҐ¬ Ў«®ЄЁа®ў ЁҐ Ё а §Ў«®ЄЁа®ў ЁҐ
—в®Ўл ®вЄалвм Ѓ„ ў ¬®®Ї®«м®¬ ०Ё¬Ґ, ў Є®¬ ¤Ґ USE § ЇЁблў ов
ваЁЎгв EXCLUSIVE, ваЁЎгв SHARED § з Ґв ०Ё¬ а §¤Ґ«ҐЁп Ѓ„. ‚
®вбгвбвўЁҐ ¤ ле ваЁЎгв®ў ўбҐ § ўЁбЁв ®в Ј«®Ў «м®© гбв ®ўЄЁ: ЇаЁ
гбв ®ўЄҐ SET EXCLUSIVE ON ўбҐ Ѓ„ ®вЄалў овбп ў ¬®®Ї®«м®¬ ०Ё¬Ґ,
Ґб«Ё ¤Ґ©бвўгҐв SET EXCLUSIVE OFF - ў ०Ё¬Ґ а §¤Ґ«ҐЁп. Ќ®ў п Ј«®Ў «м п
гбв ®ўЄ Ґ ¬®¦Ґв Ё§¬ҐЁвм бв вгб а ҐҐ ®вЄалвле Ѓ„. €в Є, ваЁЎгвл
Є®¬ ¤л USE Ё¬Ґов Ў®«миго бЁ«г, 祬 Ј«®Ў «м п гбв ®ўЄ . Љ®¬ ¤
SET EXCLUSIVE ®бв ў«Ґ ў п§лЄҐ ¤«п б®ў¬ҐбвЁ¬®бвЁ б ЇаҐ¤л¤гйЁ¬Ё
ўҐабЁп¬Ё, ® Ґ ४®¬Ґ¤гҐвбп Є ЁбЇ®«м§®ў Ёо, ЁЎ® Ј«®Ў «м п гбв ®ўЄ
- ЈагЎ®Ґ б।бвў® гЇа ў«ҐЁп ¤®бвгЇ®¬ Є ¤ л¬.
”гЄжЁп Flock() Їлв Ґвбп Ў«®ЄЁа®ў вм Ѓ„, ®вЄалвго ў ०Ё¬Ґ
а §¤Ґ«ҐЁп, Rlock() (¤агЈ®Ґ Ё¬п Lock()) - ҐҐ ⥪гйго § ЇЁбм. ЋЎҐ
дгЄжЁЁ ў б«гз Ґ гбЇҐе ў®§ўа й ов .T. Ё ®в¬Ґпо⠯।л¤г饥 Ў«®ЄЁа®ў ЁҐ
ў ¤ ®© Ѓ„ (Ґб«Ё ®® Ўл«®). „«п Ёе ЇаЁ¬ҐҐЁп Є ®вЄалв®©, ® Ґ ЄвЁў®©
Ѓ„ ў FOXPRO § ЇЁблў ов аЈг¬Ґв - «Ё б Ѓ„, ў CLIPPER - гв®зпов
«Ё ᮬ ®Ўа 饨Ґ Є дгЄжЁЁ, ЇаЁ¬Ґа: AA->(Lock()). Џ®б«Ґ¤ҐҐ ¤Ґ« ов,
ЇаЁ¬Ґа, ЇаЁ Ў«®ЄЁа®ў ЁЁ бўп§ ®© § ЇЁбЁ "¤®зҐаҐ© Ѓ„", ЁЎ®
Ў«®ЄЁа®ў ЁҐ "¬ вҐаЁбЄ®©" § ЇЁбЁ Ґ ў«ҐзҐв Ў«®ЄЁа®ў Ёп "¤®зҐаҐ©".
Flock(), ЁбЇ®«м§®ў п, Є®Ј¤ Ґв ®вЄалв®© Ѓ„, ў®§ўа й Ґв .F. .
Љ®¬ ¤®© UNLOCK Ї®«м§®ў вҐ«м ўлЇ®«пҐв а §Ў«®ЄЁа®ў ЁҐ ў ЄвЁў®©
Ѓ„, Є®¬ ¤®© UNLOCK ALL - ®в¬ҐпҐв ўбҐ бў®Ё Ў«®ЄЁа®ў Ёп, ЇаЁ¬Ґа,
Ў«®ЄЁа®ў Ёп § ЇЁбҐ© ў "¬ вҐаЁбЄ®©" Ё ў® ўбҐе "¤®зҐаЁе" Ѓ„. Њ®®Ї®«мл©
०Ё¬ Ґ ¬®¦Ґв Ўлвм ®в¬ҐҐ Є®¬ ¤®© UNLOCK. ‚ FOXPRO Є®¬ ¤г UNLOCK
¬®¦® ¤®Ї®«пвм ваЁЎг⮬ IN <ЋЎ«> (б¬. Ї.16.1), в.Ґ. ЇаЁ¬Ґпвм Є «оЎ®©
®вЄалв®© Ѓ„. ‚ CLIPPER ¤«п нв®© 楫Ё ЁбЇ®«м§гов дгЄжЁо DBUnlock(),
гв®зҐго «Ё ᮬ.
”гЄжЁҐ© Rlock() Ў«®ЄЁагов ®¤Ё®зго § ЇЁбм ЇҐаҐ¤ ҐҐ Ё§¬ҐҐЁҐ¬
Є®¬ ¤ ¬Ё @ ... GET, DELETE, RECALL, REPLACE Ё«Ё Їг⥬ ЇаЁбў Ёў Ёп
§ зҐЁп Ї®«о. ”гЄжЁо Flock() ЇаЁ¬Ґпов ЇҐаҐ¤ ⥬, Є Є Ї®¤ўҐаЈгвм
«®ЈЁз®¬г Ё§¬ҐҐЁо ¬®¦Ґбвў® § ЇЁбҐ©. Џа ў¤ , ўҐабЁп CLIPPER 5.2
Ё FOXPRO ЇаҐ¤« Ј ов «мвҐа вЁўг - Ў«®ЄЁа®ў ЁҐ ЈагЇЇл § ЇЁбҐ© (Ї. 23.4).
„«п ўлЇ®«ҐЁп ў а §¤Ґ«пҐ¬®© Ѓ„ Є®¬ ¤ PACK, REINDEX, ZAP, MODIFY
STRUCTURE (FOXPRO), INSERT Ё INSERT BLANK (FOXPRO) ҐҐ ¤® ®вЄалвм ў
¬®®Ї®«м®¬ ०Ё¬Ґ, Ґб«Ё ¦Ґ Ѓ„ ®вЄалв ў ०Ё¬Ґ а §¤Ґ«ҐЁп, Ї®ЇлвЄ
ўлЇ®«Ёвм нвЁ Є®¬ ¤л ўл§лў Ґв б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
ЏаЁ¬Ґа 23.1. ЏаЁ¬Ґал Ў«®ЄЁа®ў Ёп Ѓ„ ў бЁб⥬Ґ CLIPPER
USE Student EXCLUSIVE
IF NetErr() && NetErr ў®§ўа й Ґв .F. ЇаЁ гᯥ讬 ®вЄалвЁЁ Ѓ„
@ 24,0 SAY "ЏаЁ¤ЁвҐ ў б«Ґ¤гойЁ© а §" && --гвЄ --
ELSE
PACK && Ѓ„ гбЇҐи® ®вЄалв Ё ⥯Ґам ўбҐ ¦¤гв ®Є®з Ёп гЇ Є®ўЄЁ Ѓ„
USE && Ѓ„ § Єалў Ґвбп
ENDIF
USE Student SHARED && Ѓ„ ®вЄалў Ґвбп ў®ўм ў ०Ё¬Ґ а §¤Ґ«ҐЁп
IF .NOT. NetErr() .AND. Flock() && Џ®ЇлвЄ Ў«®ЄЁа®ў Ёп Ѓ„
DELETE FOR Kurs=6 && …б«Ё Ѓ„ § еў зҐ , г¤ «повбп § ЇЁбЁ ¤ЁЇ«®¬ЁЄ®ў
UNLOCK
SET INDEX TO IndFam && ЋвЄалў Ґвбп Ё¤ҐЄб Ї® Є«озг Famil
SEEK "Ѓ…„ЌџЉЋ‚Ђ" && Џ®ЁбЄ 㦮© § ЇЁбЁ
IF Found()
ELSEIF Rlock() && ’®«мЄ® Ґб«Ё § ЇЁбм ©¤Ґ , ¤Ґ« Ґвбп Ў«®ЄЁа®ў ЁҐ
REPLACE Famil WITH "‘ЉЋђЋЃЋѓЂ’Ћ‚Ђ"
UNLOCK && ‡ ЇЁбм ЎҐ§®в« Ј вҐ«м® а §Ў«®ЄЁагҐвбп
ELSE
@ 24,0 SAY "€§¬ҐҐЁҐ д ¬Ё«ЁЁ Ґ б®бв®п«®бм; § ЇЁбм § пв "
ENDIF
ELSE
USE I:\RabBD && „«п । ЄвЁа®ў Ёп ®вЄалў Ґвбп а Ў®з п Ѓ„
Browse() && ‚ FOXPRO ¬л Ўл ЁбЇ®«м§®ў «Ё Є®¬ ¤г BROWSE
ENDIF
Џа® «Ё§Ёа㥬 Їа®Ја ¬¬г. ‚ "игвЄҐ" Ґбвм бҐамҐ§л© ¬®¬Ґв: гЇ Є®ўЄг Ѓ„
®Ўлз® Ґ ¤Ґ« ов, Є®Ј¤ а §¤Ґ«пҐ¬лҐ Ѓ„ ЁбЇ®«м§говбп ЁвҐбЁў®. Џ®«®Ґ
Ў«®ЄЁа®ў ЁҐ (¬®®Ї®«мл© аҐ¦Ё¬) ®в¬Ґпов § ЄалвЁҐ¬ Ѓ„. Џ®б«Ґ нв®Ј® ҐҐ
ў®ўм ®вЄал«Ё ¤«п г¤ «ҐЁп § ЇЁбҐ© ¤ЁЇ«®¬ЁЄ®ў. ќв а Ў®в Ґ ба®з п;
Ґб«Ё § еў вЁвм Ѓ„ Ґ г¤ «®бм, ўлЇ®«пҐвбп б«Ґ¤гой п а Ў®в - § ¬Ґ
§ зҐЁп Ї®«п Famil ў ®¤®© Ё§ § ЇЁбҐ©. ‡¤Ґбм Ґ«м§п Ўл«® ®ЎкҐ¤ЁЁвм
Found() Ё Rlock() ў ®¤® «®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ Ё§-§ аЁбЄ Ў«®ЄЁа®ў Ёп
"Ї®бв®а®Ґ©" § ЇЁбЁ (Є®Ј¤ Found()=.F.). ‚ ЇаЁжЁЇҐ Rlock() ®в¬ҐпҐв
ЇаҐ¤л¤г饥 Ў«®ЄЁа®ў ЁҐ, ®¤ Є® ўлиҐ § ЇЁб Є®¬ ¤ UNLOCK. Џа ўЁ«м®,
¤®«¦ Ўлвм ЎҐ§гб«®ў п ®в¬Ґ Ў«®ЄЁа®ў Ёп. ЌЁзҐЈ® - Ї® ў®«Ґ б«гз п!
„ л© Ї®«м§®ў вҐ«м ЇаЁ Ґг¤ зҐ а Ў®в Ґв б "«Ёз®© б®Ўб⢥®бвмо"
- ўаҐ¬Ґ®© Ѓ„ RabBD. —в®Ўл Ё§ЎҐ¦ вм ўҐиЁе ў®§¤Ґ©бвўЁ© в ЄЁҐ Ѓ„
( ЇаЁ¬Ґа, Ё§-§ б®ўЇ ¤ҐЁп Ё¬Ґ Ѓ„), Ёе еа пв «®ЈЁзҐбЄ®¬ ¤ЁбЄҐ
(§¤Ґбм - I:), § Єал⮬ ®в Ї®бв®а®Ёе, «гзиҐ - ў «Ёз®© ¤ЁаҐЄв®аЁЁ.
‡ ¤ ЁҐ 23.2. ‡ ЇЁиЁвҐ Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ©, Їа®Ё§ў®¤Ё¬ле ў
а §¤Ґ«пҐ¬®© Ѓ„ Ё вॡгойЁе )¬®®Ї®«м®Ј® ०Ё¬ ; Ў) Ў«®ЄЁа®ў Ёп
ўбҐ© Ѓ„; ў) Ў«®ЄЁа®ў Ёп ®в¤Ґ«мле § ЇЁбҐ©. Џа®Ё§ў®¤ЁвҐ бў®ҐўаҐ¬Ґ®Ґ
а §Ў«®ЄЁа®ў ЁҐ.
23.3. ‚лЇ®«пҐ¬ Є®¬ ¤л ў бҐвЁ
Ља®¬Ґ гЄ § ле ўлиҐ Є®¬ ¤, вॡгойЁе ¬®®Ї®«Ё§ жЁЁ Ѓ„,
ап¤ Є®¬ ¤ ўв®¬ вЁзҐбЄЁ ®вЄалў Ґв ᮧ¤ ў Ґ¬лҐ Ѓ„ ў ¬®®Ї®«м®¬
०Ё¬Ґ (б¬. в Ў«. 23.1, «Ґў п Є®«®Є ), в®Ј¤ Є Є ап¤ ¤агЈЁе -
®вЄалў ов Ё¬ҐойЁҐбп Ѓ„ Ё«Ё д ©«л ў ०Ё¬Ґ а §¤Ґ«ҐЁп (в Ў«. 23.1,
Їа ў п Є®«®Є ). ђҐзм Ё¤Ґв ® Ѓ„ Ё д ©« е, Ё¬Ґ Є®в®але ®Ў®§ зҐл
ў в Ў«. 23.1. Џ®б«Ґ ўлЇ®«ҐЁп Є®¬ ¤л (ЁбЄ«оз п Є®¬ ¤г CREATE) Ѓ„
§ Єалў Ґвбп.
’ Ў«Ёж 23.1
---------------------------------------------------------------------
Љ®¬ ¤л, ®вЄалў ойЁҐ д ©« Љ®¬ ¤л, ®вЄалў ойЁҐ д ©«
ў ¬®®Ї®«м®¬ ०Ё¬Ґ ў ०Ё¬Ґ а §¤Ґ«ҐЁп
----------------------------------------------------------------------
COPY STRUCTURE TO <€¬п Ѓ„> APPEND FROM <€¬п д ©« >
COPY TO <€¬п д ©« > CREATE ... FROM <€¬п д ©« >
CREATE <€¬п д ©« > LABEL FORM <€¬п д ©« >
INDEX ON ... TO <€¬п д ©« > REPORT FORM <€¬п д ©« >
JOIN ... TO <€¬п д ©« > RESTORE FROM <€¬п д ©« >
SAVE TO <€¬п д ©« > TYPE <€¬п д ©« >
SET ALTERNATE TO <€¬п д ©« > UPDATE ... FROM <€¬п Ѓ„>
SORT ... TO <€¬п Ѓ„>
TOTAL ... TO <€¬п Ѓ„>
-----------------------------------------------------------------------
Ќ ЇаЁ¬Ґа, ўл ўҐапЄ Ґ § е®вҐ«Ё Ўл, зв®Ўл ў ALTERNATE-д ©«
§ ЇЁблў « бм Ї®бв®а®пп Ёд®а¬ жЁп, Ґ Ё¬Ґой п ®в®иҐЁп Є ў 襬г
¤Ё «®Јг б ќ‚Њ (ЇаЁ¬Ґа б ¬®®Ї®«мл¬ аҐ¦Ё¬®¬). ‘ ¤агЈ®© бв®а®л, Ўл«®
Ўл Ґа §г¬® «Ёи вм Ї®«м§®ў ⥫Ґ© ў®§¬®¦®бвЁ зҐаЇ вм Ёд®а¬ жЁо Ё§
®ЎйҐЈ® Ёбв®зЁЄ (०Ё¬ а §¤Ґ«ҐЁп). ‘гйҐбвўгҐв ¤агЈ®© бЇҐЄв
Їа®Ў«Ґ¬л. ‚®§м¬Ґ¬ Є®¬ ¤г REPORT FORM. …б«Ё ЇаЁ ўлў®¤Ґ ®взҐв ®¤Ё¬
Ї®«м§®ў ⥫Ґ¬ ¤агЈ®© Ё§¬ҐЁв е®вп Ўл ®¤г § ЇЁбм ЄвЁў®© Ѓ„,
ЁбЇ®«м§гҐ¬®© Є Є ®б®ў ®взҐв , ¬®¦Ґв Ўлвм Ї®вҐап ҐЈ®
в®з®бвм, Ї®бЄ®«мЄг Ѓ„ ЇаЁ¬Ґв ҐЄ®в®а®Ґ Їа®¬Ґ¦гв®з®Ґ б®бв®пЁҐ.
‚ FOXPRO Ё¬ҐҐвбп гбв ®ўЄ SET LOCK ON, ®ЎҐбЇҐзЁў ой п ўв®¬ вЁзҐбЄ®Ґ
Ў«®ЄЁа®ў ЁҐ Ѓ„, гЄ § ле ў Є®¬ ¤ е ¬ бб®ў®© ®Ўа Ў®вЄЁ § ЇЁбҐ©
(Ї® 㬮«з Ёо ¤Ґ©бвўгҐв гбв ®ўЄ SET LOCK OFF). „«п ¤агЈЁе
Ї®«м§®ў ⥫Ґ© ¤®бвгЇ Є нвЁ¬ Ѓ„ Ї® з⥨о - б®еа пҐвбп. …йҐ ®¤Ё
ЇаЁ¬Ґа - б®авЁа®ўЄ Ѓ„. ЏаҐ¤бв ўмвҐ, зв® ў ҐҐ Їа®жҐбᥠ"Ї®бв®а®Ё©"
Ё§¬ҐЁ« Ї®«Ґ - Є«оз б®авЁа®ўЄЁ е®вп Ўл ў ®¤®© § ЇЁбЁ. ‘ Ў®«ми®©
б⥯Ґмо ўҐа®пв®бвЁ Ї®а冷Є б«Ґ¤®ў Ёп § ЇЁбҐ© Ўг¤Ґв агиҐ.
ЏаЁ ўв®¬ вЁзҐбЄ®¬ ®вЄалвЁЁ Ѓ„ ¬®Јгв Ўлвм ⥠¦Ґ Їа®Ў«Ґ¬л, зв® Ё
ЇаЁ Ї®ЇлвЄҐ ®вЄалвм Є®¬ ¤®© USE Ў §г, Є®в®а п Ў«®ЄЁа®ў . ЏаЁзЁл
ҐгбЇҐиле Ї®Їлв®Є ®ва ¦Ґл ў в Ў«. 23.2.
’ Ў«Ёж 23.2
-----------------------------------------------------------------------
Љ®¬ ¤ ЏаЁзЁ ҐгбЇҐи®Ј® ўлЇ®«ҐЁп
-----------------------------------------------------------------------
USE <Ѓ„> SHARED Ѓ„ § еў зҐ ¤агЈЁ¬ Ї®«м§®ў ⥫Ґ¬
(USE <Ѓ„> EXCLUSIVE)
USE <Ѓ„> EXCLUSIVE Ѓ„ 㦥 ®вЄалв Ё ЁбЇ®«м§гҐвбп
APPEND BLANK Ѓ„ Ў«®ЄЁа®ў (Flock() Ё«Ё USE <Ѓ„> EXCLUSIVE)
Ё«Ё Є®¬ ¤ APPEND BLANK 㦥 ўлЇ®«пҐвбп ¤агЈЁ¬
-----------------------------------------------------------------------
‚ ЇаЁ¬ҐаҐ 23.1 Ї®Є § ®, Є Є ¤Ґ©бвў®ў вм ў CLIPPER, зв®Ўл ҐгбЇҐи п
Ї®ЇлвЄ ®вЄалвЁп Ѓ„ Ґ бв « ЇаЁзЁ®© б®®ЎйҐЁ© ®Ў ®иЁЎЄҐ Ё ЇаҐалў Ёп
Їа®Ја ¬¬л. ‚ CLIPPER Ё¬ҐҐвбп Ў«®Є NetErr. ЏаЁ¬ҐЁ¬ ҐЈ® ў б«гз Ґ APPEND
BLANK, ®вў®¤п 5 ᥪ㤠¤«п Ї®Їлв®Є ¤®Ў ў«ҐЁп § ЇЁбЁ ў ЄвЁўго Ѓ„:
. . .
T = 5
APPEND BLANK
DO WHILE NetErr() .AND. T>0
Inkey(.5) && ќ ¤Ґа¦Є ў 1/2 ᥪг¤л
T = T -.5
APPEND BLANK
ENDDO && ЋЄ®з ⥫мл© Ёв®Ј ®ва ¦ Ґв Ї®б«Ґ¤ҐҐ § 票Ґ NetErr()
„®Ў ў«Ґ п § ЇЁбм ўв®¬ вЁзҐбЄЁ ®бв Ґвбп Ў«®ЄЁа®ў ®© Ё нв® а §г¬®Ґ
аҐиҐЁҐ, ЁЎ®, Є Є Їа ўЁ«®, ҐҐ ба §г § Ї®«пов, в.Ґ. Ё§¬Ґпов § 票п
Ї®«Ґ©.
ЋЎа Ў®вЄ бҐвҐўле ®иЁЎ®Є ў FOXPRO а бᬮвॠў Ї. 23.5.
€¬ҐҐвбп ®Ја ЁзҐЁҐ ¬Ґбв® § ¤ Ёп Ё¤ҐЄб®ў а §¤Ґ«пҐ¬®© Ѓ„. €е Ґ
б«Ґ¤гҐв § ¤ ў вм ў Є®¬ ¤Ґ USE - в®«мЄ® ў Є®¬ ¤Ґ SET INDEX TO. „Ґ«® ў
⮬, зв® ўлЇ®«ппбм, Є®¬ ¤ USE <Ѓ„> INDEX <‘ЇЁб®Є Ё¤ҐЄб®ў> ўл§®ўҐв
®иЁЎЄг, Ґб«Ё Ѓ„ ¬®®Ї®«м® ў« ¤ҐҐв ¤агЈ®© Ї®«м§®ў ⥫м. “Є §лў п Ё¤ҐЄбл
ў SET INDEX TO, б з « Їа®ўҐа塞, б®бв®п«®бм «Ё ®вЄалвЁҐ Ѓ„ (б¬.
ЇаЁ¬Ґа 23.1).
‡ ¤ ЁҐ 23.3. ‡ ЇЁиЁвҐ Ў«®Є ўлў®¤ ®взҐв Ї® д®а¬Ґ "ITOGI"
®б®ўҐ Ѓ„ Student, Ї®§ Ў®вЁўиЁбм ® § йЁвҐ Ѓ„ ®в § ЇЁбЁ ў ҐҐ ®ўле
¤ ле ¤агЈЁ¬Ё Ї®«м§®ў ⥫ﬨ.
23.4. ЋбгйҐб⢫塞 Ў«®ЄЁа®ў ЁҐ ЈагЇЇл § ЇЁбҐ©
‚ FOXPRO ЇаҐ¤гᬮвॠЄ®¬ ¤ SET MULTILOCK <Љ«оз>, Ј¤Ґ <Љ«оз> -
нв® ON Ё«Ё OFF, ўЄ«оз ой п (ON) Ё ўлЄ«оз ой п (OFF) ०Ё¬ Ў«®ЄЁа®ў Ёп
¬®¦Ґбвў § ЇЁбҐ©. ‚ ०Ё¬Ґ "ON" ¬®¦® ЁбЇ®«м§®ў вм дгЄжЁо Rlock()
(Ё«Ё Lock()) б а биЁаҐл¬ бЁв ЄбЁб®¬:
Rlock("<‘ЇЁб®Є ®¬Ґа®ў Ў«®ЄЁа㥬ле § ЇЁбҐ©>",<ЋЎ« бвм>),
Ј¤Ґ ®ЇжЁп <ЋЎ« бвм> -нв® ®¬Ґа а Ў®зҐ© ®Ў« бвЁ Ё«Ё «Ё б. Ќ ЇаЁ¬Ґа,
¤«п Ў«®ЄЁа®ў Ёп 3-©, 7-©, 8-©, 9-© § ЇЁбЁ ЄвЁў®© Ѓ„ § ЇЁблў Ґ¬
Rlock("3,7,8,9"). ‘ЇЁб®Є ®¬Ґа®ў ¬®¦Ґв Ўлвм в Є¦Ґ § 票Ґ¬
бЁ¬ў®«мле ЇҐаҐ¬Ґ®©, н«Ґ¬Ґв ¬ ббЁў , Ї®«п Ѓ„. ”гЄжЁп Rlock()
ў®§ўа й Ґв § 票Ґ .T. в®«мЄ® ў ⮬ б«гз Ґ, Ґб«Ё г¤ «®бм
Ў«®ЄЁа®ў вм ўбҐ гЄ § лҐ § ЇЁбЁ. Ѓ«®ЄЁа®ў Ёп, Є®в®алҐ ® ᬮЈ«
ўлЇ®«Ёвм, б®еа повбп, а ў® Є Є Ё Ў«®ЄЁа®ў Ёп § ЇЁбҐ©, ᤥ« лҐ
¤® ҐҐ.
€®Ј¤ 㤮ЎҐҐ Ў«®ЄЁа®ў вм ЈагЇЇг § ЇЁбҐ©, ЁбЇ®«м§гп Rlock()
®в¤Ґ«м® ¤«п Є ¦¤®© § ЇЁбЁ. Љ®¬ ¤ SET MULTILOCK ўбҐЈ¤ бЁ¬ Ґв
бгйҐбвўгойЁҐ Ў«®ЄЁа®ў Ёп § ЇЁбҐ©, в.Ґ. ЇҐаҐ¤ Ґо Ґ ¤®
ўлЇ®«пвм UNLOCK. —Ёб«® ®¤®ўаҐ¬Ґ® Ў«®ЄЁа®ў ле § ЇЁбҐ©
®Ја ЁзЁў Ґвбп ®ЎкҐ¬®¬ Ї ¬пвЁ бҐаўҐаҐ. …б«Ё Ї®¤¬®¦Ґбвў®
Ў«®ЄЁа㥬ле § ЇЁбҐ© ўҐ«ЁЄ®, Ў«®ЄЁагов ®Ўлз® ўбо Ѓ„ дгЄжЁҐ© Flock().
‚ ўҐабЁЁ CLIPPER 5.2 в Є¦Ґ ЇаҐ¤гᬮв८ Ў«®ЄЁа®ў ЁҐ ЈагЇЇ
§ ЇЁбҐ©, ЁбЇ®«м§гҐвбп дгЄжЁп DBRlock(). ’ҐЄгйЁ© бЇЁб®Є
Ў«®ЄЁа®ў ле § ЇЁбҐ© ў®§ўа й Ґв дгЄжЁп DBRLOCKLIST(). ‘ЇҐжЁ «млҐ
०Ё¬л Ў«®ЄЁа®ў Ёп, Ё¬ҐойЁҐбп ў FOXPRO, Ґ ЇаҐ¤гᬮваҐл. ‚§ ¬Ґ -
®бва®г¬®Ґ аҐиҐЁҐ: DBRLock() ЎҐ§ аЈг¬Ґв бЁ¬ Ґв ў Ў §Ґ ўбҐ
Ў«®ЄЁа®ў Ёп § ЇЁбҐ© Ё Ў«®ЄЁагҐв ⥪гйго § ЇЁбм; DBRlock() б
аЈг¬Ґв®¬ (®¬Ґа § ЇЁбЁ) Ў«®ЄЁагҐв гЄ § го (е®вп Ўл Ё ⥪гйго -
гЄ ¦ЁвҐ Recno()Є Є ®¬Ґа § ЇЁбЁ) § ЇЁбм Ё ¤®Ў ў«пҐв Є бЇЁбЄг
Ў«®ЄЁа®ў ле § ЇЁбҐ©. ”гЄжЁп DBAppend(.T.) бЁ¬ Ґв Ў«®ЄЁа®ў Ёп
§ ЇЁбҐ©, ¤®Ў ў«пҐв ў Ѓ„ Ё Ў«®ЄЁагҐв Їгбвго § ЇЁбм, DBAppend(.F.),
¤®Ў ў«пп § ЇЁбм, «Ёим ЇаЁб®Ґ¤ЁпҐв ҐҐ Є бЇЁбЄг Ў«®ЄЁа®ў ле § ЇЁбҐ©.
”гЄжЁп DBRUnlock() ЎҐ§ аЈг¬Ґв бЁ¬ Ґв ўбҐ Ў«®ЄЁа®ў Ёп § ЇЁбҐ©,
Ґб«Ё гЄ § вм аЈг¬Ґв - ®¬Ґа § ЇЁбЁ, а §Ў«®ЄЁагҐвбп в®«мЄ® ® ®¤ .
‡ ¤ ЁҐ 23.4. ‡ ЇЁиЁвҐ Ё ®Їа®Ўг©вҐ Џќ‚Њ 2 ў аЁ в Їа®Ја ¬¬л
Ў«®ЄЁа®ў Ёп ЈагЇЇл § ЇЁбҐ© ЄвЁў®© Ѓ„: б® бЇЁбЄ®¬ ®¬Ґа®ў § ЇЁбҐ©
ў дгЄжЁЁ Rlock() Ё ЎҐ§ нв®Ј® бЇЁбЄ .
23.5. ЋЎа Ў влў Ґ¬ ®иЁЎЄЁ ЇаЁ ЁбЇ®«м§®ў ЁЁ Ѓ„ ў бҐвЁ
ЏаЁ¬ҐЁвҐ«м® Є CLIPPER ¬®¦® Ј®ў®аЁвм Їа® ®Ўа Ў®вЄг ®вЄ §®ў ЇаЁ
Ў«®ЄЁа®ў ЁЁ, ® ў FOXPRO Ї®ЇлвЄ "Ґ¤®§ў®«Ґ®Ј®" ¤®бвгЇ Є
Ў«®ЄЁа®ў ®© Ѓ„ (Є®¤ ®иЁЎЄЁ 108) Ё«Ё Ў«®ЄЁа®ў ®© § ЇЁбЁ (Є®¤
®иЁЎЄЁ 109) ®Ўа Ў влў Ґвбп Ё¬Ґ® Є Є ®иЁЎЄ . Ќ ¤® Ё¬Ґвм ў ўЁ¤г,
зв® нвЁ Ї®ЇлвЄЁ ¬®Јгв Їа®Ёб室Ёвм ў ЁвҐа ЄвЁў®¬ ०Ё¬Ґ, ЇаЁ
ЁбЇ®«м§®ў ЁЁ ®Є Є®¬ ¤ FOXPRO, в.Ґ. Ґ ®Ўп§ вҐ«м® ў Їа®Ја ¬¬Ґ.
„«п ®Ўа Ў®вЄЁ ®иЁЎ®Є 㦥 ERROR-Ў«®Є, ўл§лў Ґ¬л© Є®¬ ¤®© ON ERROR
(б¬. Ї. 22.5). ”гЄжЁЁ Flock(), Rlock() (Lock()) б ¬Ё ®иЁЎЄЁ Ґ
ўл§лў ов, ®иЁЎЄЁ ўл¤ овбп, Є®Ј¤ , Ґ ®Ўа й п ўЁ¬ Ёп Ёе
®ваЁж ⥫мл© аҐ§г«мв в (.F.), Їлв овбп Ё§¬ҐЁвм ®ЎкҐЄв, § еў зҐл©
¤агЈЁ¬.
ЏаЁ¬Ґа 23.2. Џа®жҐ¤га ErrEx ®Ўа Ў®вЄЁ ®иЁЎ®Є ў бҐвЁ (ERROR-Ў«®Є).
PROCEDURE ErrEx
Er = ERROR()
DO CASE
CASE Er = 108 OR Er = 109 && ‘«гз © ®Ўа йҐЁп Є Ў«®ЄЁа®ў ®© Ѓ„
ON KEY LABEL F8 DO Nowait && Ё«Ё Ў«®ЄЁа®ў ®© § ЇЁбЁ
DO Ermsg WITH Iif(Er=108,"Ѓ § ","‡ ЇЁбм")+" Ў«®ЄЁа®ў б®бҐ¤®¬"
DO Delay && ‘«гз © п § ¤Ґа¦Є ў ЇаҐ¤Ґ« е 5 б.
RELEASE WINDOW Ermsg && “Ёз⮦ҐЁҐ ®Є б®®ЎйҐЁп
ON KEY LABEL F8 && Ћв¬Ґ Є« ўЁи®Ј® § 票п
RETRY && ‚®§ўа в Є Є®¬ ¤Ґ, ўл§ў ўиҐ© ®иЁЎЄг
CASE Er = ... && ‘«гз © ®иЁЎЄЁ б ¤агЈЁ¬ Є®¤®¬
. . . && ЋЎа Ў®вЄ ®иЁЎ®Є б ¤агЈЁ¬Ё Є®¤ ¬Ё
ENDCASE
PROCEDURE Ermsg
PARAM Msg
IF NOT Wexist("Ermsg") && Џа®ўҐаЄ бгйҐбвў®ў Ёп ®Є
DEFINE WINDOW Ermsg FROM 10,5 TO 15,75 TITLE "Ћ € Ѓ Љ Ђ"
ENDIF
ACTIVATE WINDOW Ermsg SAME
@ 2,3 SAY Msg
@ 4,3 SAY "„«п ў®§ўа в ў Ј« ўл© Ў«®Є ¦¬ЁвҐ F8"
PROCEDURE Delay && ђҐ «Ё§гҐвбп § ¤Ґа¦Є б«гз ©®© ¤«ЁвҐ«м®бвЁ
PRIVATE tfin && (ў ЇаҐ¤Ґ« е 5 ᥪг¤)
tfin = Seconds() + Rand()*5
DO WHILE Seconds() < tfin
ENDDO
PROCEDURE Nowait
ON KEY LABEL F8
RELEASE WINDOW Ermsg
RETURN TO MASTER && ‚®§ўа в ў Ј« ўл© Ў«®Є
ЏаЁ¬ҐҐЁҐ Ў«®Є ErrEx а бᬮваЁ¬ ЇаЁ¬ҐаҐ 23.1. ЏаҐ¤ў аЁвҐ«м®,
ЇаЁ¬Ґа, зҐаҐ§ ®Є® Є®¬ ¤ ¤® ўлЇ®«Ёвм Є®¬ ¤г ON ERROR DO ErrEx.
‚ FOXPRO з «® Їа®Ја ¬¬л § зЁвҐ«м® б®Єа вЁвбп (ўҐвў«ҐЁҐ гЎЁа Ґ¬):
USE Student EXCLUSIVE && ‚맮ў ERROR-Ў«®Є Їа®Ёб室Ёв §¤Ґбм
PACK
USE
Џ®Є Ґ Їа®Ё§®©¤Ґв § еў в Ѓ„, Ў«®Є ErrEx Ўг¤Ґв ў®§ўа й вм гЇа ў«ҐЁҐ
Є®¬ ¤г USE Student EXCLUSIVE. …б«Ё Ї® Їа®иҐбвўЁЁ ўаҐ¬ҐЁ
Ї®«м§®ў ⥫м, ®вз пўиЁбм, ¦¬Ґв F8, гЇа ў«ҐЁҐ Ї®«гзЁв Є®¬ ¤ PACK
Ё в Є¦Ґ ўл¤ бв ®иЁЎЄг, ®Ўа Ў®вЄ Є®в®а®© ў ⥪б⥠Ў«®Є ErrEx Ґ Ї®Є § .
„ «ҐҐ гЇа ў«ҐЁҐ Ї®«гзЁв USE - ® Ґ ўл§®ўҐв Є ЄЁе-«ЁЎ® ¤Ґ©бвўЁ©,
§ ⥬ ¤Ґ« Ґвбп Ї®ЇлвЄ ®вЄалвм Ѓ„ ў ०Ё¬Ґ а §¤Ґ«ҐЁп Ё Ў«®ЄЁа®ў вм ҐҐ:
USE Student SHARED && ‚맮ў ERROR-Ў«®Є Їа®Ёб室Ёв §¤Ґбм
IF Flock()
. . .
‘®ў ў®§¬®¦л ¬®Ј®Єа влҐ Ї®ЇлвЄЁ ®вЄалвм Ѓ„. …б«Ё Ўг¤Ґв ¦ в
F8 (Ў §г в Є Ё Ґ ®вЄал«Ё), Flock() ў®§ўа вЁв .F. Ё б«Ґ¤гой п а Ў®в
в Є¦Ґ Ўг¤Ґв Їа®ЇгйҐ . ‚ § ўҐа襨Ґ Їа®Ја ¬¬л Ўг¤Ґв ЁбЇ®«м§®ў вмбп
Є®¬ ¤ BROWSE. —Ёв вҐ«о ЇаҐ¤« Ј Ґвбп Їа®ўҐаЁвм Ї®«гзҐго FOXPRO-
Їа®Ја ¬¬г.
‡ ¤ ЁҐ 23.5. „Ґ©бвўгп б 2 а Ў®зЁе бв жЁ©, Їа®¬®¤Ґ«Ёаг©вҐ § еў в,
§ ⥬ - Ї®«®Ґ Ў«®ЄЁа®ў ЁҐ Ѓ„ Student б 1-© бв жЁЁ. Ќ 2-© бв жЁЁ
§ ЇгбвЁвҐ Їа®Ја ¬¬г ЇаЁ¬Ґа 23.1 б гзҐв®¬ Ґ®Ўе®¤Ё¬ле Ё§¬ҐҐЁ©.
€§гзЁвҐ ®Ўа Ў®вЄг ®иЁЎ®Є Ў«®Є®¬ ErrEx ў а §«Ёзле бЁвг жЁпе
Ў«®ЄЁа®ў Ёп.
23.6. ‚лЇ®«пҐ¬ § еў в Ў §л ¤ ле Ё«Ё § ЇЁбЁ
ў гб«®ўЁпе Є®ЄгаҐжЁЁ. ’а § ЄжЁЁ
‚ Ї. 23.5 ЇаЁ¬ҐаҐ Ў«®Є ErrEx Ї®Є § ®, Є Є ®бгйҐбвўЁвм
¬®Ј®Єа влҐ Ї®ЇлвЄЁ Ї®«гз¬вм ¤®бвгЇ Є Ѓ„. ‚ FOXPRO Ґбвм ®б®Ў п
Є®¬ ¤ SET REPROCESS TO <‚лаN> SECONDS, Ї®§ў®«пой п § ¤ вм
зЁб«® <‚лаN> Ї®Їлв®Є Ё«Ё ўаҐ¬п, ў вҐзҐЁҐ Є®в®а®Ј® ®Ё Ўг¤гв
ЇаҐ¤ЇаЁЁ¬ вмбп (Ґб«Ё бЇа ў ®в <‚лаN> б«®ў® SECONDS, <‚лаN>
®Ў®§ з Ґв зЁб«® ᥪг¤). „Ё Ї §® § 票© <‚лаN> - ®в 1 ¤® 32000.
“бЇҐе Ї®ЇлвЄЁ Ё«Ё ¦ вЁҐ Esc ®в¬Ґпов ¤ «мҐ©иЁҐ Ї®ЇлвЄЁ. ‚ 室Ґ
ўлЇ®«ҐЁп Є®¬ ¤ ўлў®¤Ёв ¤ЁбЇ«Ґ© б®®ЎйҐЁҐ ® ўлЇ®«пҐ¬ле
Ї®ЇлвЄ е Ў«®ЄЁа®ў Ёп. “бЇҐи п Ї®ЇлвЄ ЇаЁў®¤Ёв Є Ёб祧®ўҐЁо
б®®ЎйҐЁп.
…б«Ё Ї®ЇлвЄЁ Ў«®ЄЁа®ў Ёп ®бгйҐбвў«п«Ёбм дгЄжЁҐ© Flock()
Ё«Ё Rlock() (Lock()), Ёе § 票Ґ .T. ®ва §Ёв Є®Ґзл© гбЇҐе.
…б«Ё ¦ в Esc Ё«Ё ўбҐ Ї®ЇлвЄЁ ЁбзҐаЇ л ЎҐ§ १г«мв в ,
§ 票Ґ¬ дгЄжЁЁ пў«пҐвбп .F. .
ERROR-Ў«®Є Ё¬ҐҐв ЇаЁ®аЁвҐв ў ⮬ б¬лб«Ґ, зв® ®вЄ § ў
®вЄалвЁЁ Ѓ„ Ґ¬Ґ¤«Ґ® ўл§лў Ґв ўлЇ®«ҐЁҐ ERROR-Ў«®Є (ЎҐ§
Ї®ўв®аҐЁп ўв®¬ вЁзҐбЄЁе Ї®Їлв®Є ®вЄалвЁп Ѓ„). ”гЄжЁЁ Ў«®ЄЁа®ў Ёп
Ґ ўл§лў ов ERROR-Ў«®Є.
Љ®¬ ¤ SET REPROCESS Ё¬ҐҐв ў аЁ в SET REPROCESS TO AUTOMATIC
(Ё«Ё SET REPROCESS TO 0), бЁ¬ ойЁ© ®Ја ЁзҐЁҐ зЁб«® Ї®Їлв®Є.
Љ« ўЁи Esc Ї®ЇаҐ¦Ґ¬г ®бгйҐбвў«пҐв Ёе ®в¬Ґг. ‚ ў аЁ вҐ
SET REPROCESS TO -1 ("¬ ЄбЁ¬ «ЁбвбЄ®¬") Ў«®ЄЁаговбп ¤Ґ©бвўЁҐ Esc
Ё ўл室 ERROR-Ў«®Є. …б«Ё ЇаЁ н⮬ ў ਠ⥠Є®¬ ¤л Ї®ЇлвЄЁ Ўг¤гв
ЎҐ§гбЇҐил, ЇаЁ¤Ґвбп ЇҐаҐ§ Јаг¦ вм Џќ‚Њ.
ЊЁгᮬ Є®¬ ¤л пў«пҐвбп Ґ¤Ё®Ґ аҐиҐЁҐ ¤«п ўбҐ© Їа®Ја ¬¬л.
‚ CLIPPER ЇаҐ¤« Ј Ґвбп Ў®а Ё§ 4 дгЄжЁ©, ®Ўа §гойЁе д ©«
LOCKS.PRG, Є®в®ал© ¤® Ї®¤Є«оз вм Є®¬ ¤®© SET PROCEDURE TO.
”гЄжЁЁ RecLock(<‚лаN>) Ё FilLock(<‚лаN>) ў вҐзҐЁҐ <‚лаN>
ᥪ㤠ўлЇ®«пов Ї®ЇлвЄЁ § еў в § ЇЁбЁ Ё«Ё д ©« Ѓ„
ᮮ⢥вб⢥®. ”гЄжЁп NetUse("<€¬п Ѓ„>",<ђҐ¦Ё¬>, <‚лаN>) ў
вҐзҐЁҐ <‚лаN> ᥪ㤠Їлв Ґвбп ®вЄалвм д ©« <€¬п Ѓ„> ў
¬®®Ї®«м®¬ ०Ё¬Ґ (<ђҐ¦Ё¬> = .T.) Ё«Ё ०Ё¬Ґ а §¤Ґ«ҐЁп
(<ђҐ¦Ё¬>) = .F.). Ќ Є®Ґж, дгЄжЁп AddRec(<‚лаN>) ў вҐзҐЁҐ
<‚лаN> ᥪ㤠Їлв Ґвбп ¤®Ў ўЁвм Їгбвго § ЇЁбм ў ЄвЁўго Ѓ„.
€в Є, Ґг¤ зг (®вЄ §) ў ®вЄалвЁЁ Ѓ„, Ў«®ЄЁа®ў ЁЁ Ѓ„ Ё«Ё § ЇЁбЁ
Ѓ„ Їлв овбп ЇаҐ®¤®«Ґвм Ї®ўв®аҐЁҐ¬ Ї®Їлв®Є ®вЄалвЁп (Ў«®ЄЁа®ў Ёп) ў
вҐзҐЁҐ ҐЄ®в®а®Ј® ўаҐ¬ҐЁ Ё«Ё ¤® ўҐиҐЈ® ЇаҐалў Ёп (Esc). ЏаЁ
"Ї®«®© Ґг¤ зҐ" ¬®¦® ЇҐаҐЄ«озЁвмбп ®Ўа Ў®вЄг ¤агЈЁе ¤ ле,
§ ⥬ ў®ўм Ї®Їлв вмбп Ї®«гзЁвм ¦Ґ« л© ®ЎкҐЄв. Ќ ЁЎ®«ҐҐ Їа®бв®
нв® ®бгйҐбвўЁвм ў ¤ҐжҐва «Ё§®ў ле FOXPRO-Їа®Ја ¬¬ е, ®б®ў®©
Є®в®але пў«пҐвбп ¬Ґо б Ї®¤Є«озҐл¬Ё Є Ґ¬г Ў«®Є ¬Ё, Ґб«Ё ў Ёе
ЇаҐ¤гᬮвॠॠЄжЁп ®вЄ §л.
’а § ЄжЁЁ. ‚ᥠаҐи «®бм Ўл Їа®йҐ, Ґ Ўг¤м ва § ЄжЁ© -
«®ЈЁзҐбЄЁе Ґ¤ЁЁж а Ў®вл, ўлЇ®«ҐЁҐ Є®в®але ¤ ¦Ґ 99 %
а ў®бЁ«м® ҐўлЇ®«ҐЁо. ЏаҐ¤бв ўм⥠¤ўҐ Ѓ„: "Џа®¤ ¦Ё"
Ё "Џ®ЄгЇ ⥫Ё", ў Є®в®але Ї®ЄгЇ ⥫Ё ®Ў®§ зҐл Є®¤®¬
Ї®ЄгЇ ⥫п. …б«Ё ¬л § ¬ҐпҐ¬ ҐЄ®в®ал© Є®¤ Ї®ЄгЇ ⥫п, в®
ᤥ« вм нв® ¤®«¦л ў Є ¦¤®© Ѓ„. „®ЇгбвЁ¬, н⮠ᤥ« ® «Ёим ў
®¤®© Ё§ Ёе, ¤агЈ п - Ўл« § еў зҐ Ё§ўҐ Ё ў®§ЁЄ вгЇЁЄ.
„ лҐ Ї®вҐап«Ё 楫®бв®бвм.
‘гйҐбвўгов ¤ў Ї®¤е®¤ Є ва § ЄжЁп¬. ЏҐаўл©: б з «
Ї®«гзЁвм ўбҐ Ґ®Ўе®¤Ё¬лҐ Ў«®ЄЁа®ў Ёп (ў 襬 ЇаЁ¬ҐаҐ -
Ў«®ЄЁа®ў вм ®ЎҐ Ѓ„) Ё «Ёим § ⥬ ўлЇ®«пвм ®Ўа Ў®вЄг.
‚в®а®©: а §¬ҐвЁвм ў Їа®Ја ¬¬Ґ гз бвЄЁ, ᮮ⢥вбвўгойЁҐ
ва § ЄжЁп¬; ЇаЁ Ґў®§¬®¦®бвЁ § ўҐаиЁвм з вго ва § ЄжЁо
Їа®Ё§ў®¤Ёвм "®вЄ в" Є з «г гз бвЄ Ё г«Ёа®ў вм нд䥪в
з в®© ва § ЄжЁЁ. ‡ ¬ҐвЁ¬, зв® ўл¤Ґ«ҐЁҐ ва § ЄжЁ©
Ґ®Ўе®¤Ё¬® Ё ¤«п Їа®жҐ¤га ў®ббв ®ў«ҐЁп Ї®б«Ґ ў аЁ©®Ј®
ЇаҐЄа 饨п а Ў®вл Їа®Ја ¬¬л.
‡ ¤ ЁҐ 23.6. ЋЇа®Ўг©вҐ а §«ЁзлҐ ў аЁ вл Є®¬ ¤л
REPROCESS TO ¬®¤Ґ«Ё, а бᬮв८© ў § ¤ ЁЁ 23.5.
‡ЂЉ‹ћ—…Ќ€… Љ ѓ‹Ђ‚… 23
ЌҐ§ ЁҐ § Є®®ў Ґ ®бў®Ў®¦¤ Ґв ®в ®вўҐвб⢥®бвЁ. •®вп
Ўл Ї®н⮬㠤 го Ј« ўг ¤® Ўл«® Їа®зҐбвм ⥬, Єв® б®ЎЁа Ґвбп
а Ў®в вм ў бҐвЁ Џќ‚Њ. Ља®¬Ґ § Ёп, г¦ нвЁЄ . ‘ нвЁЄ®©
"ЇҐйҐа®Ј® 祫®ўҐЄ " ¬®¦® а Ў®в вм Џќ‚Њ ў ®¤Ё®зЄг, ® Ґ
ў бҐвЁ. „«п Ў®«ҐҐ ¤Ґв «м®Ј® а бᬮв२п бҐвҐўле Їа®Ў«Ґ¬,
ЇаЁ¬Ґа, Їа®Ў«Ґ¬л ва § ЄжЁ©, ®Ўа й ©вҐбм Є [4, 8] Ё ¤агЈЁ¬
Ёбв®зЁЄ ¬.
ђЂЃЋ’Ђ…Њ ‚ ‹ЋЉЂ‹њЌЋ‰ ‘…’€
Љ § «®бм Ўл, б®ў¬Ґб⮥ ЁбЇ®«м§®ў ЁҐ Ў § ¤ ле Ё
ЇҐаЁдҐаЁЁ - Ґб«®¦ п ўҐйм. Ћ¤ Є®, Є®Ј¤ Ї®«м§®ў ⥫Ё
ЁбЇ®«м§гов ®ЎйЁҐ аҐбгабл, Є®«ЁзҐбвў® ЇҐаҐе®¤Ёв ў Є зҐбвў®, ®Ўлз®
- ег¤иҐҐ. Ќ® ЁвҐЈа жЁп ¤ ле Ё бҐвЁ - Ґг¬®«Ё¬®Ґ вॡ®ў ЁҐ ўаҐ¬ҐЁ.
„ ¦Ґ ¤ўҐ Їа®Ја ¬¬л, Є®а४влҐ ЇаЁ Ґ¤Ё®«Ёз®¬ ў« ¤ҐЁЁ аҐбгаб ¬Ё,
ЇаЁ ўлЇ®«ҐЁЁ ў ०Ё¬Ґ а §¤Ґ«ҐЁп аҐбгаб®ў ¬®Јгв ᮧ¤ вм Їа®Ў«Ґ¬л.
‚ ¤ ®© Ј« ўҐ а бб¬ ваЁў Ґвбп бгйҐбвў® нвЁе Їа®Ў«Ґ¬ Ё п§лЄ®ў®Ґ
®ЎҐбЇҐзҐЁҐ а Ў®вл ў бҐвЁ. ђ бб¬ ваЁў Ґвбп Їа®бв п бҐвм Џќ‚Њ.
23.1. ‡ Є®¬Ё¬бп б «®Є «м®© бҐвмо Џќ‚Њ Ё вҐа¬Ё ¬Ё
‹®Є «м п бҐвм Ї®§ў®«пҐв ¤ўг¬ Ё«Ё Ў®«м襬г зЁб«г Ї®«м§®ў ⥫Ґ©
б®ў¬Ґбв® ЁбЇ®«м§®ў вм ¤ лҐ, ¤ЁбЄЁ Ё ЁлҐ ЇҐаЁдҐаЁ©лҐ гбва®©бвў .
‘®Ґ¤ЁҐЁҐ Џќ‚Њ ў бҐвм вॡгҐв гбв ®ўЄЁ бҐвҐў®Ј® Їа®Ја ¬¬®Ј®
®ЎҐбЇҐзҐЁп Ё ®Ў®а㤮ў Ёп: ®¤ Ї« в ў Є ¦¤®© Џќ‚Њ Ё ᮥ¤ЁЁвҐ«мл©
Є ЎҐ«м. „«п ЁбЇ®«м§®ў Ёп FOXPRO ў бҐвЁ вॡгҐвбп бҐвҐў п ўҐабЁп
FOXPRO - FOXPRO/LAN.
‚ Їа®бв®© бҐвЁ ®¤Ё Ј« ўл© Є®¬ЇмовҐа (‘ҐаўҐа «ЁЎ® ” ©«-бҐаўҐа)
ᮤҐа¦Ёв ўЁзҐбвҐаҐ бҐвҐў®Ґ Їа®Ја ¬¬®Ґ ®ЎҐбЇҐзҐЁҐ Ё д ©«л,
ЁбЇ®«м§гҐ¬лҐ ў ०Ё¬Ґ а §¤Ґ«ҐЁп ("а §¤Ґ«пҐ¬лҐ"): ў Їа®бв®© бҐвЁ
¤ўг¬ Ё Ў®«ҐҐ Ї®«м§®ў вҐ«п¬ а §аҐиҐ® ®вЄалў вм ®¤Ё Ё в®в ¦Ґ д ©«
‘ҐаўҐаҐ (” ©«-бҐаўҐаҐ) ¤«п а Ў®вл б ¤агЈЁе Џќ‚Њ бҐвЁ, §лў Ґ¬ле
а Ў®зЁ¬Ё бв жЁп¬Ё. Ћ¤ Є®, а §¤Ґ«ҐЁҐ д ©«®ў Ґ ўбҐЈ¤ ЇаЁҐ¬«Ґ¬®, Ё
Ї®н⮬㠯।гᬮвॠ⠪¦Ґ ¬®®Ї®«мл© аҐ¦Ё¬ ЁбЇ®«м§®ў Ёп д ©« .
ЏаҐ¤бв ўм⥠Ї®ЇҐаҐ¬Ґ®Ґ ЁбЇ®«м§®ў ЁҐ § ЇЁбҐ© а §¤Ґ«пҐ¬®© Ѓ„ Student,
ў Є®в®але гЄ § Єгаб ®Ўг票п, Їа®Ја ¬¬®©, ўла Ў влў о饩 ¤«п Є ¦¤®Ј®
Єгаб ®в¤Ґ«млҐ аҐ§г«мв вл, Ё Їа®Ја ¬¬®©, Ё§¬Ґпо饩 § зҐЁп Ї®«п
"Љгаб" ў бўп§Ё б ЇҐаҐў®¤®¬ бв㤥⮢ ®ўл© Єгаб. ЌҐ«ҐЇ®бвм в Є®Ј®
"а §¤Ґ«ҐЁп Ѓ„" ®зҐўЁ¤ . „ «ҐҐ аҐзм Ё¤Ґв ® а §¤Ґ«пҐ¬ле Ѓ„.
Ѓ„ ¬®¦® ®вЄалвм ў ¬®®Ї®«м®¬ ०Ё¬Ґ, Ґб«Ё ® Ґ ®вЄалв Ё
®¤®© ¤агЈ®© а Ў®зҐ© бв жЁЁ. •®вп Є®ЄгаЁагов Ё ўаҐ¬Ґ ¬Ё Є®д«ЁЄвгов
Ґ б ¬Ё Ї®«м§®ў ⥫Ё, ЁбЇ®«м§гойЁҐ а §¤Ґ«пҐ¬л© д ©« Їа®жҐббл,
Ї®а®¦¤ Ґ¬лҐ Ї®«м§®ў ⥫мбЄЁ¬Ё Їа®Ја ¬¬ ¬Ё, Ё§«®¦ҐЁҐ гЇа®й Ґвбп, Ґб«Ё
гЇ®¬Ё овбп Ї®«м§®ў ⥫Ё. Џ®«м§®ў ⥫м,Є®в®ал© ®вЄал« Ѓ„ ў ¬®®Ї®«м®¬
०Ё¬Ґ, Ґ¤Ё®«Ёз® ў« ¤ҐҐв Ґо, Ё Ї®Є ® Ґ § Єа®Ґв Ѓ„, ЁЄв® ¤агЈ®©
¤®бвгЇ Є Ґ© Ґ Ї®«гзЁв. ќв®в б ¬л© "нЈ®ЁбвЁзл©" ў аЁ в ®Ја ЁзҐЁп
¤®бвгЇ §лў ов Ї®«л¬ Ў«®ЄЁа®ў ЁҐ¬. …б«Ё д ©« ®вЄалв ў ०Ё¬Ґ
а §¤Ґ«ҐЁп, ЁЄв® Ґ ¬®¦Ґв гбв ®ўЁвм ¬®®Ї®«мл© аҐ¦Ё¬, ® ®¤Ё Ё§
Ї®«м§®ў ⥫Ґ© д ©« ¬®¦Ґв ҐЈ® § еў вЁвм (Ў«®ЄЁа®ў вм), Ї®б«Ґ 祣® ¤агЈЁ¬
Ї®«м§®ў вҐ«п¬ ҐЈ® § ЇЁбЁ бв ®ўпвбп ¤®бвгЇл «Ёим ў ०Ё¬Ґ з⥨п.
ђ §«Ёз ©вҐ Ў«®ЄЁа®ў ЁҐ Ё Ї®«®Ґ Ў«®ЄЁа®ў ЁҐ.
Ѓ«®ЄЁа®ў вм ¬®¦® Ё ўҐбм д ©«, Ё ®в¤Ґ«млҐ § ЇЁбЁ; ᤥ« вм нв®
¬®Јгв ҐбЄ®«мЄ® Ї®«м§®ў ⥫Ґ© (Є ¦¤л© § еў влў Ґв бў®о "¤®«о").
Џ®«м§®ў ⥫м, ўлЇ®«ЁўиЁ© Ў«®ЄЁа®ў ЁҐ, §лў Ґвбп ў« ¤Ґ«м楬 Ў«®ЄЁа®ў Ёп.
ђ §Ў«®ЄЁа®ў ЁҐ - нв® ®в¬Ґ Ў«®ЄЁа®ў Ёп. ‡ ЇЁбм ЇҐаҐ¤ ҐҐ Ё§¬ҐҐЁҐ¬
Ў«®ЄЁагов, ЁЎ® Ґв Ў®«ҐҐ бва и®© Є авЁл, 祬 ®¤®ўаҐ¬Ґ®Ґ Ё§¬ҐҐЁҐ
§ ЇЁбЁ ҐбЄ®«мЄЁ¬Ё Ї®«м§®ў ⥫ﬨ. Џ®б«Ґ Ё§¬ҐҐЁп § ЇЁбм 㦮 а §Ў«®ЄЁа®ў вм.
Џ®«м§®ў ⥫о, ¤®«Ј® ¬®®Ї®«Ё§Ёаго饬㠨«Ё Ў«®ЄЁаго饬㠁„,
४®¬Ґ¤гов бЁ¬ вм Є®ЇЁо Ѓ„ Ё ¤Ґ« вм б Ґ© ўбҐ, зв® § Ў« Ј®а ббг¤Ёвбп,
б ЇҐаҐалў ¬Ё з ҐЇЁвЁҐ, ®бв ўЁў Ёб室го Ѓ„ ў а бЇ®а殮ЁЁ ¤агЈЁе
Ї®«м§®ў ⥫Ґ©. ЏаЁ Ґ®Ўе®¤Ё¬®бвЁ ЇҐаҐҐбвЁ ў ҐҐ Ё§¬ҐҐЁп Ї®¬®¦Ґв
Є®¬ ¤ UPDATE.
ЏаҐ¤бв ўм⥠Ёго бЁвг жЁо: Ѓ„ § Ў«®ЄЁа®ў Ї®«м§®ў ⥫Ґ¬,
Їа®зЁҐ Ё«Ё а Ў®в ов б Ґ© ў ०Ё¬Ґ з⥨п, Ё«Ё ®¦Ё¤ ов а §Ў«®ЄЁа®ў Ёп.
…б«Ё Ўл Ї®«м§®ў ⥫м 㤮ў«Ґвў®аЁ«бп § еў в®¬ Ґ ўбҐ© Ѓ„, ®в¤Ґ«мле
§ ЇЁбҐ©, ў®§¬®¦®, Ґ ЇаЁи«®бм Ўл ¦¤ вм ¤агЈЁ¬. ЏаҐ¤бв ўм⥠¤ «ҐҐ, зв®
¤«п § ўҐа襨п а Ў®вл б Ѓ„ ЇҐаў®¬г Ї®«м§®ў ⥫о 㦥 ¤®бвгЇ Є ¤агЈ®©
Ѓ„, ® Єв®-в® "Ї®¦ ¤Ёз «" Ё ®вЄал« ҐҐ ў ¬®®Ї®«м®¬ ०Ё¬Ґ. ’ҐЇҐам
ЇаЁе®¤Ёвбп ¦¤ вм Ё Ґ¬г ( б Ё¬ Ё ¤агЈЁ¬). —в®Ўл "бЈгбвЁвм Єа бЄЁ",
¤®Ў ўЁ¬, зв® ўв®а®¬г ў« ¤Ґ«мжг Ў«®ЄЁа®ў Ёп ¤«п § ўҐа襨п а Ў®вл б
Ѓ„, вॡгҐвбп ¤®бвгЇ Є ЇҐаў®© Ѓ„ б 楫мо Ё§¬ҐҐЁп § ЇЁбҐ©. Ќ® ЇҐаў п
Ѓ„ § еў зҐ . ’гЇЁЄ. ‚®в зв® Ї®«гз Ґвбп, Є®Ј¤ б«ЁиЄ®¬ амп® "впгв
®¤Ґп«® ᥡп" Ё«Ё Ё§®Ўа ¦ ов "б®Ў Єг ᥥ", ў« ¤Ґп Ў«®ЄЁа®ўЄ®©,
® ЁбЇ®«м§гп Ѓ„ «Ёим з бвЁз®. ’гЇЁЄЁ - ®¤ Ё§ Їа®Ў«Ґ¬ а Ў®вл ў бҐвЁ.
€в Є, ЇаЁ ЁвҐбЁў®© а Ў®вҐ б а §¤Ґ«пҐ¬л¬Ё Ѓ„ ¬®®Ї®«мл© аҐ¦Ё¬
¤®«¦Ґ ЁбЇ®«м§®ў вмбп в®«мЄ® ў ўЁ¤Ґ ЁбЄ«о票п. —в®Ўл б®Єа вЁвм ®ЎйЁҐ
(Ё б®Ўб⢥лҐ) Ї®вҐаЁ ўаҐ¬ҐЁ, Ї®«м§®ў вҐ«п¬ бҐвЁ б«Ґ¤гҐв:
)Ґ § еў влў вм ¤ лҐ Ў®«ҐҐ ¤«ЁвҐ«мл© ЇҐаЁ®¤, 祬 ®ЎкҐЄвЁў®
Ґ®Ўе®¤Ё¬®; ЇаЁ¬Ґа, Ґ 㦮 Ї®« Ј вмбп ўв®¬ вЁзҐбЄ®Ґ
а §Ў«®ЄЁа®ў ЁҐ ¤ ле Ї® ®Є®з ЁЁ аҐиҐЁп § ¤ зЁ;
Ў) ®вЄалў вм Ѓ„ ў ०Ё¬Ґ а §¤Ґ«ҐЁп, Ґб«Ё Ё§¬ҐҐЁо ¤ ле
ЇаҐ¤иҐбвўгҐв Ё®Ґ Ёе ЁбЇ®«м§®ў ЁҐ, § еў в Ѓ„ ®бгйҐбвў«пвм Ї®§¤ҐҐ;
ў) бв६Ёвмбп Є Ї®«®© Ё«Ё ўаҐ¬Ґ®© § ¬ҐҐ Є ¦¤®Ј® § еў в Ѓ„
§ еў в®¬ ®в¤Ґ«мле § ЇЁбҐ© Ё«Ё - ў FOXPRO - ЈагЇЇ § ЇЁбҐ©;
Ј) Ґ¬Ґ¤«Ґ® ®в¬Ґпвм ўбҐ бў®Ё Ў«®ЄЁа®ў Ёп, Ґб«Ё ҐгбЇҐи Ї®ЇлвЄ
®зҐаҐ¤®Ј® Ў«®ЄЁа®ў Ёп Ё ®б®§ ЎҐбЇ®«Ґ§®бвм ¤ «мҐ©иҐЈ® ®¦Ё¤ Ёп;
¤) Ёбб«Ґ¤®ў вм ўҐа®пв®бвм вгЇЁЄ®ў Ё ®Ў¤г¬лў вм ¬Ґал Ёе ЇаҐ¤®вўа 饨п.
Џ®б«Ґ¤ҐҐ ¤Ґ« Ґвбп ў ЄагЈг Ї®«м§®ў ⥫Ґ© б гз бвЁҐ¬ ¤¬ЁЁбва в®а Ѓ„.
Ћв¬ҐЁвм Ў«®ЄЁа®ў ЁҐ ¬®¦Ґв в®«мЄ® ў« ¤Ґ«Ґж. Ћв¬Ґ ¬®¦Ґв Ґ Ўлвм
пў®©: ў Ў §Ґ ¤ ле ®ў®Ґ Ў«®ЄЁа®ў ЁҐ ®в¬ҐпҐв ¤Ґ©бвўЁҐ ЇаҐ¤л¤г饣®.
€бЄ«о票Ґ (ў Ї®б«Ґ¤Ёе ўҐабЁпе ‘“Ѓ„) ᤥ« ® ¤«п ЈагЇЇ®ў®Ј® Ў«®ЄЁа®ў Ёп
§ ЇЁбҐ©, Є®Ј¤ ў®§¬®¦® б®еа ҐЁҐ ЇаҐ¤л¤г饣® Ў«®ЄЁа®ў Ёп § ЇЁбҐ©.
„®ЇгбвЁ¬, ¬л Ў«®ЄЁа㥬 § ЇЁбм, § ⥬ - ўбо Ѓ„. Џ®б«Ґ ®в¬Ґл Ў«®ЄЁа®ў Ёп
¤ ®© Ѓ„ ў Ґ© Ґ Ўг¤Ґв Ё ®¤®© Ў«®ЄЁа®ў ®© § ЇЁбЁ.
’ ЄЁ¬ ®Ўа §®¬, Ї®«м§®ў ⥫м бҐвЁ ¬®¦Ґв
- ®вЄалў вм д ©« Ѓ„ «ЁЎ® ў ०Ё¬Ґ а §¤Ґ«ҐЁп, «ЁЎ® ў ¬®®Ї®«м®¬ ०Ё¬Ґ;
- ўлЇ®«пвм Ў«®ЄЁа®ў ЁҐ Ѓ„, ®в¤Ґ«мле § ЇЁбҐ© Ё ЈагЇЇ § ЇЁбҐ©;
Ў«®ЄЁа®ў лҐ § ЇЁбЁ Ё Ў §л ¤®бвгЇл Ї® звҐЁо Ё «оЎ®¬г ¤агЈ®¬г
Ї®«м§®ў ⥫о;
- ®в¬Ґпвм Ў«®ЄЁа®ў Ёп, Є®в®ал¬Ё ў« ¤ҐҐв;
- Їа®ўҐапвм ⥪гйЁ© бв вгб Ў«®ЄЁа®ў Ёп Ѓ„ Ё«Ё § ЇЁбЁ Ѓ„;
- Їа®ўҐапвм гбЇҐи®бвм ўлЇ®«ҐЁп Є®¬ ¤ USE Ё APPEND BLANK, ЇаЁ¬ҐҐле
Є а §¤Ґ«пҐ¬®© Ѓ„ (ў CLIPPER ЁбЇ®«м§гҐвбп дгЄжЁп NetErr(), ў®§ўа й ой п .F.
ЇаЁ гбЇҐеҐ, ў FOXPRO Ґ®Ўе®¤Ё¬ ЇҐаҐеў в ЇаҐалў Ёп ¤«п ®Ўа Ў®вЄЁ ®иЁЎЄЁ).
Џ®«м§®ў ⥫м, Ґ ЇаЁ®ЎйҐл© Є бҐвЁ, ¬®¦Ґв ®бв ў вмбп Ёўл¬ ¤®
б ¬®© бв а®бвЁ Ё Ґ гзЁвлў вм бгйҐбвў®ў ЁҐ бҐвЁ, ЁЎ® Ї® 㬮«з Ёо ‘“Ѓ„
®вЄалў Ґв Ѓ„ ў ¬®®Ї®«м®¬ ०Ё¬Ґ: ¤Ґ©бвўгҐв гбв ®ўЄ SET EXCLUSIVE ON.
23.2. ‚лЇ®«пҐ¬ Ў«®ЄЁа®ў ЁҐ Ё а §Ў«®ЄЁа®ў ЁҐ
—в®Ўл ®вЄалвм Ѓ„ ў ¬®®Ї®«м®¬ ०Ё¬Ґ, ў Є®¬ ¤Ґ USE § ЇЁблў ов
ваЁЎгв EXCLUSIVE, ваЁЎгв SHARED § з Ґв ०Ё¬ а §¤Ґ«ҐЁп Ѓ„. ‚
®вбгвбвўЁҐ ¤ ле ваЁЎгв®ў ўбҐ § ўЁбЁв ®в Ј«®Ў «м®© гбв ®ўЄЁ: ЇаЁ
гбв ®ўЄҐ SET EXCLUSIVE ON ўбҐ Ѓ„ ®вЄалў овбп ў ¬®®Ї®«м®¬ ०Ё¬Ґ,
Ґб«Ё ¤Ґ©бвўгҐв SET EXCLUSIVE OFF - ў ०Ё¬Ґ а §¤Ґ«ҐЁп. Ќ®ў п Ј«®Ў «м п
гбв ®ўЄ Ґ ¬®¦Ґв Ё§¬ҐЁвм бв вгб а ҐҐ ®вЄалвле Ѓ„. €в Є, ваЁЎгвл
Є®¬ ¤л USE Ё¬Ґов Ў®«миго бЁ«г, 祬 Ј«®Ў «м п гбв ®ўЄ . Љ®¬ ¤
SET EXCLUSIVE ®бв ў«Ґ ў п§лЄҐ ¤«п б®ў¬ҐбвЁ¬®бвЁ б ЇаҐ¤л¤гйЁ¬Ё
ўҐабЁп¬Ё, ® Ґ ४®¬Ґ¤гҐвбп Є ЁбЇ®«м§®ў Ёо, ЁЎ® Ј«®Ў «м п гбв ®ўЄ
- ЈагЎ®Ґ б।бвў® гЇа ў«ҐЁп ¤®бвгЇ®¬ Є ¤ л¬.
”гЄжЁп Flock() Їлв Ґвбп Ў«®ЄЁа®ў вм Ѓ„, ®вЄалвго ў ०Ё¬Ґ
а §¤Ґ«ҐЁп, Rlock() (¤агЈ®Ґ Ё¬п Lock()) - ҐҐ ⥪гйго § ЇЁбм. ЋЎҐ
дгЄжЁЁ ў б«гз Ґ гбЇҐе ў®§ўа й ов .T. Ё ®в¬Ґпо⠯।л¤г饥 Ў«®ЄЁа®ў ЁҐ
ў ¤ ®© Ѓ„ (Ґб«Ё ®® Ўл«®). „«п Ёе ЇаЁ¬ҐҐЁп Є ®вЄалв®©, ® Ґ ЄвЁў®©
Ѓ„ ў FOXPRO § ЇЁблў ов аЈг¬Ґв - «Ё б Ѓ„, ў CLIPPER - гв®зпов
«Ё ᮬ ®Ўа 饨Ґ Є дгЄжЁЁ, ЇаЁ¬Ґа: AA->(Lock()). Џ®б«Ґ¤ҐҐ ¤Ґ« ов,
ЇаЁ¬Ґа, ЇаЁ Ў«®ЄЁа®ў ЁЁ бўп§ ®© § ЇЁбЁ "¤®зҐаҐ© Ѓ„", ЁЎ®
Ў«®ЄЁа®ў ЁҐ "¬ вҐаЁбЄ®©" § ЇЁбЁ Ґ ў«ҐзҐв Ў«®ЄЁа®ў Ёп "¤®зҐаҐ©".
Flock(), ЁбЇ®«м§®ў п, Є®Ј¤ Ґв ®вЄалв®© Ѓ„, ў®§ўа й Ґв .F. .
Љ®¬ ¤®© UNLOCK Ї®«м§®ў вҐ«м ўлЇ®«пҐв а §Ў«®ЄЁа®ў ЁҐ ў ЄвЁў®©
Ѓ„, Є®¬ ¤®© UNLOCK ALL - ®в¬ҐпҐв ўбҐ бў®Ё Ў«®ЄЁа®ў Ёп, ЇаЁ¬Ґа,
Ў«®ЄЁа®ў Ёп § ЇЁбҐ© ў "¬ вҐаЁбЄ®©" Ё ў® ўбҐе "¤®зҐаЁе" Ѓ„. Њ®®Ї®«мл©
०Ё¬ Ґ ¬®¦Ґв Ўлвм ®в¬ҐҐ Є®¬ ¤®© UNLOCK. ‚ FOXPRO Є®¬ ¤г UNLOCK
¬®¦® ¤®Ї®«пвм ваЁЎг⮬ IN <ЋЎ«> (б¬. Ї.16.1), в.Ґ. ЇаЁ¬Ґпвм Є «оЎ®©
®вЄалв®© Ѓ„. ‚ CLIPPER ¤«п нв®© 楫Ё ЁбЇ®«м§гов дгЄжЁо DBUnlock(),
гв®зҐго «Ё ᮬ.
”гЄжЁҐ© Rlock() Ў«®ЄЁагов ®¤Ё®зго § ЇЁбм ЇҐаҐ¤ ҐҐ Ё§¬ҐҐЁҐ¬
Є®¬ ¤ ¬Ё @ ... GET, DELETE, RECALL, REPLACE Ё«Ё Їг⥬ ЇаЁбў Ёў Ёп
§ зҐЁп Ї®«о. ”гЄжЁо Flock() ЇаЁ¬Ґпов ЇҐаҐ¤ ⥬, Є Є Ї®¤ўҐаЈгвм
«®ЈЁз®¬г Ё§¬ҐҐЁо ¬®¦Ґбвў® § ЇЁбҐ©. Џа ў¤ , ўҐабЁп CLIPPER 5.2
Ё FOXPRO ЇаҐ¤« Ј ов «мвҐа вЁўг - Ў«®ЄЁа®ў ЁҐ ЈагЇЇл § ЇЁбҐ© (Ї. 23.4).
„«п ўлЇ®«ҐЁп ў а §¤Ґ«пҐ¬®© Ѓ„ Є®¬ ¤ PACK, REINDEX, ZAP, MODIFY
STRUCTURE (FOXPRO), INSERT Ё INSERT BLANK (FOXPRO) ҐҐ ¤® ®вЄалвм ў
¬®®Ї®«м®¬ ०Ё¬Ґ, Ґб«Ё ¦Ґ Ѓ„ ®вЄалв ў ०Ё¬Ґ а §¤Ґ«ҐЁп, Ї®ЇлвЄ
ўлЇ®«Ёвм нвЁ Є®¬ ¤л ўл§лў Ґв б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
ЏаЁ¬Ґа 23.1. ЏаЁ¬Ґал Ў«®ЄЁа®ў Ёп Ѓ„ ў бЁб⥬Ґ CLIPPER
USE Student EXCLUSIVE
IF NetErr() && NetErr ў®§ўа й Ґв .F. ЇаЁ гᯥ讬 ®вЄалвЁЁ Ѓ„
@ 24,0 SAY "ЏаЁ¤ЁвҐ ў б«Ґ¤гойЁ© а §" && --гвЄ --
ELSE
PACK && Ѓ„ гбЇҐи® ®вЄалв Ё ⥯Ґам ўбҐ ¦¤гв ®Є®з Ёп гЇ Є®ўЄЁ Ѓ„
USE && Ѓ„ § Єалў Ґвбп
ENDIF
USE Student SHARED && Ѓ„ ®вЄалў Ґвбп ў®ўм ў ०Ё¬Ґ а §¤Ґ«ҐЁп
IF .NOT. NetErr() .AND. Flock() && Џ®ЇлвЄ Ў«®ЄЁа®ў Ёп Ѓ„
DELETE FOR Kurs=6 && …б«Ё Ѓ„ § еў зҐ , г¤ «повбп § ЇЁбЁ ¤ЁЇ«®¬ЁЄ®ў
UNLOCK
SET INDEX TO IndFam && ЋвЄалў Ґвбп Ё¤ҐЄб Ї® Є«озг Famil
SEEK "Ѓ…„ЌџЉЋ‚Ђ" && Џ®ЁбЄ 㦮© § ЇЁбЁ
IF Found()
ELSEIF Rlock() && ’®«мЄ® Ґб«Ё § ЇЁбм ©¤Ґ , ¤Ґ« Ґвбп Ў«®ЄЁа®ў ЁҐ
REPLACE Famil WITH "‘ЉЋђЋЃЋѓЂ’Ћ‚Ђ"
UNLOCK && ‡ ЇЁбм ЎҐ§®в« Ј вҐ«м® а §Ў«®ЄЁагҐвбп
ELSE
@ 24,0 SAY "€§¬ҐҐЁҐ д ¬Ё«ЁЁ Ґ б®бв®п«®бм; § ЇЁбм § пв "
ENDIF
ELSE
USE I:\RabBD && „«п । ЄвЁа®ў Ёп ®вЄалў Ґвбп а Ў®з п Ѓ„
Browse() && ‚ FOXPRO ¬л Ўл ЁбЇ®«м§®ў «Ё Є®¬ ¤г BROWSE
ENDIF
Џа® «Ё§Ёа㥬 Їа®Ја ¬¬г. ‚ "игвЄҐ" Ґбвм бҐамҐ§л© ¬®¬Ґв: гЇ Є®ўЄг Ѓ„
®Ўлз® Ґ ¤Ґ« ов, Є®Ј¤ а §¤Ґ«пҐ¬лҐ Ѓ„ ЁбЇ®«м§говбп ЁвҐбЁў®. Џ®«®Ґ
Ў«®ЄЁа®ў ЁҐ (¬®®Ї®«мл© аҐ¦Ё¬) ®в¬Ґпов § ЄалвЁҐ¬ Ѓ„. Џ®б«Ґ нв®Ј® ҐҐ
ў®ўм ®вЄал«Ё ¤«п г¤ «ҐЁп § ЇЁбҐ© ¤ЁЇ«®¬ЁЄ®ў. ќв а Ў®в Ґ ба®з п;
Ґб«Ё § еў вЁвм Ѓ„ Ґ г¤ «®бм, ўлЇ®«пҐвбп б«Ґ¤гой п а Ў®в - § ¬Ґ
§ зҐЁп Ї®«п Famil ў ®¤®© Ё§ § ЇЁбҐ©. ‡¤Ґбм Ґ«м§п Ўл«® ®ЎкҐ¤ЁЁвм
Found() Ё Rlock() ў ®¤® «®ЈЁзҐбЄ®Ґ ўла ¦ҐЁҐ Ё§-§ аЁбЄ Ў«®ЄЁа®ў Ёп
"Ї®бв®а®Ґ©" § ЇЁбЁ (Є®Ј¤ Found()=.F.). ‚ ЇаЁжЁЇҐ Rlock() ®в¬ҐпҐв
ЇаҐ¤л¤г饥 Ў«®ЄЁа®ў ЁҐ, ®¤ Є® ўлиҐ § ЇЁб Є®¬ ¤ UNLOCK. Џа ўЁ«м®,
¤®«¦ Ўлвм ЎҐ§гб«®ў п ®в¬Ґ Ў«®ЄЁа®ў Ёп. ЌЁзҐЈ® - Ї® ў®«Ґ б«гз п!
„ л© Ї®«м§®ў вҐ«м ЇаЁ Ґг¤ зҐ а Ў®в Ґв б "«Ёз®© б®Ўб⢥®бвмо"
- ўаҐ¬Ґ®© Ѓ„ RabBD. —в®Ўл Ё§ЎҐ¦ вм ўҐиЁе ў®§¤Ґ©бвўЁ© в ЄЁҐ Ѓ„
( ЇаЁ¬Ґа, Ё§-§ б®ўЇ ¤ҐЁп Ё¬Ґ Ѓ„), Ёе еа пв «®ЈЁзҐбЄ®¬ ¤ЁбЄҐ
(§¤Ґбм - I:), § Єал⮬ ®в Ї®бв®а®Ёе, «гзиҐ - ў «Ёз®© ¤ЁаҐЄв®аЁЁ.
‡ ¤ ЁҐ 23.2. ‡ ЇЁиЁвҐ Ї®б«Ґ¤®ў ⥫м®бвм ¤Ґ©бвўЁ©, Їа®Ё§ў®¤Ё¬ле ў
а §¤Ґ«пҐ¬®© Ѓ„ Ё вॡгойЁе )¬®®Ї®«м®Ј® ०Ё¬ ; Ў) Ў«®ЄЁа®ў Ёп
ўбҐ© Ѓ„; ў) Ў«®ЄЁа®ў Ёп ®в¤Ґ«мле § ЇЁбҐ©. Џа®Ё§ў®¤ЁвҐ бў®ҐўаҐ¬Ґ®Ґ
а §Ў«®ЄЁа®ў ЁҐ.
23.3. ‚лЇ®«пҐ¬ Є®¬ ¤л ў бҐвЁ
Ља®¬Ґ гЄ § ле ўлиҐ Є®¬ ¤, вॡгойЁе ¬®®Ї®«Ё§ жЁЁ Ѓ„,
ап¤ Є®¬ ¤ ўв®¬ вЁзҐбЄЁ ®вЄалў Ґв ᮧ¤ ў Ґ¬лҐ Ѓ„ ў ¬®®Ї®«м®¬
०Ё¬Ґ (б¬. в Ў«. 23.1, «Ґў п Є®«®Є ), в®Ј¤ Є Є ап¤ ¤агЈЁе -
®вЄалў ов Ё¬ҐойЁҐбп Ѓ„ Ё«Ё д ©«л ў ०Ё¬Ґ а §¤Ґ«ҐЁп (в Ў«. 23.1,
Їа ў п Є®«®Є ). ђҐзм Ё¤Ґв ® Ѓ„ Ё д ©« е, Ё¬Ґ Є®в®але ®Ў®§ зҐл
ў в Ў«. 23.1. Џ®б«Ґ ўлЇ®«ҐЁп Є®¬ ¤л (ЁбЄ«оз п Є®¬ ¤г CREATE) Ѓ„
§ Єалў Ґвбп.
’ Ў«Ёж 23.1
---------------------------------------------------------------------
Љ®¬ ¤л, ®вЄалў ойЁҐ д ©« Љ®¬ ¤л, ®вЄалў ойЁҐ д ©«
ў ¬®®Ї®«м®¬ ०Ё¬Ґ ў ०Ё¬Ґ а §¤Ґ«ҐЁп
----------------------------------------------------------------------
COPY STRUCTURE TO <€¬п Ѓ„> APPEND FROM <€¬п д ©« >
COPY TO <€¬п д ©« > CREATE ... FROM <€¬п д ©« >
CREATE <€¬п д ©« > LABEL FORM <€¬п д ©« >
INDEX ON ... TO <€¬п д ©« > REPORT FORM <€¬п д ©« >
JOIN ... TO <€¬п д ©« > RESTORE FROM <€¬п д ©« >
SAVE TO <€¬п д ©« > TYPE <€¬п д ©« >
SET ALTERNATE TO <€¬п д ©« > UPDATE ... FROM <€¬п Ѓ„>
SORT ... TO <€¬п Ѓ„>
TOTAL ... TO <€¬п Ѓ„>
-----------------------------------------------------------------------
Ќ ЇаЁ¬Ґа, ўл ўҐапЄ Ґ § е®вҐ«Ё Ўл, зв®Ўл ў ALTERNATE-д ©«
§ ЇЁблў « бм Ї®бв®а®пп Ёд®а¬ жЁп, Ґ Ё¬Ґой п ®в®иҐЁп Є ў 襬г
¤Ё «®Јг б ќ‚Њ (ЇаЁ¬Ґа б ¬®®Ї®«мл¬ аҐ¦Ё¬®¬). ‘ ¤агЈ®© бв®а®л, Ўл«®
Ўл Ґа §г¬® «Ёи вм Ї®«м§®ў ⥫Ґ© ў®§¬®¦®бвЁ зҐаЇ вм Ёд®а¬ жЁо Ё§
®ЎйҐЈ® Ёбв®зЁЄ (०Ё¬ а §¤Ґ«ҐЁп). ‘гйҐбвўгҐв ¤агЈ®© бЇҐЄв
Їа®Ў«Ґ¬л. ‚®§м¬Ґ¬ Є®¬ ¤г REPORT FORM. …б«Ё ЇаЁ ўлў®¤Ґ ®взҐв ®¤Ё¬
Ї®«м§®ў ⥫Ґ¬ ¤агЈ®© Ё§¬ҐЁв е®вп Ўл ®¤г § ЇЁбм ЄвЁў®© Ѓ„,
ЁбЇ®«м§гҐ¬®© Є Є ®б®ў ®взҐв , ¬®¦Ґв Ўлвм Ї®вҐап ҐЈ®
в®з®бвм, Ї®бЄ®«мЄг Ѓ„ ЇаЁ¬Ґв ҐЄ®в®а®Ґ Їа®¬Ґ¦гв®з®Ґ б®бв®пЁҐ.
‚ FOXPRO Ё¬ҐҐвбп гбв ®ўЄ SET LOCK ON, ®ЎҐбЇҐзЁў ой п ўв®¬ вЁзҐбЄ®Ґ
Ў«®ЄЁа®ў ЁҐ Ѓ„, гЄ § ле ў Є®¬ ¤ е ¬ бб®ў®© ®Ўа Ў®вЄЁ § ЇЁбҐ©
(Ї® 㬮«з Ёо ¤Ґ©бвўгҐв гбв ®ўЄ SET LOCK OFF). „«п ¤агЈЁе
Ї®«м§®ў ⥫Ґ© ¤®бвгЇ Є нвЁ¬ Ѓ„ Ї® з⥨о - б®еа пҐвбп. …йҐ ®¤Ё
ЇаЁ¬Ґа - б®авЁа®ўЄ Ѓ„. ЏаҐ¤бв ўмвҐ, зв® ў ҐҐ Їа®жҐбᥠ"Ї®бв®а®Ё©"
Ё§¬ҐЁ« Ї®«Ґ - Є«оз б®авЁа®ўЄЁ е®вп Ўл ў ®¤®© § ЇЁбЁ. ‘ Ў®«ми®©
б⥯Ґмо ўҐа®пв®бвЁ Ї®а冷Є б«Ґ¤®ў Ёп § ЇЁбҐ© Ўг¤Ґв агиҐ.
ЏаЁ ўв®¬ вЁзҐбЄ®¬ ®вЄалвЁЁ Ѓ„ ¬®Јгв Ўлвм ⥠¦Ґ Їа®Ў«Ґ¬л, зв® Ё
ЇаЁ Ї®ЇлвЄҐ ®вЄалвм Є®¬ ¤®© USE Ў §г, Є®в®а п Ў«®ЄЁа®ў . ЏаЁзЁл
ҐгбЇҐиле Ї®Їлв®Є ®ва ¦Ґл ў в Ў«. 23.2.
’ Ў«Ёж 23.2
-----------------------------------------------------------------------
Љ®¬ ¤ ЏаЁзЁ ҐгбЇҐи®Ј® ўлЇ®«ҐЁп
-----------------------------------------------------------------------
USE <Ѓ„> SHARED Ѓ„ § еў зҐ ¤агЈЁ¬ Ї®«м§®ў ⥫Ґ¬
(USE <Ѓ„> EXCLUSIVE)
USE <Ѓ„> EXCLUSIVE Ѓ„ 㦥 ®вЄалв Ё ЁбЇ®«м§гҐвбп
APPEND BLANK Ѓ„ Ў«®ЄЁа®ў (Flock() Ё«Ё USE <Ѓ„> EXCLUSIVE)
Ё«Ё Є®¬ ¤ APPEND BLANK 㦥 ўлЇ®«пҐвбп ¤агЈЁ¬
-----------------------------------------------------------------------
‚ ЇаЁ¬ҐаҐ 23.1 Ї®Є § ®, Є Є ¤Ґ©бвў®ў вм ў CLIPPER, зв®Ўл ҐгбЇҐи п
Ї®ЇлвЄ ®вЄалвЁп Ѓ„ Ґ бв « ЇаЁзЁ®© б®®ЎйҐЁ© ®Ў ®иЁЎЄҐ Ё ЇаҐалў Ёп
Їа®Ја ¬¬л. ‚ CLIPPER Ё¬ҐҐвбп Ў«®Є NetErr. ЏаЁ¬ҐЁ¬ ҐЈ® ў б«гз Ґ APPEND
BLANK, ®вў®¤п 5 ᥪ㤠¤«п Ї®Їлв®Є ¤®Ў ў«ҐЁп § ЇЁбЁ ў ЄвЁўго Ѓ„:
. . .
T = 5
APPEND BLANK
DO WHILE NetErr() .AND. T>0
Inkey(.5) && ќ ¤Ґа¦Є ў 1/2 ᥪг¤л
T = T -.5
APPEND BLANK
ENDDO && ЋЄ®з ⥫мл© Ёв®Ј ®ва ¦ Ґв Ї®б«Ґ¤ҐҐ § 票Ґ NetErr()
„®Ў ў«Ґ п § ЇЁбм ўв®¬ вЁзҐбЄЁ ®бв Ґвбп Ў«®ЄЁа®ў ®© Ё нв® а §г¬®Ґ
аҐиҐЁҐ, ЁЎ®, Є Є Їа ўЁ«®, ҐҐ ба §г § Ї®«пов, в.Ґ. Ё§¬Ґпов § 票п
Ї®«Ґ©.
ЋЎа Ў®вЄ бҐвҐўле ®иЁЎ®Є ў FOXPRO а бᬮвॠў Ї. 23.5.
€¬ҐҐвбп ®Ја ЁзҐЁҐ ¬Ґбв® § ¤ Ёп Ё¤ҐЄб®ў а §¤Ґ«пҐ¬®© Ѓ„. €е Ґ
б«Ґ¤гҐв § ¤ ў вм ў Є®¬ ¤Ґ USE - в®«мЄ® ў Є®¬ ¤Ґ SET INDEX TO. „Ґ«® ў
⮬, зв® ўлЇ®«ппбм, Є®¬ ¤ USE <Ѓ„> INDEX <‘ЇЁб®Є Ё¤ҐЄб®ў> ўл§®ўҐв
®иЁЎЄг, Ґб«Ё Ѓ„ ¬®®Ї®«м® ў« ¤ҐҐв ¤агЈ®© Ї®«м§®ў ⥫м. “Є §лў п Ё¤ҐЄбл
ў SET INDEX TO, б з « Їа®ўҐа塞, б®бв®п«®бм «Ё ®вЄалвЁҐ Ѓ„ (б¬.
ЇаЁ¬Ґа 23.1).
‡ ¤ ЁҐ 23.3. ‡ ЇЁиЁвҐ Ў«®Є ўлў®¤ ®взҐв Ї® д®а¬Ґ "ITOGI"
®б®ўҐ Ѓ„ Student, Ї®§ Ў®вЁўиЁбм ® § йЁвҐ Ѓ„ ®в § ЇЁбЁ ў ҐҐ ®ўле
¤ ле ¤агЈЁ¬Ё Ї®«м§®ў ⥫ﬨ.
23.4. ЋбгйҐб⢫塞 Ў«®ЄЁа®ў ЁҐ ЈагЇЇл § ЇЁбҐ©
‚ FOXPRO ЇаҐ¤гᬮвॠЄ®¬ ¤ SET MULTILOCK <Љ«оз>, Ј¤Ґ <Љ«оз> -
нв® ON Ё«Ё OFF, ўЄ«оз ой п (ON) Ё ўлЄ«оз ой п (OFF) ०Ё¬ Ў«®ЄЁа®ў Ёп
¬®¦Ґбвў § ЇЁбҐ©. ‚ ०Ё¬Ґ "ON" ¬®¦® ЁбЇ®«м§®ў вм дгЄжЁо Rlock()
(Ё«Ё Lock()) б а биЁаҐл¬ бЁв ЄбЁб®¬:
Rlock("<‘ЇЁб®Є ®¬Ґа®ў Ў«®ЄЁа㥬ле § ЇЁбҐ©>",<ЋЎ« бвм>),
Ј¤Ґ ®ЇжЁп <ЋЎ« бвм> -нв® ®¬Ґа а Ў®зҐ© ®Ў« бвЁ Ё«Ё «Ё б. Ќ ЇаЁ¬Ґа,
¤«п Ў«®ЄЁа®ў Ёп 3-©, 7-©, 8-©, 9-© § ЇЁбЁ ЄвЁў®© Ѓ„ § ЇЁблў Ґ¬
Rlock("3,7,8,9"). ‘ЇЁб®Є ®¬Ґа®ў ¬®¦Ґв Ўлвм в Є¦Ґ § 票Ґ¬
бЁ¬ў®«мле ЇҐаҐ¬Ґ®©, н«Ґ¬Ґв ¬ ббЁў , Ї®«п Ѓ„. ”гЄжЁп Rlock()
ў®§ўа й Ґв § 票Ґ .T. в®«мЄ® ў ⮬ б«гз Ґ, Ґб«Ё г¤ «®бм
Ў«®ЄЁа®ў вм ўбҐ гЄ § лҐ § ЇЁбЁ. Ѓ«®ЄЁа®ў Ёп, Є®в®алҐ ® ᬮЈ«
ўлЇ®«Ёвм, б®еа повбп, а ў® Є Є Ё Ў«®ЄЁа®ў Ёп § ЇЁбҐ©, ᤥ« лҐ
¤® ҐҐ.
€®Ј¤ 㤮ЎҐҐ Ў«®ЄЁа®ў вм ЈагЇЇг § ЇЁбҐ©, ЁбЇ®«м§гп Rlock()
®в¤Ґ«м® ¤«п Є ¦¤®© § ЇЁбЁ. Љ®¬ ¤ SET MULTILOCK ўбҐЈ¤ бЁ¬ Ґв
бгйҐбвўгойЁҐ Ў«®ЄЁа®ў Ёп § ЇЁбҐ©, в.Ґ. ЇҐаҐ¤ Ґо Ґ ¤®
ўлЇ®«пвм UNLOCK. —Ёб«® ®¤®ўаҐ¬Ґ® Ў«®ЄЁа®ў ле § ЇЁбҐ©
®Ја ЁзЁў Ґвбп ®ЎкҐ¬®¬ Ї ¬пвЁ бҐаўҐаҐ. …б«Ё Ї®¤¬®¦Ґбвў®
Ў«®ЄЁа㥬ле § ЇЁбҐ© ўҐ«ЁЄ®, Ў«®ЄЁагов ®Ўлз® ўбо Ѓ„ дгЄжЁҐ© Flock().
‚ ўҐабЁЁ CLIPPER 5.2 в Є¦Ґ ЇаҐ¤гᬮв८ Ў«®ЄЁа®ў ЁҐ ЈагЇЇ
§ ЇЁбҐ©, ЁбЇ®«м§гҐвбп дгЄжЁп DBRlock(). ’ҐЄгйЁ© бЇЁб®Є
Ў«®ЄЁа®ў ле § ЇЁбҐ© ў®§ўа й Ґв дгЄжЁп DBRLOCKLIST(). ‘ЇҐжЁ «млҐ
०Ё¬л Ў«®ЄЁа®ў Ёп, Ё¬ҐойЁҐбп ў FOXPRO, Ґ ЇаҐ¤гᬮваҐл. ‚§ ¬Ґ -
®бва®г¬®Ґ аҐиҐЁҐ: DBRLock() ЎҐ§ аЈг¬Ґв бЁ¬ Ґв ў Ў §Ґ ўбҐ
Ў«®ЄЁа®ў Ёп § ЇЁбҐ© Ё Ў«®ЄЁагҐв ⥪гйго § ЇЁбм; DBRlock() б
аЈг¬Ґв®¬ (®¬Ґа § ЇЁбЁ) Ў«®ЄЁагҐв гЄ § го (е®вп Ўл Ё ⥪гйго -
гЄ ¦ЁвҐ Recno()Є Є ®¬Ґа § ЇЁбЁ) § ЇЁбм Ё ¤®Ў ў«пҐв Є бЇЁбЄг
Ў«®ЄЁа®ў ле § ЇЁбҐ©. ”гЄжЁп DBAppend(.T.) бЁ¬ Ґв Ў«®ЄЁа®ў Ёп
§ ЇЁбҐ©, ¤®Ў ў«пҐв ў Ѓ„ Ё Ў«®ЄЁагҐв Їгбвго § ЇЁбм, DBAppend(.F.),
¤®Ў ў«пп § ЇЁбм, «Ёим ЇаЁб®Ґ¤ЁпҐв ҐҐ Є бЇЁбЄг Ў«®ЄЁа®ў ле § ЇЁбҐ©.
”гЄжЁп DBRUnlock() ЎҐ§ аЈг¬Ґв бЁ¬ Ґв ўбҐ Ў«®ЄЁа®ў Ёп § ЇЁбҐ©,
Ґб«Ё гЄ § вм аЈг¬Ґв - ®¬Ґа § ЇЁбЁ, а §Ў«®ЄЁагҐвбп в®«мЄ® ® ®¤ .
‡ ¤ ЁҐ 23.4. ‡ ЇЁиЁвҐ Ё ®Їа®Ўг©вҐ Џќ‚Њ 2 ў аЁ в Їа®Ја ¬¬л
Ў«®ЄЁа®ў Ёп ЈагЇЇл § ЇЁбҐ© ЄвЁў®© Ѓ„: б® бЇЁбЄ®¬ ®¬Ґа®ў § ЇЁбҐ©
ў дгЄжЁЁ Rlock() Ё ЎҐ§ нв®Ј® бЇЁбЄ .
23.5. ЋЎа Ў влў Ґ¬ ®иЁЎЄЁ ЇаЁ ЁбЇ®«м§®ў ЁЁ Ѓ„ ў бҐвЁ
ЏаЁ¬ҐЁвҐ«м® Є CLIPPER ¬®¦® Ј®ў®аЁвм Їа® ®Ўа Ў®вЄг ®вЄ §®ў ЇаЁ
Ў«®ЄЁа®ў ЁЁ, ® ў FOXPRO Ї®ЇлвЄ "Ґ¤®§ў®«Ґ®Ј®" ¤®бвгЇ Є
Ў«®ЄЁа®ў ®© Ѓ„ (Є®¤ ®иЁЎЄЁ 108) Ё«Ё Ў«®ЄЁа®ў ®© § ЇЁбЁ (Є®¤
®иЁЎЄЁ 109) ®Ўа Ў влў Ґвбп Ё¬Ґ® Є Є ®иЁЎЄ . Ќ ¤® Ё¬Ґвм ў ўЁ¤г,
зв® нвЁ Ї®ЇлвЄЁ ¬®Јгв Їа®Ёб室Ёвм ў ЁвҐа ЄвЁў®¬ ०Ё¬Ґ, ЇаЁ
ЁбЇ®«м§®ў ЁЁ ®Є Є®¬ ¤ FOXPRO, в.Ґ. Ґ ®Ўп§ вҐ«м® ў Їа®Ја ¬¬Ґ.
„«п ®Ўа Ў®вЄЁ ®иЁЎ®Є 㦥 ERROR-Ў«®Є, ўл§лў Ґ¬л© Є®¬ ¤®© ON ERROR
(б¬. Ї. 22.5). ”гЄжЁЁ Flock(), Rlock() (Lock()) б ¬Ё ®иЁЎЄЁ Ґ
ўл§лў ов, ®иЁЎЄЁ ўл¤ овбп, Є®Ј¤ , Ґ ®Ўа й п ўЁ¬ Ёп Ёе
®ваЁж ⥫мл© аҐ§г«мв в (.F.), Їлв овбп Ё§¬ҐЁвм ®ЎкҐЄв, § еў зҐл©
¤агЈЁ¬.
ЏаЁ¬Ґа 23.2. Џа®жҐ¤га ErrEx ®Ўа Ў®вЄЁ ®иЁЎ®Є ў бҐвЁ (ERROR-Ў«®Є).
PROCEDURE ErrEx
Er = ERROR()
DO CASE
CASE Er = 108 OR Er = 109 && ‘«гз © ®Ўа йҐЁп Є Ў«®ЄЁа®ў ®© Ѓ„
ON KEY LABEL F8 DO Nowait && Ё«Ё Ў«®ЄЁа®ў ®© § ЇЁбЁ
DO Ermsg WITH Iif(Er=108,"Ѓ § ","‡ ЇЁбм")+" Ў«®ЄЁа®ў б®бҐ¤®¬"
DO Delay && ‘«гз © п § ¤Ґа¦Є ў ЇаҐ¤Ґ« е 5 б.
RELEASE WINDOW Ermsg && “Ёз⮦ҐЁҐ ®Є б®®ЎйҐЁп
ON KEY LABEL F8 && Ћв¬Ґ Є« ўЁи®Ј® § 票п
RETRY && ‚®§ўа в Є Є®¬ ¤Ґ, ўл§ў ўиҐ© ®иЁЎЄг
CASE Er = ... && ‘«гз © ®иЁЎЄЁ б ¤агЈЁ¬ Є®¤®¬
. . . && ЋЎа Ў®вЄ ®иЁЎ®Є б ¤агЈЁ¬Ё Є®¤ ¬Ё
ENDCASE
PROCEDURE Ermsg
PARAM Msg
IF NOT Wexist("Ermsg") && Џа®ўҐаЄ бгйҐбвў®ў Ёп ®Є
DEFINE WINDOW Ermsg FROM 10,5 TO 15,75 TITLE "Ћ € Ѓ Љ Ђ"
ENDIF
ACTIVATE WINDOW Ermsg SAME
@ 2,3 SAY Msg
@ 4,3 SAY "„«п ў®§ўа в ў Ј« ўл© Ў«®Є ¦¬ЁвҐ F8"
PROCEDURE Delay && ђҐ «Ё§гҐвбп § ¤Ґа¦Є б«гз ©®© ¤«ЁвҐ«м®бвЁ
PRIVATE tfin && (ў ЇаҐ¤Ґ« е 5 ᥪг¤)
tfin = Seconds() + Rand()*5
DO WHILE Seconds() < tfin
ENDDO
PROCEDURE Nowait
ON KEY LABEL F8
RELEASE WINDOW Ermsg
RETURN TO MASTER && ‚®§ўа в ў Ј« ўл© Ў«®Є
ЏаЁ¬ҐҐЁҐ Ў«®Є ErrEx а бᬮваЁ¬ ЇаЁ¬ҐаҐ 23.1. ЏаҐ¤ў аЁвҐ«м®,
ЇаЁ¬Ґа, зҐаҐ§ ®Є® Є®¬ ¤ ¤® ўлЇ®«Ёвм Є®¬ ¤г ON ERROR DO ErrEx.
‚ FOXPRO з «® Їа®Ја ¬¬л § зЁвҐ«м® б®Єа вЁвбп (ўҐвў«ҐЁҐ гЎЁа Ґ¬):
USE Student EXCLUSIVE && ‚맮ў ERROR-Ў«®Є Їа®Ёб室Ёв §¤Ґбм
PACK
USE
Џ®Є Ґ Їа®Ё§®©¤Ґв § еў в Ѓ„, Ў«®Є ErrEx Ўг¤Ґв ў®§ўа й вм гЇа ў«ҐЁҐ
Є®¬ ¤г USE Student EXCLUSIVE. …б«Ё Ї® Їа®иҐбвўЁЁ ўаҐ¬ҐЁ
Ї®«м§®ў ⥫м, ®вз пўиЁбм, ¦¬Ґв F8, гЇа ў«ҐЁҐ Ї®«гзЁв Є®¬ ¤ PACK
Ё в Є¦Ґ ўл¤ бв ®иЁЎЄг, ®Ўа Ў®вЄ Є®в®а®© ў ⥪б⥠Ў«®Є ErrEx Ґ Ї®Є § .
„ «ҐҐ гЇа ў«ҐЁҐ Ї®«гзЁв USE - ® Ґ ўл§®ўҐв Є ЄЁе-«ЁЎ® ¤Ґ©бвўЁ©,
§ ⥬ ¤Ґ« Ґвбп Ї®ЇлвЄ ®вЄалвм Ѓ„ ў ०Ё¬Ґ а §¤Ґ«ҐЁп Ё Ў«®ЄЁа®ў вм ҐҐ:
USE Student SHARED && ‚맮ў ERROR-Ў«®Є Їа®Ёб室Ёв §¤Ґбм
IF Flock()
. . .
‘®ў ў®§¬®¦л ¬®Ј®Єа влҐ Ї®ЇлвЄЁ ®вЄалвм Ѓ„. …б«Ё Ўг¤Ґв ¦ в
F8 (Ў §г в Є Ё Ґ ®вЄал«Ё), Flock() ў®§ўа вЁв .F. Ё б«Ґ¤гой п а Ў®в
в Є¦Ґ Ўг¤Ґв Їа®ЇгйҐ . ‚ § ўҐа襨Ґ Їа®Ја ¬¬л Ўг¤Ґв ЁбЇ®«м§®ў вмбп
Є®¬ ¤ BROWSE. —Ёв вҐ«о ЇаҐ¤« Ј Ґвбп Їа®ўҐаЁвм Ї®«гзҐго FOXPRO-
Їа®Ја ¬¬г.
‡ ¤ ЁҐ 23.5. „Ґ©бвўгп б 2 а Ў®зЁе бв жЁ©, Їа®¬®¤Ґ«Ёаг©вҐ § еў в,
§ ⥬ - Ї®«®Ґ Ў«®ЄЁа®ў ЁҐ Ѓ„ Student б 1-© бв жЁЁ. Ќ 2-© бв жЁЁ
§ ЇгбвЁвҐ Їа®Ја ¬¬г ЇаЁ¬Ґа 23.1 б гзҐв®¬ Ґ®Ўе®¤Ё¬ле Ё§¬ҐҐЁ©.
€§гзЁвҐ ®Ўа Ў®вЄг ®иЁЎ®Є Ў«®Є®¬ ErrEx ў а §«Ёзле бЁвг жЁпе
Ў«®ЄЁа®ў Ёп.
23.6. ‚лЇ®«пҐ¬ § еў в Ў §л ¤ ле Ё«Ё § ЇЁбЁ
ў гб«®ўЁпе Є®ЄгаҐжЁЁ. ’а § ЄжЁЁ
‚ Ї. 23.5 ЇаЁ¬ҐаҐ Ў«®Є ErrEx Ї®Є § ®, Є Є ®бгйҐбвўЁвм
¬®Ј®Єа влҐ Ї®ЇлвЄЁ Ї®«гз¬вм ¤®бвгЇ Є Ѓ„. ‚ FOXPRO Ґбвм ®б®Ў п
Є®¬ ¤ SET REPROCESS TO <‚лаN> SECONDS, Ї®§ў®«пой п § ¤ вм
зЁб«® <‚лаN> Ї®Їлв®Є Ё«Ё ўаҐ¬п, ў вҐзҐЁҐ Є®в®а®Ј® ®Ё Ўг¤гв
ЇаҐ¤ЇаЁЁ¬ вмбп (Ґб«Ё бЇа ў ®в <‚лаN> б«®ў® SECONDS, <‚лаN>
®Ў®§ з Ґв зЁб«® ᥪг¤). „Ё Ї §® § 票© <‚лаN> - ®в 1 ¤® 32000.
“бЇҐе Ї®ЇлвЄЁ Ё«Ё ¦ вЁҐ Esc ®в¬Ґпов ¤ «мҐ©иЁҐ Ї®ЇлвЄЁ. ‚ 室Ґ
ўлЇ®«ҐЁп Є®¬ ¤ ўлў®¤Ёв ¤ЁбЇ«Ґ© б®®ЎйҐЁҐ ® ўлЇ®«пҐ¬ле
Ї®ЇлвЄ е Ў«®ЄЁа®ў Ёп. “бЇҐи п Ї®ЇлвЄ ЇаЁў®¤Ёв Є Ёб祧®ўҐЁо
б®®ЎйҐЁп.
…б«Ё Ї®ЇлвЄЁ Ў«®ЄЁа®ў Ёп ®бгйҐбвў«п«Ёбм дгЄжЁҐ© Flock()
Ё«Ё Rlock() (Lock()), Ёе § 票Ґ .T. ®ва §Ёв Є®Ґзл© гбЇҐе.
…б«Ё ¦ в Esc Ё«Ё ўбҐ Ї®ЇлвЄЁ ЁбзҐаЇ л ЎҐ§ १г«мв в ,
§ 票Ґ¬ дгЄжЁЁ пў«пҐвбп .F. .
ERROR-Ў«®Є Ё¬ҐҐв ЇаЁ®аЁвҐв ў ⮬ б¬лб«Ґ, зв® ®вЄ § ў
®вЄалвЁЁ Ѓ„ Ґ¬Ґ¤«Ґ® ўл§лў Ґв ўлЇ®«ҐЁҐ ERROR-Ў«®Є (ЎҐ§
Ї®ўв®аҐЁп ўв®¬ вЁзҐбЄЁе Ї®Їлв®Є ®вЄалвЁп Ѓ„). ”гЄжЁЁ Ў«®ЄЁа®ў Ёп
Ґ ўл§лў ов ERROR-Ў«®Є.
Љ®¬ ¤ SET REPROCESS Ё¬ҐҐв ў аЁ в SET REPROCESS TO AUTOMATIC
(Ё«Ё SET REPROCESS TO 0), бЁ¬ ойЁ© ®Ја ЁзҐЁҐ зЁб«® Ї®Їлв®Є.
Љ« ўЁи Esc Ї®ЇаҐ¦Ґ¬г ®бгйҐбвў«пҐв Ёе ®в¬Ґг. ‚ ў аЁ вҐ
SET REPROCESS TO -1 ("¬ ЄбЁ¬ «ЁбвбЄ®¬") Ў«®ЄЁаговбп ¤Ґ©бвўЁҐ Esc
Ё ўл室 ERROR-Ў«®Є. …б«Ё ЇаЁ н⮬ ў ਠ⥠Є®¬ ¤л Ї®ЇлвЄЁ Ўг¤гв
ЎҐ§гбЇҐил, ЇаЁ¤Ґвбп ЇҐаҐ§ Јаг¦ вм Џќ‚Њ.
ЊЁгᮬ Є®¬ ¤л пў«пҐвбп Ґ¤Ё®Ґ аҐиҐЁҐ ¤«п ўбҐ© Їа®Ја ¬¬л.
‚ CLIPPER ЇаҐ¤« Ј Ґвбп Ў®а Ё§ 4 дгЄжЁ©, ®Ўа §гойЁе д ©«
LOCKS.PRG, Є®в®ал© ¤® Ї®¤Є«оз вм Є®¬ ¤®© SET PROCEDURE TO.
”гЄжЁЁ RecLock(<‚лаN>) Ё FilLock(<‚лаN>) ў вҐзҐЁҐ <‚лаN>
ᥪ㤠ўлЇ®«пов Ї®ЇлвЄЁ § еў в § ЇЁбЁ Ё«Ё д ©« Ѓ„
ᮮ⢥вб⢥®. ”гЄжЁп NetUse("<€¬п Ѓ„>",<ђҐ¦Ё¬>, <‚лаN>) ў
вҐзҐЁҐ <‚лаN> ᥪ㤠Їлв Ґвбп ®вЄалвм д ©« <€¬п Ѓ„> ў
¬®®Ї®«м®¬ ०Ё¬Ґ (<ђҐ¦Ё¬> = .T.) Ё«Ё ०Ё¬Ґ а §¤Ґ«ҐЁп
(<ђҐ¦Ё¬>) = .F.). Ќ Є®Ґж, дгЄжЁп AddRec(<‚лаN>) ў вҐзҐЁҐ
<‚лаN> ᥪ㤠Їлв Ґвбп ¤®Ў ўЁвм Їгбвго § ЇЁбм ў ЄвЁўго Ѓ„.
€в Є, Ґг¤ зг (®вЄ §) ў ®вЄалвЁЁ Ѓ„, Ў«®ЄЁа®ў ЁЁ Ѓ„ Ё«Ё § ЇЁбЁ
Ѓ„ Їлв овбп ЇаҐ®¤®«Ґвм Ї®ўв®аҐЁҐ¬ Ї®Їлв®Є ®вЄалвЁп (Ў«®ЄЁа®ў Ёп) ў
вҐзҐЁҐ ҐЄ®в®а®Ј® ўаҐ¬ҐЁ Ё«Ё ¤® ўҐиҐЈ® ЇаҐалў Ёп (Esc). ЏаЁ
"Ї®«®© Ґг¤ зҐ" ¬®¦® ЇҐаҐЄ«озЁвмбп ®Ўа Ў®вЄг ¤агЈЁе ¤ ле,
§ ⥬ ў®ўм Ї®Їлв вмбп Ї®«гзЁвм ¦Ґ« л© ®ЎкҐЄв. Ќ ЁЎ®«ҐҐ Їа®бв®
нв® ®бгйҐбвўЁвм ў ¤ҐжҐва «Ё§®ў ле FOXPRO-Їа®Ја ¬¬ е, ®б®ў®©
Є®в®але пў«пҐвбп ¬Ґо б Ї®¤Є«озҐл¬Ё Є Ґ¬г Ў«®Є ¬Ё, Ґб«Ё ў Ёе
ЇаҐ¤гᬮвॠॠЄжЁп ®вЄ §л.
’а § ЄжЁЁ. ‚ᥠаҐи «®бм Ўл Їа®йҐ, Ґ Ўг¤м ва § ЄжЁ© -
«®ЈЁзҐбЄЁе Ґ¤ЁЁж а Ў®вл, ўлЇ®«ҐЁҐ Є®в®але ¤ ¦Ґ 99 %
а ў®бЁ«м® ҐўлЇ®«ҐЁо. ЏаҐ¤бв ўм⥠¤ўҐ Ѓ„: "Џа®¤ ¦Ё"
Ё "Џ®ЄгЇ ⥫Ё", ў Є®в®але Ї®ЄгЇ ⥫Ё ®Ў®§ зҐл Є®¤®¬
Ї®ЄгЇ ⥫п. …б«Ё ¬л § ¬ҐпҐ¬ ҐЄ®в®ал© Є®¤ Ї®ЄгЇ ⥫п, в®
ᤥ« вм нв® ¤®«¦л ў Є ¦¤®© Ѓ„. „®ЇгбвЁ¬, н⮠ᤥ« ® «Ёим ў
®¤®© Ё§ Ёе, ¤агЈ п - Ўл« § еў зҐ Ё§ўҐ Ё ў®§ЁЄ вгЇЁЄ.
„ лҐ Ї®вҐап«Ё 楫®бв®бвм.
‘гйҐбвўгов ¤ў Ї®¤е®¤ Є ва § ЄжЁп¬. ЏҐаўл©: б з «
Ї®«гзЁвм ўбҐ Ґ®Ўе®¤Ё¬лҐ Ў«®ЄЁа®ў Ёп (ў 襬 ЇаЁ¬ҐаҐ -
Ў«®ЄЁа®ў вм ®ЎҐ Ѓ„) Ё «Ёим § ⥬ ўлЇ®«пвм ®Ўа Ў®вЄг.
‚в®а®©: а §¬ҐвЁвм ў Їа®Ја ¬¬Ґ гз бвЄЁ, ᮮ⢥вбвўгойЁҐ
ва § ЄжЁп¬; ЇаЁ Ґў®§¬®¦®бвЁ § ўҐаиЁвм з вго ва § ЄжЁо
Їа®Ё§ў®¤Ёвм "®вЄ в" Є з «г гз бвЄ Ё г«Ёа®ў вм нд䥪в
з в®© ва § ЄжЁЁ. ‡ ¬ҐвЁ¬, зв® ўл¤Ґ«ҐЁҐ ва § ЄжЁ©
Ґ®Ўе®¤Ё¬® Ё ¤«п Їа®жҐ¤га ў®ббв ®ў«ҐЁп Ї®б«Ґ ў аЁ©®Ј®
ЇаҐЄа 饨п а Ў®вл Їа®Ја ¬¬л.
‡ ¤ ЁҐ 23.6. ЋЇа®Ўг©вҐ а §«ЁзлҐ ў аЁ вл Є®¬ ¤л
REPROCESS TO ¬®¤Ґ«Ё, а бᬮв८© ў § ¤ ЁЁ 23.5.
‡ЂЉ‹ћ—…Ќ€… Љ ѓ‹Ђ‚… 23
ЌҐ§ ЁҐ § Є®®ў Ґ ®бў®Ў®¦¤ Ґв ®в ®вўҐвб⢥®бвЁ. •®вп
Ўл Ї®н⮬㠤 го Ј« ўг ¤® Ўл«® Їа®зҐбвм ⥬, Єв® б®ЎЁа Ґвбп
а Ў®в вм ў бҐвЁ Џќ‚Њ. Ља®¬Ґ § Ёп, г¦ нвЁЄ . ‘ нвЁЄ®©
"ЇҐйҐа®Ј® 祫®ўҐЄ " ¬®¦® а Ў®в вм Џќ‚Њ ў ®¤Ё®зЄг, ® Ґ
ў бҐвЁ. „«п Ў®«ҐҐ ¤Ґв «м®Ј® а бᬮв२п бҐвҐўле Їа®Ў«Ґ¬,
ЇаЁ¬Ґа, Їа®Ў«Ґ¬л ва § ЄжЁ©, ®Ўа й ©вҐбм Є [4, 8] Ё ¤агЈЁ¬
Ёбв®зЁЄ ¬.
Соседние файлы в папке материалы по FoxPro