Mini Kabibi Habibi

Current Path : C:/Users/ITO/Desktop/VF9/program files/microsoft visual foxpro 9/ffc/
Upload File :
Current File : C:/Users/ITO/Desktop/VF9/program files/microsoft visual foxpro 9/ffc/_table2.vct

~�VERSION =   3.00	_table2.h��&�#_navmenu	_table2.hPixelsClass3
_container_navmenu_navmenuoNavcustomoMenu!Arial, 0, 9, 5, 15, 12, 21, 3, 0

_locatebuttonPixelsClass1
_dialogbutton
_locatebutton
commandbutton_table2.vcx!Arial, 0, 9, 5, 15, 12, 21, 3, 0
_gotobuttonPixelsClass1)MS Sans Serif, 0, 8, 5, 13, 11, 11, 2, 0
_gotoPixelsClass3
_container_goto�� ��zc%+sW�U�
H�
��� �C������CC�	��1�B��C�������X�T���CO���C����W���x�B�2���T���C����O���UTHISPARENTCUSTABLENAVCALIASVALUE��C�����UTHISPARENTGORECORDRefresh,��InteractiveChange���1�A���A��A21&Nd
)�_gotospnGoTospinner	_base.vcx_spinner+Top = 24
Left = 48
Name = "cusTableNav"
!Arial, 0, 9, 5, 15, 12, 21, 3, 0
_sortselectPixelsClass)MS Sans Serif, 1, 9, 6, 13, 11, 12, 2, 0
_nav2picbuttonsPixelsClass1_nav2buttons_nav2picbuttons	container
_table.vcx4
_container_sortselect_gotocusTableNavcustom_sortselect	_base.vcx
_table.vcx	_tablenavT*gorecord Goes to specified record in spinner.
*initdata Initializes data source.
9�� ����%Zoi�U��Ca�����UTHISPARENTDOSORTClick,��11()�3PROCEDURE Click
THIS.Parent.DoSort(.T.)
ENDPROC
cmdSortDown_sortselect�FontName = "MS Sans Serif"
FontSize = 8
Height = 22
Increment =   1.00
InputMask = "9999999999"
Left = 0
Top = 0
Width = 84
Format = ""
Name = "spnGoTo"
	container	_base.vcx8Pixels:Width = 84
Height = 22
BorderWidth = 0
Name = "_goto"
_tbrnavigationPixels
_dialogbutton_gotobutton
commandbutton_table2.vcx1�PROCEDURE Init
LOCAL llReturn
llReturn = DODEFAULT()
IF llReturn
   THIS.cAlias = THIS.GetCurrentAlias()
ENDIF
RETURN llReturn
ENDPROC
kArial, 1, 9, 6, 15, 12, 32, 3, 0
MS Sans Serif, 0, 8, 5, 13, 11, 11, 2, 0
Arial, 0, 9, 5, 15, 12, 32, 3, 0
Width = 71
Height = 36
Name = "_nav2picbuttons"
cmgNav.Command1.AutoSize = .F.
cmgNav.Command1.Top = 5
cmgNav.Command1.Left = 5
cmgNav.Command1.Height = 24
cmgNav.Command1.Width = 24
cmgNav.Command1.Picture = graphics\previous.bmp
cmgNav.Command1.Caption = ""
cmgNav.Command1.ToolTipText = "Previous Record"
cmgNav.Command1.Name = "Command1"
cmgNav.Command2.AutoSize = .F.
cmgNav.Command2.Top = 5
cmgNav.Command2.Left = 29
cmgNav.Command2.Height = 24
cmgNav.Command2.Width = 24
cmgNav.Command2.Picture = graphics\next.bmp
cmgNav.Command2.Caption = ""
cmgNav.Command2.ToolTipText = "Next Record"
cmgNav.Command2.Name = "Command2"
cmgNav.Height = 34
cmgNav.Left = 8
cmgNav.Top = 0
cmgNav.Width = 57
cmgNav.Name = "cmgNav"
cusTableNav.Name = "cusTableNav"

commandbutton	cmdSortUpoPROCEDURE Refresh
DO CASE
CASE EMPTY(THIS.Parent.cusTableNav.cAlias) AND EMPTY(ALIAS())
	RETURN
CASE EMPTY(THIS.Parent.cusTableNav.cAlias)
	THIS.Value = RECNO()
CASE SELECT(THIS.Parent.cusTableNav.cAlias)=0
	RETURN
OTHERWISE
	THIS.Value = RECNO(THIS.Parent.cusTableNav.cAlias)
