Ръководство за FoxPro 2

Можем да кажем, чеBROWSE е най-мощната и гъвкава команда на FoxPro. Можете да изградите големи части от вашето приложение, като използвате само функции, извикани от командни изрази.

Синтаксисът на командата е малко смущаващ и предлагам да разделим дискусията на няколко части и да ги разделим една по една.

Преместване в прозореца BROWSE

Стрелките на курсора преместват курсора в прозореца с един запис, клавишитеPgUp, PgDn - преместват курсора в група от записи. Придвижването между полетата става с клавиша tabTab илиShift-Tab.

Излезте от BROWSE

За да излезете със запазване на промените, натиснетеCtrl-W, Ctrl-End или преместете курсора на мишката върху контролата в горния ляв ъгъл на прозореца и натиснете левия бутон. Ако натиснетеCtrl-Q илиEscape, ще загубите промените, направени в текущото поле. Можете програмно да излезете от режима със запазване на данни, като използвате командата:

НА ЕТИКЕТА НА КЛАВИША F10 КЛАВИАТУРА[]

в инсталационната част на програмата и добавяне на съобщението "F10 за излизане" в текста в горната или долната част на рамката на прозореца.

За да редактирате мемо поле, преместете курсора върху него и натиснетеCtrl-PgDn или щракнете двукратно с левия бутон на мишката, когато курсорът е върху желаното поле. За да излезете от прозореца за редактиране и да запазите промените, натиснетеCtrl-W или преместете курсора на мишката върху контролата в горния ляв ъгъл на прозореца и натиснете левия бутон, натискането наEsc ще излезе с направените промени. Отново можете да използвате присвояването на ключ:

ИЗПОЛЗВАЙТЕ КЛИЕНТ НА КЛАВИШЕН ЕТИКЕТ F4 КЛАВИАТУРА [] ПРЕГЛЕД НА ПОЛЕТА >ФУНКЦИЯ Преглед на съобщение ИЗЧАКАЙТЕ ПРОЗОРЕЦ [F4 за редактиране] СЕГА

Предложения за екипи

ЕкипПреглед поддържа голям набор от изречения. Предлагам ви списък с тях с кратко описание на всеки.ПОЛЕТА - Тази клауза може да се използва за ограничаване на изходните полета само до тези всписъка с полета. Списъкът може да включва произволна комбинация от полета на база данни и/или изчислени полета. Форматът на списъка е както следва:

Всяко поле може да бъде свързано с набор от персонализирани предложения, които осигуряват гъвкавост на екипа в конкретна ситуация. Ето какво означава всяко от изреченията:

:R означава, че полето е само за четене.

:nn дефинира ширината на изобразената колона и не е задължителна.

:V= предшества условие за проверка на входа (VALID ), което може да бъде представено от дефинирана от потребителя функция.

:F след клаузатаVALID налага проверка на входа, дори ако стойността в полето не се е променила.

:E= дефинира реакцията на системата към невалиден вход (ако анализът на входа в клаузатаVALID дава стойност.F. ).

:P= е изречениеСНИМКА.

:B= указва диапазона от валидни стойности, в които трябва да попада стойността на полето.

:N= дефинира надпис за полето, когато се показва, удобно за изчислени полета.

:W= дефинира условие за проверка при въвеждане на поле или извършва някакво специално действие. Използвам широко това изречение, за да придам на режим определени свойства.

Изчислени полета

В допълнение към полетата от всеки отворен в момента файл с данни, можете да създавате нови, например: =

Изчисляваните полета получават атрибут само за четене и често се използват за различни видове показване.изчислени стойности. Те могат също да се използват за извеждане на флагове, показващи дали има или не дъщерни записи в друг файл (вижте листинг 3-1).

FOR КлаузатаFOR, във връзка с условие за филтър, може да се използва за ограничаване на показаните записи само до тези, които отговарят на условието за филтър. Ако създадете оптимизируем филтърен израз, ще бъдете изумени колко бързо се обработва.

FORMAT ви позволява да използвате файл с изходен формат. За да свържете конкретен изходен формат, първо трябва да направите две неща:

1) Създайте текстов файл с разширение .FMT, съдържащ@ изрази. GET с всички необходими клаузиVALID, WHEN, RANGE иPICTURE. Координати на@. GET трябва да е същото (напр.@0,0 GET. )

2) Изпълнете командатаSET FORMAT TO, преди да изпълните командатаBROWSE FORMAT.

Изчислени полета в BROWSE

От файла за форматиране системата извлича следната информация, която след това се свързва с прозорецаПРЕГЛЕД:

  • Списък с изходни полета
  • Налични офертиВАЛИДНИ
  • Офертите са наличниКОГА
  • Налични офертиГАМА
  • Ширините на колоните се определят от клаузатаPICTURE
  • Всички изразиSAY са включени като изчисляеми полета

FREEZE Ако посочите име на поле в клаузатаFREEZE, ще можете да редактирате само това поле. Ако списъкът не е зададен, тогава се показват всички полета. Това е особено полезно за организиране на въвеждане на данни в новосъздадено файлово поле.

KEY ex1 [, ex2] Изразът заKEY ограничава обхвата на изходните записи. Първият запис, показан в прозореца, е тозистойността на чийто ключов израз съответства на израз1. Expression2 дефинира долната граница на стойността на ключовия израз за показания диапазон от записи.

