Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:БД книги 2 / материалы по FoxPro / GL22
.PAS 22. €‘ЏЋ‹њ‡“…Њ Ћ’‹Ђ„—€Љ € ЋЃђЂЃЂ’›‚Ђ…Њ Ћ€ЃЉ€ ‚ FOXPRO
Ћ ¬Ґв®¤ЁЄҐ ®в« ¤ЄЁ Ё § ¤ з е ®в« ¤зЁЄ ўл Їа®з«Ё ў Ї. 14.1.
ђ бᬮваЁ¬ ў ¤ ®© Ј« ўҐ, Є Є нвЁ § ¤ зЁ аҐ «Ё§говбп ў FOXPRO.
—в®Ўл гЇа®бвЁвм Ё§«®¦ҐЁҐ, ¬л ®Ў®§ з Ґ¬ вҐа¬Ё ¬Ё "в®зЄ ®бв ®ў "
Ё "в®зЄ ЇаҐалў Ёп" а §«ЁзлҐ бгй®бвЁ.
22.1. ‚лЇ®«пҐ¬ ва ббЁа®ўЄг
Љ Є Ё ў CLIPPER, гз бв®Є Їа®Ја ¬¬л ¬®¦Ґв ўлЇ®«пвмбп ў
ўв®¬ вЁзҐбЄ®¬ (®Ўл箬) ०Ё¬Ґ, ў ०Ё¬Ґ Ё¬ жЁЁ Ё Ї®и Ј®ў®¬
०Ё¬Ґ (б¬. Ї. 14.1).
‚Є«о票Ґ ®в« ¤зЁЄ ¬®¦® ЇаҐ¤гᬮваҐвм ЇаЁ Ї®¤Ј®в®ўЄҐ
Їа®Ја ¬¬л: ¬л ўЄ«оз Ґ¬ ў ҐҐ Є®¬ ¤г SET STEP ON ЇҐаҐ¤ гз бвЄ®¬,
Є®в®ал© ўл§лў Ґв ᮬҐЁп, в.Ґ. ¤®«¦Ґ ва ббЁа®ў вмбп. Џ®б«Ґ
§ ЇгбЄ Їа®Ја ¬¬л Ё ўлЇ®«ҐЁп з бвЁ, ЇаҐ¤иҐбвўго饩 SET STEP ON,
нв Є®¬ ¤ ўл§®ўҐв ®бв ®ў, ЄвЁўЁ§ЁагҐв ®в« ¤зЁЄ Ё ®вЄа®Ґв ®Є®
Trace б ⥪б⮬ Їа®Ја ¬¬л, Ј¤Ґ б«Ґ¤гой п Є®¬ ¤ Ўг¤Ґв ®Ў®§ зҐ
¬ થ஬ Є Є Ї®¤«Ґ¦ й п ўлЇ®«ҐЁо:
T r a c e
Program Resume Out Over Step
---------------------------------------
<’ҐЄбв Їа®Ја ¬¬л, ў Є®в®а®¬ бва®Є
®зҐаҐ¤®© (® ҐйҐ Ґ ўлЇ®«Ґ®©)
Є®¬ ¤л ®Ў®§ зҐ Їаאַ㣮«мл¬
¬ થ஬>
---------------------------------------
<€¬п Їа®Ја ¬¬л>
"ѓ®апзЁҐ" ЎгЄўл ¬Ґо ¬л Ё§®Ўа §Ё«Ё ¦Ёа®. ‚ ¤Ґ©б⢨⥫м®бвЁ ®Ё
ЎҐ«лҐ. ЏгЄв Program Ґбвм Ё ў бЁб⥬®¬ ¬Ґо FOXPRO. ‚ ¤ ®¬
Ё§«®¦ҐЁЁ аҐзм Ё¤Ґв ® ЇгЄвҐ ¬Ґо Trace. Џ®б«Ґ "Ј®ап祩" ЎгЄўл, ў
бЄ®ЎЄ е, Ўг¤Ґв гЄ §лў вмбп ®Ў®§ 票Ґ ЇгЄв ¬Ґо.
€в Є, ¤«п ўлЇ®«ҐЁп Є ¦¤®© б«Ґ¤го饩 Є®¬ ¤л ¬л ¦Ё¬ Ґ¬
"Ј®апзго" ЎгЄўг S (Step) Ё«Ё v (Over). ђ §Ёж «Ёим ў ўлЇ®«ҐЁЁ
Є®¬ ¤ DO: ЇаЁ ¦ вЁЁ v ўл§лў Ґ¬ п Ї®¤Їа®Ја ¬¬ ўлЇ®«пҐвбп "а §®¬",
S ўл§лў Ґв ЇҐаҐе®¤ ¬ аЄҐа ў ҐҐ ⥫® ¤«п ўлЇ®«ҐЁп Ї® и Ј ¬.
Љ®Ј¤ ўбҐ ᮬЁвҐ«млҐ в®зЄЁ Їа®Ја ¬¬л Їа®©¤Ґл, ¬л ¬®¦Ґ¬
) ЇаҐЄа вЁвм ўлЇ®«ҐЁҐ: ¦Ё¬ п P (Program), ўе®¤Ё¬ ў Ї®¤¬Ґо Ё
ўлЇ®«пҐ¬ Ї®¤ЇгЄв Cancel;
Ў) § Є®зЁвм ўлЇ®«ҐЁҐ Їа®Ја ¬¬л ў ўв®¬ вЁзҐбЄ®¬ ०Ё¬Ґ ( ЇаЁ¬Ґа,
- 2 -
¤«п Ї®«гзҐЁп Є®Ґзле १г«мв в®ў): ¦Ё¬ Ґ¬ O (Out);
ў) Ї®ўв®аЁвм ва ббЁа®ўЄг, ЇаЁ¬Ґа б ¤агЈЁ¬Ё ¤ л¬Ё: ўлЇ®«пҐ¬ Ї.
" " Ё«Ё "Ў", ЇаЁ н⮬ ў ¬Ґо ЇгЄв "Resume" ®Є ¦Ґвбп § ¬ҐҐ "Do ...".
Ќ ¦Ё¬ Ґ¬ D (Do ...), Ї®пў«пҐвбп ®Є® Do Program File б® бЇЁбЄ®¬
Їа®Ја ¬¬ле д ©«®ў. Ќ ў®¤Ё¬ ¬ аЄҐа Ё¬п ®в« ¦Ёў Ґ¬®© Їа®Ја ¬¬л,
¦Ё¬ Ґ¬ Enter. ‚ ®Є® Trace ўл§лў Ґвбп ҐҐ ⥪бв, Ј¤Ґ 1-п Є®¬ ¤
®Ў®§ зҐ ¬ થ஬, ЇаЁзҐ¬ ЇгЄв "Do ..." § ¬ҐпҐвбп "Resume".
Ќ ¦Ё¬ Ґ¬ R Ё Їа®Ја ¬¬ ўлЇ®«Ёвбп ¤® SET STEP ON. „ «мҐ©иҐҐ Ё§ўҐбв®.
Њ®¦® ўл§лў вм Їа®Ја ¬¬г ў ®Є® Ё зҐаҐ§ Ї®¤¬Ґо Program (Ї®¤ЇгЄв
Open). ЋЄ® Trace гЎЁа Ґвбп ¦ вЁҐ¬ Esc.
ЋвЄалвЁҐ ®Є Trace зҐаҐ§ бЁбвҐ¬л© ЁвҐа䥩б. ‚лЎЁа Ґ¬ Ї®¤ЇгЄв
Window/Trace Ё ўл§лў Ґ¬ ў Ї®пўЁўиҐҐбп ®Є® Trace Їа®Ја ¬¬г, Є Є ў Ї."ў".
’а ббЁа®ўЄ ў ०Ё¬Ґ Ё¬ жЁЁ. „® (Ї®б«Ґ) ўл§®ў ⥪бв Їа®Ја ¬¬л
Ё«Ё Ї®б«Ґ ҐҐ ®бв ®ў , «оЎ®¬ и ЈҐ, ¦Ё¬ Ґ¬ Ctrl+R (Ё«Ё ўлЎЁа Ґ¬
Ї®¤ЇгЄв Throttle ў Ї®¤¬Ґо Program, Є®в®ал© ў з «Ґ § ЇаҐ¤Ґ« ¬Ё ®Є
Ї®¤¬Ґо). ‚ Ї®пўЁўиҐ¬бп ®ЄҐ Execution Throttle гЄ §лў Ґ¬ § ¤Ґа¦Єг
(ЁвҐаў « ¬Ґ¦¤г Є®¬ ¤ ¬Ё - ў ᥪ㤠е) Ё ўлЎЁа Ґ¬ <OK>. ’ҐЇҐам ¦ вЁҐ
R (Resume) Ўг¤Ґв Їа®¤®«¦ вм ўлЇ®«ҐЁҐ Їа®Ја ¬¬л ў ०Ё¬Ґ Ё¬ жЁЁ,
¦ вЁҐ O (Out) - ў ®Ўл箬 ўв®¬ вЁзҐбЄ®¬ ०Ё¬Ґ.
‡ ¤ ЁҐ 22.1. ЋбгйҐбвўЁвҐ а §«ЁзлҐ ў аЁ вл ва ббЁа®ўЄЁ Ґб«®¦®©
Їа®Ја ¬¬л, ЁбЇ®«м§гп Ё а §«ЁзлҐ бЇ®б®Ўл § Јаг§ЄЁ ҐҐ ⥪бв ў ®Є®.
22.2. ’®зЄЁ ®бв ®ў . Ќ Ў«о¤ Ґ¬ Ё Ё§¬ҐпҐ¬ ¤ лҐ
…б«Ё Їа®Ја ¬¬г ¬®¦® а §¤Ґ«Ёвм з бвЁ "ЎҐббЇ®а® Їа ўЁ«млҐ" Ё
"ᮬЁвҐ«млҐ", б«Ґ¤гҐв бвлЄҐ з б⥩ ᤥ« вм в®зЄЁ ®бв ®ў . ’®Ј¤
ўл Ўг¤ҐвҐ Ё¬Ґвм ў®§¬®¦®бвм ⥠Ё«Ё ЁлҐ з бвЁ ўлЇ®«пвм ў
ўв®¬ вЁзҐбЄ®¬ ०Ё¬Ґ, ¤агЈЁҐ - Ї® и Ј ¬ Ё«Ё ў ०Ё¬Ґ Ё¬ жЁЁ.
’а ббЁа®ўЄ ў зЁб⮬ ўЁ¤Ґ ЁбЇ®«м§гҐвбп ।Є®. ЋЎлз® ҐҐ б®зҐв ов б
Ў«о¤ҐЁҐ¬ ¤ ле (®вб«Ґ¦Ёў ов Ё§¬ҐҐЁп). ‚ в Є®¬ б«гз Ґ в®зЄЁ
®бв ®ў § з ов ў® ўбҐе ЇгЄв е, Ј¤Ґ Ё¬ҐҐв б¬лб« ®жҐЄ
Їа®¬Ґ¦гв®зле १г«мв в®ў.
’а ббЁа®ўЄ Ї® в®зЄ ¬ ®бв ®ў . Џ®б«Ґ § Јаг§ЄЁ Їа®Ја ¬¬л
(ЁбЇ®«м§гҐ¬ Do ...) ¦Ё¬ Ґ¬ R Ё Їа®Ја ¬¬ ўлЇ®«пҐвбп ¤® 1-©
в®зЄЁ ®бв ®ў . ‘®®вўҐвбвўгой п Ґ© Є®¬ ¤ , ®Ў®§ зҐ п ¬ થ஬,
ҐйҐ Ґ ўлЇ®«п« бм. …б«Ё 㦮 ўлЇ®«Ёвм, ¦¬ЁвҐ S. ‘«Ґ¤гойЁҐ
¦ вЁп R ўлўҐ¤гв ®зҐаҐ¤лҐ в®зЄЁ. ‚ нвЁ ¬®¬Ґвл ¬®¦® Їа®ўҐапвм
§ зҐЁп ЇҐаҐ¬Ґле Ё ўла ¦ҐЁ©.
“бв ®ўЄ Ё ®в¬Ґ в®зҐЄ ®бв ®ў . Џ®б«Ґ § Јаг§ЄЁ Їа®Ја ¬¬л,
ў «оЎ®© ¬®¬Ґв ®¦Ё¤ Ёп Є« ўЁиле ў®§¤Ґ©бвўЁ©, ¬®¦® ЇҐаҐ¬ҐбвЁвм
- 3 -
Єгаб®а ўлЎа го ў ¬Ё бва®Єг Їа®Ја ¬¬л Ё ¦ вм Є« ўЁиг Їа®ЎҐ« ,
гбв ў«Ёў п в®зЄг ®бв ®ў (®Ў®§ з Ґвбп ஬ЎЁЄ®¬ б«Ґў ).
Џ®ўв®а®Ґ ¦ вЁҐ Є« ўЁиЁ Їа®ЎҐ« «ЁЄўЁ¤ЁагҐв в®зЄг ®бв ®ў
(஬ЎЁЄ г¤ «пҐвбп). Ћв¬Ґг ба §г ўбҐе в®зҐЄ ®бв ®ў ўлЇ®«пҐв
Ї®¤ЇгЄв ¬Ґо Program/Clear Breakpoints.
Ќ Ў«о¤ҐЁҐ ¤ ле. ‚ «оЎ®© ¬®¬Ґв ®¦Ё¤ Ёп ўлЎЁа Ґ¬ Ї®¤ЇгЄв
Window/Debug Ј« ў®Ј® ¬Ґо. Џ®пў«пҐвбп Ё бв ®ўЁвбп ЄвЁўл¬ ®Є®
Debug, а §¤Ґ«Ґ®Ґ ўҐавЁЄ «мо. ‘«Ґў Ўг¤Ґ¬ § ЇЁблў вм в®зЄЁ Їа®б¬®ва
- ЁвҐаҐбгойЁҐ б ўла ¦ҐЁп, е®вп Ўл Ё ЇҐаҐ¬ҐлҐ, бЇа ў Ўг¤гв
Ї®Є § л Ёе § 票п. ‘ЁбвҐ¬лҐ дгЄжЁЁ, ЇаЁ¬Ґа Recno(), Found(),
Ё ўла ¦ҐЁп, Ёе ᮤҐа¦ йЁҐ - ¤®ЇгбвЁ¬лҐ в®зЄЁ Їа®б¬®ва . Џ®б«Ґ
§ ЇЁбЁ в®зЄЁ ®Ўп§ вҐ«м® ¦¬ЁвҐ Enter. ‚®§ўа в ў ®Є® Trace, ЇҐаҐе®¤
ў ®Є® Є®¬ ¤ Ё«Ё Ї®ўв®аго ЄвЁўЁ§ жЁо ®Є Debug ўлЇ®«пҐ¬ б Ї®¬®ймо
Ctrl+F1. „«п г¤ «ҐЁп в®зЄЁ Їа®б¬®ва ¦Ё¬ Ґ¬ Ctrl+BackSpace, Є®Ј¤
Єгаб®а 室Ёвбп Ї®¤ ҐҐ § ЇЁбмо.
ЏаЁ¬Ґа б Ї®б⥯Ґл¬ § 票Ґ¬ ®бв ®ў®ў. „®ЇгбвЁ¬, ®
Їа ўЁ«м®бвЁ Ё«Ё ®иЁЎ®з®бвЁ ўлЇ®«ҐЁп ¬®¦® бг¤Ёвм Ї® ҐЄ®в®а®©
б®ў®ЄгЇ®бвЁ ¤ ле, Ё§¬ҐпҐ¬ле ¬®¦Ґбвў®¬ Є®¬ ¤. ЏаЁ¬ҐЁ¬
¤Ёе®в®¬Ёо ЇаЁ Ї®ЁбЄҐ ®иЁЎЄЁ. Ќ § зЁ¬ ®бв ®ў ў бҐаҐ¤ЁҐ ᮬЁвҐ«м®Ј®
гз бвЄ Ё в®зЄЁ Їа®б¬®ва . Џ®б«Ґ ®бв ®ў ®жҐЁ¬ Їа ўЁ«м®бвм.
…б«Ё ўбҐ Їа ўЁ«м®, б«Ґ¤гойЁ© ®бв ®ў § зЁ¬ ў бҐаҐ¤ЁҐ 2-©
Ї®«®ўЁл гз бвЄ , Ё зҐ - ў бҐаҐ¤ЁҐ 1-© Ї®«®ўЁл Ё в.¤. ‚ᥣ¤ ¤ўҐ
§ зҐлҐ Ї®б«Ґ¤Ё¬Ё в®зЄЁ ®бв ®ў Ўг¤гв Ї а®© вЁЇ "Їа ўЁ«м®-
ҐЇа ўЁ«м®". Љ®Ј¤ зЁб«® Є®¬ ¤ ¬Ґ¦¤г Ё¬Ё бв Ґв ҐўҐ«ЁЄ®, "Їа®©¤Ґ¬
ЇҐиЄ®¬" ®в ®¤®© Є ¤агЈ®©, ¦Ё¬ п S (Step) Ё Є®ва®«Ёагп ¤ лҐ.
€§¬ҐҐЁҐ ¤ ле ў 室Ґ ®в« ¤ЄЁ. …б«Ё ЇаЁ Їа®ўҐаЄҐ б«®¦®©
Їа®Ја ¬¬л Ї®«гзҐл ҐўҐалҐ Їа®¬Ґ¦гв®злҐ аҐ§г«мв вл, Ґ в®а®ЇЁвҐбм
б ®в¬Ґ®© ўлЇ®«ҐЁп. ‚®§¬®¦®, ўл бнЄ®®¬ЁвҐ ўаҐ¬п, " 室г"
ЁбЇа ўЁў Ёе, зв®Ўл Ў«о¤ вм б«Ґ¤гойЁҐ нв Їл а Ў®вл. ‚ Є®¬ ¤®¬
®ЄҐ ¤®бвгЇл ўбҐ ¤Ґ©бвўгойЁҐ ЇҐаҐ¬ҐлҐ Ё ¬ ббЁўл. ЏҐаҐ©¤ЁвҐ ў ҐЈ®
Ё ЇаЁбў®©вҐ Ё¬ ®ўлҐ § 票п. ЏаЁ н⮬ ¬®¦® Ї®«м§®ў вмбп Ё
"Ї®бв®а®Ё¬Ё" Ї®¤Їа®Ја ¬¬ ¬Ё, ў ®Ўа 饨Ё Є Є®в®ал¬ (Є®¬ ¤ DO)
Ї а ¬Ґва ¬Ё Ўг¤гв нвЁ ЇҐаҐ¬ҐлҐ Ё ¬ ббЁўл. ‡ ¬Ґг ¤ ле ¬®¦®
ЇаЁ¬ҐЁвм Ё ЇаЁ вҐбвЁа®ў ЁЁ вҐе Ў«®Є®ў Їа®Ја ¬¬л, Є®в®алҐ Ё зҐ
Їа®ўҐап«Ёбм Ўл Ґ¤®бв в®з®¬ ¬®¦Ґб⢥ ў аЁ в®ў ўе®¤ле ¤ ле.
Њ®¦® Ё§¬Ґпвм Ї®«п ®вЄалвле Ѓ„, ЇаЁзҐ¬ Ґ в®«мЄ® ў ⥪гйЁе
§ ЇЁбпе, Ґ § Ўлў п ў®ббв ў«Ёў вм бв вгб Ѓ„ Ё, ў з бв®бвЁ,
ў®§ўа й вмбп Є ЇаҐ¦Ё¬ ⥪гйЁ¬ § ЇЁбп¬.
’ҐЇҐам ¬®¦® ¤ вм ®Ў§®а ЇгЄв®ў Ї®¤¬Ґо Program:
- Open ... (^E) § Јаг¦ Ґв д ©« Їа®Ја ¬¬л (Є Є Ё ЇгЄв Do ...);
- 4 -
- Cancel ЇаҐЄа й Ґв ¤ «мҐ©иго а Ў®вг ®бв ®ў«Ґ®© Їа®Ја ¬¬л;
- Line Numbers (^L) ®ЎҐбЇҐзЁў Ґв 㬥а жЁо бва®Є Їа®Ја ¬¬л;
- ‘lear Breakpoints (^B) ®в¬ҐпҐв ўбҐ в®зЄЁ ®бв ®ў ;
- Trace Between Breaks гбв ў«Ёў Ґв ва ббЁа®ўЄг Ї® в®зЄ ¬ ®бв ®ў ;
- Throttle ... (^R) гбв ў«Ёў Ґв ЁвҐаў « ¬Ґ¦¤г Є®¬ ¤ ¬Ё (0..5.5 б);
- <€¬п Їа®Ја ¬¬л> ў®§ўа й Ґв ў ®Є® Trace гз бв®Є Їа®Ја ¬¬л б®
бва®Є®©, ®в¬ҐзҐ®© ¬ થ஬, Ґб«Ё Єгаб®а ЇҐаҐ¬ҐбвЁ«Ё ¤агЈЁҐ
бва Ёжл. ’® ¦Ґ Їа®Ё§®©¤Ґв ЇаЁ ¦ вЁЁ "Ј®ап祩" ЎгЄўл S.
ЏаЁ¬Ґз ЁҐ. “Є § лҐ ў бЄ®ЎЄ е нЄўЁў «Ґвл ¤Ґ©бвўгов «Ёим
ЇаЁ ЄвЁў®¬ ®ЄҐ Trace.
‡ ¤ ЁҐ 22.2. €бб«Ґ¤г©вҐ а Ў®вг Їа®Ја ¬¬л Ё§ § ¤ Ёп 22.1,
ЇҐаҐ¬Ґ¦ п ўлЇ®«ҐЁҐ ҐҐ Ї® и Ј ¬ б Ё§¬ҐҐЁҐ¬ ¤ ле ў ®ЄҐ
Є®¬ ¤.
22.3. ЏаЁ¬ҐпҐ¬ ®бв ®ўл, гЇа ў«пҐ¬лҐ б®ЎлвЁп¬Ё
Џа®б⥩襥 "б®ЎлвЁҐ" - нв® Ё§¬ҐҐЁҐ § зҐЁп ЇҐаҐ¬Ґ®©.
’®зЄЁ Їа®б¬®ва ¬®¦® ᤥ« вм в®зЄ ¬Ё ЇаҐалў Ё©: ба §г Ї®б«Ґ
Ё§¬ҐҐЁп § 票п в®зЄЁ Їа®б¬®ва Ўг¤Ґв Їа®Ёб室Ёвм ®бв ®ў.
ЏаЁ н⮬ ¬ аЄҐа Ўг¤Ґв ®Ў®§ з вм Є®¬ ¤г, б«Ґ¤гойго § Є®¬ ¤®©
Ё§¬ҐҐЁп. €®Ј¤ ¬л Ґ¤®г¬Ґў Ґ¬, ®вЄг¤ ў§п«®бм в® Ё«Ё Ё®Ґ
§ 票Ґ. Њ®Ј®Єа в® ¦Ё¬ п R (Ґб«Ё Ё§¬ҐҐЁп Їа®Ё§ў®¤Ёв Ґ
®¤ Є®¬ ¤ Ё«Ё Є®¬ ¤ Ё§¬ҐҐЁп бв®Ёв ў жЁЄ«Ґ), ¬л а ® Ё«Ё
Ї®§¤® гўЁ¤Ё¬ ҐЈ® ў®§ЁЄ®ўҐЁҐ.
ЏаЁ Ё§¬ҐҐЁЁ § 票п в®зЄЁ ЇаҐалў Ёп ў Їа ў®¬ ўҐа奬
гЈ«г нЄа Ї®пў«пҐвбп б®®ЎйҐЁҐ "Do suspended" ® ЇаЁ®бв ®ўЄҐ
Їа®Ја ¬¬л. Њ®¦® Їа® «Ё§Ёа®ў вм бЁвг жЁо, ўлЇ®«Ёвм, Ґб«Ё
㦮 Є®¬ ¤л Ё § ⥬ ўҐагвмбп ў ®Є® Trace.
Џ®а®¦¤ҐЁҐ в®зҐЄ ЇаҐалў Ё©. ‘ з « ᮧ¤ Ґ¬ в®зЄЁ Їа®б¬®ва .
‡ ⥬, 室пбм ў ®ЄҐ Debug, ¦Ё¬ Ґ¬ Tab. Ќ ўҐавЁЄ «м®©
«ЁЁЁ, ¤Ґ«п饩 ®Є®, ў®§ЁЄ Ґв ¬ аЄҐа. ЏҐаҐ¬Ґй Ґ¬ ҐЈ® ў г¦го
бва®Єг Ё ¦Ё¬ Ґ¬ Є« ўЁиг Їа®ЎҐ« . Ќ ¬ થॠў®§ЁЄ Ґв ஬ЎЁЄ.
ЏҐаҐ¬Ґй п ¬ аЄҐа ў ¤агЈго бва®Єг, ¬®¦Ґ¬ ᮧ¤ вм ҐйҐ ®¤г в®зЄг
ЇаҐалў Ё© Ё в.¤. Ђ «®ЈЁзл¬ ®Ўа §®¬ ®в¬ҐпҐ¬ в®зЄг ЇаҐалў Ё©.
ђ®¬ЎЁЄ ў ҐҐ бва®ЄҐ Ёб祧 Ґв.
ЋЄ®¬ Debug б в®зЄ ¬Ё ЇаҐалў Ё© ¬®¦® Ї®«м§®ў вмбп Ё ў
®вбгвбвўЁҐ ®Є Trace, е®вп нв® Ё Ґг¤®Ў®. ЏаЁ ®бв ®ўҐ
в®зЄҐ ЇаҐалў Ёп ЄвЁўЁ§ЁагҐвбп ®Є® Є®¬ ¤. „ лҐ ваЁ ®Є
Ї®звЁ Ї®«®бвмо ЇҐаҐЄалў ов нЄа б १г«мв в ¬Ё, ®¤ Є® Ё¬ҐҐвбп
Їа®бв п ў®§¬®¦®бвм: ¦ вм Ctrl+Alt+Shift (нЄа ®вЄа®Ґвбп) Ё
- 5 -
ЇаЁ¤Ґа¦Ёў вм Ёе. Љ®Ј¤ ¬л Ёе ®вЇгбвЁ¬, ®Є ў®ўм Ї®пўпвбп.
ЏаЁ¬Ґа 22.1. ЌҐ®Ўе®¤Ё¬® а §®Ўа вмбп б ®иЁЎЄ ¬Ё ®Ўа Ў®вЄЁ
§ ЇЁбҐ© ў а Ў®зҐ© ®Ў« бвЁ "B". „® ®вЄалвЁп Ѓ„ ў нв®© ®Ў« бвЁ
Ґв б¬лб« ўлЇ®«пвм Їа®Ја ¬¬г Ї® и Ј ¬. …б«Ё «®ЈЁЄ Їа®Ја ¬¬л
в Є®ў , зв® ў нв®© ®Ў« бвЁ ®вЄалў Ґвбп ®¤ Ё§ ҐбЄ®«мЄЁе Ѓ„,
¬л ¤®«¦л Ё«Ё ᤥ« вм ҐбЄ®«мЄ® в®зҐЄ ®бв ®ў - Є®¬ ¤ е USE,
Ё«Ё ЇаЁ¬ҐЁвм ¤«п ®бв ®ў ўла ¦ҐЁҐ DBF(2)=="". Ћ® Ё¬ҐҐв § 票Ґ
.T., Ї®Є ®Ў« бвм "B" Ґ Ўг¤Ґв § ¤Ґ©бвў®ў . Љ Є в®«мЄ®
§ 票Ґ¬ бв Ґв "F", Їа®Ё§®©¤Ґв ®бв ®ў. Ќ зЁ Ґ¬ ¤Ґв «мл©
Їа®б¬®ва ®Ўа Ў®вЄЁ § ЇЁбҐ©.
ЏаЁ¬Ґа 22.2. ‚®§ЁЄ«® Ї®¤®§аҐЁҐ, зв® ҐЇа ўЁ«м® ЇҐаҐЄ«оз овбп
а Ў®зЁҐ ®Ў« бвЁ, Ё ¤® Їа®ўҐаЁвм ўбҐ б«гз Ё. ‡ ЇЁблў Ґ¬ б нв®©
楫мо в®зЄг ЇаҐалў Ё© Select(). ”гЄжЁп Select() ў®§ўа й Ґв
®¬Ґа ЄвЁў®© ®Ў« бвЁ ЇаЁ гбв ®ўЄҐ SET COMPATIBLE OFF, ¤Ґ©бвўго饩
Ї® 㬮«з Ёо.
ЏаЁ¬Ґа 22.3. ‚ Ѓ„ Kadr Їа ўЁ«м® ®Ўа Ў влў овбп «Ёим § ЇЁбЁ,
ЇаҐ¤иҐбвўгойЁҐ 123-© § ЇЁбЁ. €е ®Ўа Ў®вЄг ¤® Їа®ЇгбвЁвм, ¤ «миҐ
ўЄ«озЁвм Ї®и Ј®ўл© ०Ё¬. ‡ ЇЁблў Ґ¬ ¤«п нв®Ј® в®зЄг ЇаҐалў Ё©
Recno() = 123. …б«Ё ў Їа®Ја ¬¬Ґ ®Ўа Ў влў овбп Ё ¤агЈЁҐ Ѓ„, ўла ¦ҐЁҐ
гб«®¦пҐ¬: Right(DBF(),8)=="KADR.DBF".AND. Recno() = 123 .
…б«Ё ¬л б ¬Ё § з «Ё ¤«п Ѓ„ Kadr а Ў®зго ®Ў« бвм, ЇаЁ¬Ґа 3-о,
Ё в®«мЄ® ¤«п ҐҐ, ў®§¬®¦Ґ ў аЁ в Recno(3) = 123. Џ®б«Ґ¤Ё© ў аЁ в,
ў®§¬®¦®, б Їа®ўҐаЄ®© Ё¬ҐЁ Ѓ„ Ґ®Ўе®¤Ё¬, Ґб«Ё ®Ўа Ў влў овбп § ЇЁбЁ
®вЄалв®©, ® Ґ ®Ўп§ вҐ«м® ЄвЁў®© Ѓ„ Kadr.
ЏаЁ¬Ґа 22.4. ‚®ЇаҐЄЁ ЇаҐ¤Ї®«®¦ҐЁп¬ зЁб«® § ЇЁбҐ© ў Ѓ„ Kadr
бв ®ўЁвбп Ў®«миҐ Ё§ўҐбв®Ј® ЇаҐ¤Ґ« N. €йҐ¬ ®иЁЎЄг, ЁбЇ®«м§гп
в®зЄг ЇаҐалў Ё© Reccount() > N Ё«Ё Reccount(<ЋЎ« бвм>) > N.
‡¤Ґбм Ї®Є § л ў®§¬®¦®бвЁ ЁбЇ®«м§®ў Ёп Ёд®а¬ жЁЁ, Ё¬Ґо饩бп
ў ‘“Ѓ„. Љ®Ґз®, ў Ў®«миЁб⢥ б«гз Ґў ЁбЇ®«м§говбп ЁлҐ ўла ¦ҐЁп.
‡ ¤ ЁҐ 22.3. ЏаЁ ўлЇ®«ҐЁЁ ў ®в« ¤зЁЄҐ Їа®Ја ¬¬л Ё§ § ¤ Ёп 22.1
®Їа®Ў®ў вм ®бв ®ўл, гЇа ў«пҐ¬лҐ б®ЎлвЁп¬Ё.
22.4. ђ Ў®в Ґ¬ б ¤Ё «®Ј®ўл¬Ё ®Є ¬Ё
‚ б«гз Ґ ЇаҐалў Ёп ўлЇ®«ҐЁп Ё§-§ ®иЁЎЄЁ ў ¤Ё «®Ј®ў®Ґ ®Є®
б 3 Є®ЇЄ ¬Ё ўл¤ Ґвбп б®®ЎйҐЁҐ ® Ґ©, ЇаЁ¬Ґа (®вбгвбвўгҐв Ѓ„):
File <€¬п Ѓ„> does not exist
<Cancel> <Suspend> <Ignore> .
Ќ ¦ ў "Ј®апзго" ЎгЄўг C, ¬л ЇаҐЄа вЁ¬ ўлЇ®«ҐЁҐ Їа®Ја ¬¬л. ЃгЄў S
ўл§®ўҐв ЇаЁ®бв ®ўЄг (Є®¬ ¤ Suspend). —ҐаҐ§ ЁвҐадҐ©б Ё Є®¬ ¤®Ґ
- 6 -
®Є® ¬л ¬®¦Ґ¬ Ё§гзЁвм ⥪гйго бЁвг жЁо Ё Ї® ў®§¬®¦®бвЁ ЁбЇа ўЁвм ҐҐ,
зв®Ўл Їа®¤®«¦Ёвм а Ў®вг Їа®Ја ¬¬л. ЋЇаҐ¤Ґ«ҐлҐ ў®§¬®¦®бвЁ ¤ Ґв Ё
Є®ЇЄ <Ignore>: Ї®б«Ґ ¦ вЁп I ўлЇ®«ҐЁҐ ¬®¦Ґв Ўлвм Їа®¤®«¦Ґ®,
® Ў § ¤ ле Ґ ®вЄалв Ё ®ЇҐа жЁп б Ѓ„ ўл§®ўҐв ¤Ё «®Ј®ў®Ґ ®Є®,
зв®Ўл ¬®¦® Ўл«® ®вЄалвм ҐЄ®в®аго Ѓ„. €в Є, Ґб«Ё ¬л ®иЁЎ«Ёбм ў
§ ЇЁбЁ ЇгвЁ Ё«Ё Ё¬ҐЁ, ¤Ґ«® Ї®Їа ўЁ¬®.
ЏаЁ а Ў®вҐ б ҐбЄ®«мЄЁ¬Ё Ѓ„ Ї®«Ґ§ Є®¬ ¤ SET STATUS ON,
®ЎҐбЇҐзЁў ой п ЇаЁбгвбвўЁҐ нЄа Ґ бва®ЄЁ бв вгб б Ё¬ҐҐ¬ ЄвЁў®©
Ѓ„, ®¬Ґа®¬ ⥪г饩 § ЇЁбЁ Ё ®ЎйЁ¬ Ёе зЁб«®¬. ЏаЁ¬Ґа: KADR 1/205.
Ѓ®«ҐҐ Ї®«го Є авЁг ¤ Ґв ®Є®, Ї®пў«по饥бп ЇаЁ ўлЎ®аҐ Ї®¤ЇгЄв
Window/View, Ј¤Ґ Ї®Є § л ЁбЇ®«м§гҐ¬лҐ ®Ў« бвЁ, бўп§Ё Ѓ„ Ё в.Ї. ‚л
¬®¦ҐвҐ ®вЄалвм г¦го Ѓ„ ў ¦Ґ« Ґ¬®© ®Ў« бвЁ, § Єалвм ¤агЈЁҐ Ѓ„.
Ќ Є®Ґж, ЁбЇ®«м§гп View, ¬®¦® гўЁ¤Ґвм ¤Ґ©бвўгойЁҐ бЁбвҐ¬лҐ гбв ®ўЄЁ:
н«Ґ¬Ґв ON/OFF ўл§лў Ґв ᮮ⢥вбвўго饥 ®Є®, Ј¤Ґ ¤«п Є ¦¤®©
гбв ®ўЄЁ ў бЄ®ЎЄ е [ ] Ї®Є § ®, ¤Ґ©бвўгҐв ON (ў бЄ®ЎЄ е X) Ё«Ё OFF
(ў бЄ®ЎЄ е Їа®ЎҐ«).
…б«Ё ¤Ґ©бвўгҐв гбв ®ўЄ SET ESCAPE ON, ўл ¬®¦ҐвҐ ЇаҐЄа й вм
ўлЇ®«ҐЁҐ Їа®Ја ¬¬л Є« ўЁиҐ© Esc, Ї®«гз п б®®ЎйҐЁҐ Ё 2 Є®ЇЄЁ:
*** INTERRUPTED ***
<Cancel> <Ignore>
— бвл¬ пў«пҐвбп б®®ЎйҐЁҐ ® д ©«Ґ, Ї®¤«Ґ¦ 饬 гЁз⮦ҐЁо:
<€¬п д ©« > already exists, overwrite it ?
<Yes> <No>
…б«Ё ўл ᮧ вҐ«м® ЇҐаҐ§ ЇЁблў ҐвҐ д ©«, ®вўҐз ©вҐ <Yes>. …б«Ё
ў б Ґ ЎҐбЇ®Є®Ёв ў®§¬®¦®бвм ®иЁЎ®з®Ј® бвЁа Ёп д ©« (ўбҐ д ©«л
г祡лҐ, ҐЎ®«миЁҐ) Ё«Ё ўл 㢥аҐл ў ᥡҐ, ¬®¦ҐвҐ Ї®¤ ўЁвм в ЄЁҐ
б®®ЎйҐЁп Є®¬ ¤®© SET SAFETY OFF, Є®Ј¤ 㦮 - Ё§¬ҐЁвм ¤ го
гбв ®ўЄг Є®¬ ¤®© SET SAFETY ON.
‡ ¤ ЁҐ 22.4. Ќ ¬ҐаҐ® гЄ § ў ў Їа®Ја ¬¬Ґ ®Ўа Ў®вЄЁ Ѓ„
ҐбгйҐбвўгойго Ѓ„, ©¤ЁвҐ Ё ®Їа®Ўг©вҐ а §лҐ бЇ®б®Ўл Їа®¤®«¦ҐЁп
а Ў®вл Їа®Ја ¬¬л ў ®в« ¤зЁЄҐ.
22.5. ЋЎа Ў влў Ґ¬ ®иЁЎЄЁ ўлЇ®«ҐЁп
ЏаҐалў ЁҐ б ўл¤ зҐ© б®®ЎйҐЁп ®Ў ®иЁЎЄҐ (б¬. ўлиҐ) ¬®¦®
ЇаҐ¤®вўа вЁвм, ЁбЇ®«м§гп Є®¬ ¤г ON ERROR <Љ®¬ ¤ >,
Ј¤Ґ Ї®¤зЁҐ п <Љ®¬ ¤ >, а Ў®в ой п в®«мЄ® ЇаЁ ў®§ЁЄ®ўҐЁЁ
®иЁЎЄЁ ўлЇ®«ҐЁп, Є Є Їа ўЁ«®, пў«пҐвбп ўл§®ў®¬ Ї®¤Їа®Ја ¬¬л
®Ўа Ў®вЄЁ ®иЁЎЄЁ, а §аҐи о饩 Є®д«ЁЄвго бЁвг жЁо. Ќ ЇаЁ¬Ґа,
- 7 -
Ї®ЇлвЄ ЇҐаҐе®¤ Є ҐбгйҐбвўго饩 § ЇЁбЁ ¬®¦Ґв ॠ«Ё§®ўлў вмбп
Є Є ЇҐаҐе®¤ Є Ї®б«Ґ¤Ґ© § ЇЁбЁ Ѓ„.
Љ®¬ ¤ ON ERROR ¤®«¦ ЇаҐ¤иҐбвў®ў вм Є®¬ ¤Ґ, ў Є®в®а®©
¬®¦Ґв ў®§ЁЄ вм ®иЁЎЄ (®Ё Ґ ®Ўп§ вҐ«м® ў б®бҐ¤Ёе бва®Є е). ‚
б«гз Ґ ®иЁЎЄЁ Ї®б«Ґ¤пп Ґ ўлЇ®«пҐвбп, Їа®Ёб室Ёв ўлЇ®«ҐЁҐ
Ї®¤зЁҐ®© <Љ®¬ ¤л>, Ї®б«Ґ 祣® гЇа ў«ҐЁҐ ЇҐаҐ¤ Ґвбп Є®¬ ¤г,
Ё¤гйго § ®иЁЎ®з®©. ѓ®ў®апв, зв® ON ERROR ЇҐаҐеў влў Ґв ЇаҐалў ЁҐ
ўл§ў ®Ґ ®иЁЎЄ®©.
ЏаЁ¬Ґа 22.5. ‚ Їа®Ја ¬¬Ґ ¤®«¦ ЁбЇ®«м§®ў вмбп Ѓ„ Sessia
("‘ҐббЁп"). ‚ ¬Ґ¦бҐббЁ®л© ЇҐаЁ®¤ нв Ѓ„ Ґ бгйҐбвўгҐв, ® ¤«п
Їа®ўҐ¤ҐЁп а Ў®в Ї® ¬®¤ҐаЁ§ жЁЁ Їа®Ја ¬¬л ЇаҐ¤гб¬ ваЁў Ґвбп
ЁбЇ®«м§®ў ЁҐ Ѓ„ Qwazy - ¬ ЄҐв Ѓ„ "‘ҐббЁп":
ON ERROR USE Qwazy
USE Sessia && …б«Ё Ґв Ѓ„ Sessia, ®иЁЎЄ Ґ ўл¤ Ґвбп,
<ђ Ў®в б Ѓ„> && а Ў®в Ё¤Ґв б Ѓ„ Qwazy (б¬. ўлиҐ)
ќв® Їа®бв® Ё««обва жЁп. Љ®Ґз®, ᤥ« вм ¬®¦® Ї®-Ё®¬г.
„Ґ©бвўЁҐ Є®¬ ¤л ON ERROR а бЇа®бва пҐвбп ЈагЇЇг б«Ґ¤гойЁе
Ё¦Ґ Є®¬ ¤ ўЇ«®вм ¤® Є®¬ ¤л ON ERROR ЎҐ§ аЈг¬Ґв , ®Ў®§ з о饩
®в¬Ґг ¤Ґ©бвўЁп, Ё«Ё ¤® Є®ж Їа®Ја ¬¬л.
Џ®¤Їа®Ја ¬¬ ®Ўа Ў®вЄЁ ®иЁЎЄЁ ¬®¦Ґв Ўлвм ўлЇ®«Ґ гЁўҐаб «м®
б гзҐв®¬ вЁЇ ®иЁЎЄЁ Ё Є®вҐЄбв : Ё§ Є Є®Ј® Ў«®Є Ё ¤ ¦Ґ Ё§ Є Є®©
бва®ЄЁ Ў«®Є Їа®Ё§®иҐ« ўл§®ў. ќв Ёд®а¬ жЁп ЇаҐ¤кпў«пҐвбп дгЄжЁп¬Ё
Error(), Program() Ё Lineno() ᮮ⢥вб⢥®, Є®в®алҐ Ё ЁбЇ®«м§говбп
Є Є д ЄвЁзҐбЄЁҐ Ї а ¬Ґвал ў ®Ўа 饨Ё Є Ї®¤Їа®Ја ¬¬Ґ ®Ўа Ў®вЄЁ
®иЁЎ®Є. Ѓлў ов б«гз Ё, Є®Ј¤ ў®§ўа в Ё§ Ї®¤Їа®Ја ¬¬л ¤®«¦Ґ
Їа®Ёб室Ёвм Є®¬ ¤г, ўл§ў ўиго ®иЁЎЄг, Ґ б«Ґ¤гойго, Є Є
®Ўлз®. ‘ нв®© 楫мо Ї®¤Їа®Ја ¬¬г § Є зЁў ов бЇҐжЁ «мл¬ ®ЇҐа в®а®¬
RETRY (б¬. ЇаЁ¬Ґа 22.6).
ЏаЁ¬Ґа 22.6. ЋЎа Ў влў Ґвбп ®иЁЎЄ ®вЄалвЁп Ѓ„ (ў 2 ¬Ґбв е).
ON ERROR DO Executor WITH LineNo(),Program()
ACCEPT "‚‚…„€’… €Њџ ЊЂ’…ђ€Ќ‘ЉЋ‰ Ѓ„: " TO Imya
USE (Imya)
ACCEPT "‚‚…„€’… €Њџ „Ћ—…ђЌ…‰ Ѓ„: " TO Imya
USE (Imya) IN B
ON ERROR
LIST //€¬Ёв жЁп ®Ўа Ў®вЄЁ Ѓ„
PROCEDURE Executor
PARAM Lin, Prog
? Lin
? Iif(Lin = 5,"Љ Є Ґ бв뤮 ®иЁЎ вмбп ҐйҐ Ё §¤Ґбм!","")
- 8 -
?"Ѓ“„њ’… ‚Ќ€ЊЂ’…‹њЌ›! ЏђЋ‚…ђњ’… €Њџ Ѓ„! ЊЋ†…’ Ѓ›’њ, Ќ“†…Ќ Џ“’њ?"
ACCEPT "‚‚…„€’… €Њџ "+ Iif(Lin=3,"ЊЂ’…ђ€Ќ‘ЉЋ‰","„Ћ—…ђЌ…‰")+" Ѓ„: " TO Imya
RETRY
‚®§¬®¦®, ©¤гвбп Їа®Ја ¬¬Ёбвл, гзЁвлў ойЁҐ ў Ї®¤Їа®Ја ¬¬Ґ
®Ўа Ў®вЄЁ ®иЁЎ®Є Ё "ЇаҐ¤Ёбв®аЁо" Є®¬ ¤л б ®иЁЎЄ®©, Ё¬Ґ®,
Є Є п жҐЇм ўл§®ў®ў Ў«®Є®ў ЇаҐ¤иҐбвў®ў « ®иЁЎЄҐ. ‚®§¬®¦®бвм нв®Ј®
®ЎҐбЇҐзЁў Ґв дгЄжЁп Program б аЈг¬Ґв®¬ - ®¬Ґа®¬ Ў«®Є ў 楯Ё.
ЏаЁ¬Ґа 22.7. ЏаЁ¬Ґа Ґ бўп§ б ®Ўа Ў®вЄ®© ®иЁЎ®Є.
* ќв® Ј« ўл© Ў«®Є - "¤Ґ¤гиЄ "; ҐЈ® Ё¬ҐҐ¬ пў«пҐвбп Ё¬п д ©«
DO Otec
PROCEDURE Otec && Ѓ«®Є ўв®а®Ј® "Ї®Є®«ҐЁп"- Ў«®Є-"®вҐж"
DO Sinok
PROCEDURE Sinok && Ѓ«®Є ваҐв쥣® "Ї®Є®«ҐЁп"- Ў«®Є-"бл"
?'Њ®© "¤Ґ¤" '+Program(1),'ўл§ў « Ї Їг',Program(2)
?'Њ®© "Ї Ї " '+Program(2),'ўл§ў « ¬Ґп - бв а襣® бл '
?'Ђ нв® п',Program(3),'а §Ј®ў аЁў о б ‚ ¬Ё ў',Str(LineNo(1),2),'бва®ЄҐ'
?'…Ґ Ўб®«овл© ®¬Ґа -',Str(LineNo(),2)
ЂаЈг¬Ґв дгЄжЁЁ LineNo() Ё¬ҐҐв ¤агЈ®© б¬лб«: Ґб«Ё ® Ё¬ҐҐвбп
(®Ўлз® - 1), ®¬Ґа бва®ЄЁ Ўг¤Ґв ®в®бЁвҐ«мл¬ - ў ЇаҐ¤Ґ« е ⥫
Ў«®Є . …б«Ё аЈг¬Ґв Ґв, ў®§ўа й Ґ¬л© ®¬Ґа бва®ЄЁ Ўг¤Ґв "бЄў®§л¬"
- ®вбзЁвлў Ґвбп ®в з « д ©« .
Ћ ¬Ґв®¤ЁЄҐ ®в« ¤ЄЁ Ё § ¤ з е ®в« ¤зЁЄ ўл Їа®з«Ё ў Ї. 14.1.
ђ бᬮваЁ¬ ў ¤ ®© Ј« ўҐ, Є Є нвЁ § ¤ зЁ аҐ «Ё§говбп ў FOXPRO.
—в®Ўл гЇа®бвЁвм Ё§«®¦ҐЁҐ, ¬л ®Ў®§ з Ґ¬ вҐа¬Ё ¬Ё "в®зЄ ®бв ®ў "
Ё "в®зЄ ЇаҐалў Ёп" а §«ЁзлҐ бгй®бвЁ.
22.1. ‚лЇ®«пҐ¬ ва ббЁа®ўЄг
Љ Є Ё ў CLIPPER, гз бв®Є Їа®Ја ¬¬л ¬®¦Ґв ўлЇ®«пвмбп ў
ўв®¬ вЁзҐбЄ®¬ (®Ўл箬) ०Ё¬Ґ, ў ०Ё¬Ґ Ё¬ жЁЁ Ё Ї®и Ј®ў®¬
०Ё¬Ґ (б¬. Ї. 14.1).
‚Є«о票Ґ ®в« ¤зЁЄ ¬®¦® ЇаҐ¤гᬮваҐвм ЇаЁ Ї®¤Ј®в®ўЄҐ
Їа®Ја ¬¬л: ¬л ўЄ«оз Ґ¬ ў ҐҐ Є®¬ ¤г SET STEP ON ЇҐаҐ¤ гз бвЄ®¬,
Є®в®ал© ўл§лў Ґв ᮬҐЁп, в.Ґ. ¤®«¦Ґ ва ббЁа®ў вмбп. Џ®б«Ґ
§ ЇгбЄ Їа®Ја ¬¬л Ё ўлЇ®«ҐЁп з бвЁ, ЇаҐ¤иҐбвўго饩 SET STEP ON,
нв Є®¬ ¤ ўл§®ўҐв ®бв ®ў, ЄвЁўЁ§ЁагҐв ®в« ¤зЁЄ Ё ®вЄа®Ґв ®Є®
Trace б ⥪б⮬ Їа®Ја ¬¬л, Ј¤Ґ б«Ґ¤гой п Є®¬ ¤ Ўг¤Ґв ®Ў®§ зҐ
¬ થ஬ Є Є Ї®¤«Ґ¦ й п ўлЇ®«ҐЁо:
T r a c e
Program Resume Out Over Step
---------------------------------------
<’ҐЄбв Їа®Ја ¬¬л, ў Є®в®а®¬ бва®Є
®зҐаҐ¤®© (® ҐйҐ Ґ ўлЇ®«Ґ®©)
Є®¬ ¤л ®Ў®§ зҐ Їаאַ㣮«мл¬
¬ થ஬>
---------------------------------------
<€¬п Їа®Ја ¬¬л>
"ѓ®апзЁҐ" ЎгЄўл ¬Ґо ¬л Ё§®Ўа §Ё«Ё ¦Ёа®. ‚ ¤Ґ©б⢨⥫м®бвЁ ®Ё
ЎҐ«лҐ. ЏгЄв Program Ґбвм Ё ў бЁб⥬®¬ ¬Ґо FOXPRO. ‚ ¤ ®¬
Ё§«®¦ҐЁЁ аҐзм Ё¤Ґв ® ЇгЄвҐ ¬Ґо Trace. Џ®б«Ґ "Ј®ап祩" ЎгЄўл, ў
бЄ®ЎЄ е, Ўг¤Ґв гЄ §лў вмбп ®Ў®§ 票Ґ ЇгЄв ¬Ґо.
€в Є, ¤«п ўлЇ®«ҐЁп Є ¦¤®© б«Ґ¤го饩 Є®¬ ¤л ¬л ¦Ё¬ Ґ¬
"Ј®апзго" ЎгЄўг S (Step) Ё«Ё v (Over). ђ §Ёж «Ёим ў ўлЇ®«ҐЁЁ
Є®¬ ¤ DO: ЇаЁ ¦ вЁЁ v ўл§лў Ґ¬ п Ї®¤Їа®Ја ¬¬ ўлЇ®«пҐвбп "а §®¬",
S ўл§лў Ґв ЇҐаҐе®¤ ¬ аЄҐа ў ҐҐ ⥫® ¤«п ўлЇ®«ҐЁп Ї® и Ј ¬.
Љ®Ј¤ ўбҐ ᮬЁвҐ«млҐ в®зЄЁ Їа®Ја ¬¬л Їа®©¤Ґл, ¬л ¬®¦Ґ¬
) ЇаҐЄа вЁвм ўлЇ®«ҐЁҐ: ¦Ё¬ п P (Program), ўе®¤Ё¬ ў Ї®¤¬Ґо Ё
ўлЇ®«пҐ¬ Ї®¤ЇгЄв Cancel;
Ў) § Є®зЁвм ўлЇ®«ҐЁҐ Їа®Ја ¬¬л ў ўв®¬ вЁзҐбЄ®¬ ०Ё¬Ґ ( ЇаЁ¬Ґа,
- 2 -
¤«п Ї®«гзҐЁп Є®Ґзле १г«мв в®ў): ¦Ё¬ Ґ¬ O (Out);
ў) Ї®ўв®аЁвм ва ббЁа®ўЄг, ЇаЁ¬Ґа б ¤агЈЁ¬Ё ¤ л¬Ё: ўлЇ®«пҐ¬ Ї.
" " Ё«Ё "Ў", ЇаЁ н⮬ ў ¬Ґо ЇгЄв "Resume" ®Є ¦Ґвбп § ¬ҐҐ "Do ...".
Ќ ¦Ё¬ Ґ¬ D (Do ...), Ї®пў«пҐвбп ®Є® Do Program File б® бЇЁбЄ®¬
Їа®Ја ¬¬ле д ©«®ў. Ќ ў®¤Ё¬ ¬ аЄҐа Ё¬п ®в« ¦Ёў Ґ¬®© Їа®Ја ¬¬л,
¦Ё¬ Ґ¬ Enter. ‚ ®Є® Trace ўл§лў Ґвбп ҐҐ ⥪бв, Ј¤Ґ 1-п Є®¬ ¤
®Ў®§ зҐ ¬ થ஬, ЇаЁзҐ¬ ЇгЄв "Do ..." § ¬ҐпҐвбп "Resume".
Ќ ¦Ё¬ Ґ¬ R Ё Їа®Ја ¬¬ ўлЇ®«Ёвбп ¤® SET STEP ON. „ «мҐ©иҐҐ Ё§ўҐбв®.
Њ®¦® ўл§лў вм Їа®Ја ¬¬г ў ®Є® Ё зҐаҐ§ Ї®¤¬Ґо Program (Ї®¤ЇгЄв
Open). ЋЄ® Trace гЎЁа Ґвбп ¦ вЁҐ¬ Esc.
ЋвЄалвЁҐ ®Є Trace зҐаҐ§ бЁбвҐ¬л© ЁвҐа䥩б. ‚лЎЁа Ґ¬ Ї®¤ЇгЄв
Window/Trace Ё ўл§лў Ґ¬ ў Ї®пўЁўиҐҐбп ®Є® Trace Їа®Ја ¬¬г, Є Є ў Ї."ў".
’а ббЁа®ўЄ ў ०Ё¬Ґ Ё¬ жЁЁ. „® (Ї®б«Ґ) ўл§®ў ⥪бв Їа®Ја ¬¬л
Ё«Ё Ї®б«Ґ ҐҐ ®бв ®ў , «оЎ®¬ и ЈҐ, ¦Ё¬ Ґ¬ Ctrl+R (Ё«Ё ўлЎЁа Ґ¬
Ї®¤ЇгЄв Throttle ў Ї®¤¬Ґо Program, Є®в®ал© ў з «Ґ § ЇаҐ¤Ґ« ¬Ё ®Є
Ї®¤¬Ґо). ‚ Ї®пўЁўиҐ¬бп ®ЄҐ Execution Throttle гЄ §лў Ґ¬ § ¤Ґа¦Єг
(ЁвҐаў « ¬Ґ¦¤г Є®¬ ¤ ¬Ё - ў ᥪ㤠е) Ё ўлЎЁа Ґ¬ <OK>. ’ҐЇҐам ¦ вЁҐ
R (Resume) Ўг¤Ґв Їа®¤®«¦ вм ўлЇ®«ҐЁҐ Їа®Ја ¬¬л ў ०Ё¬Ґ Ё¬ жЁЁ,
¦ вЁҐ O (Out) - ў ®Ўл箬 ўв®¬ вЁзҐбЄ®¬ ०Ё¬Ґ.
‡ ¤ ЁҐ 22.1. ЋбгйҐбвўЁвҐ а §«ЁзлҐ ў аЁ вл ва ббЁа®ўЄЁ Ґб«®¦®©
Їа®Ја ¬¬л, ЁбЇ®«м§гп Ё а §«ЁзлҐ бЇ®б®Ўл § Јаг§ЄЁ ҐҐ ⥪бв ў ®Є®.
22.2. ’®зЄЁ ®бв ®ў . Ќ Ў«о¤ Ґ¬ Ё Ё§¬ҐпҐ¬ ¤ лҐ
…б«Ё Їа®Ја ¬¬г ¬®¦® а §¤Ґ«Ёвм з бвЁ "ЎҐббЇ®а® Їа ўЁ«млҐ" Ё
"ᮬЁвҐ«млҐ", б«Ґ¤гҐв бвлЄҐ з б⥩ ᤥ« вм в®зЄЁ ®бв ®ў . ’®Ј¤
ўл Ўг¤ҐвҐ Ё¬Ґвм ў®§¬®¦®бвм ⥠Ё«Ё ЁлҐ з бвЁ ўлЇ®«пвм ў
ўв®¬ вЁзҐбЄ®¬ ०Ё¬Ґ, ¤агЈЁҐ - Ї® и Ј ¬ Ё«Ё ў ०Ё¬Ґ Ё¬ жЁЁ.
’а ббЁа®ўЄ ў зЁб⮬ ўЁ¤Ґ ЁбЇ®«м§гҐвбп ।Є®. ЋЎлз® ҐҐ б®зҐв ов б
Ў«о¤ҐЁҐ¬ ¤ ле (®вб«Ґ¦Ёў ов Ё§¬ҐҐЁп). ‚ в Є®¬ б«гз Ґ в®зЄЁ
®бв ®ў § з ов ў® ўбҐе ЇгЄв е, Ј¤Ґ Ё¬ҐҐв б¬лб« ®жҐЄ
Їа®¬Ґ¦гв®зле १г«мв в®ў.
’а ббЁа®ўЄ Ї® в®зЄ ¬ ®бв ®ў . Џ®б«Ґ § Јаг§ЄЁ Їа®Ја ¬¬л
(ЁбЇ®«м§гҐ¬ Do ...) ¦Ё¬ Ґ¬ R Ё Їа®Ја ¬¬ ўлЇ®«пҐвбп ¤® 1-©
в®зЄЁ ®бв ®ў . ‘®®вўҐвбвўгой п Ґ© Є®¬ ¤ , ®Ў®§ зҐ п ¬ થ஬,
ҐйҐ Ґ ўлЇ®«п« бм. …б«Ё 㦮 ўлЇ®«Ёвм, ¦¬ЁвҐ S. ‘«Ґ¤гойЁҐ
¦ вЁп R ўлўҐ¤гв ®зҐаҐ¤лҐ в®зЄЁ. ‚ нвЁ ¬®¬Ґвл ¬®¦® Їа®ўҐапвм
§ зҐЁп ЇҐаҐ¬Ґле Ё ўла ¦ҐЁ©.
“бв ®ўЄ Ё ®в¬Ґ в®зҐЄ ®бв ®ў . Џ®б«Ґ § Јаг§ЄЁ Їа®Ја ¬¬л,
ў «оЎ®© ¬®¬Ґв ®¦Ё¤ Ёп Є« ўЁиле ў®§¤Ґ©бвўЁ©, ¬®¦® ЇҐаҐ¬ҐбвЁвм
- 3 -
Єгаб®а ўлЎа го ў ¬Ё бва®Єг Їа®Ја ¬¬л Ё ¦ вм Є« ўЁиг Їа®ЎҐ« ,
гбв ў«Ёў п в®зЄг ®бв ®ў (®Ў®§ з Ґвбп ஬ЎЁЄ®¬ б«Ґў ).
Џ®ўв®а®Ґ ¦ вЁҐ Є« ўЁиЁ Їа®ЎҐ« «ЁЄўЁ¤ЁагҐв в®зЄг ®бв ®ў
(஬ЎЁЄ г¤ «пҐвбп). Ћв¬Ґг ба §г ўбҐе в®зҐЄ ®бв ®ў ўлЇ®«пҐв
Ї®¤ЇгЄв ¬Ґо Program/Clear Breakpoints.
Ќ Ў«о¤ҐЁҐ ¤ ле. ‚ «оЎ®© ¬®¬Ґв ®¦Ё¤ Ёп ўлЎЁа Ґ¬ Ї®¤ЇгЄв
Window/Debug Ј« ў®Ј® ¬Ґо. Џ®пў«пҐвбп Ё бв ®ўЁвбп ЄвЁўл¬ ®Є®
Debug, а §¤Ґ«Ґ®Ґ ўҐавЁЄ «мо. ‘«Ґў Ўг¤Ґ¬ § ЇЁблў вм в®зЄЁ Їа®б¬®ва
- ЁвҐаҐбгойЁҐ б ўла ¦ҐЁп, е®вп Ўл Ё ЇҐаҐ¬ҐлҐ, бЇа ў Ўг¤гв
Ї®Є § л Ёе § 票п. ‘ЁбвҐ¬лҐ дгЄжЁЁ, ЇаЁ¬Ґа Recno(), Found(),
Ё ўла ¦ҐЁп, Ёе ᮤҐа¦ йЁҐ - ¤®ЇгбвЁ¬лҐ в®зЄЁ Їа®б¬®ва . Џ®б«Ґ
§ ЇЁбЁ в®зЄЁ ®Ўп§ вҐ«м® ¦¬ЁвҐ Enter. ‚®§ўа в ў ®Є® Trace, ЇҐаҐе®¤
ў ®Є® Є®¬ ¤ Ё«Ё Ї®ўв®аго ЄвЁўЁ§ жЁо ®Є Debug ўлЇ®«пҐ¬ б Ї®¬®ймо
Ctrl+F1. „«п г¤ «ҐЁп в®зЄЁ Їа®б¬®ва ¦Ё¬ Ґ¬ Ctrl+BackSpace, Є®Ј¤
Єгаб®а 室Ёвбп Ї®¤ ҐҐ § ЇЁбмо.
ЏаЁ¬Ґа б Ї®б⥯Ґл¬ § 票Ґ¬ ®бв ®ў®ў. „®ЇгбвЁ¬, ®
Їа ўЁ«м®бвЁ Ё«Ё ®иЁЎ®з®бвЁ ўлЇ®«ҐЁп ¬®¦® бг¤Ёвм Ї® ҐЄ®в®а®©
б®ў®ЄгЇ®бвЁ ¤ ле, Ё§¬ҐпҐ¬ле ¬®¦Ґбвў®¬ Є®¬ ¤. ЏаЁ¬ҐЁ¬
¤Ёе®в®¬Ёо ЇаЁ Ї®ЁбЄҐ ®иЁЎЄЁ. Ќ § зЁ¬ ®бв ®ў ў бҐаҐ¤ЁҐ ᮬЁвҐ«м®Ј®
гз бвЄ Ё в®зЄЁ Їа®б¬®ва . Џ®б«Ґ ®бв ®ў ®жҐЁ¬ Їа ўЁ«м®бвм.
…б«Ё ўбҐ Їа ўЁ«м®, б«Ґ¤гойЁ© ®бв ®ў § зЁ¬ ў бҐаҐ¤ЁҐ 2-©
Ї®«®ўЁл гз бвЄ , Ё зҐ - ў бҐаҐ¤ЁҐ 1-© Ї®«®ўЁл Ё в.¤. ‚ᥣ¤ ¤ўҐ
§ зҐлҐ Ї®б«Ґ¤Ё¬Ё в®зЄЁ ®бв ®ў Ўг¤гв Ї а®© вЁЇ "Їа ўЁ«м®-
ҐЇа ўЁ«м®". Љ®Ј¤ зЁб«® Є®¬ ¤ ¬Ґ¦¤г Ё¬Ё бв Ґв ҐўҐ«ЁЄ®, "Їа®©¤Ґ¬
ЇҐиЄ®¬" ®в ®¤®© Є ¤агЈ®©, ¦Ё¬ п S (Step) Ё Є®ва®«Ёагп ¤ лҐ.
€§¬ҐҐЁҐ ¤ ле ў 室Ґ ®в« ¤ЄЁ. …б«Ё ЇаЁ Їа®ўҐаЄҐ б«®¦®©
Їа®Ја ¬¬л Ї®«гзҐл ҐўҐалҐ Їа®¬Ґ¦гв®злҐ аҐ§г«мв вл, Ґ в®а®ЇЁвҐбм
б ®в¬Ґ®© ўлЇ®«ҐЁп. ‚®§¬®¦®, ўл бнЄ®®¬ЁвҐ ўаҐ¬п, " 室г"
ЁбЇа ўЁў Ёе, зв®Ўл Ў«о¤ вм б«Ґ¤гойЁҐ нв Їл а Ў®вл. ‚ Є®¬ ¤®¬
®ЄҐ ¤®бвгЇл ўбҐ ¤Ґ©бвўгойЁҐ ЇҐаҐ¬ҐлҐ Ё ¬ ббЁўл. ЏҐаҐ©¤ЁвҐ ў ҐЈ®
Ё ЇаЁбў®©вҐ Ё¬ ®ўлҐ § 票п. ЏаЁ н⮬ ¬®¦® Ї®«м§®ў вмбп Ё
"Ї®бв®а®Ё¬Ё" Ї®¤Їа®Ја ¬¬ ¬Ё, ў ®Ўа 饨Ё Є Є®в®ал¬ (Є®¬ ¤ DO)
Ї а ¬Ґва ¬Ё Ўг¤гв нвЁ ЇҐаҐ¬ҐлҐ Ё ¬ ббЁўл. ‡ ¬Ґг ¤ ле ¬®¦®
ЇаЁ¬ҐЁвм Ё ЇаЁ вҐбвЁа®ў ЁЁ вҐе Ў«®Є®ў Їа®Ја ¬¬л, Є®в®алҐ Ё зҐ
Їа®ўҐап«Ёбм Ўл Ґ¤®бв в®з®¬ ¬®¦Ґб⢥ ў аЁ в®ў ўе®¤ле ¤ ле.
Њ®¦® Ё§¬Ґпвм Ї®«п ®вЄалвле Ѓ„, ЇаЁзҐ¬ Ґ в®«мЄ® ў ⥪гйЁе
§ ЇЁбпе, Ґ § Ўлў п ў®ббв ў«Ёў вм бв вгб Ѓ„ Ё, ў з бв®бвЁ,
ў®§ўа й вмбп Є ЇаҐ¦Ё¬ ⥪гйЁ¬ § ЇЁбп¬.
’ҐЇҐам ¬®¦® ¤ вм ®Ў§®а ЇгЄв®ў Ї®¤¬Ґо Program:
- Open ... (^E) § Јаг¦ Ґв д ©« Їа®Ја ¬¬л (Є Є Ё ЇгЄв Do ...);
- 4 -
- Cancel ЇаҐЄа й Ґв ¤ «мҐ©иго а Ў®вг ®бв ®ў«Ґ®© Їа®Ја ¬¬л;
- Line Numbers (^L) ®ЎҐбЇҐзЁў Ґв 㬥а жЁо бва®Є Їа®Ја ¬¬л;
- ‘lear Breakpoints (^B) ®в¬ҐпҐв ўбҐ в®зЄЁ ®бв ®ў ;
- Trace Between Breaks гбв ў«Ёў Ґв ва ббЁа®ўЄг Ї® в®зЄ ¬ ®бв ®ў ;
- Throttle ... (^R) гбв ў«Ёў Ґв ЁвҐаў « ¬Ґ¦¤г Є®¬ ¤ ¬Ё (0..5.5 б);
- <€¬п Їа®Ја ¬¬л> ў®§ўа й Ґв ў ®Є® Trace гз бв®Є Їа®Ја ¬¬л б®
бва®Є®©, ®в¬ҐзҐ®© ¬ થ஬, Ґб«Ё Єгаб®а ЇҐаҐ¬ҐбвЁ«Ё ¤агЈЁҐ
бва Ёжл. ’® ¦Ґ Їа®Ё§®©¤Ґв ЇаЁ ¦ вЁЁ "Ј®ап祩" ЎгЄўл S.
ЏаЁ¬Ґз ЁҐ. “Є § лҐ ў бЄ®ЎЄ е нЄўЁў «Ґвл ¤Ґ©бвўгов «Ёим
ЇаЁ ЄвЁў®¬ ®ЄҐ Trace.
‡ ¤ ЁҐ 22.2. €бб«Ґ¤г©вҐ а Ў®вг Їа®Ја ¬¬л Ё§ § ¤ Ёп 22.1,
ЇҐаҐ¬Ґ¦ п ўлЇ®«ҐЁҐ ҐҐ Ї® и Ј ¬ б Ё§¬ҐҐЁҐ¬ ¤ ле ў ®ЄҐ
Є®¬ ¤.
22.3. ЏаЁ¬ҐпҐ¬ ®бв ®ўл, гЇа ў«пҐ¬лҐ б®ЎлвЁп¬Ё
Џа®б⥩襥 "б®ЎлвЁҐ" - нв® Ё§¬ҐҐЁҐ § зҐЁп ЇҐаҐ¬Ґ®©.
’®зЄЁ Їа®б¬®ва ¬®¦® ᤥ« вм в®зЄ ¬Ё ЇаҐалў Ё©: ба §г Ї®б«Ґ
Ё§¬ҐҐЁп § 票п в®зЄЁ Їа®б¬®ва Ўг¤Ґв Їа®Ёб室Ёвм ®бв ®ў.
ЏаЁ н⮬ ¬ аЄҐа Ўг¤Ґв ®Ў®§ з вм Є®¬ ¤г, б«Ґ¤гойго § Є®¬ ¤®©
Ё§¬ҐҐЁп. €®Ј¤ ¬л Ґ¤®г¬Ґў Ґ¬, ®вЄг¤ ў§п«®бм в® Ё«Ё Ё®Ґ
§ 票Ґ. Њ®Ј®Єа в® ¦Ё¬ п R (Ґб«Ё Ё§¬ҐҐЁп Їа®Ё§ў®¤Ёв Ґ
®¤ Є®¬ ¤ Ё«Ё Є®¬ ¤ Ё§¬ҐҐЁп бв®Ёв ў жЁЄ«Ґ), ¬л а ® Ё«Ё
Ї®§¤® гўЁ¤Ё¬ ҐЈ® ў®§ЁЄ®ўҐЁҐ.
ЏаЁ Ё§¬ҐҐЁЁ § 票п в®зЄЁ ЇаҐалў Ёп ў Їа ў®¬ ўҐа奬
гЈ«г нЄа Ї®пў«пҐвбп б®®ЎйҐЁҐ "Do suspended" ® ЇаЁ®бв ®ўЄҐ
Їа®Ја ¬¬л. Њ®¦® Їа® «Ё§Ёа®ў вм бЁвг жЁо, ўлЇ®«Ёвм, Ґб«Ё
㦮 Є®¬ ¤л Ё § ⥬ ўҐагвмбп ў ®Є® Trace.
Џ®а®¦¤ҐЁҐ в®зҐЄ ЇаҐалў Ё©. ‘ з « ᮧ¤ Ґ¬ в®зЄЁ Їа®б¬®ва .
‡ ⥬, 室пбм ў ®ЄҐ Debug, ¦Ё¬ Ґ¬ Tab. Ќ ўҐавЁЄ «м®©
«ЁЁЁ, ¤Ґ«п饩 ®Є®, ў®§ЁЄ Ґв ¬ аЄҐа. ЏҐаҐ¬Ґй Ґ¬ ҐЈ® ў г¦го
бва®Єг Ё ¦Ё¬ Ґ¬ Є« ўЁиг Їа®ЎҐ« . Ќ ¬ થॠў®§ЁЄ Ґв ஬ЎЁЄ.
ЏҐаҐ¬Ґй п ¬ аЄҐа ў ¤агЈго бва®Єг, ¬®¦Ґ¬ ᮧ¤ вм ҐйҐ ®¤г в®зЄг
ЇаҐалў Ё© Ё в.¤. Ђ «®ЈЁзл¬ ®Ўа §®¬ ®в¬ҐпҐ¬ в®зЄг ЇаҐалў Ё©.
ђ®¬ЎЁЄ ў ҐҐ бва®ЄҐ Ёб祧 Ґв.
ЋЄ®¬ Debug б в®зЄ ¬Ё ЇаҐалў Ё© ¬®¦® Ї®«м§®ў вмбп Ё ў
®вбгвбвўЁҐ ®Є Trace, е®вп нв® Ё Ґг¤®Ў®. ЏаЁ ®бв ®ўҐ
в®зЄҐ ЇаҐалў Ёп ЄвЁўЁ§ЁагҐвбп ®Є® Є®¬ ¤. „ лҐ ваЁ ®Є
Ї®звЁ Ї®«®бвмо ЇҐаҐЄалў ов нЄа б १г«мв в ¬Ё, ®¤ Є® Ё¬ҐҐвбп
Їа®бв п ў®§¬®¦®бвм: ¦ вм Ctrl+Alt+Shift (нЄа ®вЄа®Ґвбп) Ё
- 5 -
ЇаЁ¤Ґа¦Ёў вм Ёе. Љ®Ј¤ ¬л Ёе ®вЇгбвЁ¬, ®Є ў®ўм Ї®пўпвбп.
ЏаЁ¬Ґа 22.1. ЌҐ®Ўе®¤Ё¬® а §®Ўа вмбп б ®иЁЎЄ ¬Ё ®Ўа Ў®вЄЁ
§ ЇЁбҐ© ў а Ў®зҐ© ®Ў« бвЁ "B". „® ®вЄалвЁп Ѓ„ ў нв®© ®Ў« бвЁ
Ґв б¬лб« ўлЇ®«пвм Їа®Ја ¬¬г Ї® и Ј ¬. …б«Ё «®ЈЁЄ Їа®Ја ¬¬л
в Є®ў , зв® ў нв®© ®Ў« бвЁ ®вЄалў Ґвбп ®¤ Ё§ ҐбЄ®«мЄЁе Ѓ„,
¬л ¤®«¦л Ё«Ё ᤥ« вм ҐбЄ®«мЄ® в®зҐЄ ®бв ®ў - Є®¬ ¤ е USE,
Ё«Ё ЇаЁ¬ҐЁвм ¤«п ®бв ®ў ўла ¦ҐЁҐ DBF(2)=="". Ћ® Ё¬ҐҐв § 票Ґ
.T., Ї®Є ®Ў« бвм "B" Ґ Ўг¤Ґв § ¤Ґ©бвў®ў . Љ Є в®«мЄ®
§ 票Ґ¬ бв Ґв "F", Їа®Ё§®©¤Ґв ®бв ®ў. Ќ зЁ Ґ¬ ¤Ґв «мл©
Їа®б¬®ва ®Ўа Ў®вЄЁ § ЇЁбҐ©.
ЏаЁ¬Ґа 22.2. ‚®§ЁЄ«® Ї®¤®§аҐЁҐ, зв® ҐЇа ўЁ«м® ЇҐаҐЄ«оз овбп
а Ў®зЁҐ ®Ў« бвЁ, Ё ¤® Їа®ўҐаЁвм ўбҐ б«гз Ё. ‡ ЇЁблў Ґ¬ б нв®©
楫мо в®зЄг ЇаҐалў Ё© Select(). ”гЄжЁп Select() ў®§ўа й Ґв
®¬Ґа ЄвЁў®© ®Ў« бвЁ ЇаЁ гбв ®ўЄҐ SET COMPATIBLE OFF, ¤Ґ©бвўго饩
Ї® 㬮«з Ёо.
ЏаЁ¬Ґа 22.3. ‚ Ѓ„ Kadr Їа ўЁ«м® ®Ўа Ў влў овбп «Ёим § ЇЁбЁ,
ЇаҐ¤иҐбвўгойЁҐ 123-© § ЇЁбЁ. €е ®Ўа Ў®вЄг ¤® Їа®ЇгбвЁвм, ¤ «миҐ
ўЄ«озЁвм Ї®и Ј®ўл© ०Ё¬. ‡ ЇЁблў Ґ¬ ¤«п нв®Ј® в®зЄг ЇаҐалў Ё©
Recno() = 123. …б«Ё ў Їа®Ја ¬¬Ґ ®Ўа Ў влў овбп Ё ¤агЈЁҐ Ѓ„, ўла ¦ҐЁҐ
гб«®¦пҐ¬: Right(DBF(),8)=="KADR.DBF".AND. Recno() = 123 .
…б«Ё ¬л б ¬Ё § з «Ё ¤«п Ѓ„ Kadr а Ў®зго ®Ў« бвм, ЇаЁ¬Ґа 3-о,
Ё в®«мЄ® ¤«п ҐҐ, ў®§¬®¦Ґ ў аЁ в Recno(3) = 123. Џ®б«Ґ¤Ё© ў аЁ в,
ў®§¬®¦®, б Їа®ўҐаЄ®© Ё¬ҐЁ Ѓ„ Ґ®Ўе®¤Ё¬, Ґб«Ё ®Ўа Ў влў овбп § ЇЁбЁ
®вЄалв®©, ® Ґ ®Ўп§ вҐ«м® ЄвЁў®© Ѓ„ Kadr.
ЏаЁ¬Ґа 22.4. ‚®ЇаҐЄЁ ЇаҐ¤Ї®«®¦ҐЁп¬ зЁб«® § ЇЁбҐ© ў Ѓ„ Kadr
бв ®ўЁвбп Ў®«миҐ Ё§ўҐбв®Ј® ЇаҐ¤Ґ« N. €йҐ¬ ®иЁЎЄг, ЁбЇ®«м§гп
в®зЄг ЇаҐалў Ё© Reccount() > N Ё«Ё Reccount(<ЋЎ« бвм>) > N.
‡¤Ґбм Ї®Є § л ў®§¬®¦®бвЁ ЁбЇ®«м§®ў Ёп Ёд®а¬ жЁЁ, Ё¬Ґо饩бп
ў ‘“Ѓ„. Љ®Ґз®, ў Ў®«миЁб⢥ б«гз Ґў ЁбЇ®«м§говбп ЁлҐ ўла ¦ҐЁп.
‡ ¤ ЁҐ 22.3. ЏаЁ ўлЇ®«ҐЁЁ ў ®в« ¤зЁЄҐ Їа®Ја ¬¬л Ё§ § ¤ Ёп 22.1
®Їа®Ў®ў вм ®бв ®ўл, гЇа ў«пҐ¬лҐ б®ЎлвЁп¬Ё.
22.4. ђ Ў®в Ґ¬ б ¤Ё «®Ј®ўл¬Ё ®Є ¬Ё
‚ б«гз Ґ ЇаҐалў Ёп ўлЇ®«ҐЁп Ё§-§ ®иЁЎЄЁ ў ¤Ё «®Ј®ў®Ґ ®Є®
б 3 Є®ЇЄ ¬Ё ўл¤ Ґвбп б®®ЎйҐЁҐ ® Ґ©, ЇаЁ¬Ґа (®вбгвбвўгҐв Ѓ„):
File <€¬п Ѓ„> does not exist
<Cancel> <Suspend> <Ignore> .
Ќ ¦ ў "Ј®апзго" ЎгЄўг C, ¬л ЇаҐЄа вЁ¬ ўлЇ®«ҐЁҐ Їа®Ја ¬¬л. ЃгЄў S
ўл§®ўҐв ЇаЁ®бв ®ўЄг (Є®¬ ¤ Suspend). —ҐаҐ§ ЁвҐадҐ©б Ё Є®¬ ¤®Ґ
- 6 -
®Є® ¬л ¬®¦Ґ¬ Ё§гзЁвм ⥪гйго бЁвг жЁо Ё Ї® ў®§¬®¦®бвЁ ЁбЇа ўЁвм ҐҐ,
зв®Ўл Їа®¤®«¦Ёвм а Ў®вг Їа®Ја ¬¬л. ЋЇаҐ¤Ґ«ҐлҐ ў®§¬®¦®бвЁ ¤ Ґв Ё
Є®ЇЄ <Ignore>: Ї®б«Ґ ¦ вЁп I ўлЇ®«ҐЁҐ ¬®¦Ґв Ўлвм Їа®¤®«¦Ґ®,
® Ў § ¤ ле Ґ ®вЄалв Ё ®ЇҐа жЁп б Ѓ„ ўл§®ўҐв ¤Ё «®Ј®ў®Ґ ®Є®,
зв®Ўл ¬®¦® Ўл«® ®вЄалвм ҐЄ®в®аго Ѓ„. €в Є, Ґб«Ё ¬л ®иЁЎ«Ёбм ў
§ ЇЁбЁ ЇгвЁ Ё«Ё Ё¬ҐЁ, ¤Ґ«® Ї®Їа ўЁ¬®.
ЏаЁ а Ў®вҐ б ҐбЄ®«мЄЁ¬Ё Ѓ„ Ї®«Ґ§ Є®¬ ¤ SET STATUS ON,
®ЎҐбЇҐзЁў ой п ЇаЁбгвбвўЁҐ нЄа Ґ бва®ЄЁ бв вгб б Ё¬ҐҐ¬ ЄвЁў®©
Ѓ„, ®¬Ґа®¬ ⥪г饩 § ЇЁбЁ Ё ®ЎйЁ¬ Ёе зЁб«®¬. ЏаЁ¬Ґа: KADR 1/205.
Ѓ®«ҐҐ Ї®«го Є авЁг ¤ Ґв ®Є®, Ї®пў«по饥бп ЇаЁ ўлЎ®аҐ Ї®¤ЇгЄв
Window/View, Ј¤Ґ Ї®Є § л ЁбЇ®«м§гҐ¬лҐ ®Ў« бвЁ, бўп§Ё Ѓ„ Ё в.Ї. ‚л
¬®¦ҐвҐ ®вЄалвм г¦го Ѓ„ ў ¦Ґ« Ґ¬®© ®Ў« бвЁ, § Єалвм ¤агЈЁҐ Ѓ„.
Ќ Є®Ґж, ЁбЇ®«м§гп View, ¬®¦® гўЁ¤Ґвм ¤Ґ©бвўгойЁҐ бЁбвҐ¬лҐ гбв ®ўЄЁ:
н«Ґ¬Ґв ON/OFF ўл§лў Ґв ᮮ⢥вбвўго饥 ®Є®, Ј¤Ґ ¤«п Є ¦¤®©
гбв ®ўЄЁ ў бЄ®ЎЄ е [ ] Ї®Є § ®, ¤Ґ©бвўгҐв ON (ў бЄ®ЎЄ е X) Ё«Ё OFF
(ў бЄ®ЎЄ е Їа®ЎҐ«).
…б«Ё ¤Ґ©бвўгҐв гбв ®ўЄ SET ESCAPE ON, ўл ¬®¦ҐвҐ ЇаҐЄа й вм
ўлЇ®«ҐЁҐ Їа®Ја ¬¬л Є« ўЁиҐ© Esc, Ї®«гз п б®®ЎйҐЁҐ Ё 2 Є®ЇЄЁ:
*** INTERRUPTED ***
<Cancel> <Ignore>
— бвл¬ пў«пҐвбп б®®ЎйҐЁҐ ® д ©«Ґ, Ї®¤«Ґ¦ 饬 гЁз⮦ҐЁо:
<€¬п д ©« > already exists, overwrite it ?
<Yes> <No>
…б«Ё ўл ᮧ вҐ«м® ЇҐаҐ§ ЇЁблў ҐвҐ д ©«, ®вўҐз ©вҐ <Yes>. …б«Ё
ў б Ґ ЎҐбЇ®Є®Ёв ў®§¬®¦®бвм ®иЁЎ®з®Ј® бвЁа Ёп д ©« (ўбҐ д ©«л
г祡лҐ, ҐЎ®«миЁҐ) Ё«Ё ўл 㢥аҐл ў ᥡҐ, ¬®¦ҐвҐ Ї®¤ ўЁвм в ЄЁҐ
б®®ЎйҐЁп Є®¬ ¤®© SET SAFETY OFF, Є®Ј¤ 㦮 - Ё§¬ҐЁвм ¤ го
гбв ®ўЄг Є®¬ ¤®© SET SAFETY ON.
‡ ¤ ЁҐ 22.4. Ќ ¬ҐаҐ® гЄ § ў ў Їа®Ја ¬¬Ґ ®Ўа Ў®вЄЁ Ѓ„
ҐбгйҐбвўгойго Ѓ„, ©¤ЁвҐ Ё ®Їа®Ўг©вҐ а §лҐ бЇ®б®Ўл Їа®¤®«¦ҐЁп
а Ў®вл Їа®Ја ¬¬л ў ®в« ¤зЁЄҐ.
22.5. ЋЎа Ў влў Ґ¬ ®иЁЎЄЁ ўлЇ®«ҐЁп
ЏаҐалў ЁҐ б ўл¤ зҐ© б®®ЎйҐЁп ®Ў ®иЁЎЄҐ (б¬. ўлиҐ) ¬®¦®
ЇаҐ¤®вўа вЁвм, ЁбЇ®«м§гп Є®¬ ¤г ON ERROR <Љ®¬ ¤ >,
Ј¤Ґ Ї®¤зЁҐ п <Љ®¬ ¤ >, а Ў®в ой п в®«мЄ® ЇаЁ ў®§ЁЄ®ўҐЁЁ
®иЁЎЄЁ ўлЇ®«ҐЁп, Є Є Їа ўЁ«®, пў«пҐвбп ўл§®ў®¬ Ї®¤Їа®Ја ¬¬л
®Ўа Ў®вЄЁ ®иЁЎЄЁ, а §аҐи о饩 Є®д«ЁЄвго бЁвг жЁо. Ќ ЇаЁ¬Ґа,
- 7 -
Ї®ЇлвЄ ЇҐаҐе®¤ Є ҐбгйҐбвўго饩 § ЇЁбЁ ¬®¦Ґв ॠ«Ё§®ўлў вмбп
Є Є ЇҐаҐе®¤ Є Ї®б«Ґ¤Ґ© § ЇЁбЁ Ѓ„.
Љ®¬ ¤ ON ERROR ¤®«¦ ЇаҐ¤иҐбвў®ў вм Є®¬ ¤Ґ, ў Є®в®а®©
¬®¦Ґв ў®§ЁЄ вм ®иЁЎЄ (®Ё Ґ ®Ўп§ вҐ«м® ў б®бҐ¤Ёе бва®Є е). ‚
б«гз Ґ ®иЁЎЄЁ Ї®б«Ґ¤пп Ґ ўлЇ®«пҐвбп, Їа®Ёб室Ёв ўлЇ®«ҐЁҐ
Ї®¤зЁҐ®© <Љ®¬ ¤л>, Ї®б«Ґ 祣® гЇа ў«ҐЁҐ ЇҐаҐ¤ Ґвбп Є®¬ ¤г,
Ё¤гйго § ®иЁЎ®з®©. ѓ®ў®апв, зв® ON ERROR ЇҐаҐеў влў Ґв ЇаҐалў ЁҐ
ўл§ў ®Ґ ®иЁЎЄ®©.
ЏаЁ¬Ґа 22.5. ‚ Їа®Ја ¬¬Ґ ¤®«¦ ЁбЇ®«м§®ў вмбп Ѓ„ Sessia
("‘ҐббЁп"). ‚ ¬Ґ¦бҐббЁ®л© ЇҐаЁ®¤ нв Ѓ„ Ґ бгйҐбвўгҐв, ® ¤«п
Їа®ўҐ¤ҐЁп а Ў®в Ї® ¬®¤ҐаЁ§ жЁЁ Їа®Ја ¬¬л ЇаҐ¤гб¬ ваЁў Ґвбп
ЁбЇ®«м§®ў ЁҐ Ѓ„ Qwazy - ¬ ЄҐв Ѓ„ "‘ҐббЁп":
ON ERROR USE Qwazy
USE Sessia && …б«Ё Ґв Ѓ„ Sessia, ®иЁЎЄ Ґ ўл¤ Ґвбп,
<ђ Ў®в б Ѓ„> && а Ў®в Ё¤Ґв б Ѓ„ Qwazy (б¬. ўлиҐ)
ќв® Їа®бв® Ё««обва жЁп. Љ®Ґз®, ᤥ« вм ¬®¦® Ї®-Ё®¬г.
„Ґ©бвўЁҐ Є®¬ ¤л ON ERROR а бЇа®бва пҐвбп ЈагЇЇг б«Ґ¤гойЁе
Ё¦Ґ Є®¬ ¤ ўЇ«®вм ¤® Є®¬ ¤л ON ERROR ЎҐ§ аЈг¬Ґв , ®Ў®§ з о饩
®в¬Ґг ¤Ґ©бвўЁп, Ё«Ё ¤® Є®ж Їа®Ја ¬¬л.
Џ®¤Їа®Ја ¬¬ ®Ўа Ў®вЄЁ ®иЁЎЄЁ ¬®¦Ґв Ўлвм ўлЇ®«Ґ гЁўҐаб «м®
б гзҐв®¬ вЁЇ ®иЁЎЄЁ Ё Є®вҐЄбв : Ё§ Є Є®Ј® Ў«®Є Ё ¤ ¦Ґ Ё§ Є Є®©
бва®ЄЁ Ў«®Є Їа®Ё§®иҐ« ўл§®ў. ќв Ёд®а¬ жЁп ЇаҐ¤кпў«пҐвбп дгЄжЁп¬Ё
Error(), Program() Ё Lineno() ᮮ⢥вб⢥®, Є®в®алҐ Ё ЁбЇ®«м§говбп
Є Є д ЄвЁзҐбЄЁҐ Ї а ¬Ґвал ў ®Ўа 饨Ё Є Ї®¤Їа®Ја ¬¬Ґ ®Ўа Ў®вЄЁ
®иЁЎ®Є. Ѓлў ов б«гз Ё, Є®Ј¤ ў®§ўа в Ё§ Ї®¤Їа®Ја ¬¬л ¤®«¦Ґ
Їа®Ёб室Ёвм Є®¬ ¤г, ўл§ў ўиго ®иЁЎЄг, Ґ б«Ґ¤гойго, Є Є
®Ўлз®. ‘ нв®© 楫мо Ї®¤Їа®Ја ¬¬г § Є зЁў ов бЇҐжЁ «мл¬ ®ЇҐа в®а®¬
RETRY (б¬. ЇаЁ¬Ґа 22.6).
ЏаЁ¬Ґа 22.6. ЋЎа Ў влў Ґвбп ®иЁЎЄ ®вЄалвЁп Ѓ„ (ў 2 ¬Ґбв е).
ON ERROR DO Executor WITH LineNo(),Program()
ACCEPT "‚‚…„€’… €Њџ ЊЂ’…ђ€Ќ‘ЉЋ‰ Ѓ„: " TO Imya
USE (Imya)
ACCEPT "‚‚…„€’… €Њџ „Ћ—…ђЌ…‰ Ѓ„: " TO Imya
USE (Imya) IN B
ON ERROR
LIST //€¬Ёв жЁп ®Ўа Ў®вЄЁ Ѓ„
PROCEDURE Executor
PARAM Lin, Prog
? Lin
? Iif(Lin = 5,"Љ Є Ґ бв뤮 ®иЁЎ вмбп ҐйҐ Ё §¤Ґбм!","")
- 8 -
?"Ѓ“„њ’… ‚Ќ€ЊЂ’…‹њЌ›! ЏђЋ‚…ђњ’… €Њџ Ѓ„! ЊЋ†…’ Ѓ›’њ, Ќ“†…Ќ Џ“’њ?"
ACCEPT "‚‚…„€’… €Њџ "+ Iif(Lin=3,"ЊЂ’…ђ€Ќ‘ЉЋ‰","„Ћ—…ђЌ…‰")+" Ѓ„: " TO Imya
RETRY
‚®§¬®¦®, ©¤гвбп Їа®Ја ¬¬Ёбвл, гзЁвлў ойЁҐ ў Ї®¤Їа®Ја ¬¬Ґ
®Ўа Ў®вЄЁ ®иЁЎ®Є Ё "ЇаҐ¤Ёбв®аЁо" Є®¬ ¤л б ®иЁЎЄ®©, Ё¬Ґ®,
Є Є п жҐЇм ўл§®ў®ў Ў«®Є®ў ЇаҐ¤иҐбвў®ў « ®иЁЎЄҐ. ‚®§¬®¦®бвм нв®Ј®
®ЎҐбЇҐзЁў Ґв дгЄжЁп Program б аЈг¬Ґв®¬ - ®¬Ґа®¬ Ў«®Є ў 楯Ё.
ЏаЁ¬Ґа 22.7. ЏаЁ¬Ґа Ґ бўп§ б ®Ўа Ў®вЄ®© ®иЁЎ®Є.
* ќв® Ј« ўл© Ў«®Є - "¤Ґ¤гиЄ "; ҐЈ® Ё¬ҐҐ¬ пў«пҐвбп Ё¬п д ©«
DO Otec
PROCEDURE Otec && Ѓ«®Є ўв®а®Ј® "Ї®Є®«ҐЁп"- Ў«®Є-"®вҐж"
DO Sinok
PROCEDURE Sinok && Ѓ«®Є ваҐв쥣® "Ї®Є®«ҐЁп"- Ў«®Є-"бл"
?'Њ®© "¤Ґ¤" '+Program(1),'ўл§ў « Ї Їг',Program(2)
?'Њ®© "Ї Ї " '+Program(2),'ўл§ў « ¬Ґп - бв а襣® бл '
?'Ђ нв® п',Program(3),'а §Ј®ў аЁў о б ‚ ¬Ё ў',Str(LineNo(1),2),'бва®ЄҐ'
?'…Ґ Ўб®«овл© ®¬Ґа -',Str(LineNo(),2)
ЂаЈг¬Ґв дгЄжЁЁ LineNo() Ё¬ҐҐв ¤агЈ®© б¬лб«: Ґб«Ё ® Ё¬ҐҐвбп
(®Ўлз® - 1), ®¬Ґа бва®ЄЁ Ўг¤Ґв ®в®бЁвҐ«мл¬ - ў ЇаҐ¤Ґ« е ⥫
Ў«®Є . …б«Ё аЈг¬Ґв Ґв, ў®§ўа й Ґ¬л© ®¬Ґа бва®ЄЁ Ўг¤Ґв "бЄў®§л¬"
- ®вбзЁвлў Ґвбп ®в з « д ©« .
Соседние файлы в папке материалы по FoxPro