ENDCASE
ENDPROC
PROCEDURE InteractiveChange
THIS.Parent.GoRecord()
ENDPROC
�� �%����UE���
T��C��
%����5�T���C�����	B����ULLRETURNTHISCALIASGETCURRENTALIASInit,��1q��AA�1�)��� ����%uO�U,��C����������C�����UTHISCUSTABLENAV
GOTORECORDSPNGOTOVALUEREFRESHLASTWINDOWAFTERCHANGE����8%�C�����
C����
�C���N�
��J�T��-�������������J���(���J�C���N�(���T�	�C���O��T�	�C�	�F�����	B����U
LLRETURNTHISCUSTABLENAVCALIASSPNGOTOSPINNERLOWVALUEKEYBOARDLOWVALUESPINNERHIGHVALUEKEYBOARDHIGHVALUEVALUE
��C����UTHISINITDATAgorecord,��initdata���Init���1�3q���1�aQAA�3�1�	+)�Class_toolbar_tbrnavigation�Top = 3
Left = 263
Height = 22
Width = 23
Picture = graphics\find.bmp
Caption = ""
ToolTipText = "Locate..."
Name = "cmdLocate"
_tbrnavigation	cmdLocate
commandbutton_table2.vcx
_locatebutton�Top = 3
Left = 241
Height = 22
Width = 23
Picture = graphics\filter.bmp
Caption = ""
ToolTipText = "Set Filter..."
Name = "cmdFilter"
_tbrnavigation	cmdFilter
commandbutton_table2.vcx
_filterbutton�Top = 3
Left = 196
Width = 46
Height = 22
Name = "_sortselect"
cusTableSort.Name = "cusTableSort"
cmdSortUp.Name = "cmdSortUp"
cmdSortDown.Name = "cmdSortDown"
_tbrnavigation_sortselect_sortdialog_commandbutton0PROCEDURE Click
THIS.Parent.DoSort()
ENDPROC

commandbutton	_base.vcx_commandbutton_sortselectcustom	container_table2.vcx_sortselect_tbrnavigation
Separator1	separator	_table2.h�2�#cusTableSortPixels
_table.vcxOTop = 3
Left = 196
Height = 55249180
Width = 55249180
Name = "Separator1"
	separatoraTop = 3
Left = 105
Name = "_goto"
cusTableNav.Name = "cusTableNav"
spnGoTo.Name = "spnGoTo"
_tbrnavigation_goto	container_table2.vcx_gotoOTop = 3
Left = 105
Height = 30742164
Width = 30742164
Name = "Separator2"
_tbrnavigation
Separator2	separator	separator_tbrnavigation_nav4picbuttons	container_table2.vcxClassJArial, 0, 9, 5, 15, 12, 21, 3, 0
MS Sans Serif, 0, 8, 5, 13, 11, 11, 2, 0
	_table2.hClassform_sortdialog_sortdialogClass�� ]i%����UJ���%�C���C����C��)�B��
��C���
��C����UTCACTIONTHISFORMREFRESHtablenav,��1q�AA��1�),Top = 72
Left = 48
Name = "cusTableSort"
cusTableSortcustom
_table.vcx
_tablesort�AutoSize = .T.
FontName = "MS Sans Serif"
FontSize = 8
Caption = "Select field:"
Left = 16
Top = 12
TabIndex = 6
Name = "_label2"
_sortdialog_label2label	_base.vcx_label�AutoSize = .T.
FontName = "MS Sans Serif"
FontSize = 8
Caption = "Sort direction:"
Left = 236
Top = 12
TabIndex = 5
Name = "_label1"
_sortdialog_label1label	_base.vcx_label_sortdialog	cmdCancel<Top = 6
Left = 48
Height = 16
Width = 24
Name = "oNav"

_table.vcx	_tablenav=Top = 5
Left = 12
Height = 15
Width = 18
Name = "oMenu"
_navmenucustom	_menu.vcx
_shortcutmenu�cclass Class for specific dialog.
cclasslib Class library for specific dialog.
*domenu Runs menu routine.
*setmenu Sets up menu.
*dodialog Brings up a specific dialog.
*dosort Brings up sort dialog.
*dogoto Brings up Goto dialog.
*dofilter Brings up filter dialog.
*dofilter2 Brings up advanced filter dialog.
*addrecord Adds a new record.
*deleterecord Deletes current record.
*refreshform Refreshes the active form when data updated.
�Width = 74
Height = 27
BackStyle = 0
BorderWidth = 0
Visible = .F.
BackColor = 0,0,255
cclass = 
cclasslib = 
Name = "_navmenu"
	container	_base.vcx)MS Sans Serif, 1, 9, 6, 13, 11, 12, 2, 0