LAST Въвеждането на командата клаузаLAST води до показване на прозореца с всички атрибути, които са били съхранени в ресурсния файл Foxuser.dbf след показването на последния прозорец със същото име. КонфигурациятаBROWSE се съхранява само ако е налице настройкатаSETRESOURCEON. Деактивирането на режима за запазване на конфигурацията ще ускори значителноПРЕЗЕРВАНЕТО.

LOCKLOCK определя броя на полетата, показани в левия панел на прозорецаBROWSE.

LPARTITION поставя курсора в първото поле на левия панел или в десния панел, ако командата не съдържа клаузаPARTITION.

NOAPPEND предотвратява добавянето на нови записи към файла, докато потребителят е в прозорецBROWSE.

NOCLEAR при наличие на тази клауза, прозорецътBROWSE остава на екрана или в собствен прозорец след излизане от режима.

NODELETE Обикновено можете да маркирате запис като изтрит, като натиснетеCtrl-T, изберете опциятаToggle Delete от падащото менюBrowse или като натиснете левия бутон на мишката, когато курсорът е в най-лявата колона на прозореца. Ако включите клаузатаNODELETE в командата, тогава записите не могат да бъдат маркирани за изтриване.

NOEDIT NOMODIFY деактивира промените във файла с данни.

NOLGRID NOGRID ви позволява да получите прозорец без вертикални линии, разделящи полетата за запис.

NOLINK деактивира синхронизирането на панела.

NOMENU блокира достъпа до менюBROWSE и неговите опции.

NOOPTIMIZE деактивира използването на Rushmore. Използваи гоклауза, ако процедурата, свързана с клаузатаVALID, може да промени стойността на поле, включено в израза на индекса.

NOREFRESH Когато работите в мрежата, съдържанието на прозорецаBROWSE се обновява на всеки n секунди (честотата на опресняване се определя от настройкатаSET REFRESH ). Активирането на клаузатаNOREFRESH блокира актуализацията. Когато работите с файлове само за четене, използването наNOREFRESH може да подобри производителността. (Забележка: Винаги задавамSET REFRESH TO 0, в който случай предложението няма ефект).

NORMAL ОбикновеноBROWSE взема атрибутите (цвят, размер и позиция, атрибути на заглавие, свойства на прозореца:ZOOM,GROW,FLOAT. ) на дефинирания от потребителя прозорец, който в момента е активен и е в горната част на стека. Ако включите клаузатаNORMAL в командата, прозорецътBROWSE се отваря, сякаш е единственият активен прозорец. Това предложение работи само ако имате активен потребителски прозорец

NOWAIT наличието на тази клауза позволява на програмата да продължи веднага след показване на прозорецаBROWSE. Клаузата се използва, ако искате да покажете данни в прозорецаBROWSE, но няма да видите файла, докато потребителят не превключи към този прозорец.

PARTITION expN2 Тази клауза се използва за разделяне на прозорец на два панела. Стойността expN2 определя позицията на разделителя на панела.

PREFERENCE expC1 Можете да запазите текущите атрибути на прозорецаBROWSE във файла Foxuser.Dbf под конкретно име и да ги използвате по-късно.

TIMEOUT expN3Стойността на клаузатаTIMEOUT определя колко времеBROWSE ще чака за въвеждане преди автоматично затваряне. Периодът е посочен в секунди. Тази клауза е подобна на клаузатаTIMEOUT на командатаREAD и се използва в мрежови приложения за предотвратяване на блокиране на файлове.

ЗАГЛАВЛЕНИЕ expC2 Потребителят може да зададе собствено заглавие на прозореца, намиращо се в горната рамка.

VALID expL2 [ГРЕШКА expC3] Кодът, свързан с клаузатаVALID се обработва при превключване към друг запис в прозореца. Активирането на тази клауза ви позволява да зададете проверка на ниво запис. Логиката, свързана с офертата, се изпълнява само ако потребителят е направил промени в съдържанието на записа. АкоVALID върне булево.T., можете да преминете към друг запис. Можете да принудите проверка, като поставите:F или/F след думатаVALID. В този случай проверката ще се извърши дори ако съдържанието на записа не е променено. АкоVALID върне.F., не можете да оставите записа и системата издава съобщение за грешка. Ако се върне0, тогава курсорът остава върху текущия запис, но не се показва съобщение за грешка.

КОГА expL3 Тази клауза се използва за проверка дали има наличен запис. АкоWHEN върне.F. или0, записът, към който прескачате, става нередактируем. Тъй катоWHEN се изпълнява, когато се въведе нов запис, той може да се използва и за инициализиране на други стойности.

WIDTH expN4 Числото в клаузатаWIDTH определя ширината на всички изходни полета. Ако е посочена ширина за отделно поле в рамките на клаузаFIELDS, тогава тази стойност има предимство. За изходповече полета на екран, можете да използвате команда като:ШИРИНА НА ПРЕГЛЕД 15.

WINDOWIN WINDOW КлаузатаWINDOW отваряBROWSE в предварително дефиниран прозорец с командатаDEFINE WINDOW. КлаузатаWINDOW активира този прозорец и поставя прозорецBROWSE в него, който го запълва изцяло и приема неговите атрибути. Ако се използва клаузатаIN WINDOW, тогава прозорецътBROWSE се отваря вътре в посочения прозорец, но независимо от него.BROWSE не приема атрибути на родителски прозорец. Прозорецът, указан в клаузатаIN WINDOW, трябва да бъде предварително дефиниран с командатаDEFINE WINDOW. Използвам това предложение, за да създам персонализирани рамки за мояПРЕГЛЕД.