_nav4picbuttonsPixelsClass1_nav4buttons_nav4picbuttons	container
_table.vcx�Caption = "\<Locate..."
cclasslib = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_table.vcx")
cclass = _finddialog
Name = "_locatebutton"
!Arial, 0, 9, 5, 15, 12, 21, 3, 0
1+Top = 0
Left = 12
Name = "cusTableSort"

commandbutton�AutoSize = .F.
Top = 0
Left = 23
Height = 22
Width = 23
Picture = graphics\sortdown.bmp
Caption = ""
ToolTipText = "Sort Descending"
ZOrderSet = 2
Name = "cmdSortDown"
�� ���e%Ynh�U��C�����UTHISPARENTDOSORTClick,��11%)�form	_base.vcx_commandbuttonshape�AutoSize = .F.
Top = 0
Left = 0
Height = 22
Width = 23
Picture = graphics\sortup.bmp
Caption = ""
ToolTipText = "Sort Ascending"
ZOrderSet = 1
Name = "cmdSortUp"

_tablesort*dosort Runs sort routine.
~PROCEDURE dosort
LPARAMETER lDescending
THIS.cusTableSort.lDescending = m.lDescending
THIS.cusTableSort.DoSort()
ENDPROC
/Width = 47
Height = 22
Name = "_sortselect"
	container�� ����%Pe_�U

����UTHISFORMRELEASEClick,��1�2#)�.PROCEDURE Click
THISFORM.Release

ENDPROC
�Top = 78
Left = 244
Height = 23
Width = 72
FontName = "MS Sans Serif"
FontSize = 8
Cancel = .T.
Caption = "Cancel"
TabIndex = 4
Name = "cmdCancel"
?PROCEDURE Click
THISFORM.DoSort
THISFORM.Release

ENDPROC
_sortdialogcmdSort
commandbutton	_base.vcx_commandbutton	_table2.hf��$_navtoolbarclass�� ����%byq�U
����
����UTHISFORMDOSORTRELEASEClick,��1��24)�_sortdialog_cboTags	_table2.hPixels2�Top = 78
Left = 169
Height = 23
Width = 72
FontName = "MS Sans Serif"
FontSize = 8
Caption = "\<Sort"
Default = .T.
TabIndex = 3
Name = "cmdSort"
�FontName = "MS Sans Serif"
FontSize = 8
Height = 24
Left = 20
Style = 2
TabIndex = 1
Top = 32
Width = 192
Name = "_cboTags"
combobox	_base.vcx	_comboboxYPROCEDURE Init
IF ATC(" DESCENDING",SET("ORDER"))#0
	THIS.Value = 2
ENDIF

ENDPROC
_sortdialogClass
_container_navtoolbarclass_navtoolbarclasstimerPixelsopgDirectionoptiongroup	_base.vcx_optiongroupTTop = 19
Left = 10
Height = 50
Width = 212
SpecialEffect = 0
Name = "_shape1"
_sortdialogtoolbarFTop = 0
Left = 0
Height = 23
Width = 23
Name = "tmrCheckToolbar"
tmrCheckToolbar	_base.vcx_timer;otoolbar
cclasslib
cclass
nlasttop
nlastleft
ldocked
	_base.vcxClass�� ���3%L�u�U1����T��C��V��%�����p�=R,��3No indexes are available on this table for sorting.��B�-�����C�Record#���������(��
�������CC�
��������%T���CCC���
�Record#�C�6��%����Record#��*�T������-��T����	��-���U

NTOTALTAGSITHISADDITEMVALUEPARENTOPGDIRECTIONOPTION1ENABLEDOPTION2S(T���������Record#��(T���������Record#��UTHISPARENTOPGDIRECTIONOPTION1ENABLEDVALUEOPTION2Init,��InteractiveChange���1��qAr�AAR�qqA3��2��I)���� ���)%|���U?(%�C� DESCENDINGC�ORDERv����8�T�������UTHISVALUEInit,��1�A2N)�_shape1	_base.vcx_shape�Width = 21
Height = 24
BackStyle = 0
BorderWidth = 0
otoolbar = 
cclasslib = 
cclass = _tbrnavigation
Name = "_navtoolbarclass"
	container	_base.vcx1_nav4picbuttonsPixels�Caption = "\<Go To..."
cclass = _gotodialog
cclasslib = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_table.vcx")
Name = "_gotobutton"

_filterbutton
_dialogbutton
_filterbutton'lexprdialog
cexprclass
cfilterclass

commandbutton	_table2.h>��$	_table2.h*ldisabledformodal
calias Current alias.
	_base.vcx
_dialogbutton*dosort Runs sort routine.
	_base.vcxqPROCEDURE dodialog
THIS.cClass = IIF(THIS.lExprDialog,THIS.cExprClass,THIS.cFilterClass)
DODEFAULT()
ENDPROC

commandbutton
_dialogbutton_commandbutton_table2.vcx
commandbuttonCCaption = "\<Sort..."
cclass = _sortdialog
Name = "_sortbutton"
_sortbutton
_dialogbutton_sortbutton!Arial, 0, 9, 5, 15, 12, 21, 3, 0
_table2.vcxQPROCEDURE Timer
* Check if toolbar still exists...
LOCAL oForm,i
FOR i = 1 TO _VFP.FORMS.COUNT
	oForm = _VFP.FORMS[m.i]
	IF TYPE("oForm ")#"U" AND;
	  UPPER(oForm.NAME)==UPPER(THIS.Parent.cClass);
	  AND oForm.Visible
	  	WITH THIS.Parent
			.nLastTop = oForm.Top 
			.nLastLeft = oForm.Left
			.lDocked = oForm.Docked
		ENDWITH
		RETURN
	ENDIF
ENDFOR

THIS.Interval = 0
THIS.Parent.oToolbar.Top = THIS.Parent.nLastTop 
THIS.Parent.oToolbar.Left = THIS.Parent.nLastLeft 
IF THIS.Parent.lDocked
	THIS.Parent.oToolbar.Dock(0)
ENDIF
THIS.Parent.oToolbar.Show()

ENDPROC
!Arial, 0, 9, 5, 15, 12, 21, 3, 0
�� ��P;%����U/���T�����
�����C�����ULDESCENDINGTHISCUSTABLESORTDOSORTdosort,��1qQ1s)��PROCEDURE tablenav
LPARAMETERS tcAction
IF EMPTY(tcAction) OR VARTYPE(tcAction)#"C"
  RETURN
ENDIF  
DODEFAULT(tcAction)
THISFORM.REFRESH()
ENDPROC
\�� CC9O%����U����%���
����T��C�DataSessionv��+%�C�_screen.activeform.nameb�C��m�G�(��9�����T���C��3J����(����������	�
�� ��C�EnabledC���
������C�����	��C��G�(�����U

LCDATASESSIONTHISLDISABLEDFORMODAL
ACTIVEFORM
DATASESSIONIDCALIAS_GOTOCUSTABLENAV_NAV4PICBUTTONS_SORTSELECTCUSTABLESORTSETALLINITDATARefresh,��1q��A�4��A2)C��� ����%N$�UW���������(��C������T��C�
��C���<%�C�oForm b�U�C��fC���f	���	������������T�	���
��T������T�
�������B����T������T����
����	��T����������%����
��=���C����������C������UOFORMIFORMSCOUNTNAMETHISPARENTCCLASSVISIBLENLASTTOPTOP	NLASTLEFTLEFTLDOCKEDDOCKEDINTERVALOTOOLBARDOCKSHOWTimer,��1��a�AAAA��1aA12F)��� ���%�R&�U�������T��-�������(��C����q�$%�CC�
��C��fC��f��m�T��a��!����%�C��	�
����T��C��	������T��C��
����%�C�0
���� R,��VCX library not found!��B�-���T������%�C����3�R,��Class not found!��B�-���T���C�����%��
�
��m���C��������T���
�-��T���������ULCFILELCCLASSLHASTOOLBARIFORMSCOUNTNAMETHISCCLASS	CCLASSLIBCLASSLIBRARYOTOOLBARSHOWVISIBLETMRCHECKTOOLBARINTERVALc%�C�����O��\�T����C��]����C��������?7��
�����T�����UTHISOTOOLBARNAMERELEASEInit,��Destroya��11��A�AAA2!�!AqA��qAa�AA3�a1��A2��[%)�8PROCEDURE dosort
IF ALLTRIM(THIS._cboTags.Value) = C_NONE_LOC
	SET ORDER TO
ELSE
	THIS.cusTableSort.DoSort(,,ALLTRIM(THIS._cboTags.Value),THIS.opgDirection.Value#1)
ENDIF

ENDPROC
PROCEDURE Init
IF EMPTY(ALIAS())
	RETURN .F.
ENDIF
IF TYPE("THIS._cboTags.Baseclass")#"C"
	RETURN .F.
ENDIF
ENDPROC
�� ��%����U3'T���C���	�����6��	��C��UTHISCCLASSLEXPRDIALOG
CEXPRCLASSCFILTERCLASSdodialog,��1q�1f)�rCaption = "\<Run..."
cclass = 
cclasslib = 
lmodal = .T.
odialog = .NULL.
cparms = 
Name = "_dialogbutton"
Width = 118
Height = 38
Name = "_nav4picbuttons"
cmgNav.Command1.AutoSize = .F.
cmgNav.Command1.Top = 5
cmgNav.Command1.Left = 29
cmgNav.Command1.Height = 24
cmgNav.Command1.Width = 24
cmgNav.Command1.Picture = graphics\previous.bmp
cmgNav.Command1.Caption = ""
cmgNav.Command1.ToolTipText = "Previous Record"
cmgNav.Command1.Name = "Command1"
cmgNav.Command2.AutoSize = .F.
cmgNav.Command2.Top = 5
cmgNav.Command2.Left = 53
cmgNav.Command2.Height = 24
cmgNav.Command2.Width = 24
cmgNav.Command2.Picture = graphics\next.bmp
cmgNav.Command2.Caption = ""
cmgNav.Command2.ToolTipText = "Next Record"
cmgNav.Command2.Name = "Command2"
cmgNav.Height = 33
cmgNav.Left = 8
cmgNav.Top = 0
cmgNav.Width = 106
cmgNav.TabIndex = 2
cmgNav.Name = "cmgNav"
cusTableNav.Name = "cusTableNav"
cmdTop.AutoSize = .F.
cmdTop.Top = 5
cmdTop.Left = 13
cmdTop.Height = 24
cmdTop.Width = 24
cmdTop.Picture = graphics\top.bmp
cmdTop.Caption = ""
cmdTop.TabIndex = 1
cmdTop.ToolTipText = "First Record"
cmdTop.Name = "cmdTop"
cmdBottom.AutoSize = .F.
cmdBottom.Top = 5
cmdBottom.Left = 85
cmdBottom.Height = 24
cmdBottom.Width = 24
cmdBottom.Picture = graphics\bottom.bmp
cmdBottom.Caption = ""
cmdBottom.TabIndex = 3
cmdBottom.ToolTipText = "Last Record"
cmdBottom.Name = "cmdBottom"
TPROCEDURE Init
LOCAL nTotalTags,i
nTotalTags = TAGCOUNT('')

IF nTotalTags = 0
	WAIT WINDOW ERR_NOTAGS_LOC
	RETURN .F.
ENDIF

THIS.AddItem(C_NONE_LOC)
FOR i = 1 TO m.nTotalTags
	THIS.AddItem(TAG(m.i))
ENDFOR

THIS.Value = IIF(EMPTY(TAG()),C_NONE_LOC,TAG())
IF THIS.Value = C_NONE_LOC
	THIS.Parent.opgDirection.Option1.Enabled = .F.
	THIS.Parent.opgDirection.Option2.Enabled = .F.
ENDIF

ENDPROC
PROCEDURE InteractiveChange
THIS.Parent.opgDirection.Option1.Enabled = (THIS.Value # C_NONE_LOC)
THIS.Parent.opgDirection.Option2.Enabled = (THIS.Value # C_NONE_LOC)

ENDPROC
iCaption = "Navigation"
Height = 28
Left = 0
Top = 0
Width = 291
calias = 
Name = "_tbrnavigation"
eHeight = 107
Width = 324
DoCreate = .T.
AutoCenter = .T.
Caption = "Sort"
Name = "_sortdialog"
�cclass Name of class to create.
cclasslib Name of classlibrary.
lmodal
odialog
cparms
*dodialog Creates dialog for data operation such as find, goto, sort, etc.
*setdialogpems 
�Caption = "\<Filter..."
cexprclass = _filterexpr
cfilterclass = _filterdialog
cclass = _filterdialog
cclasslib = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_table.vcx")
Name = "_filterbutton"
m�� TT�l%{���U������%�C���
��4�T��C������N�T��C������%�C�0
���� R,��VCX library not found!��B�-���T������%�C������R,��Class not found!��B�-���$%�C����C�����C	���T���C������2�T���C���������%�C�����O����T��C��	����6��
��C��
����C�������ULCFILELCCLASSLNMODALTHIS	CCLASSLIBCLASSLIBRARYCCLASSCPARMSODIALOGLMODAL
SETDIALOGPEMSSHOW
��C����UTHISDODIALOGT����UTHISODIALOGdodialog,��Click3��DestroyW��1�1!�!AqA��qAAa��A���AA3�2�1����� )T�Height = 51
Left = 232
Top = 19
Width = 84
TabIndex = 2
Name = "opgDirection"
Option1.Picture = graphics\sortup.bmp
Option1.Caption = ""
Option1.Height = 32
Option1.Left = 11
Option1.Style = 1
Option1.Top = 10
Option1.Width = 32
Option1.AutoSize = .F.
Option1.Name = "Option1"
Option2.Picture = graphics\sortdown.bmp
Option2.Caption = ""
Option2.Height = 32
Option2.Left = 43
Option2.Style = 1
Option2.Top = 10
Option2.Width = 32
Option2.AutoSize = .F.
Option2.Name = "Option2"
6PROCEDURE gorecord
THIS.cusTableNav.GoToRecord(THIS.spnGoTo.Value)
* we may not have moved but we may have reverted data
* so we have to refresh whether the pointer has moved or not

THIS.cusTableNav.RefreshLastWindowAfterChange()

ENDPROC
PROCEDURE initdata
LOCAL llReturn
IF EMPTY(THIS.cusTableNav.cAlias) OR ;
    NOT USED(THIS.cusTableNav.cAlias) OR ;
    RECCOUNT(THIS.cusTableNav.cAlias) < 2
     llReturn = .F.
ELSE
     WITH THIS.spnGoTo
     	STORE 1 TO .SpinnerLowValue, .KeyBoardLowValue
     	 STORE RECCOUNT(THIS.cusTableNav.cAlias) TO ;
                  .SpinnerHighValue, .KeyBoardHighValue
       .Value = RECNO(THIS.cusTableNav.cAlias)
       .Value = MIN(.Value,.SpinnerHighValue) && EOF()
      ENDWITH
ENDIF
RETURN llReturn

ENDPROC
PROCEDURE Init
THIS.InitData()
ENDPROC
�� ���[% Z>�U_ %�C�����Record#��&�G((��X�*��C��C��������������UTHIS_CBOTAGSVALUECUSTABLESORTDOSORTOPGDIRECTIONR%�CC����B�-���+%�C�THIS._cboTags.Baseclassb�C��K�B�-���Udosort,��Init���1a��A3�qA�qA1��-	)��Top = 3
Left = 5
Width = 93
Height = 22
Name = "_nav4picbuttons"
cmgNav.Command1.Top = 0
cmgNav.Command1.Left = 16
cmgNav.Command1.Height = 22
cmgNav.Command1.Width = 23
cmgNav.Command1.Name = "Command1"
cmgNav.Command2.Top = 0
cmgNav.Command2.Left = 39
cmgNav.Command2.Height = 22
cmgNav.Command2.Width = 23
cmgNav.Command2.Name = "Command2"
cmgNav.BorderStyle = 0
cmgNav.Name = "cmgNav"
cusTableNav.Top = 5
cusTableNav.Left = 68
cusTableNav.Height = 13
cusTableNav.Width = 17
cusTableNav.Name = "cusTableNav"
cmdTop.Top = 0
cmdTop.Left = 1
cmdTop.Height = 22
cmdTop.Width = 23
cmdTop.Name = "cmdTop"
cmdBottom.Top = 0
cmdBottom.Left = 70
cmdBottom.Height = 22
cmdBottom.Width = 23
cmdBottom.Name = "cmdBottom"
�PROCEDURE dodialog
LOCAL lcfile, lcclass, lnModal
IF !EMPTY(THIS.cClasslib)
	lcfile = FULLPATH(THIS.cClasslib)
ELSE
	lcfile = FULLPATH(THIS.ClassLibrary)
ENDIF
IF NOT FILE(lcfile)
   WAIT WINDOW ERR_NOVCXLIB_LOC
   RETURN .F.
ENDIF
lcclass = THIS.cClass
IF EMPTY(lcclass)
   WAIT WINDOW ERR_NOCLASS_LOC
   RETURN .F.
ENDIF
IF EMPTY(THIS.cParms) AND VARTYPE(THIS.cParms)="C"
	THIS.oDialog = NEWOBJECT(lcclass,lcfile)
ELSE
	THIS.oDialog = NEWOBJECT(lcclass,lcfile,"",THIS.cParms)
ENDIF
IF VARTYPE(THIS.oDialog)="O"
	lnModal = IIF(THIS.lModal,1,0)
	THIS.SetDialogPEMs()	&&abstract method
	THIS.oDialog.Show(lnModal)
ENDIF

ENDPROC
PROCEDURE Click
THIS.DoDialog()
ENDPROC
PROCEDURE Destroy
THIS.oDialog=null
ENDPROC
	�PROCEDURE domenu
IF EMPTY(ALIAS())
	RETURN
ENDIF

PRIVATE oTHIS
oTHIS = THIS
THIS.oMenu.showmenu()
THIS.RefreshForm()

ENDPROC
PROCEDURE setmenu
LOCAL oGoMenu
oGoMenu = THIS.oMenu.NewMenu()
WITH oGoMenu
	.AddMenuBar(MENU_TOP_LOC,"oTHIS.oNav.GoTop()")
	.AddMenuBar(MENU_BOTTOM_LOC,"oTHIS.oNav.GoBottom()")
	.AddMenuBar(MENU_NEXT_LOC,"oTHIS.oNav.GoNext()")
	.AddMenuBar(MENU_PREV_LOC,"oTHIS.oNav.GoPrevious()")
	.AddMenuBar(MENU_RECORD_LOC,"oTHIS.DoGoto")
ENDWITH

WITH THIS.oMenu
	.AddMenuBar(MENU_GOTO_LOC,oGoMenu)
	.AddMenuSeparator
	.AddMenuBar(MENU_ADD_LOC,"oTHIS.AddRecord")
	.AddMenuBar(MENU_DELETE_LOC,"oTHIS.DeleteRecord")
	.AddMenuSeparator
	.AddMenuBar(MENU_SORT_LOC,"oTHIS.DoSort")
	.AddMenuBar(MENU_FILTER_LOC,"oTHIS.DoFilter")
	.AddMenuBar(MENU_FILTER2_LOC,"oTHIS.DoFilter2")
ENDWITH
ENDPROC
PROCEDURE dodialog
LOCAL lcfile, loDialog, lcclass

IF !EMPTY(THIS.cClasslib)
	lcfile = FULLPATH(THIS.cClasslib)
ELSE
	lcfile = FULLPATH(THIS.ClassLibrary)
ENDIF
IF NOT FILE(lcfile)
   WAIT WINDOW ERR_NOVCXLIB_LOC
   RETURN .F.
ENDIF
lcclass = THIS.cClass
IF EMPTY(lcclass)
   WAIT WINDOW ERR_NOCLASS_LOC
   RETURN .F.
ENDIF
loDialog = NEWOBJECT(lcclass,lcfile)
loDialog.Show(1)

ENDPROC
PROCEDURE dosort
THIS.cClass = "_sortdialog"
THIS.cClassLib = THIS.ClassLibrary
THIS.DoDialog()

ENDPROC
PROCEDURE dogoto
THIS.cClass = "_gotodialog"
THIS.cClassLib =IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_table.vcx"
THIS.DoDialog()

ENDPROC
PROCEDURE dofilter
THIS.cClass = "_filterdialog"
THIS.cClassLib =IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_table.vcx"
THIS.DoDialog()

ENDPROC
PROCEDURE dofilter2
THIS.cClass = "_filterexpr"
THIS.cClassLib =IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_table.vcx"
THIS.DoDialog()

ENDPROC
PROCEDURE addrecord
APPEND BLANK
THIS.RefreshForm()

ENDPROC
PROCEDURE deleterecord
IF MESSAGEBOX(C_DELREC_LOC,MB_QUESTIONYESNO) = MB_ISYES
	DELETE
	SKIP
	IF EOF()
		GO BOTTOM
	ENDIF
	THIS.RefreshForm()
ENDIF

ENDPROC
PROCEDURE refreshform
IF VARTYPE(_SCREEN.ActiveForm)="O"
	_SCREEN.ActiveForm.Refresh
ENDIF

ENDPROC
PROCEDURE Error
LPARAMETERS nerror,cmethod,nline
DO CASE
CASE nError = 5  &&record out of range
	IF EOF()
		GO BOTTOM
	ELSE
		GO TOP
	ENDIF
CASE nError = 1884 AND 	CURSORGETPROP("buffering")=1
	* Uniqueness ID error
	MESSAGEBOX(ERR_UNIQUEKEY_LOC)
CASE nError = 1884	
	IF MESSAGEBOX(ERR_UNIQUEKEY_LOC+" "+ERR_UNIQUEKEY2_LOC,36)=6
		TABLEREVERT(.T.)
	ENDIF
ENDCASE
ENDPROC
PROCEDURE Init
THIS.SetMenu()

ENDPROC
��� {{k%��
a�	�UJ%�CC����B��5��
T�������C�����
��C����UOTHISTHISOMENUSHOWMENUREFRESHFORM<���T��C�����
������(��C�\<Top�oTHIS.oNav.GoTop()���.��C�\<Bottom�oTHIS.oNav.GoBottom()���*��C�\<Next�oTHIS.oNav.GoNext()���2��C�
\<Previous�oTHIS.oNav.GoPrevious()���*��C�
\<Record #...�oTHIS.DoGoto�����������5� ��C�\<Go To Record�������,��C�\<Add Record�oTHIS.AddRecord���2��C�\<Delete Record�oTHIS.DeleteRecord������)��C�Sort Data...�oTHIS.DoSort���/��C�\<Filter Data...�oTHIS.DoFilter���7��C�Ad\<vanced Filtering...�oTHIS.DoFilter2�����UOGOMENUTHISOMENUNEWMENU
ADDMENUBARADDMENUSEPARATOR������%�C���
��4�T��C������N�T��C������%�C�0
���� R,��VCX library not found!��B�-���T������%�C������R,��Class not found!��B�-���T��C�������C�����ULCFILELODIALOGLCCLASSTHIS	CCLASSLIBCLASSLIBRARYCCLASSSHOW>T����_sortdialog��T�������
��C����UTHISCCLASS	CCLASSLIBCLASSLIBRARYDODIALOGeT����_gotodialog��:T���CC�h����C�Q�FFC\6�
_table.vcx��
��C����UTHISCCLASS	CCLASSLIBDODIALOGgT����
_filterdialog��:T���CC�h����C�Q�FFC\6�
_table.vcx��
��C����UTHISCCLASS	CCLASSLIBDODIALOGeT����_filterexpr��:T���CC�h����C�Q�FFC\6�
_table.vcx��
��C����UTHISCCLASS	CCLASSLIBDODIALOG�
��C����UTHISREFRESHFORMj9%�C�"Do you wish to delete this record?�$�x���c��H�%�C+��R�#6��
��C�����UTHISREFRESHFORM*%�C�9����O��#���9����U
ACTIVEFORMREFRESH@�����
H��9������O�%�C+��>�#6��K�#)��)���\�C�	buffering�	����6��C�*A unique key error violation has occurred.�x�����\��9�k%�C�*A unique key error violation has occurred.� �!Would you like to revert changes?�$�x���5�
��Ca����UNERRORCMETHODNLINE
��C����UTHISSETMENUdomenu,��setmenu���dodialog"��dosorte��dogoto���dofilterd��	dofilter2���	addrecord~��deleterecord���refreshform+��Errorn��Init���1�AAr��3qA����!�A��!���qA2�2!�!AqA��qA13�1�3���3���3���3Q�3�AA�QA�A3q�A3���Q�QA�b!��AA2�2	�:Y�"/�B73_�=7�^C;~�I?
/OBR�TK�A_O]�	e_�	�	w){fPROCEDURE Init
LOCAL lcfile, lcclass, lhastoolbar,i
lhastoolbar = .F.

* Check if toolbar already exists...
FOR i = 1 TO _VFP.FORMS.COUNT
	IF UPPER(_VFP.FORMS[m.i].NAME)==UPPER(THIS.cClass)
		lhastoolbar = .T.
		EXIT
	ENDIF
ENDFOR

IF !EMPTY(THIS.cClasslib)
	lcfile = FULLPATH(THIS.cClasslib)
ELSE
	lcfile = FULLPATH(THIS.ClassLibrary)
ENDIF
IF NOT FILE(lcfile)
   WAIT WINDOW ERR_NOVCXLIB_LOC
   RETURN .F.
ENDIF
lcclass = THIS.cClass
IF EMPTY(lcclass)
   WAIT WINDOW ERR_NOCLASS_LOC
   RETURN .F.
ENDIF
THIS.oToolbar = NEWOBJECT(lcclass,lcfile)

IF !m.lhastoolbar
	THIS.oToolbar.Show()
ELSE
	THIS.oToolbar.Visible = .F.
	THIS.tmrCheckToolbar.Interval = 500
ENDIF

ENDPROC
PROCEDURE Destroy
IF VARTYPE(THIS.oToolbar)="O"
	THIS.oToolbar.Name = SYS(2015)
	INKEY(.1)
	THIS.oToolbar.Release
	THIS.oToolbar = null
ENDIF

ENDPROC
$PROCEDURE Refresh
LOCAL lcDataSession
IF NOT THIS.lDisabledForModal
  lcDataSession=SET("DataSession")
  IF TYPE("_screen.activeform.name")="C"
	  SET DataSession TO _screen.activeform.DataSessionID
  ENDIF
  THIS.cAlias = ALIAS()
  STORE THIS.cAlias TO ;
        THIS._GoTo.cusTableNav.cAlias, ;
        THIS._Nav4picbuttons.cusTableNav.cAlias, ;
        THIS._SortSelect.cusTableSort.cAlias
  THIS.Setall("Enabled",NOT EMPTY(THIS.cAlias))
  THIS._GoTo.InitData()
  DODEFAULT()
  SET DataSession TO lcDataSession
ENDIF

ENDPROC