Content Supported by Sourcelens Consulting

��� m^�j���L0b4mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Class                WINDOWS _QYW0ZV9O9 547846790�����7������ COMMENT RESERVED             WINDOWS _QYW0ZYVNR 547846802���u\���nm$� COMMENT RESERVED            # WINDOWS _QZ919NECA 548053952��R�S�����U� COMMENT RESERVED            � WINDOWS _R060RRVS3 551201915�TS�m���S����s COMMENT RESERVED            rp� WINDOWS _R020VQ2Y6 551716123NVO_��LMPJIHKG COMMENT RESERVED            *(� WINDOWS _R020K4VL1 551718023<>=:2	:;G7549 WINDOWS _R020K4QDT 551718023V�� WINDOWS _R020K4QYE 551718023�����~ WINDOWS _R020K4RIZ 551718023������zs WINDOWS _R020K4S45 551718023�����@#- WINDOWS _R020K4SOQ 551718023����� WINDOWS _R020K4SPK 551718023���i}� WINDOWS _R020K4T9V 551718023h\XRH�V� WINDOWS _R020K4TU6 551718023G-,+*�'� WINDOWS _R020K4UER 551718023 WINDOWS _R020K4UFL 551718023�������� WINDOWS _R020K4UZW 551718023����� WINDOWS _R020K4V0G 551718023���A@}>t COMMENT RESERVED            > WINDOWS _QZ50KNCBX 552372769I�J�Hh������� COMMENT RESERVED            |� WINDOWS _R030WRT46 552374825�!]$��_������� WINDOWS _R030WRRNV 552374825&qr��J WINDOWS _R030WRSEL 551723267���Q!Nj COMMENT RESERVED            ��  WINDOWS _QYW0ZUF9W 552766866F^WwtDEB1C COMMENT RESERVED             WINDOWS _QYW0ZUV8C 552766870�'��������� COMMENT RESERVED            �� WINDOWS _QYW0ZZW5V 552766877	
�� COMMENT RESERVED            � WINDOWS _QZ919RBBM 552766882acb���_`��K COMMENT RESERVED            -] WINDOWS _R020JYRO3 552766886��=e�){�s� WINDOWS _R020JYRKR 514411100 \� WINDOWS _R020JYRLV 514411100F?9��%� WINDOWS _R020JYRN9 514411100������ COMMENT RESERVED            dY WINDOWS _QZ919RZC7 552766889OQP���MND�L COMMENT RESERVED            �B WINDOWS _R020K6I5W 552766892����b.������� COMMENT RESERVED            o� WINDOWS _QZ919MZF4 552766951glh�i�0f.,+/ COMMENT RESERVED            " WINDOWS _R0O0UWM30 553348704|���xEF������ COMMENT RESERVED            �zX�!VERSION =  0.029
tsbase.vcxform	tseditbox!Arial, 0, 9, 5, 15, 12, 21, 3, 0
	tstoolbar..\include\tastrade.h	ts3dshapePixels!Arial, 0, 8, 5, 14, 11, 20, 3, 0
!Arial, 1, 8, 5, 14, 11, 14, 3, 0
tscommandbutton
tsbase.vcxeditbox
tsbase.vcx
tscomboboxtslabelPixels,PROCEDURE Click
RELEASE thisform
ENDPROC
checkbox!Arial, 0, 8, 5, 14, 11, 20, 3, 0
tsgridPixels..\bitmaps\combo.bmp	tslistbox..\bitmaps\combo.bmp
Base ComboBoxClass..\bitmaps\shape.bmp!savewindowpos
restorewindowpos
Pixels/..\..\..\..\backup\mainsamp\bitmaps\toolbar.bmp/..\..\..\..\backup\mainsamp\bitmaps\toolbar.bmpStandard toolbar classClass13toolbar	tstoolbar3PROCEDURE Click
oApp.DoForm("behindsc")
ENDPROC
	tstoolbar.cmdBehindSC..\bitmaps\shape.bmp
Base ShapeClass1shape..\include\tastrade.hPixels..\bitmaps\datagrid.bmp..\bitmaps\datagrid.bmp	Base GridClass1gridtsgrid�ncolumnsum Stores the sum of a column specified in the cFieldToSum property. 
cfieldtosum The name of the field to sum. 
*sumcolumn Procedure to sum the column.
grid	ts3dshapeb..\include\tastrade.h:
A�($..\..\..\..\..\..\vfp6\foxpro.hB�#..\include\strings.hJA�($02CV(�,�0�edtTextformshape�FontBold = .F.
FontSize = 8
DeleteMark = .F.
Highlight = .F.
RecordMark = .F.
RecordSource = ""
RowHeight = 17
TabIndex = 1
Width = 319
ncolumnsum = 0
cfieldtosum = 
Name = "tsgrid"
1combobox
tscombobox?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC
combobox..\bitmaps\label.bmp..\bitmaps\label.bmptstoolbarbutton!Arial, 0, 8, 5, 14, 11, 12, 3, 0
        ]	tsifcombo�I..\include\tastrade.h?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC
PHeight = 73
Width = 234
BackStyle = 0
SpecialEffect = 0
Name = "ts3dshape"
!Arial, 0, 8, 5, 14, 11, 20, 3, 0
tsformretval�Top = 4
Left = 192
Height = 22
Width = 22
Picture = ..\bitmaps\bhind_s.bmp
Caption = ""
Default = .F.
TabIndex = 8
ToolTipText = "Behind The Scenes"
Name = "cmdBehindSC"

commandbutton���� ��}�%3EA�UUInit,��134)�PixelsPixelsPixelsdth = 577
Height =
tsbase.vcxtstoolbarbuttonlcancelclick
ATop = 4
Left = 192
Height = 1
Width = 1
Name = "separator2"
|FontBold = .F.
FontSize = 8
Height = 24
TabIndex = 1
Width = 200
DisabledBackColor = 192,192,192
Name = "tscombobox"
Pixels!Arial, 0, 8, 5, 14, 11, 20, 3, 0
..\bitmaps\form.bmp..\bitmaps\form.bmpClass1	tstoolbar.
separator2	separator���� ��;%DYS�U
<��UTHISFORMClick,��1q1!)�..\bitmaps\pushb.bmp5csearchstring
calias
cfield
RowSourceType
Style
X 548..\PageCount = 2
Top = 0..\bitmaps\pushb.bmp
tsoptiongroup���� ��}�%3EA�UUInit,��134)�
tstextform.!Arial, 0, 9, 5, 15, 12, 21, 3, 0
Class���� ��}�%3EA�UUInit,��134)�	separator	tstoolbar...\bitmaps\intell_s.bmpePClass45
Height = 31
Wid1� �jk� uTop = 1QFontBold = .F.
FontSize = 8
TabIndex = 1
ColorSource = 0
Name = "tseditbox"

tsbaseform..\include\tastrade.hPixels..\bitmaps\form.bmp..\bitmaps\form.bmp	Base FormSSpecial "intelli-find" combo box. Performs incremental "seeks" as the user types.  tscommcmdClosePixels..\bitmaps\pushb.bmp..\bitmaps\pushb.bmpBase CommandButton0Base class commandbutton for all toolbar buttons
commandbuttontstoolbarbutton	tseditbox
commandbutton	tstextbox!��� ��%����UW#%�C��b�C�	C���	��P�-T���C�XCC��C�.���\�Q���UTHIS
CONTROLSOURCE	INPUTMASKInit,��14�A1)�PROCEDURE Click
IF _screen.ActiveForm.QueryUnload()
  IF FormIsObject()
    _screen.ActiveForm.Release()
  ENDIF
ENDIF
ENDPROC
�Top = 4
Left = 165
Height = 22
Width = 22
Picture = ..\bitmaps\close.bmp
Caption = ""
Default = .F.
ToolTipText = "Close (Ctrl+F4)"
Name = "cmdClose"

commandbutton..\bitmaps\listbox.bmpClass1���� ��}�%3EA�UUInit,��134)�
tsbase.vcxcombobox..\include\stritstoolbarbuttonGlcancelclick True if code in MouseDown() wishes to cancel the click. 
Pixels..\bitmaps\listbox.bmp!Arial, 0, 8, 5, 14, 11, 20, 3, 0
!Arial, 0, 8, 5, 14, 11, 20, 3, 0
PixelsBase OptionGroupClass1optiongroup
tsoptiongroup���� ��}�%3EA�UUInit,��134)�?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC
optiongroupPHeight = 27
Width = 26
Caption = " "
TabIndex = 1
Name = "tstoolbarbutton"
..\bitmaps\textbox.bmpATop = 4
Left = 165
Height = 0
Width = 0
Name = "Separator3"
	tstoolbar.
Separator3	separator	separatorb..\include\tastrade.h:
A�($..\..\..\..\..\..\vfp6\foxpro.hB�#..\include\strings.hJA�($5ScaleMode = 3
DoCreate = .T.
Name = "tsmaintform"
	pageframeBPROCEDURE Click
_screen.ActiveForm.Restore()





ENDPROC
	tstoolbar.
cmdRestore
commandbutton
tsbase.vcx��� ���%M�q�U]������T���-��%�C���
��V�T���a����C� �����UNBUTTONNSHIFTNXCOORDNYCOORDTHISLCANCELCLICKPARENTOKTOSEND<������%�����5�T���-�����UNBUTTONNSHIFTNXCOORDNYCOORDTHISLCANCELCLICK	MouseDown,��MouseUp���13�Q��AA21�AA1	:
)�b..\include\tastrade.h��A�($..\..\..\..\..\..\vfp6\foxpro.h���#..\include\strings.h��A�($!Arial, 0, 8, 5, 14, 11, 20, 3, 0
..\bitmaps\textbox.bmpClass1tstoolbarbutton	tstoolbar.formtsformretvalBase ListBoxBase TextBoxClass1textbox	tstextboxtextboxcmdSave	tsifcombo.h�z�� c:\vfpcombobox 1 field
    lcTPixels9PROCEDURE Click
_screen.ActiveForm.Save()


ENDPROC

commandbuttonBArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0

tsbase.vcx!Arial, 0, 8, 5, 14, 11, 20, 3, 0
Class1listbox	tslistboxlistbox
tstextform<restorewindowpos
savewindowpos
addtomenu
removefrommenu
tstoolbarbutton	tstoolbar.���� ����%cwq�U%"��C�ReadOnlya�Column����UTHISSETALLInit,��1"2_)�	pageframe
pageframe1Pixels���� ���e%Ynh�U��C�behindsc����UOAPPDOFORMClick,��1�1()�Classform9PROCEDURE Click
_screen.ActiveForm.AddNew()

ENDPROC
cmdNew
commandbutton?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC

tsbase.vcxtstoolbarbutton4
tsbaseform	tstoolbar.
tstextform
Separator1	separator
tsbaseform
Base Label	separatorformtsmaintform.tsgrid
tsbase.vcx�PROCEDURE Click
LOCAL lnResult
lnResult = _screen.ActiveForm.First()
DO CASE
  CASE lnResult = FILE_BOF
    this.Parent.Refresh("BOF")
ENDCASE    






ENDPROC
!Arial, 0, 8, 5, 14, 11, 20, 3, 0
tsmaintform..\include\tastrade.h<restorewindowpos
savewindowpos
addtomenu
removefrommenu
Pixels..\bitmaps\form.bmp!Arial, 0, 8, 5, 14, 11, 20, 3, 0

tscheckboxPixels..\bitmaps\checkbx.bmp..\bitmaps\checkbx.bmp
Base CheckBoxClass1checkbox
tscheckbox?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC
..\bitmaps\form.bmpb..\include\tastrade.h"	A�($..\..\..\..\..\..\vfp6\foxpro.h*
�#..\include\strings.h2A�($grideditbox�Base form used to create forms that return a value. Forms based upon this class must be created as a class. (i.e., stored in a VCX, not an SCX).Wuretval Property to hold the form's return value. Can be any data type.
lallowdelete
form@Top = 4
Left = 96
Height = 0
Width = 0
Name = "Separator1"
	tstoolbar.cmdLast..\bitmaps\editbox.bmp..\bitmaps\editbox.bmpBase EditBox>Base class for all forms that view memo fields or text files. 
tstextform.
commandbutton
tsbase.vcx
commandbuttontscommandbutton?The base form from which all maintenance style forms are based.Class3
tsbaseformcmdPrint
commandbutton
tsbase.vcxtstoolbarbutton	tstoolbar.cmdNext?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC

commandbutton
commandbuttonuHeight = 26
Width = 76
FontBold = .T.
FontSize = 8
Caption = "Command1"
TabIndex = 1
Name = "tscommandbutton"

tsbase.vcxtstoolbarbuttonClass1labeltslabellabel	tstoolbar.cmdPriorClass1editboxtscommandbutton�Top = 4
Left = 138
Height = 22
Width = 22
Picture = ..\bitmaps\undo.bmp
Caption = ""
Default = .F.
TabIndex = 7
ToolTipText = "Restore (Ctrl+E)"
Name = "cmdRestore"
�Top = 4
Left = 117
Height = 22
Width = 22
Picture = ..\bitmaps\save.bmp
Caption = ""
Default = .F.
TabIndex = 6
ToolTipText = "Save (Ctrl+S)"
Name = "cmdSave"

tstextform.
commandbutton
tsbase.vcxtstoolbarbutton	tstoolbar.cmdFirst`Height = 15
Width = 148
FontSize = 8
BackStyle = 0
Caption = "Check1"
Name = "tscheckbox"
�Top = 4
Left = 96
Height = 22
Width = 22
Picture = ..\bitmaps\new.bmp
Caption = ""
Default = .F.
TabIndex = 5
ToolTipText = "New (Ctrl+N)"
Name = "cmdNew"
cmdClose
commandbutton
tsbase.vcxtstoolbarbutton,Height = 300
Width = 578
DoCreate = .T.
BufferMode = 2
AutoCenter = .T.
BorderStyle = 2
Caption = "Form1"
FontSize = 8
MaxButton = .F.
MinButton = .F.
MDIForm = .T.
BackColor = 192,192,192
ctoolbar = tstoolbar
lallowedits = .T.
lallownew = .T.
lallowdelete = .T.
Name = "tsbaseform"
tsmaintformjPROCEDURE Init
*-- Set all grid columns to read only
this.SetAll("ReadOnly", .T., "Column")

ENDPROC
tsmaintform.pageframe1.Page2.�PROCEDURE Click
LOCAL lnResult
lnResult = _screen.ActiveForm.Last()
DO CASE
  CASE lnResult = FILE_EOF
    this.Parent.Refresh("EOF")
ENDCASE
ENDPROC
���� ��Y#%F�k�U�T���a��T��������T�������6��T����C���8��$T����C����?8��T�������*��T���������T���-��U	THISFORM
LOCKSCREENEDTTEXTWIDTHHEIGHTCMDCLOSELEFTCMDPRINTTOPUResize,��QueryUnload?��1�a��A���22�
�)�
commandbuttonqCaption = "Navigation Tools"
Height = 28
Left = 6
Top = 6
Width = 218
ControlBox = .F.
Name = "tstoolbar"
toolbar
tsbase.vcx�Top = 4
Left = 69
Height = 22
Width = 22
Picture = ..\bitmaps\lstrec_s.bmp
Caption = ""
Default = .F.
TabIndex = 4
ToolTipText = "Last (Ctrl+End)"
Name = "cmdLast"
tscommandbutton�*oktosend Returns .T. if the active form can receive messages from this toolbar. 
*savewindowpos Saves the position of the toolbar to the INI file.
*restorewindowpos Restores the window's position from the INI file.
VLeft = 0
ReadOnly = .T.
RecordSource = ""
TabIndex = 1
Top = 0
Name = "grdList"
grdList	tseditbox?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC
�Top = 4
Left = 6
Height = 22
Width = 22
Picture = ..\bitmaps\frsrec_s.bmp
Caption = ""
Default = .F.
TabIndex = 1
ToolTipText = "First (Ctrl+Home)"
Name = "cmdFirst"
?PROCEDURE Init
*-- (c) Microsoft Corporation 1995

ENDPROC
��� ��P;%����U$T���������C�����UTHISFORM
PAGEFRAME1
ACTIVEPAGE
TSBASEFORMADDNEWaddnew,��14�2�)����� xx|%���U	G&(�Ut�:�G&(�����UTHISFORMCAPTIONA'%�C�	m.gTTradeb�L��
�
��:���C��x��B�-���UGTTRADECLASSBROWERR_LOCUnload,��Activate9��Initi��1a2��2r�qA3!@��W
)x�FontBold = .T.
FontSize = 8
Alignment = 1
BackStyle = 0
Caption = "Label1"
Comment = ""
Height = 22
Width = 77
TabIndex = 1
Name = "tslabel"
�PROCEDURE Click
LOCAL lnResult
lnResult = _screen.ActiveForm.Next()
DO CASE
  CASE lnResult = FILE_EOF
    this.Parent.Refresh("EOF")
  CASE lnResult = FILE_OK
    this.Parent.Refresh()
ENDCASE


ENDPROC
�FontBold = .F.
FontSize = 8
Format = "K"
Height = 22
InputMask = ""
TabIndex = 1
Width = 100
ColorSource = 0
DisabledForeColor = 128,128,128
Name = "tstextbox"
DoCreate = .T.
AutoCenter = .T.
BorderStyle = 2
Caption = "Form1"
ControlBox = .F.
FontSize = 8
MaxButton = .F.
MinButton = .F.
WindowType = 1
Comment = "(c) Microsoft Corporation 1995"
BackColor = 192,192,192
uretval = .T.
Name = "tsformretval"
��� �]%����U;%�C�9����4�%�C���0���C�9������U
ACTIVEFORMQUERYUNLOADFORMISOBJECTRELEASEClick,��11��AA1{)nFontBold = .F.
FontSize = 8
Height = 104
Width = 125
DisabledBackColor = 192,192,192
Name = "tslistbox"
���� ���B%Wlf�U��C�9����U
ACTIVEFORMRESTOREClick,��1�67)�b..\include\tastrade.h
�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($�PROCEDURE addnew
*-- (c) Microsoft Corporation 1995

*-- Autoselect the data entry page
thisform.Pageframe1.ActivePage = 1
tsBaseForm::AddNew()

ENDPROC
�Top = 4
Left = 48
Height = 22
Width = 22
Picture = ..\bitmaps\nxtrec_s.bmp
Caption = ""
Default = .F.
TabIndex = 3
ToolTipText = "Next (Ctrl+Page Down)"
Name = "cmdNext"
�ErasePage = .T.
PageCount = 2
Top = 0
Left = 0
Width = 577
Height = 301
Name = "pageframe1"
Page1.FontSize = 8
Page1.Caption = "\<Data Entry"
Page1.Name = "Page1"
Page2.FontSize = 8
Page2.Caption = "\<List"
Page2.Name = "Page2"
�PROCEDURE Click
LOCAL lnResult
lnResult = _screen.ActiveForm.Prior()
DO CASE
  CASE lnResult = FILE_BOF
    this.Parent.Refresh("BOF")
  CASE lnResult = FILE_OK
    this.Parent.Refresh()
ENDCASE





ENDPROC
gTop = 300
Left = 330
Height = 31
Width = 111
Caption = "\<Print"
TabIndex = 3
Name = "cmdPrint"
���� ��j8%Tic�U��C�9����U
ACTIVEFORMSAVEClick,��1�3.)����� ��}�%3EA�UUInit,��134)�)PROCEDURE Init
*-- (c) Microsoft Corporation 1995

*- don;t overwrite specific inputmasks
IF TYPE(this.ControlSource) = "C" AND EMPTY(this.InputMask)
  this.InputMask = REPLICATE("X", ;
                    FSIZE(SUBSTR(this.ControlSource, AT(".", this.ControlSource) + 1)))
ENDIF
ENDPROC
�Top = 4
Left = 27
Height = 22
Width = 22
Picture = ..\bitmaps\prvrec_s.bmp
Caption = ""
Default = .F.
TabIndex = 2
ToolTipText = "Prior (Ctrl+Page Up)"
Name = "cmdPrior"
�ButtonCount = 2
BackStyle = 0
Value = 1
Height = 48
Width = 85
Name = "tsoptiongroup"
Option1.FontSize = 8
Option1.BackStyle = 0
Option1.Caption = "Option1"
Option1.Value = 1
Option1.Height = 18
Option1.Left = 5
Option1.Top = 5
Option1.Width = 75
Option1.Name = "Option1"
Option2.FontSize = 8
Option2.BackStyle = 0
Option2.Caption = "Option2"
Option2.Value = 0
Option2.Height = 18
Option2.Left = 5
Option2.Top = 25
Option2.Width = 75
Option2.Name = "Option2"
���� ��}�%3EA�UUInit,��134)�uTop = 300
Left = 145
Height = 31
Width = 111
Cancel = .T.
Caption = "\<Close"
TabIndex = 2
Name = "cmdClose"
���� ��Q%Vke�U��C�9����U
ACTIVEFORMADDNEWClick,��1�2.)�rHeight = 288
Left = 0
ReadOnly = .T.
TabIndex = 1
Top = 0
Width = 578
ControlSource = ""
Name = "edtText"
�FontSize = 8
RowSourceType = 3
DisplayValue = 
Height = 21
IncrementalSearch = .F.
TabIndex = 1
Width = 200
DisabledBackColor = 192,192,192
csearchstring = 
calias = 
ctag = 
cfield = 
llimittolist = .T.
Name = "tsifcombo"
ias + "." + lcTagNa���� ���h%�"��U
��C����UTHISFORMREFRESHFORM/����G�(�����T�������%�C��
��F�
F�����%�C������
��C����T��CO��%�C����#)����%��CN����#6����	#������
���	�
��� %�C���C���	���T��
�����B��
��C�������C��	���ULCALIASIRECTHISFORM
DATASESSIONIDDATAENVIRONMENTINITIALSELECTEDALIAS
ISNEWANDEMPTYRESTORETHISGRDLISTREFRESHDATACHANGED	ASKTOSAVE
PAGEFRAME1
ACTIVEPAGEREFRESHFORMSETFOCUS)T�������T�������UTHISGRDLISTTOPLEFTPage1.Activate,��Page2.ActivateW��
Page2.InitP��1�4��1�B���Q�Q��AA��1AA�A3212���i+)�9���   �%����UU���T��C�9����
H�'�N������N���C�EOF������ULNRESULT
ACTIVEFORMLASTTHISPARENTREFRESHClick,��1q1�aA1�) ���� ��}�%3EA�UUInit,��134)�CDataSession = 2
ScaleMode = 3
Top = 54
Left = 25
Height = 341
Width = 578
DoCreate = .T.
BufferMode = 0
AutoCenter = .F.
BorderStyle = 3
Caption = "Form 1"
MaxButton = .T.
MinHeight = 200
MinWidth = 400
WindowType = 1
lallowedits = .F.
ctoolbar = 
lallownew = .F.
lallowdelete = .F.
Name = "tstextform"
bPROCEDURE Unload
SET MESSAGE TO 
ENDPROC
PROCEDURE Activate
*-- Force the menu to refresh
ACTIVATE MENU _MSYSMENU NOWAIT

SET MESSAGE TO thisform.Caption
ENDPROC
PROCEDURE Init
*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF


ENDPROC
�csearchstring Holds the text the user is typing. 
calias Holds the alias to do the search on. 
ctag Since you can only specify 10 characters for tag names, this property is used to specify a tag name for the field that is being searched. If not specified, the first 10 characters of the field name are used. 
cfield Field to EVAL() when displaying the text box portion.
llimittolist True if user is limited to adding items that are already in the list. 
S.."PROCEDURE MouseDown
*-- (c) Microsoft Corporation 1995

LPARAMETERS nButton, nShift, nXCoord, nYCoord
this.lCancelClick = .F.
IF !this.Parent.OKToSend()
  *-- Set lCancelClick to .T. to prevent button from being pushed
  this.lCancelClick = .T.
  ?? CHR(7)
  NODEFAULT
ENDIF
ENDPROC
PROCEDURE MouseUp
LPARAMETERS nButton, nShift, nXCoord, nYCoord
*-- If lCancelClick property is .T., issue a NODEFAULT
*-- to prevent button from being visually pushed.
IF this.lCancelClick
  this.lCancelClick = .F.
  NODEFAULT
ENDIF
ENDPROC
^��� EE��%��
��Uv���T��C�9����
H�'�o������N���C�EOF����������o���C������ULNRESULT
ACTIVEFORMNEXTTHISPARENTREFRESHClick,��1q1�aA3�)E_��� FFE�%��
��Uv���T��C�9����
H�'�o������N���C�BOF����������o���C������ULNRESULT
ACTIVEFORMPRIORTHISPARENTREFRESHClick,��1q1�aA6�)F�PROCEDURE sumcolumn
*-- (c) Microsoft Corporation 1995

*-- This method is used to sum a column in the grid and
*-- store the result to a custom property. Currently this
*-- works for only one column at a time.

IF EMPTY(this.cFieldToSum)
  RETURN
ENDIF

LOCAL lnOldArea, ;
    lnOldRecNo, ;
    luKey, ;
    lcFieldToSum, ;
    lcOrder

lnOldArea = SELECT()
this.nColumnSum = 0
lcFieldToSum = ""

IF EMPTY(this.RecordSource)
  RETURN
ENDIF

*-- Select the alias specified in the grid's RecordSource property
SELECT (this.RecordSource)

lcOrder = ORDER()
*-- Use the string returned by ORDER() as the parameter
*-- to the EVAL() function to retrive the value of the 
*-- current ID, which we use later to SEEK() into the table.
luKey = IIF(!EMPTY(lcOrder), EVAL(lcOrder), "")
lnOldRecNo = IIF(EOF(), 0, RECNO())
lcFieldToSum = this.cFieldToSum

*-- Total up the column and store the result 
*-- in the nColumnSum property
IF !EMPTY(lcOrder) AND SEEK(luKey)
  SUM &lcFieldToSum. ;
    WHILE luKey = EVAL(lcOrder) ;
    TO this.nColumnSum
ELSE
  IF CURSORGETPROP("SOURCETYPE") = DB_SRCLOCALVIEW OR ;
      CURSORGETPROP("SOURCETYPE") = DB_SRCREMOTEVIEW
    *-- Grid is bound to a view
    SUM &lcFieldToSum. ;
      TO this.nColumnSum
  ENDIF
ENDIF
  
IF lnOldRecNo <> 0
  GO lnOldRecNo
ENDIF

SELECT (lnOldArea)


ENDPROC
PROCEDURE Refresh
*-- Recalc column totals each time grid is refreshed
this.SumColumn()
ENDPROC
)PROCEDURE Resize
*-- (c) Microsoft Corporation 1995

*-- Dynamically size all controls on the form based on 
*-- the form's dimensions
thisform.LockScreen = .T.
thisform.edtText.Width = thisform.Width
thisform.edtText.Height = thisform.Height - 54
thisform.cmdClose.Left = INT(thisform.Width / 4)
thisform.cmdPrint.Left = INT(thisform.Width / 1.75)
thisform.cmdClose.Top = thisform.Height - 42
thisform.cmdPrint.Top = thisform.cmdClose.Top
thisform.LockScreen = .F.
ENDPROC
PROCEDURE QueryUnload
*-- Override tsbaseform default
ENDPROC
ctoolbar The name of the toolbar to create when the form is run. 
lallowedits True if editing is allowed for the current form.
lallownew True if adding new records is allowed for the current form.
lallowdelete True if deleting is allowed for the current form.
lseterroroff Disable error handling
lhaderror An error occurred while error handling was disabled.
*next Moves the record pointer for the current alias to the next record.
*first Moves the record pointer for the current alias to the first record. 
*last Moves the record pointer for the current alias to the last record.
*prior Moves the record pointer for the current alias to the prior record.
*save Saves the information on the form to the current alias. 
*delete Deletes the current record.
*addnew Prepares the form for entry of a new record, and appends a record to the current alias.
*restore Restores all changes made on the current form. (Also cancels the previous New operation, if applicable). 
*writebuffer Called when we need to write the contents of the current control from the buffer to disk. 
*refreshform Custom refresh method. 
*waitmode Toggles the wait cursor on and off for all controls on the screen.
*restorewindowpos Reads the last position of the window from the INI file and sets the appropriate window properties.
*savewindowpos Saves the position of the window to the INI file.
*addtomenu Adds the caption of the form to the Window menu.
*removefrommenu Removes the caption of the form from the Window menu.
*datachanged Returns .T. if data has changed on the current form.
*asktosave Prompts user to save changes if necessary.
^aerrormsg[3,0] Holds error messages. Used in Error event method.
*isnewandempty Returns .T. if the user has added a new record but not made any changes.
:��� !!F%����UU���T��C�9����
H�'�N������N���C�BOF������ULNRESULT
ACTIVEFORMFIRSTTHISPARENTREFRESHClick,��1q1�aA7�)!Q��� 88^j%��C�UFCB�C��&C�_screen.ActiveForm.cToolBarb�U	�C�9���
	��UFORMISOBJECT
ACTIVEFORMCTOOLBAR����%�����+�T��CC��Z����W�$T��CC��Z��,CC��Z����8��C�WindowPositions���C��TASTRADE.INI���U	LCVALUETHISDOCKEDDOCKPOSITIONTHISFORMTOPLEFTWRITEPRIVSTRCAPTION����������T��C�
XC� ��T��C�ERROR���
T�����H%�C�WindowPositions��	��C�>C��TASTRADE.INI������1�
llError = .T.�T��C�,���%������T��CC���=g��T��CC���\g����T��C�g���ON ERROR &lcOldError
%��
����%�����y�T��
����T�����������C����������B�-���U
LCBUFFER
LCOLDERRORLNTOPLNLEFTLLERROR
LNCOMMAPOSLNDOCKPOSITION
GETPRIVSTRTHISCAPTIONTOPLEFTDOCK)%�C��
��"���C������UTHISRESTOREWINDOWPOSDOCK
��C����T���-��UTHIS
SAVEWINDOWPOSVISIBLE�����������%�C����;�
T������T��C���BOF��T��C+���EOF��T�����
��T��	���
��T��
���
��T�����
��%�C���~�2%�C�_screen.Activeform.lAllowEditsb�U��b�T���9�
���T���9�
���T�������T�������T��������T�����9�
����B�UTCCONDITIONLLBOFLLEOFLLALLOWEDITS
LLALLOWNEWLLSAVEANDRESTORETHISCMDFIRSTENABLEDCMDPRIORCMDNEXTCMDLASTFORMISOBJECT
ACTIVEFORMLALLOWEDITS	LALLOWNEWCMDNEWCMDSAVE
CMDRESTORECMDCLOSECLOSABLEoktosend,��
savewindowpos���restorewindowpos���Init���Destroy���Refresh:��133qA�BA�3�RQ��T1����A���AA�qA3$A3��3qu�A��CAAA�!!!211A�AB:����%9�A)wK,��R)8tPROCEDURE Page1.Activate
*-- Make sure form is updated whenever we switch pages. The record
*-- pointer may have changed while another page was active.
thisform.RefreshForm()


ENDPROC
PROCEDURE Page2.Activate
LOCAL lcAlias, iRec
SET DATASESSION TO THISFORM.DataSessionID
lcAlias = thisform.DataEnvironment.InitialSelectedAlias
IF !EMPTY(lcAlias)
	SELECT (lcAlias)
	*-THIS.grdList.RecordSource = lcAlias
ENDIF

*-- Check if any changes were made and prompt user to save
*-- if necessary before changing to List page
IF thisform.IsNewAndEmpty()
	thisform.Restore()			&& Restore will call RefreshForm
	iRec = RECNO()
	*- KEYBOARD '{UPARROW}'		&& force the grid to refresh...
	IF BOF()
		GO TOP
	ELSE
		IF iRec > RECC()
			GO BOTTOM
		ELSE
			GO iRec
		ENDIF
	ENDIF
	THIS.grdList.Refresh
ELSE
  IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
    thisform.pageframe1.ActivePage = 1
    RETURN
  ENDIF
  thisform.RefreshForm()
ENDIF
this.grdList.SetFocus()

ENDPROC
PROCEDURE Page2.Init
*-- Position the grid relative to the page
this.grdList.Top = 0
this.grdList.Left = 0

ENDPROC
�PROCEDURE Valid
RETURN .T.
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LOCAL lcRowSource, ;
      lnPosFrom, ;
      lcAlias, ;
      lcTagName, ;
      lcControlSource

*-- The primary purpose of the code in this event method is
*-- to parse the RowSource property for an alias name and a tag
*-- name.

lcControlSource = THIS.ControlSource
lcRowSource = this.RowSource
lnPosFrom = ATC("FROM", lcRowSource)

*-- Get everything after the "FROM" clause
lcAlias = ALLT(SUBSTR(lcRowSource, lnPosFrom + 4))
*-- Filter out other clauses after "FROM"
lcAlias = TRIM(LEFT(lcAlias, AT(" ", lcAlias)))
IF "," $ lcAlias
  *-- We have more than 1 alias
  lcAlias = LEFT(lcAlias, LEN(lcAlias) - 1)
ENDIF

*-- We'll need the alias again later, so we save it
*-- to a custom property
this.cAlias = lcAlias

*-- Get a tag name
*-- If the cTag property is not empty, then the user has specified
*-- a tag for us to use for the table order.
IF !EMPTY(this.cTag)
  lcTagName = ALLTRIM(this.cTag)
ELSE
  *-- Get everything after the SELECT clause
  lcTagName = ALLT(SUBSTR(lcRowSource, AT(" ", lcRowSource)))
  *-- Filter out all other clauses
  lcTagName = ALLT(LEFT(lcTagName, AT(" ", lcTagName)))
  IF "," $ lcTagName
    *-- We have more than 1 field
    lcTagName = LEFT(lcTagName, LEN(lcTagName) - 1)
  ENDIF
ENDIF

*-- Exclude the table alias, if any
IF "." $ lcTagName
  lcTagName = SUBSTR(lcTagName, AT(".", lcTagName) + 1)
ENDIF

*-- Save the field name for later use in the
*-- KeyPress event method
this.cField = lcAlias + "." + lcTagName

*-- Limit tag name to 10 characters
lcTagName = LEFT(lcTagName, 10)

*-- Save the tag name for later
*-- use in the KeyPress event method
IF EMPTY(this.cTag)
  this.cTag = lcTagName
ENDIF


*-- SET('PROCEDURE') should include Utility.prg
IF !IsTag(lcTagName, lcAlias)
  WAIT WINDOW NOWAIT TAGNOTFOUND_LOC + CHR(13) + lcTagName
ENDIF

*- restore rowsource, to force combo box to be filled.
this.RowSource = lcRowSource
THIS.ControlSource = lcControlSource


ENDPROC
PROCEDURE LostFocus
*-- Reset search string and starting position
this.cSearchString = ""
this.SelStart = 0
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
LOCAL lnRecNo

IF BITAND(4, nShiftAltCtrl) == 4
	*- the Alt key is pressed
	RETURN
ENDIF

IF INLIST(nKeyCode, 4, 19) OR;
	(INLIST(nKeyCode,52, 54) AND BITAND(1, nShiftAltCtrl) == 1) OR ;
	(INLIST( 2, 26) AND BITAND(2, nShiftAltCtrl) == 2) OR ;
	nKeyCode = 127
	*- left, right arrow
	RETURN
ENDIF

lnRecNo = RECNO(this.cAlias)

DO CASE
  CASE nKeyCode = 24
  	*- down arrow
  	IF EMPTY(THIS.DisplayValue)
  		*- nothing there yet, so go to first record
  		GO TOP IN (this.cAlias)
  	ELSE
  		IF !EOF(this.cAlias)
  			*- not at end of file, so go to next record
  			SKIP IN (this.cAlias)
  		ENDIF
		IF EOF(this.cAlias)
			GO BOTTOM IN (this.cAlias)
		ENDIF
  	ENDIF
  CASE nKeyCode = 5
    *- up arrow
  	IF EMPTY(THIS.DisplayValue)
  		*- nothing there yet, so go to first record
  		GO TOP IN (this.cAlias)
  	ELSE
  		IF !BOF(this.cAlias)
  			*- not at beginning of file, so go to previos record
  			SKIP -1 IN (this.cAlias)
  		ENDIF
		IF BOF(this.cAlias)
			GO TOP IN (this.cAlias)
		ENDIF
  	ENDIF

  *- changed to allow any ASCII character between 32 - 126
  *-- Valid chars include letters, digits, spaces, and apostrophes
  CASE BETWEEN(nKeyCode, 32, 126)	&& OR BETWEEN(nKeyCode, 97, 122) OR ;
       								&& BETWEEN(nKeyCode, 48, 57) OR ;
       								&& BETWEEN(nKeyCode, 33, 42) OR ;
       								&& nKeyCode = 32 OR nKeyCode = 64 OR nKeyCode = 94    
    *-- Build the internal search string
    this.cSearchString = this.cSearchString + CHR(nKeyCode)
  OTHERWISE
    RETURN
ENDCASE

*-- Cancel the default action. NODEFAULT is necessary to prevent
*-- two copies of the character from being displayed in the combo 
*-- since we control the DisplayValue property manually. 
NODEFAULT

*-- Do the SEEK(), unless user pressed up or down arrow keys (keys 5 and 24)
IF nKeyCode # 5 AND nKeyCode # 24 AND !EMPTY(this.cSearchString)
  =SEEK(UPPER(this.cSearchString), this.cAlias, this.cTag)
ENDIF

IF (EMPTY(this.cSearchString) OR EOF(this.cAlias)) AND nKeyCode # 5 AND nKeyCode # 24
	*-- SEEK() failed
	IF lnRecNo > RECC(this.cAlias)
		GO TOP IN (this.cAlias)
	ELSE
		GO lnRecNo IN (this.cAlias)
	ENDIF
    *-- If entries are permitted that are not in the list, 
    *-- then set the DisplayValue property to the value of the
    *-- search string. Otherwise, remove the character just typed
    *-- from the search string.
    IF !this.lLimitToList
      this.DisplayValue = this.cSearchString
      this.SelLength = 0
    ELSE
      *-- Do not add char just typed to search string
      this.cSearchString = LEFT(this.cSearchString, ;
                                LEN(this.cSearchString) - 1)
    ENDIF
ELSE
  *-- SEEK() was succsssful, so fill in the DisplayValue
  this.DisplayValue = EVAL(this.cField)
  *-- Select entire string
  this.SelLength = LEN(this.DisplayValue)
ENDIF

*-- Position cursor at end of string
this.SelStart = LEN(this.cSearchString)

ENDPROC
PROCEDURE InteractiveChange
LOCAL lcField

*-- Reset properties
this.cSearchString = ""

*-- Position record pointer in lookup table
lcField = this.cField
=LOOKUP(&lcField, ;
        UPPER(this.DisplayValue), ;
        &lcField, ;
        this.cTag)


ENDPROC
�PROCEDURE oktosend
RETURN (FormIsObject() AND ;
    TYPE("_screen.ActiveForm.cToolBar") <> "U" AND ;
    !EMPTY(_screen.ActiveForm.cToolBar))

ENDPROC
PROCEDURE savewindowpos
LOCAL lcValue

IF this.Docked
  lcValue = ALLT(STR(this.DockPosition))
ELSE
  lcValue = ALLT(STR(thisform.Top)) + ',' + ;
            ALLT(STR(thisform.Left))
ENDIF
=WritePrivStr("WindowPositions", this.Caption, ;
              lcValue, CURDIR() + INIFILE)

ENDPROC
PROCEDURE restorewindowpos
LOCAL  lcBuffer, ;
      lcOldError, ;
      lnTop, ;
      lnLeft, ;
      llError, ;
      lnCommaPos, ;
      lnDockPosition

lcBuffer = SPACE(10) + CHR(0)
lcOldError = ON('ERROR')
lnDockPosition = 0

*-- Write toolbar position to INI file
IF GetPrivStr("WindowPositions", this.Caption, "", ;
               @lcBuffer, LEN(lcBuffer), ;
               CURDIR() + INIFILE) > 0
  *-- If an error occurs while parsing the string, 
  *-- just ignore the string and use the form's 
  *-- defaults
  ON ERROR llError = .T.
  lnCommaPos = AT(",", lcBuffer)
  IF lnCommaPos > 0
    lnTop  = VAL(LEFT(lcBuffer, lnCommaPos - 1))
    lnLeft = VAL(SUBSTR(lcBuffer, lnCommaPos + 1))
  ELSE
    lnDockPosition = VAL(lcBuffer)
  ENDIF
  ON ERROR &lcOldError
  IF !llError
    *-- If position contains a comma, then set the 
    *-- appropriate properties, otherwise call
    *-- the Dock method.
    IF lnCommaPos > 0
      this.Top = lnTop
      this.Left = lnLeft
    ELSE
      this.Dock(lnDockPosition)
    ENDIF
  ENDIF
ELSE
  RETURN .F.
ENDIF

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

*-- Restore the toolbar's position
IF !this.RestoreWindowPos()
  *-- Default is to dock toolbar at top
  this.Dock(TOOL_TOP)
ENDIF

ENDPROC
PROCEDURE Destroy
*-- Save the toolbar's position
this.SaveWindowPos()
*-- Make the toolbar disappear faster
this.Visible = .F.

ENDPROC
PROCEDURE Refresh
LPARAMETERS tcCondition
LOCAL llBOF, ;
      llEOF, ;
      llAllowEdits, ;
      llAllowNew, ;
      llSaveAndRestore

IF PARAMETERS() = 0
  tcCondition = ""
ENDIF

llBOF = BOF() OR (tcCondition = "BOF")
llEOF = EOF() OR (tcCondition = "EOF")

*-- Update navigation buttons
this.cmdFirst.Enabled = !llBOF
this.cmdPrior.Enabled = !llBOF
this.cmdNext.Enabled = !llEOF
this.cmdLast.Enabled = !llEOF

*-- Update New, Save, Restore, and Close buttons
IF FormIsObject() 
  IF TYPE("_screen.Activeform.lAllowEdits") <> "U"
    llAllowEdits = _screen.Activeform.lAllowEdits
    llAllowNew = _screen.Activeform.lAllowNew
    *- llSaveAndRestore = _screen.Activeform.lAllowEdits AND _screen.Activeform.DataChanged()
    this.cmdNew.Enabled = llAllowNew
    this.cmdSave.Enabled = llAllowEdits
    this.cmdRestore.Enabled = llAllowEdits
  ENDIF
  this.cmdClose.Enabled = _screen.Activeform.Closable
ENDIF  

RETURN

*-- Chart to help determine enabled property
*-- of navigation buttons based on llBOF and llEOF
*-- values.
*            FIRST    PREV    NEXT    LAST
* EOF,  BOF    .F.      .F.      .F.      .F.
*!EOF,  BOF    .F.      .F.      .T.      .T.
* EOF, !BOF    .T.      .T.      .F.      .F.
*!EOF, !BOF    .T.      .T.      .T.      .T.
ENDPROC
$x��� _$_$�i%��"���U����
%�C+
����%�C��
��3�	B�����%�C����U�
��C������� %�C���C���	����	B������T��CO��H�%�C+����
H������	B�����%��CO����	B�����
��C����	B������	B�����U	LNRECNOLNRETVALTHISFORMWRITEBUFFER
ISNEWANDEMPTYRESTOREDATACHANGED	ASKTOSAVEREFRESHFORM�����%�C��
��&�	B�����%�C����H�
��C�����}� %�C���C���	��y�	B������T��CO��-�%��CO����	B�����%�C+����	B�����
��C����	B����U	LNRECNOLNRETVALTHISFORMWRITEBUFFER
ISNEWANDEMPTYRESTOREDATACHANGED	ASKTOSAVEREFRESHFORM������%�C��
��*�	B�����%�C����W�
��C����T��a����� %�C���C���	����	B������T��CO��#6�%��
��CO	����	B�����
%�C+
����
��C��	���	B����U
LNRECNOLNRETVAL
LLNEWANDEMPTYTHISFORMWRITEBUFFER
ISNEWANDEMPTYRESTOREDATACHANGED	ASKTOSAVEREFRESHFORM����
%�C
����%�C��
��3�	B�����%�C����U�
��C������� %�C���C���	����	B������T��CO��
H������%�C����	B�����%��CO����	B�����
��C����	B������	B�����U	LNRECNOLNRETVALTHISFORMWRITEBUFFER
ISNEWANDEMPTYRESTOREDATACHANGED	ASKTOSAVEREFRESHFORM��������T��C��
��%��
�	C��
	��D�B�a���%��
����T��Ca�
��
%������%�C���z�������CC����������	#�CO��R,:��Information saved.����T���	�
�a��t�:�
B��
��ULAERRORLLERRORTHISFORMWRITEBUFFERTHISDATACHANGEDERROROAPPOTOOLBARCMDNEWENABLED�����T��a��T%�C�,Are you sure you want to delete this record?�$�Delete Warning�x���q�B�-���&%��3C�����
�4C��������
��C����B�a���T��CO���H�%�C+����
H������
%�C
����
��C�������c%�C�7That was the last record. Do you want to add a new one?�$�Tasmanian Traders�x���o�
��C�������
��C���������%��CO����T��-�����
��C������	B����ULNRECNOLLRETVALTHISFORMRESTOREREFRESHFORMADDNEWRELEASE�%�C������%�C����/�
��C�����b� %�C���C���	��^�B�-����T����	�-��t�:��
��C��
���UTHISFORMWRITEBUFFER
ISNEWANDEMPTYRESTOREDATACHANGED	ASKTOSAVEOAPPOTOOLBARCMDNEWENABLEDREFRESHFORMm
��Ca���%�C+��=�
H������%�C��9�
��C������T�����a��t�:�
��C����UTHISFORMRELEASEOAPPOTOOLBARCMDNEWENABLEDREFRESHFORM���T��a��A%�C�thisform.ActiveControlb�O�C���f�GRID	����H%�C�$thisform.ActiveControl.ControlSourceb�U�
C����
	����%�C�����������>������������ T��C������������	B����ULLRETVALTHISFORM
ACTIVECONTROL	BASECLASS
CONTROLSOURCEVALUE,T���a��
��C����T���-��UTHISFORM
LOCKSCREENREFRESHU���T��C�����6��T������ ��C�MousePointer�����U
TLWAITMODELNMOUSEPOINTERTHISFORMMOUSEPOINTERSETALLy������������%�C�t���G�T����	���\�
T������T��C�
XC� ��T��C�ERROR���F%�C�WindowPositions���C�>C��TASTRADE.INI�
���r�1�
llError = .T.�T��C�,���T��CC���=g��T��CC���\g��ON ERROR &lcOldError
%��
��n�T������T��������U
TCENTRYLCBUFFER
LCOLDERRORLNTOPLNLEFTLLERROR
LNCOMMAPOSLCENTRYTHISFORMCAPTION
GETPRIVSTRTOPLEFT��������%�C�t���3�T�������H�
T������.T��CCC���DZ��,CCC���DZ���6��C�WindowPositions��C��TASTRADE.INI���UTCENTRYLCVALUELCENTRYTHISFORMCAPTIONTOPLEFTWRITEPRIVSTRD���%�C�oAppb�O��=�%�C�Windows
��L��menus\window.mpr��:%�C�Window���C�WindowC�Window���
����T��C�Window�������&T��C�WindowC�Window������s�����"�����T������@ON SELECTION BAR lnBar OF Window ACTIVATE Window &lcFormName
�ULNBARMENUSWINDOWTHISFORMCAPTION
LCFORMNAMENAME�������%�C�t���3�T�������H�
T������%�C�oAppb�O���'���C�Window��(������������)%�C�WindowC�Window��������<�C�Window������!����%�C�Window�����	<����<�������U	TCCAPTIONLNBAR	LCCAPTIONTHISFORMCAPTIONWINDOWL%�CC��������B�-���E�#B��2C�����
�4C�������U����NT��C�'Do you want to save your changes first?�#�Tasmanian Traders�x��
H�b����������%�C��
����
T�������������
��C�����	B����ULNANSWERTHISFORMSAVERESTORE*'B�CCC����gCC�3CC����>QgG���U%�C������B�a���%�C��
��:���B�-���%�CC�����G�(�����-%�CC��
C����
	�C����	����F��������%�CC�
���%�C������
��C������ %�C��	�C��
�	�����B�-�����B�a��UTHISFORMCTOOLBARWRITEBUFFERTHIS
DATASESSIONIDDATAENVIRONMENTINITIALSELECTEDALIAS
ISNEWANDEMPTYRESTOREDATACHANGED	ASKTOSAVE	G&(�Ud����'%�C�	m.gTTradeb�L��
�
����J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���
��C����%%�C���
�C�oAppb�O	����
��C������C�������,T��	�����Insert trigger failed!��,T��	�����Update trigger failed!��,T��	�����Delete trigger failed!��U
	LNMENUNUM
LCFORMNAMEGTTRADETHISFORMRESTOREWINDOWPOSCTOOLBAR	ADDTOMENUOAPPSHOWNAVTOOLBAR	AERRORMSG,���T�������%�C��
��4�
F�����.%�C���
�C�
oApp.oToolbarb�O	��v���C������t�:�G&(�����%�C+��%�
H������%�C��!�b��C�?There are no records on file. You will be placed in 'Add' mode.�@�Tasmanian Traders�x��
��C��	����U
LCALIASTHISFORMDATAENVIRONMENTINITIALSELECTEDALIASCTOOLBAROAPPOTOOLBARREFRESHCAPTIONADDNEW�T���-��%�C�oAppb�O��r�.%�C�
this.ctoolbarb�U�
C���
	��n�
��C����
��C������
��C����UTHISFORMVISIBLETHISCTOOLBARREMOVEFROMMENUOAPPRELEASENAVTOOLBAR
SAVEWINDOWPOS���������������%�����J�T�	�
�a��B����C���z��
H�i������������C� ��.��CCC�����0�Tasmanian Traders�x��%�C�������
��C�����T��a�����/��1�%�a��"�R,:��Table rule failed!���T��a�����.������C� ��/T��CC�.C���Field�RuleText���T��C��"����#��C��0�Tasmanian Traders�x��2�����C� ��:T��CEC�
 �Method: �C�
 �Line: CC�Z���+T��C���An error has occurred�x��
H�A���������%�a��a�L��{�
��
���B���������X�2���B���	B����UNERRORCMETHODNLINELLHANDLEDERRORLAERROR	LCMESSAGELNANSWERTHISFORMLSETERROROFFTHIS	LHADERROR	AERRORMSGRESTOREOAPPCLEANUPnext,��first���last���priorX��save���delete2��addnewR	��restoref
��writebuffer��refreshformn��waitmode���restorewindowposR
��
savewindowposE��	addtomenuC��removefrommenu���datachanged��	asktosavee��
isnewandemptyP��QueryUnload~��Unload%��Init2��Activate��Destroy���Error���1��#�A���AA�A���A�A����A2�$�A���AA�A�A��A��7�$�A����AA�Q��A��A�7��#�A���AA����A�A����A6"�qA���aBA���AAC��6��CqAc�qA�AE�����5���AA����AA�2��qAAC�R�A3�����AAC��2q����AAA�2���2s�3q���ARQeT1����AA3q���A�c3r�arA���aArA4q���A�q��AAA���AB34q�2A2q��!�A�A�2s2#qA#AqA���AA���AqAAAr2a3�s�qA�R�2A���3q3�A�A�����#�AA3�����AA�2���AA��!��R�A�!��A�"��a3������A��AAAA�AAA�2��^,2ym	UH�	�b
M�vj����i��v���'�M>�l�G�� Q�= �!w��!$��9$�&�'�'�(�)��)p*��*�-�3�-�-5�-�0C�0�3$U
4�5F^�5�=W)_$Z��� AAz%����U�%�C������B���������T��CW��T������
T�����%�C�����p�B��
F�����T��C��� T��CC��
�C����6��T��CC+���CO6��T������%�C��
�C��	��6�GSUM &lcFieldToSum.  WHILE luKey = EVAL(lcOrder)  TO this.nColumnSum
���6%�C�
SOURCETYPE���C�
SOURCETYPE������*SUM &lcFieldToSum.  TO this.nColumnSum
��%�������	#�����
F����U	THISCFIELDTOSUM	LNOLDAREA
LNOLDRECNOLUKEYLCFIELDTOSUMLCORDER
NCOLUMNSUMRECORDSOURCE
��C����UTHIS	SUMCOLUMN	sumcolumn,��Refreshc��1'AAv��"AA����s�b�AA�A�4�1Yw�<)A=�PROCEDURE next
*-- Next
LOCAL lnRecNo, ;
      lnRetVal

IF !EOF()
  *-- If the contents of the current control could not 
  *-- be saved, return cancel code
  IF !thisform.WriteBuffer()
    RETURN FILE_CANCEL
  ENDIF
    
  *-- If adding a new record but nothing entered yet
  IF thisform.IsNewAndEmpty()
    thisform.Restore()
  ELSE
    *-- If data changed and user cancels, return cancel code
    IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
      RETURN FILE_CANCEL
    ENDIF
  ENDIF
  lnRecNo = RECNO()
  SKIP
  
  *-- If we're at EOF, return EOF code
  IF EOF()
    SKIP -1
    RETURN FILE_EOF
  ENDIF
  
  *-- If we're still on the same record,
  *-- return cancel code
  IF lnRecNo = RECNO()
    RETURN FILE_CANCEL
  ENDIF

  *-- If we get this far, all is well
  thisform.RefreshForm()
   RETURN FILE_OK
ELSE
  RETURN FILE_EOF
ENDIF
ENDPROC
PROCEDURE first
*-- First
LOCAL lnRecNo, ;
      lnRetVal

*-- If the contents of the current control could not 
*-- be saved, return cancel code
IF !thisform.WriteBuffer()
  RETURN FILE_CANCEL
ENDIF

*-- If adding a new record but nothing entered yet
IF thisform.IsNewAndEmpty()
  thisform.Restore()
ELSE
  *-- If data changed and user cancels, return cancel code
  IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
    RETURN FILE_CANCEL
  ENDIF
ENDIF
lnRecNo = RECNO()
LOCATE

*-- If we're still on the same record,
*-- return cancel code
IF lnRecNo = RECNO()
  RETURN FILE_CANCEL
ENDIF

IF EOF()
  RETURN FILE_EOF
ENDIF

thisform.RefreshForm()
RETURN FILE_BOF





ENDPROC
PROCEDURE last
*-- Last
LOCAL lnRecNo, ;
      lnRetVal, ;
      llNewAndEmpty

*-- If the contents of the current control could not 
*-- be saved, return cancel code
IF !thisform.WriteBuffer()
  RETURN FILE_CANCEL
ENDIF
  
*-- If adding a new record but nothing entered yet
IF thisform.IsNewAndEmpty()
  thisform.Restore()
  llNewAndEmpty = .T.
ELSE
  *-- If data changed and user cancels, return cancel code
  IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
    RETURN FILE_CANCEL
  ENDIF
ENDIF
lnRecNo = RECNO()
GO BOTTOM

*-- If we're still on the same record,
*-- return cancel code
IF !llNewAndEmpty AND lnRecNo = RECNO()
  RETURN FILE_CANCEL
ENDIF

IF !EOF()
  thisform.RefreshForm()
ENDIF

RETURN FILE_EOF





ENDPROC
PROCEDURE prior
*-- Prior
LOCAL lnRecNo, ;
      lnRetVal

IF !BOF()
  *-- If the contents of the current control could not 
  *-- be saved, return cancel code
  IF !thisform.WriteBuffer()
    RETURN FILE_CANCEL
  ENDIF
  
  *-- If adding a new record but nothing entered yet
  IF thisform.IsNewAndEmpty()
    thisform.Restore()
  ELSE
    *-- If data changed and user cancels, return cancel code
    IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
      RETURN FILE_CANCEL
    ENDIF
  ENDIF
  lnRecNo = RECNO()
  SKIP -1

  *-- If we're at BOF, return BOF code
  IF BOF()
    RETURN FILE_BOF
  ENDIF

  *-- If we're still on the same record,
  *-- return cancel code
  IF lnRecNo = RECNO()
    RETURN FILE_CANCEL
  ENDIF

  *-- If we get this far, all is well
  thisform.RefreshForm()
   RETURN FILE_OK
ELSE
  RETURN FILE_BOF
ENDIF




ENDPROC
PROCEDURE save
LOCAL laError[AERRORARRAY], ;
      llError

llError = !thisform.WriteBuffer()

IF !llError AND !this.DataChanged()
  RETURN .T.
ENDIF

IF !llError
  llError = !TABLEUPDATE(.T.)
  IF llError
    IF AERROR(laError) > 0
      *-- Let the form's error handler handle the error
      thisform.Error(laError[1])
    ENDIF
  ELSE
    *-- Force any relations to be updated
    GO (RECNO())
    WAIT WINDOW NOWAIT INFSAVED_LOC
  ENDIF
ENDIF

*- enable new button
oApp.oToolBar.cmdNew.Enabled = .T.
ACTIVATE MENU _msysmenu NOWAIT

RETURN !llError




ENDPROC
PROCEDURE delete
LOCAL lnRecNo, ;
      llRetVal

llRetVal = .T.
IF MESSAGEBOX(DELETEREC_LOC, ;
              MB_ICONQUESTION + MB_YESNO, ;
              DELETEWARN_LOC) = IDNO
  RETURN .F.
ENDIF

*-- If adding a new record, just revert it
IF "3" $ GETFLDSTATE(-1) OR "4" $ GETFLDSTATE(-1)
  thisform.Restore()
  RETURN .T.
ENDIF

lnRecNo = RECNO()
DELETE

*-- When buffering is in use, you need to move off the record to
*-- actually delete it. This may not be successful if the 
*-- delete trigger fails. 
SKIP
IF EOF()
  SKIP -1
  IF !BOF()
    thisform.RefreshForm()
  ELSE
    *-- Ask to add a new record if user just deleted last record
    *-- in file
    IF (MESSAGEBOX(ADDNEWREC_LOC, ;
                   MB_ICONQUESTION + MB_YESNO, ;
                   TASTRADE_LOC)) = IDYES
      thisform.AddNew()
    ELSE
      *-- If user does not wish to add a new record, no sense keeping
      *-- the form around.
      thisform.Release()
    ENDIF        
  ENDIF
ELSE
  IF lnRecNo = RECNO()
    llRetVal = .F.
  ELSE
    thisform.RefreshForm()
  ENDIF
ENDIF

RETURN llRetVal
ENDPROC
PROCEDURE addnew
*-- Add a blank record to the end of the table
IF thisform.WriteBuffer()
  IF thisform.IsNewAndEmpty()
    thisform.Restore()
  ELSE
    IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
      RETURN .F.
    ENDIF
  ENDIF
  
  *- disable new button
  oApp.oToolBar.cmdNew.Enabled = .F.
  ACTIVATE MENU _msysmenu NOWAIT
  
  APPEND BLANK
  thisform.RefreshForm()
ENDIF

ENDPROC
PROCEDURE restore
*-- Cancel all user changes
=TABLEREVERT(.T.)

IF EOF()
  SKIP -1
  IF BOF()
    thisform.Release()
  ENDIF
ENDIF

*- enable new button
oApp.oToolBar.cmdNew.Enabled = .T.
ACTIVATE MENU _msysmenu NOWAIT

thisform.RefreshForm()
ENDPROC
PROCEDURE writebuffer
LOCAL llRetval
llRetVal = .T.

*-- Code to save field value to buffer when
*-- clicking on toolbar without leaving the field
*-- Don't do this for a grid since a grid may change
*-- work areas unexpectedly
IF TYPE("thisform.ActiveControl") == "O" AND ;
    UPPER(thisform.ActiveControl.BaseClass) <> "GRID"
  IF TYPE("thisform.ActiveControl.ControlSource") <> "U" AND ;
      !EMPTY(thisform.ActiveControl.ControlSource)
    IF EVAL(thisform.ActiveControl.ControlSource) <> thisform.ActiveControl.Value
      REPLACE (thisform.ActiveControl.ControlSource) WITH thisform.ActiveControl.Value
      *-- We rely on the fact that we revert the field's value
      *-- in the error event method for the form. 
      llRetVal = (EVAL(thisform.ActiveControl.ControlSource) = thisform.ActiveControl.Value)
    ENDIF
  ENDIF
ENDIF

RETURN llRetVal
ENDPROC
PROCEDURE refreshform
*-- By providing a custom form refresh method such as this, 
*-- we are now able to lock the screen each time we refresh, as
*-- well as override this method for custom refresh processing
*-- in a subclass. (See the order history class).
thisform.LockScreen = .T.
thisform.Refresh()
thisform.LockScreen = .F.
ENDPROC
PROCEDURE waitmode
*-- Changes the mouse cursor for the form and all it's children based
*-- on the value of the tlWaitMode parameter
LPARAMETERS tlWaitMode

lnMousePointer = IIF(tlWaitMode, MOUSE_HOURGLASS, MOUSE_DEFAULT)
thisform.MousePointer = lnMousePointer
thisform.SetAll('MousePointer', lnMousePointer)

ENDPROC
PROCEDURE restorewindowpos
LPARAMETERS tcEntry
LOCAL  lcBuffer, ;
      lcOldError, ;
      lnTop, ;
      lnLeft, ;
      llError, ;
      lnCommaPos, ;
      lcEntry

IF PCOUNT() = 0
  lcEntry = thisform.Caption
ELSE
  lcEntry = tcEntry
ENDIF

lcBuffer = SPACE(10) + CHR(0)
lcOldError = ON('ERROR')

*-- Read the window position from the INI file
IF GetPrivStr("WindowPositions", lcEntry, "", ;
               @lcBuffer, LEN(lcBuffer), ;
               CURDIR() + INIFILE) > 0
  *-- If an error occurs while parsing the string, 
  *-- just ignore the string and use the form's 
  *-- defaults
  ON ERROR llError = .T.
  lnCommaPos = AT(",", lcBuffer)
  lnTop  = VAL(LEFT(lcBuffer, lnCommaPos - 1))
  lnLeft = VAL(SUBSTR(lcBuffer, lnCommaPos + 1))
  ON ERROR &lcOldError
  IF !llError
    thisform.Top = lnTop
    thisform.Left = lnLeft
  ENDIF
ENDIF

ENDPROC
PROCEDURE savewindowpos
LPARAMETERS tcEntry
LOCAL lcValue, ;
      lcEntry

IF PCOUNT() = 0
  lcEntry = thisform.Caption
ELSE
  lcEntry = tcEntry
ENDIF

lcValue = ALLT(STR(MAX(thisform.Top, 0))) + ',' + ;
          ALLT(STR(MAX(thisform.Left, 0)))
*-- Write the entry to the INI file
=WritePrivStr("WindowPositions", lcEntry, ;
              lcValue, CURDIR() + INIFILE)

ENDPROC
PROCEDURE addtomenu
*-- Add the form's caption to the Window menu popup
LOCAL lnBar

IF TYPE("oApp") == "O"
	IF !POPUP("Window")
		*- need to define Windows menu
		DO menus\window.mpr
	ENDIF
	*-- Find the next available bar number
	IF CNTBAR("Window") = 0 OR ;
		GETBAR("Window", CNTBAR("Window")) < 0     && At a Fox system BAR
		lnBar = CNTBAR("Window") + 1
	ELSE
		lnBar = GETBAR("Window", CNTBAR("Window")) + 1
	ENDIF

	DEFINE BAR lnBar OF Window PROMPT thisform.caption && AFTER _MLAST
	lcFormName = thisform.Name
	ON SELECTION BAR lnBar OF Window ACTIVATE Window &lcFormName
ENDIF


ENDPROC
PROCEDURE removefrommenu
LPARAMETERS tcCaption
LOCAL lnBar, ;
      lcCaption

IF PCOUNT() = 0
  lcCaption = thisform.Caption
ELSE
  lcCaption = tcCaption
ENDIF

*-- Remove the form's caption from the Window menu popup.
*-- We check to see if the application object
*-- exists to prevent error messages when running
*-- the form outside the project
IF TYPE('oApp') == "O"
  FOR lnBar = CNTBAR("Window") TO 1 STEP -1
    IF PRMBAR("Window", GETBAR("Window", lnBar)) = lcCaption
      RELEASE BAR GETBAR("Window", lnBar) OF Window
      EXIT
    ENDIF
  ENDFOR
  IF CNTBAR("Window") = 0
  	*- now menu is empty so remove it
  	RELEASE POPUP window EXTENDED
  	RELEASE PAD window OF _MSYSMENU
  ENDIF

ENDIF

ENDPROC
PROCEDURE datachanged
*-- Assumes table or view for current work area
*-- Returns .T. if any data has changed

IF ISNULL(GETFLDSTATE(-1))
  RETURN .F.
ELSE
  RETURN ("2" $ GETFLDSTATE(-1) OR ;
          "4" $ GETFLDSTATE(-1))
ENDIF
ENDPROC
PROCEDURE asktosave
LOCAL lnAnswer
*-- Prompt user to save changes, and save or restore
*-- based on answer
lnAnswer = MESSAGEBOX(SAVECHANGES_LOC, ;
                      MB_ICONQUESTION + MB_YESNOCANCEL, ;
                      TASTRADE_LOC)
DO CASE
  CASE lnAnswer = IDYES
    IF !thisform.Save()
      lnAnswer = IDCANCEL
    ENDIF
  CASE lnAnswer = IDNO
    thisform.Restore()
ENDCASE

RETURN lnAnswer
ENDPROC
PROCEDURE isnewandempty
*-- Return .T. if user has added a new record but has not yet 
*-- made any changes.
RETURN (VAL(GETFLDSTATE(-1)) % VAL(REPLICATE("3", LEN(GETFLDSTATE(-1))))) = 0
ENDPROC
PROCEDURE QueryUnload
*-- If we don't have a toolbar, the we'll assume we're not doing any
*-- editing, so just return .T.
IF EMPTY(thisform.cToolBar)
  RETURN .T.
ENDIF

*-- Write out the contents current control
IF !thisform.WriteBuffer()
  NODEFAULT
  RETURN .F.
ENDIF

*-- If adding a new record but nothing entered yet
IF EMPTY(ALIAS())
	*- just in case
	SET DATASESSION TO (THIS.DataSessionID)
	IF EMPTY(ALIAS()) AND !EMPTY(THIS.DataEnvironment.InitialSelectedAlias) AND USED(THIS.DataEnvironment.InitialSelectedAlias)
		SELECT (THIS.DataEnvironment.InitialSelectedAlias)
	ENDIF
ENDIF
IF !EMPTY(ALIAS())
	IF thisform.IsNewAndEmpty()
	  thisform.Restore()
	ELSE
	  IF thisform.DataChanged() AND thisform.AskToSave() = IDCANCEL
	    NODEFAULT
	    RETURN .F.
	  ENDIF
	ENDIF
ENDIF

RETURN .T.
ENDPROC
PROCEDURE Unload
SET MESSAGE TO

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LOCAL lnMenuNum, ;
      lcFormName

*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF

*-- Restore window's position from INI file
thisform.RestoreWindowPos()
IF !EMPTY(thisform.cToolBar) AND ;
    TYPE("oApp") == "O"
  *-- Add form's caption to the menu
  thisform.AddToMenu()
  *-- Put up the navigation toolbar
  oApp.ShowNavToolBar(thisform.cToolBar)
ENDIF

*-- Initialize default error message array
thisform.aErrorMsg[INSERTTRIG] = INSERTTRIGFAIL_LOC
thisform.aErrorMsg[UPDATETRIG] = UPDATETRIGFAIL_LOC
thisform.aErrorMsg[DELETETRIG] = DELETETRIGFAIL_LOC

ENDPROC
PROCEDURE Activate
LOCAL lcAlias
*-- Ensure the proper alias is selected whenver this form is
*-- activated
lcAlias = thisform.DataEnvironment.InitialSelectedAlias
IF !EMPTY(lcAlias)
  SELECT (lcAlias)
ENDIF

*-- If this form is using a toolbar, refresh it
IF !EMPTY(thisform.cToolBar) AND ;
    TYPE("oApp.oToolbar") == "O"
  oApp.oToolbar.Refresh()
ENDIF

*-- Force the menu to refresh
ACTIVATE MENU _MSYSMENU NOWAIT

*-- Update the status bar message
SET MESSAGE TO thisform.Caption

*-- If there are no records in the file, inform user that we
*-- are switching into add mode.
IF EOF()
  SKIP -1
  IF BOF()
    =MESSAGEBOX(ENTERADDMODE_LOC, ;
                MB_ICONINFORMATION, ;
                TASTRADE_LOC)
    thisform.AddNew()
  ENDIF
ENDIF
    
ENDPROC
PROCEDURE Destroy
*-- Make form disapper before doing anything else
thisform.Visible = .F.

IF TYPE('oApp') == "O"
  IF TYPE("this.ctoolbar") <> "U" AND ;
      !EMPTY(this.ctoolbar)
    *-- Remove the form's caption from the menu
    this.RemoveFromMenu()
    *-- Release the navigation toolbar
    oApp.ReleaseNavToolBar()
  ENDIF
ENDIF

*-- Save window's position to the INI file
thisform.SaveWindowPos()
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
LOCAL llHandledError, ;
      laError[AERRORARRAY], ;
      lcMessage, ;
      lnAnswer

IF THISFORM.lSetErrorOff
	THIS.lHadError = .T.
	RETURN
ENDIF

*-- Load the laError with error information
=AERROR(laError)
DO CASE
  CASE nError = 1539    && Trigger failed
    ?? CHR(7)
    *-- Use form property array to retrieve appropriate error message, 
    *-- which was initialized in the form's Init() event method.
    =MESSAGEBOX(thisform.aErrorMsg[laError[5]], ;
                MB_ICONEXCLAMATION, ;
                TASTRADE_LOC)
    *-- Restore the form if the Delete trigger failed
    IF laError[5] = DELETETRIG
      thisform.Restore()
    ENDIF
    llHandledError = .T.
  CASE nError = 1583    && Table rule failed
    *-- We assume that the appropriate error message was
    *-- displayed within the table rule. Therefore,
    *-- there is no need to handle the error here.
    IF DEBUGMODE
      *-- If we are in debug mode, put up a wait window to indicate
      *-- when table rule fails. 
      WAIT WINDOW NOWAIT TABLERULEFAIL_LOC
    ENDIF
    llHandledError = .T.
  
  CASE nError = 1582    && Field rule violated
    ?? CHR(7)
    lcMessage = DBGETPROP(ALIAS() + "." + laError[3], "Field", "RuleText")
    lcMessage = STRTRAN(lcMessage, '"', '')
    =MESSAGEBOX(lcMessage, ;
                MB_ICONEXCLAMATION, ;
                TASTRADE_LOC)

  OTHERWISE
    ?? CHR(7)
    lcMessage = MESSAGE() + CR + ;
            METHOD_LOC + cMethod + CR + ;
            LINENUM_LOC + ALLT(STR(nLine))
    lnAnswer = MESSAGEBOX(lcMessage, ;
                          MB_ICONSTOP + MB_ABORTRETRYIGNORE, ;
                          ERRORTITLE_LOC)
    DO CASE
      CASE lnAnswer = IDABORT
      	IF DEBUGMODE
        	SUSPEND
        ELSE
        	oApp.Cleanup
        	CANCEL
        	RETURN
		ENDIF
      CASE lnAnswer = IDRETRY
        RETRY
      OTHERWISE
        RETURN
    ENDCASE
ENDCASE

RETURN llHandledError

ENDPROC
	���� �	�	�(%�	g2�U
B�a��U:�������T������T������T��C�FROM����T��CC���\���T��CC�C� �=`��%��,�����T��C�C�>�=���T������%�C��	�
����T��C��	����L�T��CC�C� �\���T��CC�C� �=���%��,���H�T��C�C�>�=����%��.���~�T��C�C�.��\���T��
���.���T��C��
=��%�C��	�����T��	�����%�C���
���)R,:��Index tag not found.C�
 ����T������T������ULCROWSOURCE	LNPOSFROMLCALIAS	LCTAGNAMELCCONTROLSOURCETHIS
CONTROLSOURCE	ROWSOURCECALIASCTAGCFIELDISTAG#T������T������UTHIS
CSEARCHSTRINGSELSTART��������%�C������-�B��_%�C�����C��4�6��C����	�C����C����	�������B��T��C��O��
H���������?�%�C�������#����)��;�%�C��+
���H������%�C��+��7�#����6����������%�C�����q�#����)����%�C��
����H�����������%�C������#����)����C�� �~�����T�����C� ��2��B����)%������	�
C���
	��T���CC��f��������5%�C����	C��+���	���	��2�%��C��N����#����)����#���������%���
���T�������T��	�����.�!T���C��C��>�=����d�T���C��
���T��	�C��>���T���C��>��UNKEYCODE
NSHIFTALTCTRLLNRECNOTHISCALIASDISPLAYVALUE
CSEARCHSTRINGCTAGLLIMITTOLIST	SELLENGTHCFIELDSELSTARTq���T������T������G=LOOKUP(&lcField,  UPPER(this.DisplayValue),  &lcField,  this.cTag)
ULCFIELDTHIS
CSEARCHSTRINGCFIELDValid,��Init:��	LostFocus���KeyPress8��InteractiveChange:��1q2wa��!�A5!���!�AA#�A�#$At�A42�qrBA�BA"�"��1�A!�AA"��1BA!�AAW��AAE��ARb��1A1�A�RRAS3qt36!$A�P'��Ub���)�	0b"mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R030WZ44S 5523543825Lcz� WINDOWS _R030WZ452 552354382$3J WINDOWS _QUZ0QVRLG 5523543829EY�+< WINDOWS _QY51ED1A9 509759778\p����Y'�: WINDOWS _QY30MHCQZ 552354229�)�)�)�)�) WINDOWS _QY30MHCR9 512468469,*;*J*W*�* WINDOWS _QY30MHCS3 552354229�*
++'+\+ WINDOWS _QY30MHCSD 512468469�+�+�+�+, WINDOWS _QY30MHCT7 552354229w,�,�,�,�, WINDOWS _QY30MHCTH 552354229,-;-J-W-�- WINDOWS _QY30MHCUB 552354229...,.a. WINDOWS _QY30MHCUL 552354229�.�.�.�.
/ WINDOWS _QZ40XZQEC 552354229|/�/�/�/�/ WINDOWS _QZ40XZQEW 552354229F0U0d0q0�0 WINDOWS _QZ40XZQII 5523542291 1.1?1v1 WINDOWS _QZ40XZQIS 512468469�1�1�1�1%2 WINDOWS _QZ40XZQK6 552354229�2�2�2�2�2 WINDOWS _QZ40XZQKQ 512468469K3Z3i3v3�3 WINDOWS _QZ40XZQME 5523542294#414C4{4 WINDOWS _QZ40XZQMO 512468469�4�4�4�4-5 WINDOWS _QZ40XZQO2 552354229�5�5�5�5�5 WINDOWS _QZ40XZQOM 512468469>6M6\6i6�6 WINDOWS _QZ40XZQQB 552354229777-7a7 WINDOWS _QZ40XZQQL 512468469�7�7�7�78 WINDOWS _QZ40XZQS9 552354229k8y8�8�8�8 WINDOWS _QZ40XZQSJ 51246846929A9P9]9�9 WINDOWS _QZ40XZQU7 552354229����99: WINDOWS _QZ40XZQUH 512468470�tg�D WINDOWS _QZ40XZQW5 5523542296(R)� WINDOWS _QZ40XZQWP 512468470C)4)')�(�( WINDOWS _QZA18IPCU 552354229|(n(X( � WINDOWS _QZA18IPDE 552354229���a
 COMMENT RESERVED            ��:?7VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 110
Top = 473
Width = 346
Height = 251
AutoCloseTables = .F.
InitialSelectedAlias = "Customer"
Name = "Dataenvironment"
cursorcursorcursor1Dataenvironment�Left = 20
Top = 10
Width = 138
Height = 178
Alias = "Customer"
Order = "customer_i"
Database = ..\data\tastrade.dbc
CursorSource = "Customer"
Name = "cursor1"
22tsmaintform..\libs\tsbase.vcxformfrmcustomers|DataSession = 2
ScaleMode = 3
Top = 3
Left = 12
Height = 352
Width = 604
DoCreate = .T.
AutoCenter = .F.
Caption = "Customers"
Icon = ..\bitmaps\cust.ico
Name = "frmcustomers"
pageframe1.ErasePage = .T.
pageframe1.page1.Name = "page1"
pageframe1.page2.grdlist.ColumnCount = 14
pageframe1.page2.grdlist.Column1.FontBold = .F.
pageframe1.page2.grdlist.Column1.FontSize = 8
pageframe1.page2.grdlist.Column1.ControlSource = "Customer.customer_id"
pageframe1.page2.grdlist.Column1.Width = 73
pageframe1.page2.grdlist.Column1.Name = "grcID"
pageframe1.page2.grdlist.Column2.FontBold = .F.
pageframe1.page2.grdlist.Column2.FontSize = 8
pageframe1.page2.grdlist.Column2.ControlSource = "Customer.company_name"
pageframe1.page2.grdlist.Column2.Width = 165
pageframe1.page2.grdlist.Column2.Name = "grcName"
pageframe1.page2.grdlist.Column3.FontSize = 8
pageframe1.page2.grdlist.Column3.ColumnOrder = 5
pageframe1.page2.grdlist.Column3.ControlSource = "Customer.address"
pageframe1.page2.grdlist.Column3.Width = 184
pageframe1.page2.grdlist.Column3.Name = "grcAddress"
pageframe1.page2.grdlist.Column4.FontSize = 8
pageframe1.page2.grdlist.Column4.ColumnOrder = 6
pageframe1.page2.grdlist.Column4.ControlSource = "Customer.city"
pageframe1.page2.grdlist.Column4.Width = 172
pageframe1.page2.grdlist.Column4.Name = "grcCity"
pageframe1.page2.grdlist.Column5.FontSize = 8
pageframe1.page2.grdlist.Column5.ColumnOrder = 4
pageframe1.page2.grdlist.Column5.ControlSource = "Customer.contact_title"
pageframe1.page2.grdlist.Column5.Width = 164
pageframe1.page2.grdlist.Column5.Name = "grcContactTitle"
pageframe1.page2.grdlist.Column6.FontBold = .F.
pageframe1.page2.grdlist.Column6.FontSize = 8
pageframe1.page2.grdlist.Column6.ColumnOrder = 7
pageframe1.page2.grdlist.Column6.ControlSource = "Customer.region"
pageframe1.page2.grdlist.Column6.Name = "grcRegion"
pageframe1.page2.grdlist.Column7.FontBold = .F.
pageframe1.page2.grdlist.Column7.FontSize = 8
pageframe1.page2.grdlist.Column7.ColumnOrder = 8
pageframe1.page2.grdlist.Column7.ControlSource = "Customer.postal_code"
pageframe1.page2.grdlist.Column7.Name = "grcPostalCode"
pageframe1.page2.grdlist.Column8.FontBold = .F.
pageframe1.page2.grdlist.Column8.FontSize = 8
pageframe1.page2.grdlist.Column8.ColumnOrder = 9
pageframe1.page2.grdlist.Column8.ControlSource = "Customer.country"
pageframe1.page2.grdlist.Column8.Width = 89
pageframe1.page2.grdlist.Column8.Name = "grcCountry"
pageframe1.page2.grdlist.Column9.FontBold = .F.
pageframe1.page2.grdlist.Column9.FontSize = 8
pageframe1.page2.grdlist.Column9.ColumnOrder = 10
pageframe1.page2.grdlist.Column9.ControlSource = "Customer.phone"
pageframe1.page2.grdlist.Column9.Width = 96
pageframe1.page2.grdlist.Column9.Name = "grcPhone"
pageframe1.page2.grdlist.Column10.FontBold = .F.
pageframe1.page2.grdlist.Column10.FontSize = 8
pageframe1.page2.grdlist.Column10.ColumnOrder = 11
pageframe1.page2.grdlist.Column10.ControlSource = "Customer.fax"
pageframe1.page2.grdlist.Column10.Width = 101
pageframe1.page2.grdlist.Column10.Name = "grcFax"
pageframe1.page2.grdlist.Column11.FontBold = .F.
pageframe1.page2.grdlist.Column11.FontSize = 8
pageframe1.page2.grdlist.Column11.ColumnOrder = 12
pageframe1.page2.grdlist.Column11.ControlSource = "Customer.max_order_amt"
pageframe1.page2.grdlist.Column11.Width = 107
pageframe1.page2.grdlist.Column11.InputMask = "$$9,999,999,999.99"
pageframe1.page2.grdlist.Column11.Name = "grcMaxOrderAmt"
pageframe1.page2.grdlist.Column12.FontBold = .F.
pageframe1.page2.grdlist.Column12.FontSize = 8
pageframe1.page2.grdlist.Column12.ColumnOrder = 13
pageframe1.page2.grdlist.Column12.ControlSource = "Customer.min_order_amt"
pageframe1.page2.grdlist.Column12.Width = 103
pageframe1.page2.grdlist.Column12.InputMask = "$$9,999,999,999.99"
pageframe1.page2.grdlist.Column12.Name = "grcMinOrderAmt"
pageframe1.page2.grdlist.Column13.FontBold = .F.
pageframe1.page2.grdlist.Column13.FontSize = 8
pageframe1.page2.grdlist.Column13.ColumnOrder = 14
pageframe1.page2.grdlist.Column13.ControlSource = "Customer.discount"
pageframe1.page2.grdlist.Column13.InputMask = "99.99%"
pageframe1.page2.grdlist.Column13.Name = "grcDiscount"
pageframe1.page2.grdlist.Column14.FontBold = .F.
pageframe1.page2.grdlist.Column14.FontSize = 8
pageframe1.page2.grdlist.Column14.ColumnOrder = 3
pageframe1.page2.grdlist.Column14.ControlSource = "Customer.contact_name"
pageframe1.page2.grdlist.Column14.Width = 173
pageframe1.page2.grdlist.Column14.Name = "grcContactName"
pageframe1.page2.grdlist.Height = 322
pageframe1.page2.grdlist.Left = 0
pageframe1.page2.grdlist.Panel = 1
pageframe1.page2.grdlist.TabIndex = 1
pageframe1.page2.grdlist.Top = 0
pageframe1.page2.grdlist.Width = 598
pageframe1.page2.grdlist.Name = "grdlist"
pageframe1.page2.Name = "page2"
pageframe1.Top = 0
pageframe1.Left = 0
pageframe1.Width = 603
pageframe1.Height = 351
pageframe1.Name = "pageframe1"
�PROCEDURE addnew
tsMaintForm::AddNew()
thisform.pageframe1.page1.cntCustomerInfo.txtCustomer_ID.SetFocus()
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

tsBaseForm::Init()
this.aErrorMsg[DELETETRIG] = DELCUSTOMER_LOC
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
DO CASE
  CASE nError = 1884    && Primary key violated
    thisform.pageframe1.page1.cntCustomerInfo.Error(nError, cMethod, nLine)
  CASE nError = 1582    && Field rule violated
    thisform.pageframe1.page1.cntCustomerInfo.Error(nError, cMethod, nLine)
  OTHERWISE
    tsMaintForm::Error(nError, cMethod, nLine)
ENDCASE

ENDPROC
Text1textboxtextboxgrhMinOrderAmtheaderheaderIFontSize = 8
Alignment = 2
Caption = "Discount"
Name = "grhDiscount"
grhDiscountheaderheader\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
4frmcustomers.pageframe1.page2.grdlist.grcMinOrderAmt!Arial, 0, 8, 5, 14, 11, 20, 3, 0
LFontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
4frmcustomers.pageframe1.page2.grdlist.grcContactNameText1textboxtextboxPFontSize = 8
Alignment = 2
Caption = "Contact Name"
Name = "grhContactName"
4frmcustomers.pageframe1.page2.grdlist.grcContactNamecustomerinfo..\libs\tsgen.vcx	containercntCustomerInfofrmcustomers.pageframe1.page1	{Top = -1
Left = -3
Width = 616
Height = 327
Name = "cntCustomerInfo"
txtCompany_Name.TabIndex = 2
txtCompany_Name.Name = "txtCompany_Name"
txtContact_Name.TabIndex = 3
txtContact_Name.Name = "txtContact_Name"
txtContact_Title.TabIndex = 4
txtContact_Title.Name = "txtContact_Title"
txtAddress.TabIndex = 5
txtAddress.Name = "txtAddress"
txtCity.TabIndex = 6
txtCity.Name = "txtCity"
txtRegion.TabIndex = 7
txtRegion.Name = "txtRegion"
txtPostal_Code.TabIndex = 8
txtPostal_Code.Name = "txtPostal_Code"
txtCountry.TabIndex = 9
txtCountry.Name = "txtCountry"
txtPhone.TabIndex = 10
txtPhone.Name = "txtPhone"
Tslabel12.Height = 22
Tslabel12.Width = 121
Tslabel12.TabIndex = 15
Tslabel12.Name = "Tslabel12"
Tslabel13.Height = 17
Tslabel13.Width = 121
Tslabel13.TabIndex = 16
Tslabel13.Name = "Tslabel13"
Tslabel14.Height = 17
Tslabel14.Width = 121
Tslabel14.TabIndex = 17
Tslabel14.Name = "Tslabel14"
Tslabel15.Height = 17
Tslabel15.Width = 121
Tslabel15.TabIndex = 18
Tslabel15.Name = "Tslabel15"
Tslabel16.Height = 17
Tslabel16.Width = 121
Tslabel16.TabIndex = 21
Tslabel16.Name = "Tslabel16"
Tslabel17.Height = 17
Tslabel17.Width = 121
Tslabel17.TabIndex = 23
Tslabel17.Name = "Tslabel17"
Tslabel18.Height = 17
Tslabel18.Width = 121
Tslabel18.TabIndex = 24
Tslabel18.Name = "Tslabel18"
Tslabel19.Height = 17
Tslabel19.Width = 121
Tslabel19.TabIndex = 25
Tslabel19.Name = "Tslabel19"
Tslabel20.Height = 17
Tslabel20.Width = 121
Tslabel20.TabIndex = 26
Tslabel20.Name = "Tslabel20"
Tslabel21.Height = 17
Tslabel21.Width = 121
Tslabel21.TabIndex = 27
Tslabel21.Name = "Tslabel21"
Tslabel1.Height = 22
Tslabel1.Width = 121
Tslabel1.TabIndex = 28
Tslabel1.Name = "Tslabel1"
txtCustomer_ID.TabIndex = 1
txtCustomer_ID.Name = "txtCustomer_ID"
Ts3dshape1.Height = 95
Ts3dshape1.Width = 200
Ts3dshape1.Name = "Ts3dshape1"
txtMax_Ord_Amt.TabIndex = 12
txtMax_Ord_Amt.Name = "txtMax_Ord_Amt"
txtMin_Ord_Amt.TabIndex = 13
txtMin_Ord_Amt.Name = "txtMin_Ord_Amt"
txtDiscount.TabIndex = 14
txtDiscount.Name = "txtDiscount"
lblMaximum.Height = 22
lblMaximum.Width = 77
lblMaximum.TabIndex = 19
lblMaximum.Name = "lblMaximum"
Tslabel2.Height = 22
Tslabel2.Width = 77
Tslabel2.TabIndex = 20
Tslabel2.Name = "Tslabel2"
Tslabel3.Height = 22
Tslabel3.Width = 77
Tslabel3.TabIndex = 22
Tslabel3.Name = "Tslabel3"
txtFax.TabIndex = 11
txtFax.Name = "txtFax"
�PROCEDURE txtCustomer_ID.Refresh
*-- Only allow change to customer ID if we're adding a new record.
this.Enabled = IIF(ISNULL(GETFLDSTATE(-1, "customer")),.F.,("3" $ GETFLDSTATE(-1, "customer") OR "4" $ GETFLDSTATE(-1, "customer")))

ENDPROC
grhContactNameheaderheader\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
1frmcustomers.pageframe1.page2.grdlist.grcDiscountText1textboxtextbox1frmcustomers.pageframe1.page2.grdlist.grcDiscountheaderheadergrhID+frmcustomers.pageframe1.page2.grdlist.grcID=FontSize = 8
Alignment = 2
Caption = "ID"
Name = "grhID"
textboxtextboxText1+frmcustomers.pageframe1.page2.grdlist.grcIDjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhName-frmcustomers.pageframe1.page2.grdlist.grcNameAFontSize = 8
Alignment = 2
Caption = "Name"
Name = "grhName"
textboxtextboxText1-frmcustomers.pageframe1.page2.grdlist.grcNamejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheader
grhAddress0frmcustomers.pageframe1.page2.grdlist.grcAddressGFontSize = 8
Alignment = 2
Caption = "Address"
Name = "grhAddress"
textboxtextboxText10frmcustomers.pageframe1.page2.grdlist.grcAddressjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhCity-frmcustomers.pageframe1.page2.grdlist.grcCityAFontSize = 8
Alignment = 2
Caption = "City"
Name = "grhCity"
textboxtextboxText1-frmcustomers.pageframe1.page2.grdlist.grcCityjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhContactTitle5frmcustomers.pageframe1.page2.grdlist.grcContactTitleRFontSize = 8
Alignment = 2
Caption = "Contact Title"
Name = "grhContactTitle"
textboxtextboxText15frmcustomers.pageframe1.page2.grdlist.grcContactTitle\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader	grhRegion/frmcustomers.pageframe1.page2.grdlist.grcRegionEFontSize = 8
Alignment = 2
Caption = "Region"
Name = "grhRegion"
textboxtextboxText1/frmcustomers.pageframe1.page2.grdlist.grcRegion\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader
grhPostalCode3frmcustomers.pageframe1.page2.grdlist.grcPostalCodeNFontSize = 8
Alignment = 2
Caption = "Postal Code"
Name = "grhPostalCode"
textboxtextboxText13frmcustomers.pageframe1.page2.grdlist.grcPostalCode\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader
grhCountry0frmcustomers.pageframe1.page2.grdlist.grcCountryGFontSize = 8
Alignment = 2
Caption = "Country"
Name = "grhCountry"
textboxtextboxText10frmcustomers.pageframe1.page2.grdlist.grcCountry\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhPhone.frmcustomers.pageframe1.page2.grdlist.grcPhoneCFontSize = 8
Alignment = 2
Caption = "Phone"
Name = "grhPhone"
textboxtextboxText1.frmcustomers.pageframe1.page2.grdlist.grcPhone\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhFax,frmcustomers.pageframe1.page2.grdlist.grcFax?FontSize = 8
Alignment = 2
Caption = "Fax"
Name = "grhFax"
textboxtextboxText1,frmcustomers.pageframe1.page2.grdlist.grcFax\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhMaxOrderAmt4frmcustomers.pageframe1.page2.grdlist.grcMaxOrderAmtQFontSize = 8
Alignment = 2
Caption = "Max Order Amt"
Name = "grhMaxOrderAmt"
textboxtextboxText14frmcustomers.pageframe1.page2.grdlist.grcMaxOrderAmt\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
4frmcustomers.pageframe1.page2.grdlist.grcMinOrderAmtQFontSize = 8
Alignment = 2
Caption = "Min Order Amt"
Name = "grhMinOrderAmt"
b..\include\tastrade.h�rA�($..\..\..\..\..\..\vfp6\foxpro.h�s�#..\include\strings.h�tA�($'��� ��%����U`]T���CCC����customer���-�3�3C����customer���4C����customer�6��UTHISENABLEDtxtCustomer_ID.Refresh,��1�2"�)��� ����%3�`�U*��C�������C��������UTSMAINTFORMADDNEWTHISFORM
PAGEFRAME1PAGE1CNTCUSTOMERINFOTXTCUSTOMER_IDSETFOCUSJ��C�����9T�������#Customer has orders. Cannot delete!��U
TSBASEFORMINITTHIS	AERRORMSG������
H�������\��P�"��C�������������.����"��C����������2�����C���������U	NERRORCMETHODNLINETHISFORM
PAGEFRAME1PAGE1CNTCUSTOMERINFOERRORTSMAINTFORMaddnew,��Init���Error(��1��2��2��!!!!��A2l��	w)�0b-mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R0O0TN7NO 5158620745Lcz� WINDOWS _R0O0TN7NP 552753658$3J WINDOWS _QUZ0RTZUG 5527536589EYq�6 WINDOWS _QYP1AHJ4C 511028523v����� WINDOWS _QYP1AHJ5Q 511028523u����� WINDOWS _QYP1AHJ6A 511028523]n���� WINDOWS _QYP1AHJ7E 511028523\k���� WINDOWS _QYP1AHJ88 511028523DUo~�� WINDOWS _QYP1AHJ9C 511028523FUo|�� WINDOWS _QYP1AHJ9W 511028523,=Wfx� WINDOWS _QYP1AHJB0 511028523+ERb� WINDOWS _QYP1AHJBV 511028523/>Mr WINDOWS _QYP1AHJCZ 511028523�� " 2 W  WINDOWS _QYP1AHJDT 511028523� � � !!B! WINDOWS _QYP1AHJEN 511028523�!�!�!�!"+" WINDOWS _QYP1AHJFH 511028523�"�"�"�"�"# WINDOWS _QYP1AHJGL 511028523�#�#�#�#�#$ WINDOWS _QYP1AHJHF 511028523�$�$�$�$�$% WINDOWS _QYP1AHJIJ 511028523�%�%�%�%�%�% WINDOWS _QYP1AHJJ3 511028523l&}&�&�&�&�& WINDOWS _QYP1AHJK7 511028523W'f'�'�'�'�' WINDOWS _QYP1AHJL1 511028523>(O(i(x(�(�( WINDOWS _QYP1AHJM5 511028523$)3)M)Z)k)�) WINDOWS _QY31CJ4F1 512120996**'*6*k* WINDOWS _QY31CJ4FB 512120996�*�*�*�*$+ WINDOWS _QY31CJ4G5 512120996�+�+�+�+�+ WINDOWS _QY31CJ4GF 512120996[,j,y,�,�, WINDOWS _QY31CJ4GZ 5121209960->-L-[-�- WINDOWS _QY31CJ4H9 512120996�-�-..I. WINDOWS _QY31CJ4I3 512120996�.�.�.�./ WINDOWS _QY31CJ4ID 512120996|/�/�/�/�/ WINDOWS _QZ413X3BY 512120996P0^0l0�0�0 WINDOWS _QZ413X3C8 512120996&151D1Q1�1 WINDOWS _QZ413X3DM 512120996�1�1
2$2a2 WINDOWS _QZ413X3DW 512120996�2�2�2�233 WINDOWS _QZ413X3FA 512120996�3�3�3�34 WINDOWS _QZ413X3FU 512120996i4x4�4�4�4 WINDOWS _QZ413X3GY 51212099635A5O5a5�5 WINDOWS _QZ413X3HI 512120996zk^�506 WINDOWS _QZ413X3IW 512120996hZJ(� WINDOWS _QZ413X3J7 512120996����* WINDOWS _QZ413X3KL 512120996�u WINDOWS _QZ413X3KV 512120996fWJ� COMMENT RESERVED            ��6:YVERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 128
Top = 231
Width = 219
Height = 191
AutoCloseTables = .F.
InitialSelectedAlias = "Supplier"
Name = "Dataenvironment"
cursorcursorcursor1Dataenvironment�Left = 20
Top = 10
Width = 110
Height = 130
Alias = "Supplier"
Order = "company_na"
Database = ..\data\tastrade.dbc
CursorSource = "Supplier"
Name = "cursor1"
22tsmaintform..\libs\tsbase.vcxformfrmsuppliers
DataSession = 2
ScaleMode = 3
Top = 17
Left = 21
Height = 326
Width = 529
DoCreate = .T.
AutoCenter = .F.
BorderStyle = 2
Caption = "Suppliers"
Icon = ..\bitmaps\spplrs.ico
Name = "frmsuppliers"
pageframe1.ErasePage = .T.
pageframe1.page1.Name = "page1"
pageframe1.page2.grdlist.ColumnCount = 10
pageframe1.page2.grdlist.Column1.FontBold = .F.
pageframe1.page2.grdlist.Column1.FontSize = 8
pageframe1.page2.grdlist.Column1.ControlSource = "Supplier.company_name"
pageframe1.page2.grdlist.Column1.Width = 160
pageframe1.page2.grdlist.Column1.Name = "grcName"
pageframe1.page2.grdlist.Column2.FontBold = .F.
pageframe1.page2.grdlist.Column2.FontSize = 8
pageframe1.page2.grdlist.Column2.ControlSource = "Supplier.address"
pageframe1.page2.grdlist.Column2.Width = 143
pageframe1.page2.grdlist.Column2.Name = "grcAddress"
pageframe1.page2.grdlist.Column3.FontBold = .F.
pageframe1.page2.grdlist.Column3.FontSize = 8
pageframe1.page2.grdlist.Column3.ControlSource = "Supplier.city"
pageframe1.page2.grdlist.Column3.Width = 110
pageframe1.page2.grdlist.Column3.Name = "grcCity"
pageframe1.page2.grdlist.Column4.FontBold = .F.
pageframe1.page2.grdlist.Column4.FontSize = 8
pageframe1.page2.grdlist.Column4.ControlSource = "Supplier.region"
pageframe1.page2.grdlist.Column4.Width = 87
pageframe1.page2.grdlist.Column4.Name = "grcRegion"
pageframe1.page2.grdlist.Column5.FontBold = .F.
pageframe1.page2.grdlist.Column5.FontSize = 8
pageframe1.page2.grdlist.Column5.ControlSource = "Supplier.contact_name"
pageframe1.page2.grdlist.Column5.Width = 145
pageframe1.page2.grdlist.Column5.Name = "grcContactName"
pageframe1.page2.grdlist.Column6.FontBold = .F.
pageframe1.page2.grdlist.Column6.FontSize = 8
pageframe1.page2.grdlist.Column6.ControlSource = "Supplier.contact_title"
pageframe1.page2.grdlist.Column6.Width = 144
pageframe1.page2.grdlist.Column6.Name = "grcContactTitle"
pageframe1.page2.grdlist.Column7.FontBold = .F.
pageframe1.page2.grdlist.Column7.FontSize = 8
pageframe1.page2.grdlist.Column7.ControlSource = "Supplier.postal_code"
pageframe1.page2.grdlist.Column7.Name = "grcPostalCode"
pageframe1.page2.grdlist.Column8.FontBold = .F.
pageframe1.page2.grdlist.Column8.FontSize = 8
pageframe1.page2.grdlist.Column8.ControlSource = "Supplier.country"
pageframe1.page2.grdlist.Column8.Width = 87
pageframe1.page2.grdlist.Column8.Name = "grcCountry"
pageframe1.page2.grdlist.Column9.FontBold = .F.
pageframe1.page2.grdlist.Column9.FontSize = 8
pageframe1.page2.grdlist.Column9.ControlSource = "Supplier.phone"
pageframe1.page2.grdlist.Column9.Width = 93
pageframe1.page2.grdlist.Column9.Name = "grcPhone"
pageframe1.page2.grdlist.Column10.FontBold = .F.
pageframe1.page2.grdlist.Column10.FontSize = 8
pageframe1.page2.grdlist.Column10.ControlSource = "Supplier.fax"
pageframe1.page2.grdlist.Column10.Width = 91
pageframe1.page2.grdlist.Column10.Name = "grcFax"
pageframe1.page2.grdlist.Height = 296
pageframe1.page2.grdlist.Left = 0
pageframe1.page2.grdlist.Panel = 1
pageframe1.page2.grdlist.TabIndex = 1
pageframe1.page2.grdlist.Top = 0
pageframe1.page2.grdlist.Width = 523
pageframe1.page2.grdlist.Name = "grdlist"
pageframe1.page2.Name = "page2"
pageframe1.Top = 0
pageframe1.Left = 0
pageframe1.Width = 528
pageframe1.Height = 325
pageframe1.Name = "pageframe1"
�PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

LOCAL laError[AERRORARRAY], ;
      lcMessage
=AERROR(laError)

DO CASE
  CASE nError = 1582        && Field rule violated
    tsMaintForm::Error(nError, cMethod, nLine)

    DO CASE
      CASE UPPER(laError[3]) = "COMPANY_NAME"
        this.Pageframe1.Page1.txtCompany_Name.SetFocus()
    ENDCASE

  OTHERWISE
    tsMaintForm::Error(nError, cMethod, nLine)
    
ENDCASE

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

tsBaseForm::Init()
this.aErrorMsg[DELETETRIG] = DELSUPPLIER_LOC
ENDPROC
PROCEDURE addnew
tsMaintForm::AddNew()
thisform.pageframe1.page1.txtCompany_Name.SetFocus()
ENDPROC
.frmsuppliers.pageframe1.page2.grdlist.grcPhoneText1textboxtextbox!Arial, 0, 8, 5, 14, 11, 20, 3, 0
\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
,frmsuppliers.pageframe1.page2.grdlist.grcFaxText1textboxtextboxOFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Fax"
Name = "grhFax"
,frmsuppliers.pageframe1.page2.grdlist.grcFaxgrhFaxheaderheader\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
.frmsuppliers.pageframe1.page2.grdlist.grcPhoneText1textboxtextboxSFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Phone"
Name = "grhPhone"
grhPhoneheaderheader	tstextbox..\libs\tsbase.vcxtextboxtxtCompany_Namefrmsuppliers.pageframe1.page1�ControlSource = "supplier.company_name"
Height = 24
Left = 142
TabIndex = 1
Top = 10
Width = 296
Name = "txtCompany_Name"
tslabel..\libs\tsbase.vcxlabelTslabel1frmsuppliers.pageframe1.page1uAlignment = 1
Caption = "Company"
Height = 17
Left = 10
Top = 10
Width = 121
TabIndex = 11
Name = "Tslabel1"
	tstextbox..\libs\tsbase.vcxtextboxtxtContact_Namefrmsuppliers.pageframe1.page1�ControlSource = "supplier.contact_name"
Height = 24
Left = 142
TabIndex = 2
Top = 38
Width = 251
Name = "txtContact_Name"
tslabel..\libs\tsbase.vcxlabelTslabel2frmsuppliers.pageframe1.page1uAlignment = 1
Caption = "Contact"
Height = 17
Left = 10
Top = 38
Width = 121
TabIndex = 12
Name = "Tslabel2"
	tstextbox..\libs\tsbase.vcxtextboxtxtContact_Titlefrmsuppliers.pageframe1.page1�ControlSource = "supplier.contact_title"
Height = 24
Left = 142
TabIndex = 3
Top = 66
Width = 251
Name = "txtContact_Title"
tslabel..\libs\tsbase.vcxlabelTslabel3frmsuppliers.pageframe1.page1sAlignment = 1
Caption = "Title"
Height = 17
Left = 10
Top = 66
Width = 121
TabIndex = 13
Name = "Tslabel3"
	tstextbox..\libs\tsbase.vcxtextbox
txtAddressfrmsuppliers.pageframe1.page1wControlSource = "supplier.address"
Height = 24
Left = 142
TabIndex = 4
Top = 94
Width = 361
Name = "txtAddress"
tslabel..\libs\tsbase.vcxlabelTslabel4frmsuppliers.pageframe1.page1uAlignment = 1
Caption = "Address"
Height = 17
Left = 10
Top = 94
Width = 121
TabIndex = 14
Name = "Tslabel4"
	tstextbox..\libs\tsbase.vcxtextboxtxtCityfrmsuppliers.pageframe1.page1rControlSource = "supplier.city"
Height = 24
Left = 142
TabIndex = 5
Top = 122
Width = 171
Name = "txtCity"
tslabel..\libs\tsbase.vcxlabelTslabel5frmsuppliers.pageframe1.page1sAlignment = 1
Caption = "City"
Height = 17
Left = 10
Top = 122
Width = 121
TabIndex = 15
Name = "Tslabel5"
	tstextbox..\libs\tsbase.vcxtextbox	txtRegionfrmsuppliers.pageframe1.page1vControlSource = "supplier.region"
Height = 24
Left = 142
TabIndex = 6
Top = 150
Width = 104
Name = "txtRegion"
tslabel..\libs\tsbase.vcxlabelTslabel6frmsuppliers.pageframe1.page1uAlignment = 1
Caption = "Region"
Height = 17
Left = 10
Top = 150
Width = 121
TabIndex = 16
Name = "Tslabel6"
	tstextbox..\libs\tsbase.vcxtextboxtxtPostal_Codefrmsuppliers.pageframe1.page1�ControlSource = "supplier.postal_code"
Height = 24
Left = 142
TabIndex = 7
Top = 178
Width = 104
Name = "txtPostal_Code"
tslabel..\libs\tsbase.vcxlabelTslabel7frmsuppliers.pageframe1.page1zAlignment = 1
Caption = "Postal Code"
Height = 17
Left = 10
Top = 178
Width = 121
TabIndex = 17
Name = "Tslabel7"
	tstextbox..\libs\tsbase.vcxtextbox
txtCountryfrmsuppliers.pageframe1.page1xControlSource = "supplier.country"
Height = 24
Left = 142
TabIndex = 8
Top = 206
Width = 146
Name = "txtCountry"
tslabel..\libs\tsbase.vcxlabelTslabel8frmsuppliers.pageframe1.page1vAlignment = 1
Caption = "Country"
Height = 17
Left = 10
Top = 206
Width = 121
TabIndex = 18
Name = "Tslabel8"
	tstextbox..\libs\tsbase.vcxtextboxtxtPhonefrmsuppliers.pageframe1.page1tControlSource = "supplier.phone"
Height = 24
Left = 141
TabIndex = 9
Top = 234
Width = 122
Name = "txtPhone"
tslabel..\libs\tsbase.vcxlabelTslabel9frmsuppliers.pageframe1.page1tAlignment = 1
Caption = "Phone"
Height = 17
Left = 10
Top = 234
Width = 121
TabIndex = 19
Name = "Tslabel9"
	tstextbox..\libs\tsbase.vcxtextboxtxtFaxfrmsuppliers.pageframe1.page1qControlSource = "supplier.fax"
Height = 24
Left = 141
TabIndex = 10
Top = 262
Width = 122
Name = "txtFax"
tslabel..\libs\tsbase.vcxlabel	Tslabel10frmsuppliers.pageframe1.page1sAlignment = 1
Caption = "Fax"
Height = 17
Left = 10
Top = 262
Width = 121
TabIndex = 20
Name = "Tslabel10"
headerheadergrhName-frmsuppliers.pageframe1.page2.grdlist.grcNameQFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Name"
Name = "grhName"
textboxtextboxText1-frmsuppliers.pageframe1.page2.grdlist.grcNamejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheader
grhAddress0frmsuppliers.pageframe1.page2.grdlist.grcAddressWFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Address"
Name = "grhAddress"
textboxtextboxText10frmsuppliers.pageframe1.page2.grdlist.grcAddressjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhCity-frmsuppliers.pageframe1.page2.grdlist.grcCityQFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "City"
Name = "grhCity"
textboxtextboxText1-frmsuppliers.pageframe1.page2.grdlist.grcCityjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheader	grhRegion/frmsuppliers.pageframe1.page2.grdlist.grcRegionUFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Region"
Name = "grhRegion"
textboxtextboxText1/frmsuppliers.pageframe1.page2.grdlist.grcRegionjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhContactName4frmsuppliers.pageframe1.page2.grdlist.grcContactName`FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Contact Name"
Name = "grhContactName"
textboxtextboxText14frmsuppliers.pageframe1.page2.grdlist.grcContactName\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhContactTitle5frmsuppliers.pageframe1.page2.grdlist.grcContactTitlebFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Contact Title"
Name = "grhContactTitle"
textboxtextboxText15frmsuppliers.pageframe1.page2.grdlist.grcContactTitle\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader
grhPostalCode3frmsuppliers.pageframe1.page2.grdlist.grcPostalCode^FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Postal Code"
Name = "grhPostalCode"
textboxtextboxText13frmsuppliers.pageframe1.page2.grdlist.grcPostalCode\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader
grhCountry0frmsuppliers.pageframe1.page2.grdlist.grcCountryWFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Country"
Name = "grhCountry"
0frmsuppliers.pageframe1.page2.grdlist.grcCountry\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
b..\include\tastrade.h��A�($..\..\..\..\..\..\vfp6\foxpro.hœ�#..\include\strings.hʝA�($S��� ::�n%z���U���������������C���z��
H�;������.������C��������
H�t���#�CC��f�COMPANY_NAME������C���	�
����2�����C���������UNERRORCMETHODNLINELAERROR	LCMESSAGETSMAINTFORMERRORTHIS
PAGEFRAME1PAGE1TXTCOMPANY_NAMESETFOCUS]��C�����LT�������6Products are supplied by this supplier. Cannot delete!��U
TSBASEFORMINITTHIS	AERRORMSG'��C�������C�������UTSMAINTFORMADDNEWTHISFORM
PAGEFRAME1PAGE1TXTCOMPANY_NAMESETFOCUSError,��Init~��addnew��1���!��1aA��B3��2�a1��<Y�):0b	mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R0O0TMLK3 5158620605Lcz� WINDOWS _R0O0TMLK4 515862060$3J WINDOWS _QUZ0SCXE0 5158620609EX�1 WINDOWS _QUZ0SCXFE 511445416-�r[z> WINDOWS _QUZ0SV7RL 511445416kQ �
q
 WINDOWS _QY31C7J5Z 512120988c
U
F

� WINDOWS _QY31C7J69 512120988���Z� COMMENT FONTINFO            ��~VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 123
Top = 191
Width = 191
Height = 207
AutoCloseTables = .F.
InitialSelectedAlias = "Shippers"
Name = "Dataenvironment"
cursorcursorcursor1Dataenvironment�Left = 20
Top = 10
Width = 110
Height = 130
Alias = "Shippers"
Order = "company_na"
Database = ..\data\tastrade.dbc
CursorSource = "Shippers"
Name = "cursor1"
21tsmaintform..\libs\tsbase.vcxformfrmshippers�ScaleMode = 3
Top = 111
Left = 61
Height = 121
Width = 520
DoCreate = .T.
AutoCenter = .F.
Caption = "Shippers"
Icon = ..\bitmaps\shpprs1.ico
WindowState = 0
Name = "frmshippers"
pageframe1.ErasePage = .T.
pageframe1.page1.Name = "page1"
pageframe1.page2.grdlist.ColumnCount = 1
pageframe1.page2.grdlist.Column1.FontBold = .F.
pageframe1.page2.grdlist.Column1.FontSize = 8
pageframe1.page2.grdlist.Column1.ControlSource = "Shippers.company_name"
pageframe1.page2.grdlist.Column1.Width = 493
pageframe1.page2.grdlist.Column1.Name = "grcName"
pageframe1.page2.grdlist.Height = 91
pageframe1.page2.grdlist.Left = 0
pageframe1.page2.grdlist.Panel = 1
pageframe1.page2.grdlist.ScrollBars = 2
pageframe1.page2.grdlist.TabIndex = 1
pageframe1.page2.grdlist.Top = 0
pageframe1.page2.grdlist.Width = 514
pageframe1.page2.grdlist.Name = "grdlist"
pageframe1.page2.Name = "page2"
pageframe1.Top = 0
pageframe1.Left = 0
pageframe1.Width = 519
pageframe1.Height = 120
pageframe1.Name = "pageframe1"
txtCompany_Nametextbox..\libs\tsbase.vcx�PROCEDURE addnew
tsMaintForm::AddNew()
thisform.pageframe1.page1.txtCompany_Name.SetFocus()
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

tsBaseForm::Init()
this.aErrorMsg[DELETETRIG] = DELSHIPPER_LOC
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

LOCAL laError[AERRORARRAY], ;
      lcMessage
=AERROR(laError)

DO CASE
  CASE nError = 1582        && Field rule violated
    tsMaintForm::Error(nError, cMethod, nLine)

    DO CASE
      CASE UPPER(laError[3]) = "COMPANY_NAME"
        this.Pageframe1.Page1.txtCompany_Name.SetFocus()
    ENDCASE

  OTHERWISE
    tsMaintForm::Error(nError, cMethod, nLine)
    
ENDCASE

ENDPROC
..\libs\tsbase.vcxtslabelfrmshippers.pageframe1.page1BArial, 1, 8, 5, 14, 11, 14, 3, 0
Arial, 0, 8, 5, 14, 11, 20, 3, 0
jFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
,frmshippers.pageframe1.page2.grdlist.grcNameText1textboxtextboxQFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Name"
Name = "grhName"
,frmshippers.pageframe1.page2.grdlist.grcNamegrhNameheaderheadersAlignment = 1
Caption = "Company"
Height = 17
Left = 9
Top = 22
Width = 121
TabIndex = 2
Name = "Tslabel1"
frmshippers.pageframe1.page1Tslabel1label	tstextbox�ControlSource = "shippers.company_name"
Height = 24
Left = 141
TabIndex = 1
Top = 22
Width = 337
Name = "txtCompany_Name"
b..\include\tastrade.hjA�($..\..\..\..\..\..\vfp6\foxpro.hr�#..\include\strings.hz
A�($E��� ,,�.%l���U'��C�������C�������UTSMAINTFORMADDNEWTHISFORM
PAGEFRAME1PAGE1TXTCOMPANY_NAMESETFOCUSO��C�����>T�������(Shipper exists on orders. Cannot delete!��U
TSBASEFORMINITTHIS	AERRORMSG���������������C���z��
H�;������.������C��������
H�t���#�CC��f�COMPANY_NAME������C���	�
����2�����C���������UNERRORCMETHODNLINELAERROR	LCMESSAGETSMAINTFORMERRORTHIS
PAGEFRAME1PAGE1TXTCOMPANY_NAMESETFOCUSaddnew,��Init���Error��1�a2��2���!��1aA��B2]x���),0b5mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R0O0U04RH 5523735215Lcz�K�� WINDOWS _R0O0U05CW 552373833m{��� WINDOWS _R0O0U05D6 552373833_m{�� WINDOWS _R0O0U05DG 552373833GUcr� WINDOWS _R0O0U05DQ 515862396/?O`w WINDOWS _R0O0U05DR 515862396!2I WINDOWS _QUZ0ZKS1X 552373833��		1	E�G WINDOWS _QYP184UP9 511445360���
 ! E  WINDOWS _QYP184UQN 511445360� � � !!8! WINDOWS _QYP184URR 511026287�!�!�!�!
"." WINDOWS _QYP184UTF 511026287�"�"�"�"�"!# WINDOWS _QYP184UU9 511026287�#�#�#�#�#$ WINDOWS _QYP184UVY 511445360�$�$�$�$�$% WINDOWS _QYP184UX2 511026287�%�%�%�%�%& WINDOWS _QYP184UYG 511445360�&�&�&�&�&�& WINDOWS _QYP184UZK 511026287|'�'�'�'�'�' WINDOWS _QYP184V0Y 511445360r(�(�(�(�(�( WINDOWS _QYP184V22 511026287\)n)�)�)�)�) WINDOWS _QYP184V3G 512063537y*�*�*�*�*�* WINDOWS _QYP184V4A 552373521b+t+�+�+�+�+�,� WINDOWS _QYP184VM3 512063537�/�/0!010U0 WINDOWS _QYP184VN7 552373521�0�011&1J1R2 WINDOWS _QYP184W4Q 511445361�3�3�3�3474 WINDOWS _QYP184W6E 511445361�4�4�4�4	5-5 WINDOWS _QYP184W7I 511445361�5�5�5�56)6 WINDOWS _QYP184W8W 511445361�6�6�6�6�6"7 WINDOWS _QYP184WA0 511445361�7�7�7�7�7
8 WINDOWS _QYP184WB4 511026288r8�8�8�8�8�8 WINDOWS _QY31CE2QS 512123578k9y9�9�9�9 WINDOWS _QY31CE2QT 552373833@:O:^:k:�: WINDOWS _QY31CE2RM 512123578;&;4;J;�; WINDOWS _QY31CE2RW 512123578�;�;<<S< WINDOWS _QY31CE2SQ 512123578�<�<�<�<.= WINDOWS _QY31CE2T0 512123578�=�=�=�=�= WINDOWS _QY31CE2TU 512123578h>v>�>�>�> WINDOWS _QY31CE2U4 512123578B?Q?`?m?�? WINDOWS _QZ413MS7N 512123578@)@7@K@�@ WINDOWS _QZ413MS7W 512123578�@�@AAMA WINDOWS _QZ413MS8R 512123578�A�A�A�AB WINDOWS _QZ413MS91 512123579zB�B�B�B�B WINDOWS _QZ413MS9V 512123579ACOC]CtC�C WINDOWS _QZ413MSA5 512123579D*D9DFD�D WINDOWS _QZ413MSAY 512123579�D�DEEUE WINDOWS _QZ413MSB9 512123579�E�E�E�E&F WINDOWS _QZ413MSC3 512123579�F�F�F�F�F WINDOWS _QZ413MSCD 512123579bG-�qG� WINDOWS _QZ50M5NBJ 512123579���3�3�G3 WINDOWS _QZ50QI1SH 51212357993+33�2�/ WINDOWS _QZ50QI1SR 512123579{/l/`4/�. WINDOWS _QZ50QI1TB 512123579�.���.). WINDOWS _QZ50QI1TL 512123579�QD< COMMENT RESERVED            ��L�VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 81
Top = 57
Width = 580
Height = 337
AutoCloseTables = .F.
InitialSelectedAlias = "Products"
Name = "Dataenvironment"
rPROCEDURE BeforeOpenTables
SET TALK OFF
SET EXCLUSIVE OFF
SET DELETED ON
SET DATABASE TO TASTRADE

ENDPROC
4frmproducts.pageframe1.page2.grdlist.grcDiscontinued..\libs\tsbase.vcxText1!Arial, 0, 8, 5, 14, 11, 20, 3, 0
0frmproducts.pageframe1.page2.grdlist.grcCategoryText1textboxText1cursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 134
Height = 279
Alias = "Products"
Order = "product_na"
Database = ..\data\tastrade.dbc
CursorSource = "Products"
Name = "Cursor1"
cursorcursorCursor2Dataenvironment�Left = 225
Top = 8
Width = 137
Height = 256
Alias = "Supplier"
Order = ""
Database = ..\data\tastrade.dbc
CursorSource = "Supplier"
Name = "Cursor2"
cursorcursorCursor3Dataenvironment�Left = 424
Top = 9
Width = 131
Height = 127
Alias = "Category"
Order = ""
Database = ..\data\tastrade.dbc
CursorSource = "Category"
Name = "Cursor3"
relationrelation	Relation1Dataenvironment�ParentAlias = "Products"
RelationalExpr = "supplier_id"
ChildAlias = "Supplier"
ChildOrder = "supplier_i"
Name = "Relation1"
relationrelation	Relation2Dataenvironment�ParentAlias = "Products"
RelationalExpr = "category_id"
ChildAlias = "Category"
ChildOrder = "category_i"
Name = "Relation2"
62tsmaintform..\libs\tsbase.vcxformfrmproductsDataSession = 2
ScaleMode = 3
Top = 34
Left = 21
Height = 236
Width = 581
DoCreate = .T.
AutoCenter = .F.
Caption = "Products"
Icon = ..\bitmaps\prod1.ico
Name = "frmproducts"
pageframe1.ErasePage = .T.
pageframe1.page1.Name = "page1"
pageframe1.page2.grdlist.ColumnCount = 11
pageframe1.page2.grdlist.Column1.FontBold = .F.
pageframe1.page2.grdlist.Column1.FontSize = 8
pageframe1.page2.grdlist.Column1.ControlSource = "Products.product_name"
pageframe1.page2.grdlist.Column1.Width = 226
pageframe1.page2.grdlist.Column1.Name = "grcProductName"
pageframe1.page2.grdlist.Column2.FontBold = .F.
pageframe1.page2.grdlist.Column2.FontSize = 8
pageframe1.page2.grdlist.Column2.ControlSource = "Products.english_name"
pageframe1.page2.grdlist.Column2.Width = 227
pageframe1.page2.grdlist.Column2.Name = "grcEnglishName"
pageframe1.page2.grdlist.Column3.FontBold = .F.
pageframe1.page2.grdlist.Column3.FontSize = 8
pageframe1.page2.grdlist.Column3.ColumnOrder = 4
pageframe1.page2.grdlist.Column3.ControlSource = "Products.unit_price"
pageframe1.page2.grdlist.Column3.Width = 100
pageframe1.page2.grdlist.Column3.Name = "grcUnitPrice"
pageframe1.page2.grdlist.Column4.FontBold = .F.
pageframe1.page2.grdlist.Column4.FontSize = 8
pageframe1.page2.grdlist.Column4.ColumnOrder = 6
pageframe1.page2.grdlist.Column4.ControlSource = "Products.units_in_stock"
pageframe1.page2.grdlist.Column4.Name = "grcUnitsInStock"
pageframe1.page2.grdlist.Column5.FontBold = .F.
pageframe1.page2.grdlist.Column5.FontSize = 8
pageframe1.page2.grdlist.Column5.ColumnOrder = 5
pageframe1.page2.grdlist.Column5.ControlSource = "Products.quantity_in_unit"
pageframe1.page2.grdlist.Column5.Width = 131
pageframe1.page2.grdlist.Column5.Name = "grcQtyInUnit"
pageframe1.page2.grdlist.Column6.FontBold = .F.
pageframe1.page2.grdlist.Column6.FontSize = 8
pageframe1.page2.grdlist.Column6.ColumnOrder = 3
pageframe1.page2.grdlist.Column6.ControlSource = "Products.unit_cost"
pageframe1.page2.grdlist.Column6.Width = 100
pageframe1.page2.grdlist.Column6.Name = "grcUnitCost"
pageframe1.page2.grdlist.Column7.FontBold = .F.
pageframe1.page2.grdlist.Column7.FontSize = 8
pageframe1.page2.grdlist.Column7.ControlSource = "Products.units_on_order"
pageframe1.page2.grdlist.Column7.Name = "grcUnitsOnOrder"
pageframe1.page2.grdlist.Column8.FontBold = .F.
pageframe1.page2.grdlist.Column8.FontSize = 8
pageframe1.page2.grdlist.Column8.ControlSource = "Products.reorder_level"
pageframe1.page2.grdlist.Column8.Name = "grcReorderLevel"
pageframe1.page2.grdlist.Column9.FontBold = .F.
pageframe1.page2.grdlist.Column9.FontSize = 8
pageframe1.page2.grdlist.Column9.ControlSource = "Products.discontinued"
pageframe1.page2.grdlist.Column9.CurrentControl = "Text1"
pageframe1.page2.grdlist.Column9.Sparse = .F.
pageframe1.page2.grdlist.Column9.Name = "grcDiscontinued"
pageframe1.page2.grdlist.Column10.FontBold = .F.
pageframe1.page2.grdlist.Column10.FontSize = 8
pageframe1.page2.grdlist.Column10.ControlSource = "Supplier.company_name"
pageframe1.page2.grdlist.Column10.Width = 201
pageframe1.page2.grdlist.Column10.Name = "grcSupplier"
pageframe1.page2.grdlist.Column11.FontBold = .F.
pageframe1.page2.grdlist.Column11.FontSize = 8
pageframe1.page2.grdlist.Column11.ControlSource = "Category.category_name"
pageframe1.page2.grdlist.Column11.Width = 197
pageframe1.page2.grdlist.Column11.Name = "grcCategory"
pageframe1.page2.grdlist.Height = 206
pageframe1.page2.grdlist.Left = 0
pageframe1.page2.grdlist.Panel = 1
pageframe1.page2.grdlist.TabIndex = 1
pageframe1.page2.grdlist.Top = 0
pageframe1.page2.grdlist.Width = 575
pageframe1.page2.grdlist.Name = "grdlist"
pageframe1.page2.Name = "page2"
pageframe1.Top = 0
pageframe1.Left = 0
pageframe1.Width = 580
pageframe1.Height = 235
pageframe1.Name = "pageframe1"
YPROCEDURE Error
LPARAMETERS nError, cMethod, nLine

LOCAL laError[AERRORARRAY], ;
      lcMessage
=AERROR(laError)

DO CASE
  CASE nError = 1582        && Field rule violated
    tsMaintForm::Error(nError, cMethod, nLine)

    DO CASE
      CASE UPPER(laError[3]) = "PRODUCT_NAME"
        this.Pageframe1.Page1.txtProduct_Name.SetFocus()
    ENDCASE

  OTHERWISE
    tsMaintForm::Error(nError, cMethod, nLine)
    
ENDCASE

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

tsBaseForm::Init()

this.aErrorMsg[DELETETRIG] = DELPRODUCT_LOC
this.aErrorMsg[INSERTTRIG] = INSPRODUCT_LOC

ENDPROC
PROCEDURE addnew
tsMaintForm::AddNew()
thisform.pageframe1.page1.txtProduct_Name.SetFocus()
ENDPROC
PROCEDURE Destroy
tsMaintForm::Destroy()
IF USED("products")
  SELECT products
  SET RELATION TO
ENDIF


ENDPROC
b..\include\tastrade.hjA�($..\..\..\..\..\..\vfp6\foxpro.hr�#..\include\strings.hz
A�($���� ����%b}s�U'%�C�	cCategory��� �Q���U	CCATEGORYDestroy,��1��A1{)����� ����%F6�U�$T����products.supplier_id��jT����Zselect company_name, supplier_id from supplier order by company_name into cursor cSupplier��UTHIS
CONTROLSOURCE	ROWSOURCE'%�C�	cSupplier��� �Q���U	CSUPPLIERInit,��Destroy���1A�3��A1��2)�
tscheckbox\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
textbox\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
textboxgrhCategoryheader	tstextbox..\libs\tsbase.vcxtextboxtxtProduct_Namefrmproducts.pageframe1.page1�ControlSource = "Products.product_name"
Height = 24
Left = 142
TabIndex = 1
Top = 18
Width = 196
Name = "txtProduct_Name"
tslabel..\libs\tsbase.vcxlabelTslabel1frmproducts.pageframe1.page1yAlignment = 1
Caption = "Product Name"
Height = 17
Left = 10
Top = 18
Width = 121
TabIndex = 7
Name = "Tslabel1"
	tstextbox..\libs\tsbase.vcxtextboxtxtEnglish_Namefrmproducts.pageframe1.page1�ControlSource = "Products.english_name"
Height = 24
Left = 142
TabIndex = 2
Top = 46
Width = 196
Name = "txtEnglish_Name"
tslabel..\libs\tsbase.vcxlabelTslabel2frmproducts.pageframe1.page1yAlignment = 1
Caption = "English Name"
Height = 17
Left = 12
Top = 46
Width = 121
TabIndex = 8
Name = "Tslabel2"
	tstextbox..\libs\tsbase.vcxtextboxtxtQuantity_In_Unitfrmproducts.pageframe1.page1�ControlSource = "Products.quantity_in_unit"
Height = 24
Left = 142
TabIndex = 3
Top = 74
Width = 146
Name = "txtQuantity_In_Unit"
tslabel..\libs\tsbase.vcxlabelTslabel3frmproducts.pageframe1.page1zAlignment = 1
Caption = "Number In Unit"
Height = 17
Left = 8
Top = 74
Width = 123
TabIndex = 9
Name = "Tslabel3"
	tstextbox..\libs\tsbase.vcxtextbox
txtUnit_Pricefrmproducts.pageframe1.page1~ControlSource = "Products.unit_price"
Height = 24
Left = 142
TabIndex = 4
Top = 102
Width = 121
Name = "txtUnit_Price"
tslabel..\libs\tsbase.vcxlabelTslabel4frmproducts.pageframe1.page1yAlignment = 1
Caption = "Unit Price"
Height = 17
Left = 10
Top = 102
Width = 121
TabIndex = 10
Name = "Tslabel4"
	tstextbox..\libs\tsbase.vcxtextboxtxtUnit_Costfrmproducts.pageframe1.page1|ControlSource = "Products.unit_cost"
Height = 24
Left = 142
TabIndex = 5
Top = 130
Width = 121
Name = "txtUnit_Cost"
tslabel..\libs\tsbase.vcxlabelTslabel5frmproducts.pageframe1.page1xAlignment = 1
Caption = "Unit Cost"
Height = 17
Left = 10
Top = 130
Width = 121
TabIndex = 11
Name = "Tslabel5"

tscheckbox..\libs\tsbase.vcxcheckboxchkDiscontinuedfrmproducts.pageframe1.page1�Top = 162
Left = 142
Height = 16
Width = 185
Caption = "\<Discontinued"
ControlSource = "Products.discontinued"
TabIndex = 6
Name = "chkDiscontinued"
tslabel..\libs\tsbase.vcxlabelTslabel6frmproducts.pageframe1.page1wAlignment = 0
Caption = "Supplier"
Height = 17
Left = 367
Top = 14
Width = 176
TabIndex = 12
Name = "Tslabel6"

tscombobox..\libs\tsbase.vcxcomboboxcboSupply_IDfrmproducts.pageframe1.page1BoundColumn = 2
RowSourceType = 3
RowSource = "select company_name, supplier_id from supplier order by company_name into cursor cSupplier"
Value = 
ControlSource = "products.supplier_id"
Left = 367
Style = 2
TabIndex = 7
Top = 29
Name = "cboSupply_ID"
=PROCEDURE Init
THIS.ControlSource = "products.supplier_id"
THIS.RowSource = "select company_name, supplier_id from supplier order by company_name into cursor cSupplier"

ENDPROC
PROCEDURE Destroy
*-- Destroy the alias created in the RowSource property
IF USED("cSupplier")
  USE IN cSupplier
ENDIF
ENDPROC
YFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Category"
Name = "grhCategory"
0frmproducts.pageframe1.page2.grdlist.grcCategoryheader\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
0frmproducts.pageframe1.page2.grdlist.grcSuppliertextboxtextboxYFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Supplier"
Name = "grhSupplier"
tslabel..\libs\tsbase.vcxlabelTslabel7frmproducts.pageframe1.page1wAlignment = 0
Caption = "Category"
Height = 17
Left = 367
Top = 59
Width = 176
TabIndex = 13
Name = "Tslabel7"

tscombobox..\libs\tsbase.vcxcomboboxcboCategory_IDfrmproducts.pageframe1.page1BoundColumn = 2
RowSourceType = 3
RowSource = "select category_name, category_id from category order by category_name into cursor cCategory"
ControlSource = "Products.category_id"
Left = 367
Style = 2
TabIndex = 8
Top = 74
Name = "cboCategory_ID"
�PROCEDURE Destroy
*-- Destroy the alias created in the RowSource property
IF USED("cCategory")
  USE IN cCategory
ENDIF
ENDPROC
0frmproducts.pageframe1.page2.grdlist.grcSuppliergrhSupplierheaderheaderOFontBold = .F.
FontSize = 8
Caption = ""
Value = .F.
Name = "Tscheckbox1"
Tscheckbox1checkbox	tstextbox..\libs\tsbase.vcxtextboxtxtReorder_Levelfrmproducts.pageframe1.page1�ControlSource = "Products.reorder_level"
Height = 24
Left = 462
TabIndex = 9
Top = 114
Width = 104
Name = "txtReorder_Level"
tslabel..\libs\tsbase.vcxlabelTslabel8frmproducts.pageframe1.page1}Alignment = 1
Caption = "Reorder Level"
Height = 17
Left = 311
Top = 114
Width = 143
TabIndex = 14
Name = "Tslabel8"
	tstextbox..\libs\tsbase.vcxtextboxtxtUnits_On_Orderfrmproducts.pageframe1.page1�ControlSource = "Products.units_on_order"
Height = 24
Left = 462
TabIndex = 10
Top = 144
Width = 104
Name = "txtUnits_On_Order"
tslabel..\libs\tsbase.vcxlabelTslabel9frmproducts.pageframe1.page1xAlignment = 1
Caption = "On Order"
Height = 17
Left = 334
Top = 144
Width = 121
TabIndex = 15
Name = "Tslabel9"
tslabel..\libs\tsbase.vcxlabel	Tslabel10frmproducts.pageframe1.page1]Caption = "In Stock"
Height = 17
Left = 380
Top = 174
TabIndex = 16
Name = "Tslabel10"
	tstextbox..\libs\tsbase.vcxtextboxtxtUnits_In_Stockfrmproducts.pageframe1.page1zControlSource = "Products.units_in_stock"
Left = 462
TabIndex = 11
Top = 174
Width = 104
Name = "txtUnits_In_Stock"
headerheadergrhProductName3frmproducts.pageframe1.page2.grdlist.grcProductName`FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Product Name"
Name = "grhProductName"
textboxtextboxText13frmproducts.pageframe1.page2.grdlist.grcProductNamejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhEnglishName3frmproducts.pageframe1.page2.grdlist.grcEnglishName`FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "English Name"
Name = "grhEnglishName"
textboxtextboxText13frmproducts.pageframe1.page2.grdlist.grcEnglishNamejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhUnitPrice1frmproducts.pageframe1.page2.grdlist.grcUnitPrice\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Unit Price"
Name = "grhUnitPrice"
textboxtextboxText11frmproducts.pageframe1.page2.grdlist.grcUnitPricejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhUnitsInStock4frmproducts.pageframe1.page2.grdlist.grcUnitsInStockcFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Units In Stock"
Name = "grhUnitsInStock"
textboxtextboxText14frmproducts.pageframe1.page2.grdlist.grcUnitsInStockjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhQtyInUnit1frmproducts.pageframe1.page2.grdlist.grcQtyInUnit]FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Qty In Unit"
Name = "grhQtyInUnit"
textboxtextboxText11frmproducts.pageframe1.page2.grdlist.grcQtyInUnit\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhUnitCost0frmproducts.pageframe1.page2.grdlist.grcUnitCostZFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Unit Cost"
Name = "grhUnitCost"
textboxtextboxText10frmproducts.pageframe1.page2.grdlist.grcUnitCost\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhUnitsOnOrder4frmproducts.pageframe1.page2.grdlist.grcUnitsOnOrdercFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Units On Order"
Name = "grhUnitsOnOrder"
textboxtextboxText14frmproducts.pageframe1.page2.grdlist.grcUnitsOnOrder\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhReorderLevel4frmproducts.pageframe1.page2.grdlist.grcReorderLevelbFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Reorder Level"
Name = "grhReorderLevel"
textboxtextboxText14frmproducts.pageframe1.page2.grdlist.grcReorderLevel\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhDiscontinued4frmproducts.pageframe1.page2.grdlist.grcDiscontinuedaFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Discontinued"
Name = "grhDiscontinued"
textbox4frmproducts.pageframe1.page2.grdlist.grcDiscontinued)��� ��%!�_�U���������������C���z��
H�;������.������C��������
H�t���#�CC��f�PRODUCT_NAME������C���	�
����2�����C���������UNERRORCMETHODNLINELAERROR	LCMESSAGETSMAINTFORMERRORTHIS
PAGEFRAME1PAGE1TXTPRODUCT_NAMESETFOCUS���C�����HT�������2Product exists on order line items. Cannot delete!��NT�������8All products must be assigned a supplier and a category.��U
TSBASEFORMINITTHIS	AERRORMSG'��C�������C�������UTSMAINTFORMADDNEWTHISFORM
PAGEFRAME1PAGE1TXTPRODUCT_NAMESETFOCUS9��C�����%�C�products���2�F��G-(��UTSMAINTFORMDESTROYPRODUCTSError,��Init~��addnewL��Destroy���1���!��1aA��B3���3�a2�qqaA3��l�� �N$)���� ���'%`�z�U&G2�G�G �G(�TASTRADE�UTASTRADEBeforeOpenTables,��1aaa2g)�0bAmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R480MK7UW 5247027065Lcz�� WINDOWS _R480MK7VQ 552753666#2I WINDOWS _R480MK7WU 552753666�#: WINDOWS _R480MK7XO 524702706���
! WINDOWS _QV00H03XB 552753666�����W WINDOWS _QYP18RGT8 5124667285&F&`&o&�&�& WINDOWS _QYP18RGTS 512466728)'8'R'_'o'�' WINDOWS _QYP18RGUC 512466728("(<(K(`(�( WINDOWS _QYP18RGUW 512466728	))2)?)O)s) WINDOWS _QYP18RGVG 512466728�)**-*=*a* WINDOWS _QYP18RGWB 512466728�*�*++"+F+ WINDOWS _QYP18RGWL 512466728�+�+�+�+,4, WINDOWS _QYP18RGXF 512466728�,�,�,�,�,#- WINDOWS _QYP18RGXZ 512466728�-�-�-�-�-. WINDOWS _QYP18RGYJ 512466728�.�.�.�.�.�. WINDOWS _QYP18RGZ3 512466728{/�/�/�/�/�/ WINDOWS _QYP18RGZN 512466728k0z0�0�0�0�0 WINDOWS _QYP18RH07 512466728S1d1~1�1�1�1 WINDOWS _QYP18RH11 512466728:2I2c2p2�2�2 WINDOWS _QYP18RH1B 512466728303J3Y3j3�3 WINDOWS _QYP18RH25 5124667284454B4R4v4 WINDOWS _QYP18RH2F 512466728�455-5C5g5 WINDOWS _QYP18RH39 512466728�5�56%656Y6 WINDOWS _QYP18RH3T 512466728�6�677'7K7 WINDOWS _QYP18RH4D 512466728�7�7�78878 WINDOWS _QYP18RH4X 512466728�8�8�8�89)9 WINDOWS _QYP18RH5H 512466728�9�9�9�9�9: WINDOWS _QYP18RH61 512466728�:�:�:�:�:
; WINDOWS _QYP18RH6L 512466729�;�;�;�;�;�; WINDOWS _QYP18RH75 512466729|<�<�<�<�<�< WINDOWS _QYP18RH7P 512466729e=w=�=�=�=�=�>L! WINDOWS _QY30OT0QY 512122468,@:@H@[@�@ WINDOWS _QY30OT0R8 512122468�@AA AXA WINDOWS _QY30OT0S2 512122468�A�A�A�A+B WINDOWS _QY30OT0SC 512122468�B�B�B�B�B WINDOWS _QY30OT0TG 512122468XCfCtC�C�C WINDOWS _QY30OT0TQ 512122468D+D:DGD~D WINDOWS _QY30OT0UK 512122468�D�DEEOE WINDOWS _QY30OT0UU 512122468�E�E�E�EF WINDOWS _QZ4129JYK 512122468yF�F�F�F�F WINDOWS _QZ4129JYU 512122468FGUGdGqG�G WINDOWS _QZ4129JZE 512122468HH*H>HwH WINDOWS _QZ4129JZO 512122468�H�H�HI?I WINDOWS _QZ4129K08 512122468�I�I�I�I
J WINDOWS _QZ4129K0I 512122468lJ{J�J�J�J WINDOWS _QZ4129K12 5121224683KAKOK`K�K WINDOWS _QZ4129K13 512122468�KLLLTL WINDOWS _QZ4129K1M 512122468�L�L�L�L#M WINDOWS _QZ4129K1W 512122468�M�M�M�M�M WINDOWS _QZ4129K2G 512122468RN`NnN�N�N WINDOWS _QZ4129K2Q 512122468O%O4OAOxO WINDOWS _QZ4129K3A 512122468�O�O�OPEP WINDOWS _QZ4129K3K 512122468�P�P�P�P
Q WINDOWS _QZ4129K44 512122468qQQ�Q�Q�Q WINDOWS _QZ4129K45 512122468=RLR[RhR�R WINDOWS _QZ4129K5I 512122469SS!S4SlS WINDOWS _QZ4129K5S 512122469�S�S�S�S0T WINDOWS _QZ50PEIZP 512122469�T�T�T�T�T WINDOWS _QZ50PEIZZ 512122469aUpUU�U�U WINDOWS _QZ4111UWI 512068135)V:VTV@cV�V WINDOWS _QZ4111UY6 512068135$&@&�%�%?? WINDOWS _QZ4111UYG 524646413�%�%�%�%^%�$# WINDOWS _R470W5XI4 524646441�"�"�"�"`" COMMENT RESERVED            7"�^�VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 133
Top = 61
Width = 501
Height = 447
AutoCloseTables = .F.
InitialSelectedAlias = "Employee"
Name = "Dataenvironment"
cursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 192
Height = 397
Alias = "Employee"
Order = "last_name"
Database = ..\data\tastrade.dbc
CursorSource = "Employee"
Name = "Cursor1"
cursorcursorCursor2Dataenvironment�Left = 311
Top = 13
Width = 147
Height = 209
Alias = "User_Level"
Database = ..\data\tastrade.dbc
CursorSource = "User_Level"
Name = "Cursor2"
relationrelation	Relation1DataenvironmentParentAlias = "Employee"
RelationalExpr = "group_id"
ChildAlias = "User_Level"
ChildOrder = "group_id"
Name = "Relation1"
42tsmaintform..\libs\tsbase.vcxformfrmemployee�DataSession = 2
ScaleMode = 3
Top = 3
Left = 34
Height = 321
Width = 556
DoCreate = .T.
AutoCenter = .F.
BorderStyle = 2
Caption = "Employees"
Icon = ..\bitmaps\emply.ico
Name = "frmemployee"
pageframe1.ErasePage = .T.
pageframe1.PageCount = 3
pageframe1.page1.Name = "page1"
pageframe1.page2.grdlist.ColumnCount = 14
pageframe1.page2.grdlist.Column1.FontBold = .F.
pageframe1.page2.grdlist.Column1.FontSize = 8
pageframe1.page2.grdlist.Column1.ColumnOrder = 1
pageframe1.page2.grdlist.Column1.ControlSource = "Employee.last_name"
pageframe1.page2.grdlist.Column1.Width = 140
pageframe1.page2.grdlist.Column1.Name = "grcLastName"
pageframe1.page2.grdlist.Column2.FontBold = .F.
pageframe1.page2.grdlist.Column2.FontSize = 8
pageframe1.page2.grdlist.Column2.ColumnOrder = 3
pageframe1.page2.grdlist.Column2.ControlSource = "Employee.title"
pageframe1.page2.grdlist.Column2.Width = 129
pageframe1.page2.grdlist.Column2.Name = "grcTitle"
pageframe1.page2.grdlist.Column3.FontBold = .F.
pageframe1.page2.grdlist.Column3.FontSize = 8
pageframe1.page2.grdlist.Column3.ColumnOrder = 4
pageframe1.page2.grdlist.Column3.ControlSource = "Employee.address"
pageframe1.page2.grdlist.Column3.Width = 135
pageframe1.page2.grdlist.Column3.Name = "grcAddress"
pageframe1.page2.grdlist.Column4.FontBold = .F.
pageframe1.page2.grdlist.Column4.FontSize = 8
pageframe1.page2.grdlist.Column4.ColumnOrder = 5
pageframe1.page2.grdlist.Column4.ControlSource = "Employee.city"
pageframe1.page2.grdlist.Column4.Width = 125
pageframe1.page2.grdlist.Column4.Name = "grcCity"
pageframe1.page2.grdlist.Column5.FontBold = .F.
pageframe1.page2.grdlist.Column5.FontSize = 8
pageframe1.page2.grdlist.Column5.ColumnOrder = 2
pageframe1.page2.grdlist.Column5.ControlSource = "Employee.first_name"
pageframe1.page2.grdlist.Column5.Width = 123
pageframe1.page2.grdlist.Column5.Name = "grcFirstName"
pageframe1.page2.grdlist.Column6.FontBold = .F.
pageframe1.page2.grdlist.Column6.FontSize = 8
pageframe1.page2.grdlist.Column6.ControlSource = "Employee.birth_date"
pageframe1.page2.grdlist.Column6.Name = "grcBirthDate"
pageframe1.page2.grdlist.Column7.FontBold = .F.
pageframe1.page2.grdlist.Column7.FontSize = 8
pageframe1.page2.grdlist.Column7.ControlSource = "Employee.hire_date"
pageframe1.page2.grdlist.Column7.Name = "grcHireDate"
pageframe1.page2.grdlist.Column8.FontBold = .F.
pageframe1.page2.grdlist.Column8.FontSize = 8
pageframe1.page2.grdlist.Column8.ControlSource = "Employee.region"
pageframe1.page2.grdlist.Column8.Name = "grcRegion"
pageframe1.page2.grdlist.Column9.FontBold = .F.
pageframe1.page2.grdlist.Column9.FontSize = 8
pageframe1.page2.grdlist.Column9.ControlSource = "Employee.postal_code"
pageframe1.page2.grdlist.Column9.Name = "grcPostalCode"
pageframe1.page2.grdlist.Column10.FontBold = .F.
pageframe1.page2.grdlist.Column10.FontSize = 8
pageframe1.page2.grdlist.Column10.ControlSource = "Employee.country"
pageframe1.page2.grdlist.Column10.Name = "grcCountry"
pageframe1.page2.grdlist.Column11.FontBold = .F.
pageframe1.page2.grdlist.Column11.FontSize = 8
pageframe1.page2.grdlist.Column11.ControlSource = "Employee.home_phone"
pageframe1.page2.grdlist.Column11.Name = "grcHomePhone"
pageframe1.page2.grdlist.Column12.FontBold = .F.
pageframe1.page2.grdlist.Column12.FontSize = 8
pageframe1.page2.grdlist.Column12.ControlSource = "Employee.extension"
pageframe1.page2.grdlist.Column12.Name = "grcExtension"
pageframe1.page2.grdlist.Column13.FontBold = .F.
pageframe1.page2.grdlist.Column13.FontSize = 8
pageframe1.page2.grdlist.Column13.ControlSource = "Employee.password"
pageframe1.page2.grdlist.Column13.Name = "grcPassword"
pageframe1.page2.grdlist.Column14.FontBold = .F.
pageframe1.page2.grdlist.Column14.FontSize = 8
pageframe1.page2.grdlist.Column14.ControlSource = "User_Level.description"
pageframe1.page2.grdlist.Column14.Width = 165
pageframe1.page2.grdlist.Column14.Name = "grcUserLevel"
pageframe1.page2.grdlist.Height = 291
pageframe1.page2.grdlist.Left = 0
pageframe1.page2.grdlist.Panel = 1
pageframe1.page2.grdlist.TabIndex = 1
pageframe1.page2.grdlist.Top = 0
pageframe1.page2.grdlist.Width = 550
pageframe1.page2.grdlist.Name = "grdlist"
pageframe1.page2.Name = "page2"
pageframe1.Page3.FontSize = 8
pageframe1.Page3.Caption = "Additional \<Information"
pageframe1.Page3.Name = "Page3"
pageframe1.Top = 0
pageframe1.Left = 0
pageframe1.Width = 555
pageframe1.Height = 320
pageframe1.Name = "pageframe1"
�PROCEDURE refreshform
LOCAL lcFile

IF FILE(employee.photo_file)
	lcFile = employee.photo_file
ELSE
	lcFile = ''
ENDIF

this.pageframe1.page3.imgPhoto.Picture = lcFile
tsBaseForm::RefreshForm()
ENDPROC
PROCEDURE Destroy
tsMaintForm::Destroy()
IF USED("employee")
  SELECT employee
  SET RELATION TO
ENDIF
ENDPROC
PROCEDURE Refresh
LOCAL lcEmployeeID
lcEmployeeID = ""
IF TYPE("oApp") == "O"
  lcEmployeeID = oApp.GetEmployeeID()
ENDIF

*-- Do not allow deletion of employee who is currently
*-- logged in.
IF !EMPTY(lcEmployeeID) AND employee.employee_id = lcEmployeeID
  thisform.lAllowDelete = .F.
ELSE
  thisform.lAllowDelete = .T.
ENDIF

ENDPROC
PROCEDURE addnew
tsMaintForm::AddNew()
thisform.pageframe1.page1.txtLast_Name.SetFocus()
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

tsBaseForm::Init()
this.aErrorMsg[DELETETRIG] = DELEMPLOYEE_LOC
this.aErrorMsg[INSERTTRIG] = INSEMPLOYEE_LOC
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

LOCAL laError[AERRORARRAY], ;
      lcMessage
=AERROR(laError)

DO CASE
  CASE nError = 1582        && Field rule violated
    tsMaintForm::Error(nError, cMethod, nLine)

    DO CASE
      CASE UPPER(laError[3]) = "LAST_NAME"
        this.Pageframe1.Page1.txtLast_Name.SetFocus()
    ENDCASE

  OTHERWISE
    tsMaintForm::Error(nError, cMethod, nLine)
    
ENDCASE

ENDPROC
PROCEDURE pageframe1.Page3.Refresh
this.txtEmployeeName.Value = ALLT( Employee.first_name) + ;
                              " " +  Employee.last_name
ENDPROC
PROCEDURE pageframe1.Page3.Activate
LOCAL lcAlias
lcAlias = thisform.DataEnvironment.InitialSelectedAlias
IF !EMPTY(lcAlias)
  SELECT (lcAlias)
ENDIF
thisform.RefreshForm()
ENDPROC
b..\include\tastrade.hjA�($..\..\..\..\..\..\vfp6\foxpro.hr�#..\include\strings.hz
A�($@��� ''��%����Uu���!T��C�BMP���Select���%�C��
��n�T���������>��	�����
��C��
���U
LCFILENAMETHISCAPTIONTHISFORM
PAGEFRAME1PAGE3IMGPHOTOPICTUREEMPLOYEE
PHOTO_FILEREFRESHn&%��3C�����
�4C������A�T����Add Picture���g�T����Change Picture���UTHISCAPTIONClick,��Refresh��1q��A2a���A1.	L�)'���� ��ez%f�w�U)%�C�cUserLevels���"�Q���UCUSERLEVELSDestroy,��1��A1F)�!Arial, 0, 8, 5, 14, 11, 20, 3, 0
PStretch = 2
Height = 216
Left = 22
Top = 74
Width = 205
Name = "imgPhoto"
frmemployee.pageframe1.Page3imgPhotoimageimage�PROCEDURE Click
LOCAL lcFileName

lcFileName = GETFILE("BMP", ;
                    this.Caption, ;
                    SELECTBUTTON_LOC)

IF !EMPTY(lcFileName)
  thisform.pageframe1.page3.imgPhoto.Picture = lcFileName
  REPLACE employee.photo_file WITH lcFileName
  thisform.Refresh()
ENDIF
ENDPROC
PROCEDURE Refresh
IF "3" $ GETFLDSTATE(-1) OR "4" $ GETFLDSTATE(-1)
  this.Caption = ADDPICTURE_LOC
ELSE
  this.Caption = CHANGEPICTURE_LOC
ENDIF
ENDPROC
nTop = 49
Left = 22
Height = 22
Width = 201
Caption = "Change Picture"
TabIndex = 2
Name = "cmdPicture"
frmemployee.pageframe1.Page3
cmdPicture
commandbutton..\libs\tsbase.vcxtscommandbuttonfrmemployee.pageframe1.Page3txtEmployeeNametextbox	tstextbox	tstextbox..\libs\tsbase.vcxtextboxtxtLast_Namefrmemployee.pageframe1.page1zControlSource = "Employee.last_name"
Height = 24
Left = 152
TabIndex = 1
Top = 6
Width = 291
Name = "txtLast_Name"
tslabel..\libs\tsbase.vcxlabelTslabel1frmemployee.pageframe1.page1vAlignment = 1
Caption = "Last Name"
Height = 17
Left = 20
Top = 6
Width = 121
TabIndex = 13
Name = "Tslabel1"
	tstextbox..\libs\tsbase.vcxtextbox
txtFirst_Namefrmemployee.pageframe1.page1}ControlSource = "Employee.first_name"
Height = 24
Left = 152
TabIndex = 2
Top = 34
Width = 186
Name = "txtFirst_Name"
tslabel..\libs\tsbase.vcxlabelTslabel2frmemployee.pageframe1.page1xAlignment = 1
Caption = "First Name"
Height = 17
Left = 20
Top = 34
Width = 121
TabIndex = 16
Name = "Tslabel2"
	tstextbox..\libs\tsbase.vcxtextboxtxtTitlefrmemployee.pageframe1.page1sControlSource = "Employee.title"
Height = 24
Left = 152
TabIndex = 3
Top = 62
Width = 291
Name = "txtTitle"
tslabel..\libs\tsbase.vcxlabelTslabel3frmemployee.pageframe1.page1sAlignment = 1
Caption = "Title"
Height = 17
Left = 20
Top = 62
Width = 121
TabIndex = 17
Name = "Tslabel3"
	tstextbox..\libs\tsbase.vcxtextbox
txtBirth_Datefrmemployee.pageframe1.page1}ControlSource = "Employee.birth_date"
Height = 24
Left = 152
TabIndex = 4
Top = 90
Width = 104
Name = "txtBirth_Date"
tslabel..\libs\tsbase.vcxlabelTslabel4frmemployee.pageframe1.page1xAlignment = 1
Caption = "Birth Date"
Height = 17
Left = 20
Top = 90
Width = 121
TabIndex = 18
Name = "Tslabel4"
	tstextbox..\libs\tsbase.vcxtextboxhiredatefrmemployee.pageframe1.page1xControlSource = "Employee.hire_date"
Height = 24
Left = 152
TabIndex = 5
Top = 118
Width = 104
Name = "hiredate"
tslabel..\libs\tsbase.vcxlabelTslabel5frmemployee.pageframe1.page1xAlignment = 1
Caption = "Hire Date"
Height = 17
Left = 20
Top = 118
Width = 121
TabIndex = 19
Name = "Tslabel5"
	tstextbox..\libs\tsbase.vcxtextbox
txtAddressfrmemployee.pageframe1.page1xControlSource = "Employee.address"
Height = 24
Left = 152
TabIndex = 6
Top = 146
Width = 376
Name = "txtAddress"
tslabel..\libs\tsbase.vcxlabelTslabel6frmemployee.pageframe1.page1vAlignment = 1
Caption = "Address"
Height = 17
Left = 20
Top = 146
Width = 121
TabIndex = 20
Name = "Tslabel6"
	tstextbox..\libs\tsbase.vcxtextboxtxtCityfrmemployee.pageframe1.page1rControlSource = "Employee.city"
Height = 24
Left = 152
TabIndex = 7
Top = 174
Width = 104
Name = "txtCity"
tslabel..\libs\tsbase.vcxlabelTslabel7frmemployee.pageframe1.page1sAlignment = 1
Caption = "City"
Height = 17
Left = 20
Top = 174
Width = 121
TabIndex = 21
Name = "Tslabel7"
	tstextbox..\libs\tsbase.vcxtextbox	txtRegionfrmemployee.pageframe1.page1vControlSource = "Employee.region"
Height = 24
Left = 152
TabIndex = 8
Top = 202
Width = 104
Name = "txtRegion"
tslabel..\libs\tsbase.vcxlabelTslabel8frmemployee.pageframe1.page1uAlignment = 1
Caption = "Region"
Height = 17
Left = 21
Top = 202
Width = 121
TabIndex = 22
Name = "Tslabel8"
	tstextbox..\libs\tsbase.vcxtextboxtxtPostal_Codefrmemployee.pageframe1.page1�ControlSource = "Employee.postal_code"
Height = 24
Left = 152
TabIndex = 9
Top = 230
Width = 104
Name = "txtPostal_Code"
tslabel..\libs\tsbase.vcxlabelTslabel9frmemployee.pageframe1.page1zAlignment = 1
Caption = "Postal Code"
Height = 17
Left = 20
Top = 230
Width = 121
TabIndex = 23
Name = "Tslabel9"
	tstextbox..\libs\tsbase.vcxtextbox
txtCountryfrmemployee.pageframe1.page1yControlSource = "Employee.country"
Height = 24
Left = 152
TabIndex = 10
Top = 258
Width = 104
Name = "txtCountry"
tslabel..\libs\tsbase.vcxlabel	Tslabel10frmemployee.pageframe1.page1wAlignment = 1
Caption = "Country"
Height = 17
Left = 20
Top = 258
Width = 121
TabIndex = 24
Name = "Tslabel10"
	tstextbox..\libs\tsbase.vcxtextbox
txtHome_Phonefrmemployee.pageframe1.page1ControlSource = "Employee.home_phone"
Height = 24
Left = 423
TabIndex = 11
Top = 174
Width = 104
Name = "txtHome_Phone"
tslabel..\libs\tsbase.vcxlabel	Tslabel11frmemployee.pageframe1.page1{Alignment = 1
Caption = "Home Phone"
Height = 17
Left = 291
Top = 174
Width = 121
TabIndex = 25
Name = "Tslabel11"
	tstextbox..\libs\tsbase.vcxtextbox	extensionfrmemployee.pageframe1.page1zControlSource = "Employee.extension"
Height = 24
Left = 423
TabIndex = 12
Top = 202
Width = 104
Name = "extension"
tslabel..\libs\tsbase.vcxlabel	Tslabel12frmemployee.pageframe1.page1zAlignment = 1
Caption = "Extension"
Height = 17
Left = 291
Top = 202
Width = 121
TabIndex = 26
Name = "Tslabel12"
tslabel..\libs\tsbase.vcxlabellblGroupfrmemployee.pageframe1.page1wAlignment = 0
Caption = "\<Group"
Height = 17
Left = 287
Top = 244
Width = 121
TabIndex = 14
Name = "lblGroup"

tscombobox..\libs\tsbase.vcxcomboboxcboGroup_IDfrmemployee.pageframe1.page1BoundColumn = 2
RowSourceType = 3
RowSource = "select description, group_id from user_level order by description into cursor cUserLevels"
ControlSource = "Employee.group_id"
Left = 288
Style = 2
TabIndex = 15
Top = 258
Width = 241
Name = "cboGroup_ID"
QPROCEDURE Destroy
IF USED("cUserLevels")
  USE IN cUserLevels
ENDIF
ENDPROC
�Value = (ALLTRIM( Employee.first_name) + " " +  Employee.last_name)
Enabled = .F.
Height = 22
Left = 21
ReadOnly = .T.
TabIndex = 4
Top = 22
Width = 481
Name = "txtEmployeeName"
..\libs\tsbase.vcxedtNotesheaderheadergrhLastName0frmemployee.pageframe1.page2.grdlist.grcLastNameZFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Last Name"
Name = "grhLastName"
textboxtextboxText10frmemployee.pageframe1.page2.grdlist.grcLastNamejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhTitle-frmemployee.pageframe1.page2.grdlist.grcTitleSFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Title"
Name = "grhTitle"
textboxtextboxText1-frmemployee.pageframe1.page2.grdlist.grcTitlejFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheader
grhAddress/frmemployee.pageframe1.page2.grdlist.grcAddressWFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Address"
Name = "grhAddress"
textboxtextboxText1/frmemployee.pageframe1.page2.grdlist.grcAddressjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhCity,frmemployee.pageframe1.page2.grdlist.grcCityQFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "City"
Name = "grhCity"
textboxtextboxText1,frmemployee.pageframe1.page2.grdlist.grcCityjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
headerheadergrhFirstName1frmemployee.pageframe1.page2.grdlist.grcFirstName\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "First Name"
Name = "grhFirstName"
textboxtextboxText11frmemployee.pageframe1.page2.grdlist.grcFirstName\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhBirthDate1frmemployee.pageframe1.page2.grdlist.grcBirthDate\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Birth Date"
Name = "grhBirthDate"
textboxtextboxText11frmemployee.pageframe1.page2.grdlist.grcBirthDate\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhHireDate0frmemployee.pageframe1.page2.grdlist.grcHireDateZFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Hire Date"
Name = "grhHireDate"
textboxtextboxText10frmemployee.pageframe1.page2.grdlist.grcHireDate\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader	grhRegion.frmemployee.pageframe1.page2.grdlist.grcRegionUFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Region"
Name = "grhRegion"
textboxtextboxText1.frmemployee.pageframe1.page2.grdlist.grcRegion\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader
grhPostalCode2frmemployee.pageframe1.page2.grdlist.grcPostalCode^FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Postal Code"
Name = "grhPostalCode"
textboxtextboxText12frmemployee.pageframe1.page2.grdlist.grcPostalCode\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheader
grhCountry/frmemployee.pageframe1.page2.grdlist.grcCountryWFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Country"
Name = "grhCountry"
textboxtextboxText1/frmemployee.pageframe1.page2.grdlist.grcCountry\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhHomePhone1frmemployee.pageframe1.page2.grdlist.grcHomePhone\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Home Phone"
Name = "grhHomePhone"
textboxtextboxText11frmemployee.pageframe1.page2.grdlist.grcHomePhone\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhExtension1frmemployee.pageframe1.page2.grdlist.grcExtension[FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Extension"
Name = "grhExtension"
textboxtextboxText11frmemployee.pageframe1.page2.grdlist.grcExtension\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhPassword0frmemployee.pageframe1.page2.grdlist.grcPasswordYFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Password"
Name = "grhPassword"
textboxtextboxText10frmemployee.pageframe1.page2.grdlist.grcPassword\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
headerheadergrhUserLevel1frmemployee.pageframe1.page2.grdlist.grcUserLevel\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "User Level"
Name = "grhUserLevel"
textboxtextboxText11frmemployee.pageframe1.page2.grdlist.grcUserLevel\FontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
ColorSource = 0
Name = "Text1"
	tseditbox..\libs\tsbase.vcxeditboxfrmemployee.pageframe1.Page3tHeight = 241
Left = 272
TabIndex = 1
Top = 49
Width = 229
ControlSource = "Employee.notes"
Name = "edtNotes"
���� ��^x%��9Z�Ul���%�C��0��)�T�������>�
T������T�����������C���	��U
LCFILEEMPLOYEE
PHOTO_FILETHIS
PAGEFRAME1PAGE3IMGPHOTOPICTURE
TSBASEFORMREFRESHFORM9��C�����%�C�employee���2�F��G-(��UTSMAINTFORMDESTROYEMPLOYEE����
T�����%�C�oAppb�O��=�T��C�����%�C��
����	��m�T���-�����T���a���ULCEMPLOYEEIDOAPP
GETEMPLOYEEIDEMPLOYEEEMPLOYEE_IDTHISFORMLALLOWDELETE'��C�������C�������UTSMAINTFORMADDNEWTHISFORM
PAGEFRAME1PAGE1TXTLAST_NAMESETFOCUS���C�����?T�������)Employee exists on orders. Cannot delete!��@T�������*All employees must be assigned to a group.��U
TSBASEFORMINITTHIS	AERRORMSG���������������C���z��
H�;������.������C��������
H�t��� �CC��f�	LAST_NAME������C���	�
����2�����C���������UNERRORCMETHODNLINELAERROR	LCMESSAGETSMAINTFORMERRORTHIS
PAGEFRAME1PAGE1TXTLAST_NAMESETFOCUS'$T����C���� ����UTHISTXTEMPLOYEENAMEVALUEEMPLOYEE
FIRST_NAME	LAST_NAMEH���T�������%�C��
��4�
F�����
��C����ULCALIASTHISFORMDATAENVIRONMENTINITIALSELECTEDALIASREFRESHFORMrefreshform,��Destroy���Refresh\��addnew<��Init���Errorh��pageframe1.Page3.Refresh���pageframe1.Page3.Activate��1q"��A��2�qqaA2q��A����A3�a2��2���!��aA��B3B2q1�A�1�
�A
_��$"�("�v/0�E2I�I)�0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R480MIS70 5523557065Lcz� WINDOWS _R480MIS7A 552753709#2I WINDOWS _QV00IKJGH 5527537098DWv	� WINDOWS _QV00IKJKE 507342601ap���� WINDOWS _QV00IKJL8 507342601CRly�� WINDOWS _QV40YVDBD 507342601->Xg� WINDOWS _QV80RCAW5 512001100->Xg}� WINDOWS _QXW0OI1M2 524644947(?Yn��v
 WINDOWS _R440UXRPU 524645275|�j� WINDOWS _QY30OIGRU 512120939���W WINDOWS _QY30OIGS4 512120939H9,�� WINDOWS _QY30OIGT8 512120939xjT� WINDOWS _QY30OIGTI 512120939����" COMMENT RESERVED            �
VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 59
Top = 398
Width = 263
Height = 268
AutoCloseTables = .F.
InitialSelectedAlias = "Category"
Name = "Dataenvironment"
cursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 193
Height = 193
Alias = "Category"
Order = "category_n"
Database = ..\data\tastrade.dbc
CursorSource = "Category"
Name = "Cursor1"
22tsmaintform..\libs\tsbase.vcxformfrmcategoryDataSession = 2
ScaleMode = 3
Top = 7
Left = 10
Height = 250
Width = 456
DoCreate = .T.
AutoCenter = .F.
Caption = "Categories"
Icon = ..\bitmaps\catgry.ico
Name = "frmcategory"
pageframe1.ErasePage = .T.
pageframe1.page1.Name = "page1"
pageframe1.page2.grdlist.ColumnCount = 2
pageframe1.page2.grdlist.Column1.FontBold = .F.
pageframe1.page2.grdlist.Column1.FontSize = 8
pageframe1.page2.grdlist.Column1.ControlSource = "Category.category_name"
pageframe1.page2.grdlist.Column1.Width = 181
pageframe1.page2.grdlist.Column1.Name = "grcName"
pageframe1.page2.grdlist.Column2.FontBold = .F.
pageframe1.page2.grdlist.Column2.FontSize = 8
pageframe1.page2.grdlist.Column2.ControlSource = "LEFT(Category.description, 60)"
pageframe1.page2.grdlist.Column2.Width = 248
pageframe1.page2.grdlist.Column2.Name = "grcDescription"
pageframe1.page2.grdlist.Height = 220
pageframe1.page2.grdlist.Left = 0
pageframe1.page2.grdlist.Panel = 1
pageframe1.page2.grdlist.ScrollBars = 2
pageframe1.page2.grdlist.TabIndex = 1
pageframe1.page2.grdlist.Top = 0
pageframe1.page2.grdlist.Width = 450
pageframe1.page2.grdlist.Name = "grdlist"
pageframe1.page2.Name = "page2"
pageframe1.Top = 0
pageframe1.Left = 0
pageframe1.Width = 455
pageframe1.Height = 249
pageframe1.Name = "pageframe1"
�PROCEDURE addnew
*-- (c) Microsoft Corporation 1995

tsMaintForm::AddNew()
this.pageframe1.page1.txtCategory_Name.SetFocus()

ENDPROC
PROCEDURE Init
tsBaseForm::Init()
this.aErrorMsg[DELETETRIG] = DELCATEGORY_LOC

ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

LOCAL laError[AERRORARRAY], ;
      lcMessage
=AERROR(laError)

DO CASE
  CASE nError = 1582        && Field rule violated
    tsMaintForm::Error(nError, cMethod, nLine)

    DO CASE
      CASE UPPER(laError[3]) = "CATEGORY_NAME"
        this.Pageframe1.Page1.txtCategory_Name.SetFocus()
    ENDCASE

  OTHERWISE
    tsMaintForm::Error(nError, cMethod, nLine)
    
ENDCASE

ENDPROC
PROCEDURE refreshform
LOCAL lcFile

IF FILE(category.picture_file)
	lcFile = category.picture_file
ELSE
	lcFile = ''
ENDIF

this.pageframe1.page1.imgPicture.Picture = lcFile
tsBaseForm::RefreshForm()
ENDPROC
b..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h�
�#..\include\strings.h�A�($Z��� AAh%����Uu���!T��C�BMP���Select���%�C��
��n�T���������>��	�����
��C��
���U
LCFILENAMETHISCAPTIONTHISFORM
PAGEFRAME1PAGE1
IMGPICTUREPICTURECATEGORYPICTURE_FILEREFRESH�<%��3C����category���4C����category���W�T����Add Picture���}�T����Change Picture���UTHISCAPTIONClick,��Refresh��1q��A2����A12	P�)ABArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
jFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
3frmcategory.pageframe1.page2.grdlist.grcDescriptionText1textboxtextbox_FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Description"
Name = "grhDescription"
tslabel..\libs\tsbase.vcxlabelTslabel1frmcategory.pageframe1.page1pAlignment = 0
Caption = "Name"
Height = 17
Left = 57
Top = 9
Width = 121
TabIndex = 1
Name = "Tslabel1"
tslabel..\libs\tsbase.vcxlabelTslabel2frmcategory.pageframe1.page1xAlignment = 0
Caption = "Description"
Height = 17
Left = 57
Top = 54
Width = 121
TabIndex = 2
Name = "Tslabel2"
	tstextbox..\libs\tsbase.vcxtextboxtxtCategory_Namefrmcategory.pageframe1.page1�ControlSource = "Category.category_name"
Height = 22
Left = 57
TabIndex = 1
Top = 24
Width = 196
Name = "txtCategory_Name"
	tseditbox..\libs\tsbase.vcxeditboxedtDescriptionfrmcategory.pageframe1.page1Height = 133
Left = 57
TabIndex = 2
Top = 69
Width = 196
ControlSource = "Category.description"
Name = "edtDescription"
tscommandbutton..\libs\tsbase.vcx
commandbutton
cmdPicturefrmcategory.pageframe1.page1oTop = 24
Left = 267
Height = 22
Width = 146
Caption = "Change Picture"
TabIndex = 3
Name = "cmdPicture"
�PROCEDURE Click
LOCAL lcFileName

lcFileName = GETFILE("BMP", ;
                    this.Caption, ;
                    SELECTBUTTON_LOC)

IF !EMPTY(lcFileName)
  thisform.pageframe1.page1.imgPicture.Picture = lcFileName
  REPLACE category.picture_file WITH lcFileName
  thisform.Refresh()
ENDIF
ENDPROC
PROCEDURE Refresh
IF "3" $ GETFLDSTATE(-1, "category") OR "4" $ GETFLDSTATE(-1, "category")
  this.Caption = ADDPICTURE_LOC
ELSE
  this.Caption = CHANGEPICTURE_LOC
ENDIF
ENDPROC
3frmcategory.pageframe1.page2.grdlist.grcDescriptiongrhDescriptionheaderheaderjFontBold = .F.
FontSize = 8
BorderStyle = 0
Margin = 2
TabIndex = 1
ColorSource = 0
Name = "Text1"
,frmcategory.pageframe1.page2.grdlist.grcNameText1textboxtextboxQFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Name"
Name = "grhName"
,frmcategory.pageframe1.page2.grdlist.grcNamegrhNameheaderheaderSStretch = 2
Height = 136
Left = 267
Top = 69
Width = 146
Name = "imgPicture"

imgPictureimageimagefrmcategory.pageframe1.page1Z��� AAXY%J���U'��C�������C�������UTSMAINTFORMADDNEWTHIS
PAGEFRAME1PAGE1TXTCATEGORY_NAMESETFOCUSW��C�����FT�������0Products belong to this category. Cannot delete!��U
TSBASEFORMINITTHIS	AERRORMSG���������������C���z��
H�;������.������C��������
H�t���$�CC��f�
CATEGORY_NAME������C���	�
����2�����C���������UNERRORCMETHODNLINELAERROR	LCMESSAGETSMAINTFORMERRORTHIS
PAGEFRAME1PAGE1TXTCATEGORY_NAMESETFOCUSl���%�C��0��)�T�������>�
T������T�����������C���	��U
LCFILECATEGORYPICTURE_FILETHIS
PAGEFRAME1PAGE1
IMGPICTUREPICTURE
TSBASEFORMREFRESHFORMaddnew,��Init���Error��refreshforms��1�a3�a3���!��AaA��B3q"��A��1�����
��#)A%�9,�O�($���E|��GetPrivateProfileString�Win32APIQ�
GetPrivStr�������D|��WritePrivateProfileString�Win32APIQ�WritePrivStr�����+|��RegOpenKeyEx�Win32API������1|��RegQueryValueEx�Win32API������� |��RegCloseKey�Win32API��;|��GetProfileString�Win32APIQ�	GetProStr�������u,�Project Manager�%�C�TALKv�ON����G2�7�
�T�
��ON�����7�
�T�
��OFF���7���
���T��C�ESCAPEv��T��CC����T��C�PATHv��T�
�C�CLASSLIBv��T��a��%�C�����7��T��C�TasTrade�N��%�C�oAppb�O����<���
�
��
��C������V�<���UGETPRIVATEPROFILESTRINGWIN32API
GETPRIVSTRWRITEPRIVATEPROFILESTRINGWRITEPRIVSTRREGOPENKEYEXREGQUERYVALUEEXREGCLOSEKEYGETPROFILESTRING	GETPROSTR	GCOLDTALKGCOLDDIR	GCOLDPATH
GCOLDCLASSLIBGCOLDESCAPEGTTRADESETPATHOAPPDO�����T��C�]��T��C�C�:��\����C�C�\��=��%�C��R�FXP��l�	��..��SG)(�JPROGS, FORMS, LIBS,  MENUS, DATA, OTHER,  REPORTS, INCLUDE, HELP,  BITMAPS�G~(�MAIN�TSGEN�ULCSYS16	LCPROGRAMPROGSMAINTSGENSetPath���XC��Bt�aq��qArQ�1q��q��s�AARaQ2���B��A4a1"b#
G%U}[c�($���GY(�GY���s����"��\<File���WCreate, save, delete, and restore records, close forms, print reports, or quit Tastrade�
N����ALT+F��ALT+F��Ws����"��\<Edit���Edits text or current selection�
N����ALT+E��ALT+E��gs����"��\<Orders���-Access to Order Entry and Order History forms�
N����ALT+O��ALT+O��|s����"��\<Administration���;Login, change password, and access to all maintenance forms�
N����ALT+A��ALT+A���s����"��\<Utilities���DTrace, debug, and view windows, suspend, resume, and cancel programs�
N����ALT+U��ALT+U��Ps����"��\<Help���Displays help on Tastrade�
N����ALT+H��ALT+H��1��������1��������1��������1��������1��������1��������s��
N�������ws�����"��\<New���'Creates a new record in the active form���C�
�C�cmdNew�	
��CTRL+N��Ctrl+N��Ts�����"��\<Close���Closes the active form���C�
�C�cmdClose�	
��s�����"��\-��}s�����"��\<Save���+Saves the current record in the active form���C�
�C�cmdSave�	
��CTRL+S��Ctrl+S���s�����"��	\<Restore���ERestores the original values of the current record in the active form���C�
�C�
cmdRestore�	
��CTRL+E��Ctrl+E���s�����"��\<Delete���-Deletes the current record in the active form���C�
�C�
oApp.oToolBarb�O�
�9�
�
��s�����"��\-��js�����"��\<Print Reports ...���'Runs the report and list selection form��CTRL+P��Ctrl+P��Ss��	���"��
Print Set\<up���,Changes the page layout and printer settings��s��
���"��\-��-s�����"��Return to Visual Fo\<xPro��.1�������oApp.oToolbar.cmdNew.Click()�01�������oApp.oToolbar.cmdClose.Click()�/1�������oApp.oToolbar.cmdSave.Click()�21������� oApp.oToolbar.cmdRestore.Click()�-1�������_screen.activeform.delete()�!1�������DO FORM Reports�`1���	����NDO _rra1449rw  IN LOCFILE("..\TEMP\MAIN" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAIN?")�`1�������NDO _rra1449rx  IN LOCFILE("..\TEMP\MAIN" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAIN?")�s��
N�������zs��:���"��\<Undo���EUndoes the last change made to the current control of the active form��CTRL+Z��Ctrl+Z��{s��;���"��\<Redo���FRepeats the last change made to the current control of the active form��CTRL+R��Ctrl+R��s�����"��\-��js��=���"��Cu\<t���6Removes the selection and places it onto the clipboard��CTRL+X��Ctrl+X��\s��>���"��\<Copy���'Copies the selection onto the clipboard��CTRL+C��Ctrl+C��Zs��?���"��\<Paste���$Pastes the contents of the clipboard��CTRL+V��Ctrl+V��s�����"��\-��us��H���"��Select \<All���:Selects all text in the current control of the active form��CTRL+A��Ctrl+A��s��
N�������Vs�����"��
Order \<Entry���Runs the Order Entry form���C�
frmOrderEntry���Ds�����"��Order \<History���Runs the Order History form��)1�������oApp.DoForm("ordentry")�(1�������oApp.DoForm("ordhist")�s��
N�������@s�����"��\<Login���Log in as another user���CC��
��]s�����"��C\<hange Password���)Changes the password for the current user���CC��
��s�����"��\-��Xs�����"��\<Customers���Add, edit, or delete customers���C�frmCustomers���Ys�����"��C\<ategories���Add, edit, or delete categories���C�frmCategory���Ws�����"��\<Employees���Add, edit, or delete employees���C�frmEmployee���Us�����"��
\<Shippers���Add, edit, or delete shippers���C�frmShippers���Xs�����"��S\<uppliers���Add, edit, or delete suppliers���C�frmSuppliers���Us��	���"��
\<Products���Add, edit, or delete products���C�frmProducts���s��
���"��\-��js�����"��\<Behind the Scenes���)Find out how this application was created���C�frmBehindSC���`1�������NDO _rra1449sq  IN LOCFILE("..\TEMP\MAIN" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAIN?")�"1�������DO FORM chngpswd�)1�������oApp.DoForm("customer")�)1�������oApp.DoForm("category")�)1�������oApp.DoForm("employee")�(1�������oApp.DoForm("shipper")�)1�������oApp.DoForm("supplier")�(1���	����oApp.DoForm("product")�)1�������oApp.DoForm("behindsc")�s��
N�������9s�����"��\<Trace���Displays the trace window��9s�����"��De\<bug���Displays the debug window��7s�����"��\<View���Displays the view window��Us�����"��	\<Command���Displays the command window��CTRL+F2��Ctrl+F2��s�����"��\-��Is�����"��	\<Suspend���&Suspends the currently running program��Ns��t���"��\<Resume���-Resumes running the current suspended program��Bs��s���"��C\<ancel���!Stops running the current program��s��	���"��\-��fs��
���"��Rebuild \<DBC/Reindex���.Rebuilds the database and reindexes all tables���CC��
��1�������suspend�!1���
����DO FORM rebuild�s��
N�������Bs�����"��
\<Contents���Displays Help table of contents��Ss�����"��\<Search for Help on...���#Searches for Help topics by keyword��s�����"��\-��~s�����"��\<About Tasmanian Traders...���HDisplays information about this application and the system configuration��`1�������NDO _rra1449ta  IN LOCFILE("..\TEMP\MAIN" ,"MPX;MPR|FXP;PRG" ,"WHERE is MAIN?")�-1���"*-- (c) Microsoft Corporation 1995�{�����-%�CC��
f�APPLICATIONS DEVELOPER����<������D%�CCC��
f�APPLICATIONS DEVELOPER�OPERATIONS MANAGER�
����<�����Administration�<�����Administration�<�����Administration��UPADEDITORDERS	UTILITIESFILE
_QX713DAX1
_QX713DSUSHELPFORMISOBJECTTOOLBARENABLED
ACTIVEFORMLALLOWDELETEOAPPGETUSERLEVELL���T��C�ERROR���	1�*���C�
]��ON ERROR &lcOldError
U
LCOLDERROR��UN���T��C����
��C����%�C�����G�
��C�����ULCUSERLEVELOAPPGETUSERLEVELLOGINDOMENU����G~(�about��T��C�AboutBox�Tasmanian Traders�1.1�$Copyright 1996 Microsoft Corporation�All rights reserved�BITMAPS\TTRADESM.BMP�N��
��C����<R�	about.vcx�U
LOABOUTBOXABOUTSHOWVCX
_rra1449rwB��
_rra1449rx���
_rra1449sq���
_rra1449ta,�� aa�ss���"tCa��	a�2a���!�"��a���aS"cB��"�a��sS�Sa�!�������"��rSa��"ac�""2a�����AB���A�1qQ���1R�1q�R�A1q�f�1e{-1�l01�4o�4�8!w�8�9:%[,/�P�($�U���������%�C��
��2�T��C���%�C����L�B�-���T��-��T��CC��f��
T�����T��C�����+�C��
����%�CC��f�����T��a��!��T������T��C������	B����U	TCTAGNAMETCALIASLLISTAG
LCTAGFOUNDLNTAGNUM(!��C�Under Construction�@�x��B�Uo�������T��C�
COMPATIBLEv��GA �T��C����#SET COMPATIBLE &lcSetCompatible
	B����U
TCFILENAMELCSETCOMPATIBLE
LNFILESIZE<9B�C�_screen.activeformb�O�C�9��f�FORM	��U
ACTIVEFORM	BASECLASSn4�����+T���oApp.oToolBar.��.enabled��%�C�b�L��T�B�-���g�B�C�����UOOBJECTOTOOLOBJYV��C�3Cannot quit Visual FoxPro within Tasmanian Traders.�0�Tasmanian Traders�x��UIsTag,��NotYetZ��FileSize���FormIsObject"��ToolBarEnabledy��
OnShutdown���9���A�qA��!Q�AA!A�3A3q��a�1�3�3rq�Aq��A3e1���|)�/")�=$�D-�P0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Class              0 WINDOWS _R4J0W1JF3 552290344�87�w���=����� WINDOWS _R4J0W1ISA 547513216?@ARS` WINDOWS _R4J0W1IVC 547513216TUcde� WINDOWS _R4J0W1IYO 547513216f����� WINDOWS _R4J0W1J2K 552290344������ WINDOWS _R4J0W1J52 552290344������ WINDOWS _R4J0W1J7U 552290344������ WINDOWS _R4J0W1JAC 547513216������ WINDOWS _R4J0W1JD5 552290344����� COMMENT RESERVED            ��� WINDOWS _QZ90UO74C 552372025��9��s WINDOWS _QZ90UO4ZA 552290444rqponlg0 WINDOWS _QZ90UO5NH 552290444_^]\[XV, WINDOWS _QZ90UO6C8 552372025QPONMJ WINDOWS _QZ90UO6DD 552372025IHGFEB WINDOWS _QZ90UO6EH 512389715+*)('% WINDOWS _QZ90UO6FL 552290444$#"!  COMMENT RESERVED            
	@VERSION =  0.029b..\include\tastrade.hzA�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($BArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
login..\include\tastrade.hPixelsh:\allisonk\sampapp\login_s.bmp..\bitmaps\login_s.bmp8Base login container. Allows entry of name and password.Class7tsformretvallogin���� ��7�%Stn�U
��C����UTHISFORMREFRESHInteractiveChange,��1�1/)���FT�������0Products b:PROCEDURE InteractiveChange
thisform.Refresh()
ENDPROC
�FontSize = 8
BoundColumn = 2
RowSourceType = 3
RowSource = ""
Height = 21
Left = 100
Style = 2
TabIndex = 1
Top = 15
Width = 106
Name = "cboName"
login.cboNamecombobox
tsbase.vcx
tscomboboxuFormat = "K"
Height = 24
Left = 99
TabIndex = 2
Top = 46
Width = 104
PasswordChar = "*"
Name = "txtPassword"
login.txtPasswordtextbox
tsbase.vcx	tstextbox���� ���%g~v�UT���-��
��C����UTHISFORMURETVALHIDEClick,��1��2:)����� ���3%9	'�U�&%�CC���ΛC�������3�
��C�������6��C�'Password is invalid. (See Hint textbox)�0�x��T����������C�������UTHISPARENT	CPASSWORDTXTPASSWORDVALUETHISFORMHIDESETFOCUSClick,��1b��aa1A2 )�form	login.vcx�DataSession = 2
ScaleMode = 3
Height = 131
Width = 224
DoCreate = .T.
Caption = "Login"
HelpContextID = 10
cpassword = password
ctable = employee
ctagname = employee_i
cfieldname = last_name, employee_id
Name = "login"
M*getuserlevel Returns the user level description from the user_level table.
	tstextbox
tsbase.vcxtextbox�FontBold = .T.
Alignment = 1
Caption = "Password"
Height = 17
Left = 9
Top = 46
Width = 87
TabIndex = 6
BackColor = 192,192,192
Name = "lblPswd"
login.lblPswdlabel
tsbase.vcxtslabel�Alignment = 1
Caption = "Name"
Height = 17
Left = 9
Top = 15
Width = 87
TabIndex = 5
BackColor = 192,192,192
Name = "lblName"
login.lblNamelabel
tsbase.vcxtslabeltxtTitleloginpicture.	tseditbox
tsbase.vcxEPROCEDURE Click
thisform.uRetVal = .F.
thisform.Hide()

ENDPROC
�Top = 90
Left = 130
Height = 26
Width = 56
Cancel = .T.
Caption = "Cancel"
Enabled = .T.
TabIndex = 4
Name = "cmdCancel"
login.	cmdCancel
commandbutton
tsbase.vcxtscommandbutton�Enabled = .F.
Height = 22
Left = 245
TabIndex = 3
Top = 120
Width = 175
DisabledBackColor = 255,255,255
Name = "txtTitle"
editboxedtDescriptionloginpicture.	tstextbox+PROCEDURE Click
*-- Now check the password
IF ALLTRIM(EVAL(this.parent.cPassword)) == ALLTRIM(this.parent.txtPassword.Value)
  thisform.Hide()
ELSE
  =MESSAGEBOX(BADPASSWORD_LOC, MB_ICONEXCLAMATION)
  this.parent.txtPassword.Value = ""
  this.parent.txtPassword.SetFocus()
ENDIF

ENDPROC
kTop = 90
Left = 50
Height = 26
Width = 56
Caption = "OK"
Default = .T.
TabIndex = 3
Name = "cmdOk"
login.cmdOk
commandbutton
tsbase.vcxtscommandbutton�cpassword Name of field that hold user password.
ctable Name of table that hold user information. 
ctagname Tag name used to search the employee table for the user name. 
cfieldname Name of field that holds user name.
ScaleMode = 3
Height = 316
Width = 437
DoCreate = .T.
uretval = 
Name = "loginpicture"
cmdok.Top = 280
cmdok.Left = 105
cmdok.Height = 30
cmdok.Width = 76
cmdok.TabIndex = 5
cmdok.Name = "cmdok"
cmdcancel.Top = 280
cmdcancel.Left = 250
cmdcancel.Height = 30
cmdcancel.Width = 76
cmdcancel.TabIndex = 6
cmdcancel.Name = "cmdcancel"
lblname.Height = 17
lblname.Left = 220
lblname.Top = 15
lblname.Visible = .T.
lblname.Width = 87
lblname.Name = "lblname"
lblpswd.Height = 17
lblpswd.Left = 220
lblpswd.Top = 45
lblpswd.Visible = .T.
lblpswd.Width = 87
lblpswd.Name = "lblpswd"
txtPassword.Left = 315
txtPassword.Top = 42
txtPassword.Name = "txtPassword"
cboname.Height = 21
cboname.Left = 315
cboname.TabIndex = 1
cboname.Top = 15
cboname.Name = "cboname"
�Height = 80
Left = 25
ReadOnly = .T.
TabIndex = 8
Top = 191
Width = 396
ForeColor = 128,128,128
BackColor = 192,192,192
DisabledBackColor = 255,255,255
Name = "edtDescription"
textboxtxtDispPswd
tsbase.vcxform
tsbase.vcxb..\include\tastrade.hB
A�($..\..\..\..\..\..\vfp6\foxpro.hJ�#..\include\strings.hRA�($BArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
loginpicture..\include\tastrade.hPixels h:\allisonk\sampapp\loginp_s.bmp..\bitmaps\loginp_s.bmpZAllows entry of name and password, and also displays picture and description of employee. Class9loginloginpicturePStretch = 1
Height = 171
Left = 25
Top = 10
Width = 191
Name = "imgPhoto"
loginpicture.imgPhotoimageimage�Enabled = .F.
Height = 22
Left = 245
TabIndex = 4
Top = 160
Width = 176
DisabledBackColor = 255,255,255
Name = "txtUserLevel"
loginpicture.txtUserLeveltextbox
tsbase.vcx	tstextboxxAlignment = 0
Caption = "User Level"
Height = 16
Left = 245
Top = 145
Width = 77
TabIndex = 6
Name = "Tslabel3"
loginpicture.Tslabel3label
tsbase.vcxtslabelsAlignment = 0
Caption = "Title"
Height = 16
Left = 245
Top = 100
Width = 77
TabIndex = 5
Name = "Tslabel2"
loginpicture.Tslabel2label
tsbase.vcxtslabelbCaption = "Hint"
Height = 22
Left = 230
Top = 75
Width = 77
TabIndex = 4
Name = "Tslabel1"
loginpicture.Tslabel1label
tsbase.vcxtslabel�Enabled = .F.
Height = 22
Left = 315
TabIndex = 3
Top = 75
Width = 104
DisabledBackColor = 255,255,255
Name = "txtDispPswd"
loginpicture.�PROCEDURE Refresh
*-- Set up our workareas
LOCAL lnOldSelect, lcFldName, lcUserID
lnOldSelect = SELECT()
SELECT (thisform.cTable)
lcFldName = "employee_id"
lcUserID = thisform.cboName.Value

=LOOKUP(&lcFldName, lcUserID,  ;
        &lcFldName, thisform.cTagName)

SELECT (lnOldSelect)
ENDPROC
PROCEDURE Unload
tsFormRetVal::Unload()
IF USED("cNames")
  USE IN cNames
ENDIF

IF USED(this.cTable)
  USE IN (this.cTable)
ENDIF

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF

thisform.cboName.RowSource = "SELECT " + ;
  thisform.cFieldName + ;
  " FROM " + this.cTable + ;
  " ORDER BY " + thisform.cFieldName + ;
  " INTO CURSOR cNames"

thisform.cboName.Requery()

IF _tally > 0
  thisform.cboName.ListIndex = 1
ELSE
  =MESSAGEBOX(NOEMPLOYEES_LOC, ;
              MB_ICONEXCLAMATION, ;
              TASTRADE_LOC)
  RETURN .F.
ENDIF

ENDPROC
PROCEDURE Load
IF FILE("DATA\" + this.cTable)
	IF !USED(this.cTable)
	  USE ("DATA\" + this.cTable) IN 0
	ENDIF
	SELECT (this.cTable)
ENDIF
ENDPROC
XPROCEDURE getuserlevel
LOCAL llCloseUserLevel, ;
      lcUserLevel

SET DATABASE TO TASTRADE

*-- Look up the group information
IF !USED("user_level")
  USE user_level IN 0
  llCloseUserLevel = .T.
ENDIF

lcUserLevel = LOOKUP(user_level.description, ;
                     employee.group_id, ;
                     user_level.group_id, ;
                     "group_id")

IF llCloseUserLevel
  USE IN user_level
ENDIF

RETURN lcUserLevel
ENDPROC
PROCEDURE Refresh
IF login::Refresh()
  thisform.txtTitle.Value = title
  thisform.edtDescription.Value = Notes
  IF FILE(photo_file)
	  thisform.imgPhoto.Picture = photo_file
	ELSE
	  thisform.imgPhoto.Picture = ''
	ENDIF
  thisform.txtDispPswd.Value = password
  thisform.txtUserLevel.Value = thisform.GetUserLevel()
ELSE
  STORE "" TO ;
    thisform.txtTitle.Value, ;
    thisform.edtDescription.Value, ;
    thisform.imgPhoto.Picture, ;
    thisform.txtDispPswd.Value
    thisform.txtUserLevel.Value
ENDIF

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

IF login::Init()
	thisform.Refresh()
ELSE
	RETURN .F.
ENDIF
ENDPROC
PROCEDURE cmdok.Click
LOCAL llCloseUserLevel
login.cmdOk::Click()
thisform.uRetVal = employee_id + "," + thisform.GetUserLevel()

ENDPROC
PROCEDURE cmdcancel.Click
login.cmdCancel::Click()
thisform.uRetVal = ""

ENDPROC
���� ���%�T%
�U������T��CW��
F�����T���employee_id��T�������B=LOOKUP(&lcFldName, lcUserID,   &lcFldName, thisform.cTagName)

F����ULNOLDSELECT	LCFLDNAMELCUSERIDTHISFORMCTABLECBONAMEVALUEV��C�����%�C�cNames���+�Q���%�C�����O�Q������UTSFORMRETVALUNLOADCNAMESTHISCTABLEe'%�C�	m.gTTradeb�L��
�
��x�J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���^T�����SELECT ��� FROM ���
 ORDER BY ��� INTO CURSOR cNames����C�����%�� ���
�T��������^�B��C�There are no employees on file.�0�Tasmanian Traders�x��B�-���U	GTTRADETHISFORMCBONAME	ROWSOURCE
CFIELDNAMETHISCTABLEREQUERY	LISTINDEXa%�C�DATA\��0��Z�%�C���
��I�Q���DATA\�����
F������UTHISCTABLERefresh,��Unload��Init���LoadZ��1����1#�2�Q�A"�A3t�qA�1�#qA3�1�A�A1'	D��.�4)�U��� <<�6%��)a�U�����G(�TASTRADE�%�C�
user_level�
��W�Q��
user_level�T��a���+T��C�������group_id~��
%������Q���	B����ULLCLOSEUSERLEVELLCUSERLEVELTASTRADE
USER_LEVELDESCRIPTIONEMPLOYEEGROUP_ID�%�C�������T�������T�������%�C�0��Z�T��	�
�����u�T��	�
�����T�������T��
��C�������1J���(��������	�
����
���
���ULOGINREFRESHTHISFORMTXTTITLEVALUETITLEEDTDESCRIPTIONNOTES
PHOTO_FILEIMGPHOTOPICTURETXTDISPPSWDPASSWORDTXTUSERLEVELGETUSERLEVEL5%�C������
��C�����.�B�-���ULOGININITTHISFORMREFRESH8�����C������T�����,C����ULLCLOSEUSERLEVELLOGINCMDOKCLICKTHISFORMURETVALEMPLOYEE_IDGETUSERLEVEL$��C������T������ULOGIN	CMDCANCELCLICKTHISFORMURETVALgetuserlevel,��Refresh1��Init���cmdok.Click��cmdcancel.Click���1��a�A���A�2!11�1�1A1q��A3#��qA2q�32�
��f-"��6&M<)<0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R020GZM80 5144081785Lcz�� WINDOWS _R020GZM8A 514408178��2 WINDOWS _QUZ0FW7RQ 514408178��m�!@
 WINDOWS _QYQ0YKBCT 511083849r
�
�
�
�
�
 WINDOWS _QYQ0YKBDD 511082738p	`N) WINDOWS _QYQ0YKBDX 514408179�q\��m  WINDOWS _QYQ0YKBZM 512469236����
�� WINDOWS _QYQ0YKCJX 514408180���	�= WINDOWS _QYQ0YKCM5 513385979�		�	��	��� WINDOWS _QYQ0YKD5W 511082739}	c	N	>	,	0
) COMMENT FONTINFO            �	k$lVERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentnLeft = 42
Top = 171
Width = 253
Height = 260
InitialSelectedAlias = "repolist"
Name = "Dataenvironment"
cursorcursorcursor1Dataenvironment�Left = 20
Top = 10
Width = 138
Height = 146
Alias = "repolist"
CursorSource = ..\data\repolist.dbf
Filter = ""
Name = "cursor1"
21
tsbaseform..\libs\tsbase.vcxform
frmreportsEScaleMode = 3
Top = 44
Left = 75
Height = 229
Width = 364
DoCreate = .T.
AutoCenter = .F.
BackColor = 192,192,192
BorderStyle = 2
Caption = "Print"
FontBold = .T.
FontSize = 8
MaxButton = .F.
MinButton = .F.
WindowType = 1
nsaveselect = 0
ctoolbar = 
lallowedits = .F.
lallownew = .F.
Name = "frmreports"
b..\include\tastrade.hr�A�($..\..\..\..\..\..\vfp6\foxpro.hz��#..\include\strings.h��A�($qPROCEDURE Click
thisform.Refresh()
thisform.lstReport.ListIndex = 1
thisform.lstReport.SetFocus()

ENDPROC

frmreportsTslabel1..\libs\tsbase.vcx�Top = 155
Left = 255
Height = 28
Width = 97
FontBold = .T.
Caption = "\<Run"
Default = .T.
Enabled = .T.
TabIndex = 4
TerminateRead = .F.
ReleaseErase = .F.
ColorSource = 3
Name = "cmdRun"

opgOutputTypeoptiongroupoptiongroup	lstReportlistboxlistboxcmdRun
frmreportsoptiongroupoptiongroup
frmreports
frmreports�Top = 190
Left = 255
Height = 28
Width = 97
FontBold = .T.
Cancel = .T.
Caption = "\<Close"
Enabled = .T.
TabIndex = 5
TerminateRead = .T.
ReleaseErase = .F.
ColorSource = 3
Name = "cmdClose"
..\libs\tsbase.vcxlabel
frmreportscmdClose
commandbutton..\libs\tsbase.vcxtscommandbutton
frmreports
commandbuttontscommandbutton	opgOutput!Arial, 1, 8, 5, 14, 11, 14, 3, 0
,PROCEDURE Click
RELEASE thisform
ENDPROC
*nsaveselect Saves the selected workarea.
	ts3dshape..\libs\tsbase.vcxshape
Ts3dshape1
frmreportsDHeight = 31
Left = 11
Top = 10
Width = 340
Name = "Ts3dshape1"
tslabel�Alignment = 2
BackColor = 192,192,192
BackStyle = 1
Caption = "Output Type"
Height = 16
Left = 20
Top = 5
Width = 77
TabIndex = 6
Name = "Tslabel1"
$ButtonCount = 2
BackStyle = 0
BorderStyle = 0
Value = 1
Height = 26
Left = 15
Top = 15
Width = 166
TabIndex = 2
Name = "opgOutputType"
Option1.FontSize = 8
Option1.BackStyle = 0
Option1.Caption = "R\<eports"
Option1.Value = 1
Option1.Height = 18
Option1.Left = 5
Option1.Top = 5
Option1.Width = 75
Option1.Name = "optReports"
Option2.FontSize = 8
Option2.BackStyle = 0
Option2.Caption = "\<Listings"
Option2.Value = 0
Option2.Height = 18
Option2.Left = 80
Option2.Top = 5
Option2.Width = 75
Option2.Name = "optListings"
:FontBold = .T.
FontName = "Arial"
FontSize = 8
ReadSize = .T.
BoundColumn = 2
RowSourceType = 6
RowSource = "cfullname, cdosname"
ControlSource = ""
Height = 98
Left = 11
SpecialEffect = 0
TabIndex = 1
Top = 50
Width = 340
ReleaseErase = .F.
DisabledItemBackColor = 255,255,255
Name = "lstReport"
�ButtonCount = 3
BackStyle = 0
BorderStyle = 0
ControlSource = ""
Height = 72
Left = 11
Top = 155
Width = 217
TabIndex = 3
ReleaseErase = .F.
Name = "opgOutput"
Option1.FontBold = .T.
Option1.FontName = "Arial"
Option1.FontSize = 8
Option1.BackStyle = 0
Option1.Caption = "Print Pre\<view"
Option1.Value = 1
Option1.Enabled = .T.
Option1.Height = 18
Option1.Left = 0
Option1.Top = 0
Option1.Width = 217
Option1.ReleaseErase = .F.
Option1.Name = "optScreen"
Option2.FontBold = .T.
Option2.FontName = "Arial"
Option2.FontSize = 8
Option2.BackStyle = 0
Option2.Caption = "Send to \<Printer"
Option2.Height = 18
Option2.Left = 0
Option2.Top = 23
Option2.Width = 217
Option2.ReleaseErase = .F.
Option2.Name = "optPrinter"
Option3.FontSize = 8
Option3.BackStyle = 0
Option3.Caption = "Send to \<File"
Option3.Height = 18
Option3.Left = 0
Option3.Top = 46
Option3.Width = 217
Option3.Name = "optFile"
xPROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl

*-- We want to provide the user with a visual clue that the
*-- Run command button is the default button.(By setting it's
*-- Default property.  However, if we don't trap for the
*-- Enter key being pressed, the DblClick() method will be
*-- called implicitly, and so will the click event for the
*-- Run command button. This results in the report being run
*-- twice.

IF nKeyCode = 13
  NODEFAULT
  this.DblClick()
ENDIF
ENDPROC
PROCEDURE DblClick
thisform.cmdRun.Click()
ENDPROC
PROCEDURE Init
IF RECCOUNT("RepoList") = 0
  RETURN .F.
ENDIF
ENDPROC
GPROCEDURE Init
*-- (c) Microsoft Corporation 1995

tsBaseForm::Init()
thisform.Refresh()
this.nSaveSelect = SELECT()

IF thisform.lstReport.ListCount > 0
  thisform.lstReport.ListIndex = 1  
ENDIF
ENDPROC
PROCEDURE Destroy
tsBaseForm::Destroy()
SELECT (this.nSaveSelect)
ENDPROC
PROCEDURE Refresh
LOCAL lcFilter
SELECT repolist

lcFilter = "ctype = '" + IIF(thisform.opgOutputType.optReports.Value = 1, ;
                            "REPO", ;
                            "LIST") + "'"

SET FILTER TO &lcFilter
LOCATE
thisform.lstReport.Requery()

ENDPROC
ePROCEDURE Click
LOCAL lcSeleRepo

lcSeleRepo = "REPORTS\" + ALLTRIM(repoList.cdosname) + ".FRX"

IF NOT FILE(lcSeleRepo)
  =MESSAGEBOX(REPORTNOTFOUND_LOC, MB_ICONEXCLAMATION)
  RETURN
ENDIF

DO CASE
  CASE thisform.opgOutput.optScreen.Value = 1      && To screen
    REPORT FORM (lcSeleRepo) PREVIEW
  CASE thisform.opgOutput.optPrinter.Value = 1    && To printer
    IF PRINTSTATUS()
      REPORT FORM (lcSeleRepo) ;
        TO PRINTER NOCONSOLE
    ELSE
      =MESSAGEBOX(PRINTERNOTREADY_LOC, MB_ICONEXCLAMATION)
    ENDIF
  CASE thisform.opgOutput.optFile.Value = 1        && To file
    lcTextFile  = ALLTRIM(Repolist.cDosName)+".TXT"
    REPORT FORM (lcSeleRepo) TO FILE (lcTextFile) ASCII
    =MESSAGEBOX(FILESAVEDAS_LOC + FULLPATH(lcTextFile), ;
                MB_ICONINFORMATION, ;
                TASTRADE_LOC)
ENDCASE


ENDPROC
���� ��;%DYS�U
<��UTHISFORMClick,��1q1!)����� ����%W+�U����&T���REPORTS\C����.FRX��%�C�0
��f�%��C�Report file not found.�0�x��B��
H�w�}�����������?���������������%�C�����?���(!9����!��C�Printer not ready.�0�x�����������}�T�	�C����.TXT��?����(��	��7��C�File saved as C�	��@�Tasmanian Traders�x���U

LCSELEREPOREPOLISTCDOSNAMETHISFORM	OPGOUTPUT	OPTSCREENVALUE
OPTPRINTEROPTFILE
LCTEXTFILEClick,��1qbQAA�������A��AsA3Z)����� ����%�6
�U4����%���
��-���
��C�����UNKEYCODE
NSHIFTALTCTRLTHISDBLCLICK��C�����UTHISFORMCMDRUNCLICK)%�C�RepoListN���"�B�-���UKeyPress,��DblClick���Init���1�A�A22�qA1�"	=m)���� ���&%����U3
��C����T���������C�����UTHISFORMREFRESH	LSTREPORT	LISTINDEXSETFOCUSClick,��1�12f)����� ���|%\8�U[��C�����
��C����T���CW��%�������T�T��������U	
TSBASEFORMINITTHISFORMREFRESHTHISNSAVESELECT	LSTREPORT	LISTCOUNT	LISTINDEX��C�����
F�����U
TSBASEFORMDESTROYTHISNSAVESELECT����F��BT���	ctype = 'C������
�REPO��LIST6�'��SET FILTER TO &lcFilter
-���C�����ULCFILTERREPOLISTTHISFORM
OPGOUTPUTTYPE
OPTREPORTSVALUE	LSTREPORTREQUERYInit,��Destroy���Refresh.��1���r1A2��2qq$�A2��9<)�0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R2Y13B0C4 5522892085Lcz�� WINDOWS _R2Y13B0CE 552578345��
3 WINDOWS _QS010GKNU 552578345��
)x�YlQ WINDOWS _QYP17OIMT 551721527�?�?�?�?�?�?3NW WINDOWS _QYP17OJ42 547900957m@|@�@�@�@�@ WINDOWS _QYP17OJ4M 551721527�A�A�A�A�ABMZL�= WINDOWS _QYP17OJLL 551721527	BB2B?BGLqK#K�< WINDOWS _QYP17OK2A 551721527K�J�J�J�J�I9I}; WINDOWS _QYP17OKL7 551721527"II�H�H�H2H�G�: WINDOWS _QYP17OL26 551721527�G�GxGiGVG�FKF�9 WINDOWS _QYP17OLIL 5525783454FFF�E�EREuC8 WINDOWS _QYP17OKIZ 547910024eCLC=C*CC�B COMMENT RESERVED            TB�7|VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentoLeft = 104
Top = 185
Width = 608
Height = 246
InitialSelectedAlias = "behindsc"
Name = "Dataenvironment"
cursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 116
Height = 154
Alias = "behindsc"
Order = "screen_top"
CursorSource = ..\data\behindsc.dbf
Name = "Cursor1"
21
tsbaseform..\libs\tsbase.vcxformfrmbehindscGScaleMode = 3
Top = 4
Left = 8
Height = 333
Width = 609
DoCreate = .T.
BufferMode = 0
AutoCenter = .F.
Caption = "Behind the Scenes"
MinWidth = 0
ForeColor = 0,0,0
BackColor = 192,192,192
ccurrentform = 
isplitwidth = 588
ctoolbar = 
lallowedits = .F.
lallownew = .F.
lallowdelete = .F.
Name = "frmbehindsc"
2%PROCEDURE refreshfeatures
thisform.LockScreen = .T.

*-- Display the explanation of the feature.
THISFORM.edtFeatureText.SelStart = 0
thisform.edtFeatureText.Refresh()

thisform.cmdCode.Enabled = !EMPTY(behindsc.code_to_sh)
thisform.LockScreen = .F.


ENDPROC
PROCEDURE getfilename
*-- Extract file name
LPARAMETER tcString
RETURN LEFT(tcString, AT(",", tcString) - 1)

ENDPROC
PROCEDURE getmethod
*-- Extract method name
LPARAMETER tcString
LOCAL lcMethod
lcMethod = ALLT(SUBSTR(tcString, AT(",", tcString, 2) + 1))

IF LEFT(lcMethod, 1) = "("
  *-- More than 1 method is specified
  lcMethod = SUBSTR(lcMethod, 2, LEN(lcMethod) - 2)
ENDIF
    
RETURN lcMethod

ENDPROC
PROCEDURE showcode
LOCAL lnOldArea, ;
      lnOldRec, ;
      lnNumSnips, ;
      lcTextFileName, ;
      lnFileHandle, ;
      lnCounter, ;
      lcThisLine, ;
      laFileTypes[1, 2], ;
      lcFileType, ;
      lcFileName, ;
      lcObject, ;
      lcMethod, ;
      lcStoredProcFileName, ;
      lcStoredProcs
      
DIMENSION laFileTypes[4, 2]
laFileTypes[1,1] = "FORM"
laFileTypes[1,2] = "SCX"
laFileTypes[2,1] = "CLASS LIBRARY"
laFileTypes[2,2] = "VCX"
laFileTypes[3,1] = "PROGRAM"
laFileTypes[3,2] = "PRG"
laFileTypes[4,1] = "STORED PROCS"
laFileTypes[4,2] = "DBC"

#DEFINE PADDING    15

lnOldArea = SELECT()
lnOldRec = RECNO()

*-- Extract memo strings into array
lnNumSnips = MEMLINES(behindsc.code_to_sh)

*-- create text file handle
lcTextFileName = 'SNIPPETS.TXT'
lnFileHandle  = FCREATE(lcTextFileName)

FOR lnCounter = 1 TO lnNumSnips
  IF USED("showmeth")
    USE IN showmeth
  ENDIF

  *-- Current line in behindsc.code_to_sh
  lcThisLine = ALLT(UPPER(MLINE(behindsc.code_to_sh, lnCounter)))
  
  IF EMPTY(lcThisLine)
    LOOP
  ENDIF

  =FPUTS(lnFileHandle, CRLF + REPLICATE("*", 60))

  lcFileName = thisform.GetFileName(lcThisLine)
  IF !FILE(lcFileName)
    =FPUTS(lnFileHandle, CRLF + lcFileName + LOWERNOTFOUND_LOC)
    LOOP
  ENDIF
  *-- Look up the extension in the laFileTypes array, and return
  *-- the full file type description
  lcFileType = ;
   laFileTypes[ASUBS(laFileTypes, ASCAN(laFileTypes, RIGHT(lcFileName, 3)), 1), 1]

  *-- Write file type and name to text file
  =FPUTS(lnFileHandle, ;
      PADR(lcFileType + ":", PADDING, " ") + LOWER(lcFileName))

  *-- Special PRG processing
  IF lcFileType = "PROGRAM"
    thisform.ExtractPRG(lnFileHandle, lcFileName)
    LOOP
  ENDIF
  
  lcObject = thisform.GetObject(lcThisLine)
  lcMethod = thisform.GetMethod(lcThisLine)

  *-- Special stored procedure processing
  *-- For now, we assume all stored procs are surrounded by 'FUNC...ENDFUNC'
  IF lcFileType = "STORED PROCS"
    IF lcObject = "*"
      thisform.ExtractAllStoredProcs(@lnFileHandle, lcTextFileName)
    ELSE
      lcStoredProcFileName = "sproc.txt"
      lcStoredProcs = thisform.ProcsToMem(lcStoredProcFileName)
      IF AT(",", lcObject) > 0
        thisform.ExtractMultiStoredProcs(lnFileHandle, lcObject, lcStoredProcs)
      ELSE
        thisform.ExtractStoredProc(lnFileHandle, lcObject, lcStoredProcs)
      ENDIF
      DELETE FILE (lcStoredProcFileName)
    ENDIF
    LOOP
  ENDIF

  *-- Open the file containing the method or property we want to extract 
  USE (lcFileName) AGAIN IN 0 ALIAS showmeth NOUPDATE
  SELECT showmeth
 
  *-- Write object name to text file
  IF NOT EMPTY(lcObject)
    *-- Locate the record in the SCX/VCX
    LOCATE FOR UPPER(objname) = lcObject
    IF FOUND()
      =FPUTS(lnFileHandle, PADR("CLASS:", PADDING, " ") + LOWER(showmeth.class))
      =FPUTS(lnFileHandle, PADR("OBJECT:", PADDING, " ") + LOWER(lcObject))
    ELSE 
      =FPUTS(lnFileHandle, PADR("OBJECT:", PADDING, " ") + lcObject + " was not found")  
      LOOP
    ENDIF
  ENDIF

  IF NOT EMPTY(showmeth.properties)
    *-- Extract property value and write it into text file
    =FPUTS(lnFileHandle, PADR(CRLF + "PROPERTIES:", PADDING, " "))
    thisform.ExtractAllProperties(lnFileHandle)
  ENDIF

  IF NOT EMPTY(lcMethod)
    *-- All Methods
    =FPUTS(lnFileHandle, PADR("METHODS:", PADDING, " "))
    IF lcMethod = "*"
      thisform.ExtractAllMethods(lnFileHandle)
    ELSE
      IF AT(",", lcMethod) > 0
        thisform.ExtractMultiMethods(lnFileHandle, lcMethod)
      ELSE
        thisform.ExtractMethod(lnFileHandle, lcMethod)
      ENDIF
    ENDIF
  ENDIF
  =FPUTS(lnFileHandle, CRLF)
ENDFOR

IF USED("showmeth")
  USE IN showmeth
ENDIF

=FCLOSE(lnFileHandle)

CREATE CURSOR viewcode (code M)
APPEND BLANK
APPEND MEMO code FROM (lcTextFileName)
DO FORM viewcode WITH thisform.DataSessionID
USE IN viewcode

IF NOT EMPTY(lnOldArea)
  SELECT (lnOldArea)
  GOTO lnOldRec
ENDIF  

RETURN

ENDPROC
PROCEDURE getobject
LPARAMETERS tcString
LOCAL lnStartWord, ;
      lnEndWord
      
lnStartWord = AT(",", tcString, 1) + 1
IF LEFT(LTRIM(SUBSTR(tcString, lnStartWord)), 1) = "("
  lnStartWord = AT("(", tcString) + 1
  lnEndWord = AT(")", tcString)
ELSE
  lnEndWord = AT(",", tcString, 2)
ENDIF

RETURN ALLT(SUBSTR(tcString, lnStartWord , lnEndWord - lnStartWord))




ENDPROC
PROCEDURE extractmethod
LPARAMETER tnFileHandle, tcMethod

LOCAL lnMemoLength, ;
      lnMethStartPos, ;
      lcMethod, ;
      lnLine, ;
      lcOutputString

lnMemoLength = LEN(showmeth.methods)
lnMethStartPos = ATC("PROCEDURE " + tcMethod, showmeth.methods)

IF lnMethStartPos = 0
  lcMethod = TAB + tcMethod + " not found in " + DBF()
  RETURN
ELSE
  lnMethEndPos = ATC(CRLF + "ENDPROC" , SUBSTR(showmeth.methods, lnMethStartPos))

  IF lnMethEndPos = 0   && Last proc in Method Memo
    lnMethEndPos = lnMemoLength - lnMethStartPos
  ENDIF

  lcMethod = SUBSTR(showmeth.methods, lnMethStartPos, lnMethEndPos)
ENDIF

FOR lnLine = 1 TO MEMLINES(lcMethod)
  lcOutputString = ""
  IF BETWEEN(lnLine, 1, MEMLINES(lcMethod))
    lcOutputString = TAB
  ENDIF

  =FPUTS(tnFileHandle, lcOutputString + MLINE(lcMethod, lnLine))
ENDFOR

=FPUTS(tnFileHandle, CRLF)
ENDPROC
PROCEDURE extractallmethods
LPARAMETERS tnFileHandle
LOCAL lcMethods, ;
      lnNextMethod, ;
      lcThisMethod, ;
      lnLine, ;
      lcOutputString

IF EMPTY(showmeth.methods)
  RETURN ""
ENDIF

lcMethods = LTRIM(showmeth.methods)

DO WHILE !EMPTY(lcMethods)
  lnNextMethod = ATC("PROCEDURE", lcMethods, 2)
  IF lnNextMethod = 0
    lnNextMethod = LEN(lcMethods)
  ENDIF
  lcThisMethod = LEFT(lcMethods, lnNextMethod - 1)

  *-- Cut the current method
  lcMethods = SUBSTR(lcMethods, lnNextMethod)

  *-- Print the method to the text file
  FOR lnLine = 1 TO MEMLINES(lcThisMethod)
    lcOutputString = ""
    IF BETWEEN(lnLine, 1, MEMLINES(lcThisMethod))
      lcOutputString = TAB
    ENDIF
    
    =FPUTS(tnFileHandle, lcOutputString + MLINE(lcThisMethod, lnLine))
  ENDFOR
ENDDO
ENDPROC
PROCEDURE extractallproperties
LPARAMETERS tnFileHandle
LOCAL lnLine

IF EMPTY(showmeth.properties)
  RETURN ""
ENDIF

FOR lnLine = 1 TO MEMLINES(showmeth.properties)
  =FPUTS(tnFileHandle, TAB + MLINE(showmeth.properties, lnLine))
ENDFOR

ENDPROC
PROCEDURE extractprg
LPARAMETERS tnOutFileHandle, tcFileName

LOCAL lnFileHandle

tcFileName = "PROGS\" + tcFileName

lnFileHandle = FOPEN(tcFileName)
IF lnFileHandle = -1
  =FPUTS(tnOutFileHandle,ERR_FOPEN_LOC + tcFileName)  &&"Could not open: "
  RETURN
ENDIF

DO WHILE !FEOF(lnFileHandle)
  =FPUTS(tnOutFileHandle, FGETS(lnFileHandle))
ENDDO

=FCLOSE(lnFileHandle)
RETURN

ENDPROC
PROCEDURE extractmultimethods
LPARAMETERS tnFileHandle, tcMethods

LOCAL lcMethods, ;
      lcThisMethod, ;
      lnNextMethod

lcMethods = tcMethods

DO WHILE !EMPTY(lcMethods)
  lnNextMethod = AT(",", lcMethods)
  IF lnNextMethod = 0  
    lnNextMethod = LEN(lcMethods)
    lcMethods = lcMethods + "  "
  ENDIF
  lcThisMethod = ALLT(LEFT(lcMethods, lnNextMethod - 1))

  *-- Cut the current method
  lcMethods = SUBSTR(lcMethods, lnNextMethod + 1)
  thisform.ExtractMethod(tnFileHandle, lcThisMethod)
ENDDO

ENDPROC
PROCEDURE extractallstoredprocs
LPARAMETERS tnOutFileHandle, tcTextFileName

=FCLOSE(tnOutFileHandle)

*-- We assume the database is open
COPY PROCEDURES TO (tcTextFileName) ADDITIVE
tnFileHandle = FOPEN(tcTextFileName)

RETURN

ENDPROC
PROCEDURE extractstoredproc
LPARAMETER tnFileHandle, tcProcToShow, tcStoredProc

LOCAL lnProcLength, ;
      lnProcStartPos, ;
      lnProcEndPos, ;
      lcProc, ;
      lnLine, ;
      lcOutputString

lnProcLength = LEN(tcStoredProc)
lnProcStartPos = ATC("FUNCTION " + tcProcToShow, tcStoredProc)

IF lnProcStartPos = 0
  lcProc = TAB + tcProcToShow + " not found in " + DBC()
  RETURN
ELSE
  lnProcEndPos = ATC(CRLF + "ENDFUNC" , SUBSTR(tcStoredProc, lnProcStartPos))

  IF lnProcEndPos = 0   && Last func
    lnProcEndPos = lnProcLength - lnProcStartPos
  ENDIF

  lcProc = SUBSTR(tcStoredProc, lnProcStartPos, lnProcEndPos)
ENDIF

FOR lnLine = 1 TO MEMLINES(lcProc)
  lcOutputString = ""
  IF BETWEEN(lnLine, 1, MEMLINES(lcProc))
    lcOutputString = TAB
  ENDIF

  =FPUTS(tnFileHandle, lcOutputString + MLINE(lcProc, lnLine))
ENDFOR

=FPUTS(tnFileHandle, CRLF)

ENDPROC
PROCEDURE extractmultistoredprocs
LPARAMETER tnFileHandle, tcProcs, tcStoredProc

LOCAL lcProcs, ;
      lcThisProc, ;
      lnNextProc

lcProcs = tcProcs

DO WHILE !EMPTY(lcProcs)
  lnNextProc = AT(",", lcProcs)
  IF lnNextProc = 0
    lnNextProc = LEN(lcProcs)
    lcProcs = lcProcs + "  "
  ENDIF
  lcThisProc = ALLT(LEFT(lcProcs, lnNextProc - 1))

  *-- Cut the current proc
  lcProcs = SUBSTR(lcProcs, lnNextProc + 1)
  thisform.ExtractStoredProc(tnFileHandle, lcThisProc, tcStoredProc)
ENDDO

ENDPROC
PROCEDURE procstomem
LPARAMETERS tcStoredProcFileName
LOCAL lnFileHandle, ;
      lnFileSize, ;
      lcStoredProcs

COPY PROCEDURES TO (tcStoredProcFileName)
lnFileSize = FileSize(tcStoredProcFileName)    && IN UTILITY.PRG
lnFileHandle = FOPEN(tcStoredProcFileName)
=FSEEK(lnFileHandle, 0)
lcStoredProcs = FREAD(lnFileHandle, lnFileSize)
=FCLOSE(lnFileHandle)

RETURN lcStoredProcs
ENDPROC
PROCEDURE refreshform
thisform.LockScreen = .T.
thisform.Refresh()
thisform.cmdCode.Enabled = !EMPTY(behindsc.code_to_sh)
thisform.LockScreen = .F.

ENDPROC
PROCEDURE Load
LOCAL lcForm
IF FormIsObject()
  lcForm = _screen.Activeform.Caption
  *-- Special handling for Order History and forms that
  *-- support multiple instances
  IF ":" $ lcForm
    lcForm = LEFT(lcForm, AT(":", lcForm) - 1)
  ELSE
    IF "HISTORY" $ UPPER(lcForm)
      lcForm = LEFT(lcForm, AT(" ", lcForm, 2) - 1)
    ENDIF
  ENDIF
  thisform.cCurrentForm = lcForm
ENDIF

IF EMPTY(thisform.cCurrentForm) OR ;
    thisform.cCurrentForm = _screen.Caption
  thisform.cCurrentForm = "No starting form"
ENDIF


ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LPARAMETERS tlModal
thisform.WindowType = IIF(tlModal, 1, 0)

IF TYPE("oApp.oToolbar") == "O"
  IF !ISNULL(oApp.oToolBar)
    oApp.oToolbar.cmdBehindSC.Enabled = .F.
  ENDIF
ENDIF


LOCAL lnFormIndex, ;
      lcValue

tsBaseForm::Init()
thisform.AddToMenu()

SELECT DISTINCT screen_id ;
  FROM behindsc ;
  WHERE screen_id <> "*" ;
  ORDER BY screen_id ;
  INTO ARRAY thisform.aForms

DIMENSION thisform.aForms[_tally + 1]
=AINS(thisform.aForms, 1)
thisform.aForms[1] = ALL_LOC	&&"All"

thisform.cboForms.RowSource = "thisform.aForms"

*-- Load an array with references to those controls 
*-- that need to be moved when the splitter control
*-- is repositioned
DIMENSION this.aObjSplitMove[3]
this.aObjSplitMove[1] = thisform.lstFeatures
this.aObjSplitMove[2] = thisform.edtFeatureText
this.aObjSplitMove[3] = thisform.lblHowItWorks

*-- Set a filter to set the scope to features on the current screen.
IF SEEK(this.cCurrentForm, "behindsc")
  lcValue = this.cCurrentForm
  SET FILTER TO screen_id = "&lcValue"
ELSE
   SET FILTER TO screen_id <> "*"
ENDIF     

GO TOP IN behindsc

lnFormIndex = ASCAN(thisform.aForms, this.cCurrentForm)

thisform.cboForms.Value = IIF(lnFormIndex = 0, 1, lnFormIndex)


ENDPROC
PROCEDURE Destroy
LOCAL i

tsBaseForm::Destroy()
thisform.RemoveFromMenu()

IF WEXIST("SNIPPETS.TXT")
  RELEASE WINDOW "SNIPPETS.TXT"
ENDIF  
IF FILE("SNIPPETS.TXT")
  DELETE FILE "SNIPPETS.TXT"
ENDIF

IF TYPE("oApp.oToolbar") == "O"
  IF !ISNULL(oApp.oToolBar)
    oApp.oToolbar.cmdBehindSC.Enabled = .T.
  ENDIF
ENDIF

*-- Ensure all references are released, or we'll
*-- have objects hanging around that we no longer
*-- need
FOR i = 1 TO ALEN(thisform.aObjSplitMove)
  thisform.aObjSplitMove[i] = .NULL.
ENDFOR
ENDPROC
b..\include\tastrade.hA�($..\..\..\..\..\..\vfp6\foxpro.h�#..\include\strings.h"
A�($u��� \\�%���U������Ca����%�C���Q�R,:��Printing ...��?�behindsc(!9�����z�!��C�Printer not ready.�0�x���R���C-����ULNANSWERTHISFORMWAITMODEBEHINDSCClick,��1q��q��AQ�3�)\���� ��F:%z���U,��Ca����
��C������C-����UTHISFORMWAITMODESHOWCODEClick,��1���1T)����� ���%o�~�U5%�C�ShowMeth���'�<,�ShowMeth��<��UTHISFORMClick,��1qAr2a)�@��� ''4f%����UFT���C������(T�����C��������UTHISLEFTTHISFORMCTLSPLITTERGETRIGHTEDGEWIDTHISPLITWIDTHGETLEFTEDGEMove,��1��1�)'���� ��%o�}�UT��������UTHISLEFTTHISFORMEDTFEATURETEXTMove,��1a2;)����� ��u!%K;�U!T���C�������UTHISWIDTHTHISFORMCTLSPLITTERGETLEFTEDGELEFT
��C����UTHISFORMREFRESHFEATURES!������T������U	TSLISTBOXREQUERYTHIS	LISTINDEXMove,��InteractiveChange���Requery���1�3�3�1Mu���	)�
tscombobox..\libs\tsbase.vcxcomboboxcboFormsfrmbehindscRowSourceType = 5
RowSource = ""
Height = 21
Left = 10
Style = 2
TabIndex = 1
Top = 288
Width = 267
Name = "cboForms"
tslabel..\libs\tsbase.vcxlabellblSelectFeaturefrmbehindsc�FontName = "Arial"
Alignment = 0
BackStyle = 1
Caption = "Desi\<gn Feature"
Height = 17
Left = 10
Top = 7
Width = 104
TabIndex = 2
ForeColor = 0,0,0
BackColor = 192,192,192
Name = "lblSelectFeature"
	tslistbox..\libs\tsbase.vcxlistboxlstFeaturesfrmbehindsctslabel..\libs\tsbase.vcxlabel
lblHowItWorksBArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
qTop = 26
Left = 276
Width = 8
Height = 246
TabIndex = 9
Name = "ctlSplitter"
shpHandle.Name = "shpHandle"
frmbehindscctlSplittercontrol..\libs\tsgen.vcxsplitter�PROCEDURE Click
LOCAL lnAnswer
*-lnAnswer = MESSAGEBOX(VIEWCSDTYPRINT_LOC, ;
*-                      MB_ICONQUESTION + MB_YESNO, ;
*-                      TASTRADE_LOC)
*-IF lnAnswer = IDYES
  thisform.WaitMode(.T.)
  IF PRINTSTATUS()
    WAIT WINDOW NOWAIT PRINTING_LOC
    REPORT FORM behindsc NEXT 1 TO PRINTER NOCONSOLE
  ELSE
    =MESSAGEBOX(PRINTERNOTREADY_LOC, MB_ICONEXCLAMATION)
  ENDIF
  WAIT CLEAR
  thisform.WaitMode(.F.)
*-ENDIF

ENDPROC
�Top = 288
Left = 286
Height = 25
Width = 101
Caption = "\<Print"
Enabled = .T.
MousePointer = 0
TabIndex = 8
Name = "cmdPrint"
frmbehindsccmdPrint
commandbutton..\libs\tsbase.vcxtscommandbutton_PROCEDURE Click
thisform.WaitMode(.T.)
thisform.ShowCode()
thisform.WaitMode(.F.)
ENDPROC
�Top = 288
Left = 394
Height = 25
Width = 101
Caption = "Co\<de"
TabIndex = 7
ToolTipText = "Show method code for selected feature"
Name = "cmdCode"
frmbehindsccmdCode
commandbutton..\libs\tsbase.vcxtscommandbuttonlPROCEDURE Click
IF WEXIST("ShowMeth")
   RELEASE WINDOW "ShowMeth"
ENDIF

RELEASE thisform

ENDPROC
�Top = 288
Left = 502
Height = 25
Width = 101
Cancel = .T.
Caption = "\<Close"
Enabled = .T.
MousePointer = 0
TabIndex = 6
Name = "cmdClose"
frmbehindsccmdClose
commandbutton..\libs\tsbase.vcxtscommandbutton�PROCEDURE Move
this.Left  = thisform.ctlSplitter.GetRightEdge() - 2
this.Width = thisform.iSplitWidth - thisform.ctlSplitter.GetLeftEdge() + thisform.ctlSplitter.width
ENDPROC
�BorderStyle = 1
Height = 247
Left = 281
ReadOnly = .T.
ScrollBars = 2
TabIndex = 5
Top = 26
Width = 323
BackColor = 255,255,255
ControlSource = "behindsc.desc"
Name = "edtFeatureText"
frmbehindscedtFeatureTexteditbox..\libs\tsbase.vcx	tseditboxFPROCEDURE Move
this.Left =  thisform.edtFeatureText.Left

ENDPROC
�FontName = "Arial"
Alignment = 0
BackStyle = 1
Caption = "How I\<t Works"
Height = 17
Left = 282
Top = 7
Width = 97
TabIndex = 4
ForeColor = 0,0,0
BackColor = 192,192,192
Name = "lblHowItWorks"
frmbehindsc�PROCEDURE Move
this.Width = thisform.ctlSplitter.GetLeftEdge() - this.Left

ENDPROC
PROCEDURE InteractiveChange
thisform.RefreshFeatures()

ENDPROC
PROCEDURE Requery
TSListBox::Requery
this.ListIndex = 1
ENDPROC
�ColumnCount = 1
ColumnWidths = "1000"
RowSourceType = 6
RowSource = "behindsc.topic"
Value = Listbox1
ControlSource = ""
Height = 247
Left = 10
NumberOfElements = 0
TabIndex = 3
Top = 26
Width = 267
Name = "lstFeatures"
1PROCEDURE ProgrammaticChange
this.InterActiveChange()
ENDPROC
PROCEDURE InteractiveChange
LOCAL lcValue

DO CASE
  CASE this.Value <> 1            && 1 is the "All Screens" case
    SET ORDER TO screen_top        && Order: by Screen and Topic

    lcValue = thisform.aForms[this.Value]
    SET FILTER TO screen_id = "&lcValue"

    IF !EVAL(FILTER())              && Not pointing to a valid record within filter scope
       LOCATE  
    ENDIF

  CASE this.Value = 1             && All forms
    SET FILTER TO screen_id <> "*"
    SET ORDER TO topic            && Order: Alpha by Topic

ENDCASE

thisform.LockScreen = .T.
thisform.RefreshFeatures()

THISFORM.lstFeatures.Requery()

*-- Redisplay the list of topics
thisform.edtFeatureText.Refresh()
thisform.LockScreen = .F.

ENDPROC
�ccurrentform The name of the currently active form.
isplitwidth
*refreshfeatures Refreshes the edit box containing the feature text. 
^aobjsplitmove[1,0] This array holds references to screen objects that will need to be referenced by the splitter object to be moved.
^aforms[1,0] Array for forms to hold scope.
*getfilename Extracts the file name from 'show code' string in behindsc.code_to_sh.
*getmethod Extracts the method name from 'show code' string in behindsc.code_to_sh.
*showcode Creates a text file with code based on instructions stored in behindsc.code_to_sh.
*getobject Extracts the object name from 'show code' string in behindsc.code_to_sh.
*extractmethod Extracts a method from the METHODS memo field of an SCX or VCX file.
*extractallmethods Extracts all methods from the METHODS memo field of an SCX or VCX file.
*extractallproperties Extracts all properties from the PROPERTIES memo field of an SCX or VCX file.
*extractprg Extracts the contents of a PRG and writes it to the output file.
*extractmultimethods Extracts multiple, but not all, methods from the METHODS memo field of an SCX or VCX file.
*extractallstoredprocs Extracts all storec procedures from a DBC file.
*extractstoredproc Extracts a single stored procedure from a DBC file.
*extractmultistoredprocs Extracts multiple, but not all, stored procedures from a DBC file.
*procstomem Dumps the contents of all stored procedures to a memory variable.
���� ��T
%e9�U
��C����UTHISINTERACTIVECHANGE���
H������������G((�
screen_top�T��C������(SET FILTER TO screen_id = "&lcValue"
%�CC��
����-����������G(���*��G((�topic��T���a��
��C��	����C��
�����C���
��T���-��ULCVALUETHISVALUE
SCREEN_TOPTHISFORMAFORMS	SCREEN_IDTOPIC
LOCKSCREENREFRESHFEATURESLSTFEATURESREQUERYEDTFEATURETEXTREFRESHProgrammaticChange,��InteractiveChangeY��1�2q�A1r��AAB�B���26^&)�"��� �!�!-%o� I�U[T���a��T���������C�����T����C���
��T���-��U	THISFORM
LOCKSCREENEDTFEATURETEXTSELSTARTREFRESHCMDCODEENABLEDBEHINDSC
CODE_TO_SH"���B�C�C�,��=��UTCSTRINGq������!T��CC�C�,���\���%�C��=�(��a�T��C��C�>�\���	B����UTCSTRINGLCMETHOD�G�����������������	�
���
���������T���������FORM��T���������SCX��&T���������
CLASS LIBRARY��T���������VCX�� T���������PROGRAM��T���������PRG��%T���������STORED PROCS��T���������DBC��T��CW��T��CO��T��C�����T���SNIPPETS.TXT��T��C���������(�����%�C�showmeth�����Q���T��CCC����f���%�C����
�.�� ��C�C�
 C�
 C�*�<Q���T�	�C�����%�C�	0
����)��C�C�
 C�
 �	� not found.���.��*T��CC��C��C�	�R�������"��C�C��:�� �C�	@���%���PROGRAM�����C��	����.��T�
�C�����T��C�����%���STORED PROCS���%��
�*��s���C��������T���	sproc.txt��T�
�C�����%�C�,�
�������C��
�
���������C��
�
����������.��Q����	����F��%�C�
�
����-�C�f�
��%�C4����&��C�C�CLASS:�� �C��@���$��C�C�OBJECT:�� �C�
@������4��C�C�OBJECT:�� ��
� was not found���.���%�C���
��>�.��C�CC�
 C�
 �PROPERTIES:�� ������C������%�C��
������C�C�METHODS:�� ����%���*������C��������%�C�,��������C�����������C���� �������C�C�
 C�
 �����%�C�showmeth���*�Q�����C����h��viewcode�"�M���"�����viewcode���#�Q�!�%�C��
����
F����	#�����B�U$	LNOLDAREALNOLDREC
LNNUMSNIPSLCTEXTFILENAMELNFILEHANDLE	LNCOUNTER
LCTHISLINELAFILETYPES
LCFILETYPE
LCFILENAMELCOBJECTLCMETHODLCSTOREDPROCFILENAME
LCSTOREDPROCSBEHINDSC
CODE_TO_SHSHOWMETHTHISFORMGETFILENAME
EXTRACTPRG	GETOBJECT	GETMETHODEXTRACTALLSTOREDPROCS
PROCSTOMEMEXTRACTMULTISTOREDPROCSEXTRACTSTOREDPROCOBJNAMECLASS
PROPERTIESEXTRACTALLPROPERTIESEXTRACTALLMETHODSEXTRACTMULTIMETHODS
EXTRACTMETHODVIEWCODECODE
DATASESSIONID��������T��C�,�����%�CCC��\A�=�(��t�T��C�(����T��C�)������T��C�,�����B�CC����\���UTCSTRINGLNSTARTWORD	LNENDWORD������������T��C��>��#T��C�
PROCEDURE ������%�������(T��C�	 �� not found in C&��B���-T�	�CC�
 C�
 �ENDPROCC���\���%��	�����T�	������T��C����	\��������(�C����r�
T�����%�C��C�����W�T��C�	 �����C��C����������C�C�
 C�
 ���U
TNFILEHANDLETCMETHODLNMEMOLENGTHLNMETHSTARTPOSLCMETHODLNLINELCOUTPUTSTRINGSHOWMETHMETHODSLNMETHENDPOS<����������%�C�����9�	B�����T��C��A��+�C��
��5�T��C�	PROCEDURE�����%�������T��C�>���T��C���=��T��C��\�������(�C����1�
T�����%�C��C������T��C�	 �����C��C���������UTNFILEHANDLE	LCMETHODSLNNEXTMETHODLCTHISMETHODLNLINELCOUTPUTSTRINGSHOWMETHMETHODSl������%�C�����)�	B����������(�C�����e���C�C�	 C���������UTNFILEHANDLELNLINESHOWMETH
PROPERTIES��������T���PROGS\���T��C����%�������`���C������B��+�C��
������C�C��������C����B�UTNOUTFILEHANDLE
TCFILENAMELNFILEHANDLE
ERR_FOPEN_LOC����������
T�����+�C��
����T��C�,���%�����~�T��C�>��T����  ���T��CC���=���T��C���\����C�������UTNFILEHANDLE	TCMETHODS	LCMETHODSLCTHISMETHODLNNEXTMETHODTHISFORM
EXTRACTMETHOD9������C����
�(����T��C����B�UTNOUTFILEHANDLETCTEXTFILENAMETNFILEHANDLE��������������T��C�>��T��C�	FUNCTION �����%�������)T��C�	 �� not found in C���B���*T��CC�
 C�
 �ENDFUNCC��\���%�������T�������T��C���\��������(�C����n�
T�����%�C��C�����S�T��C�	 �����C��C����������C�C�
 C�
 ���U	TNFILEHANDLETCPROCTOSHOWTCSTOREDPROCLNPROCLENGTHLNPROCSTARTPOSLNPROCENDPOSLCPROCLNLINELCOUTPUTSTRING�����������
T�����+�C��
����T��C�,���%�������T��C�>��T����  ���T��CC���=���T��C���\����C��������UTNFILEHANDLETCPROCSTCSTOREDPROCLCPROCS
LCTHISPROC
LNNEXTPROCTHISFORMEXTRACTSTOREDPROCz���������(����T��C����T��C������C�����T��C�������C����	B����UTCSTOREDPROCFILENAMELNFILEHANDLE
LNFILESIZE
LCSTOREDPROCSFILESIZEET���a��
��C����T����C���
��T���-��UTHISFORM
LOCKSCREENREFRESHCMDCODEENABLEDBEHINDSC
CODE_TO_SH����%�C�����T���9����%��:���U�T��C�C�:��=�����%��HISTORYC�f����T��C�C� ���=����T�������"%�C����
���9����� T����No starting form���ULCFORMFORMISOBJECT
ACTIVEFORMCAPTIONTHISFORMCCURRENTFORM@���T���C�����6��!%�C�
oApp.oToolbarb�O��q�%�C���
��m�T�����-����������C��	�
��
��C����/o��behindsc��
����
�*����
��������� �����C������T�������All��"T�����thisform.aForms��������T����������T����������T����������%�C���behindsc�����T������(SET FILTER TO screen_id = "&lcValue"
���G(��
�*���	#�)�T��C�������%T����C������6��UTLMODALTHISFORM
WINDOWTYPEOAPPOTOOLBARCMDBEHINDSCENABLEDLNFORMINDEXLCVALUE
TSBASEFORMINIT	ADDTOMENUDISTINCT	SCREEN_IDBEHINDSCAFORMSCBOFORMS	ROWSOURCETHIS
AOBJSPLITMOVELSTFEATURESEDTFEATURETEXT
LBLHOWITWORKSCCURRENTFORMVALUE�����C�����
��C����%�C�SNIPPETS.TXT���Q�<,�SNIPPETS.TXT��%�C�SNIPPETS.TXT0������SNIPPETS.TXT���!%�C�
oApp.oToolbarb�O����%�C���
����T�����a���������(�C��	���
�T��	���������U
I
TSBASEFORMDESTROYTHISFORMREMOVEFROMMENUOAPPOTOOLBARCMDBEHINDSCENABLED
AOBJSPLITMOVErefreshfeatures,��getfilename���	getmethod��showcode���	getobject@
��
extractmethod��extractallmethods"
��extractallproperties���
extractprg^��extractmultimethods7��extractallstoredprocs`��extractstoredproc���extractmultistoredprocs���
procstomem��refreshform���Loadc��Init���Destroy���1�3��4r�3rqr�A�3~2��a��Q���#��rq�A��AAR�AA�$�QAARQ�!Q�aQq���A�AAASq�aA�AAAA2�A�!�qQ�QAAAaAr�A��Q�q���AB3q���q1�aAr6�v"1�A��A�A��q�ArAb2qu"�A"��Aa#��q�ArAA2qq"�A��A3�rr�!!AAA�A3���1�1A�cQA3����B3�����A��ARA��q�ArAb3���1�1A�c�A3q��!��!��2����3q�!#����AAA#A4s�1AAA����2!�"������A��R4q���AA�aA1AAA�AA1'�

����!s�Q�~u�����C�>� ���5��� L�� Z$X��$l&~��&(�$(�(�
�(�*��*�/�702�)�!0bDmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Class              0 WINDOWS _R020LYC24 547914841�&'�H������X WINDOWS _R020LY9A9 5144130073456:E� WINDOWS _R020LY9XW 514413008=DCBX@>' WINDOWS _R020LYALJ 514413008)('&%#"� WINDOWS _R020LYB97 547914841� WINDOWS _R020LYBX4 547914841���� WINDOWS _R020LYBY8 547914841������ WINDOWS _R020LYBZM 547914841������ WINDOWS _R020LYC0Q 547914841������ COMMENT RESERVED            V�g WINDOWS _RAA0Z9X1Y 552290601 �!��� WINDOWS _RAA0ZL2L7 548031955~������f WINDOWS _RAA0ZL2MB 548031955�cb��72; WINDOWS _RAB0HPEQR 5480389361/.-,�+@ WINDOWS _RAB0KWVRQ 552290601&%$#"  WINDOWS _RAB0KWVS0 552290601db WINDOWS _RAB0KWVSA 552290601aWVUQO WINDOWS _RAB0KWVSU 552290601NMLK:8 WINDOWS _RAB0KWVT4 552290601765 WINDOWS _RAB0KWVTE 548032148���G/"[ COMMENT RESERVED             WINDOWS _RAB13IL07 552290612}��|S���?9 COMMENT RESERVED            DS WINDOWS _R0O0U5K7F 552372328W�Z��>QROPN WINDOWS _R0O0U5IZR 515862660������ WINDOWS _R0O0U5J1F 515862660������ WINDOWS _R0O0U5J33 515862660�0 WINDOWS _R0O0U5J4R 515862660 WINDOWS _R0O0U5J6F 515862660

	 WINDOWS _R0O0U5J83 515862660� WINDOWS _R0O0U5JAB 515862660������ WINDOWS _R0O0U5JC0 515862660������ WINDOWS _R0O0U5JDO 515862660������ WINDOWS _R0O0U5JFC 515862660������ WINDOWS _R0O0U5JGQ 515862660������ WINDOWS _R0O0U5JHU 515862660������ WINDOWS _R0O0U5JJ8 515862660������ WINDOWS _R0O0U5JKM 515862660������ WINDOWS _R0O0U5JM0 515862660������ WINDOWS _R0O0U5JN4 515862660������ WINDOWS _R0O0U5JOI 515862660������ WINDOWS _R0O0U5JPW 515862660������ WINDOWS _R0O0U5JRA 515862660������ WINDOWS _R0O0U5JSE 515862660������ WINDOWS _R0O0U5JTS 547907732�����~ WINDOWS _R0O0U5JVH 515862660}|{zyw WINDOWS _R0O0U5JWL 551714063vutsrnk@ WINDOWS _R0O0U5JY9 551714063eRJI.E+� WINDOWS _R0O0U5JZX 515862660*!  WINDOWS _R0O0U5K1V 515862660
	� WINDOWS _R0O0U5K2Z 515862660������ WINDOWS _R0O0U5K4D 515862660�����j WINDOWS _R0O0U5K5R 515862660i`_^][ COMMENT RESERVED            MLE WINDOWS _QYX1F3WMQ 552372376I>
Gn9 WINDOWS _QYX1F3WFI 5479098258/.-(�d COMMENT RESERVED            	 WINDOWS _R2F0W4MXY 552766051r�s���pq�nom WINDOWS _R2F0W4MF1 520255340������ WINDOWS _R2F0W4MFV 520255340�������� WINDOWS _R2F0W4MWA 520255341~}|{z WINDOWS _R2F0W4MX4 520255341yxwvut COMMENT RESERVED            lY WINDOWS _R090UECC8 553993418����[�R_`�]^Z COMMENT RESERVED            Y� WINDOWS _R020LUKRI 606639357SUTa2&JK�671 COMMENT RESERVED            0Q@VERSION =  0.029b..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($splitter..\include\tastrade.hnleftedge
nrightedge
Pixelsb..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($BArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
findcustomerPixelsA form for locating customers.GBasic horizontal splitter control. Used in the Behind the Scenes form. Class2b..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($controlsplitterClass10tsformretvalfindcustomer�PROCEDURE Option1.Click
SET ORDER TO TAG customer_i
THISFORM.lstCustomers.Requery

ENDPROC
PROCEDURE Option2.Click
SET ORDER TO TAG company_na
THISFORM.lstCustomers.Requery

ENDPROC

tsbase.vcxformTop = 0
Left = 0
Height = 247
Width = 6
BackStyle = 0
BorderStyle = 0
BorderWidth = 0
FillStyle = 0
MousePointer = 9
SpecialEffect = 0
BackColor = 0,0,0
FillColor = 192,192,192
ClassLibrary = "c:\fox30\nwind\beta1\mainsamp\libs\nwbasobj.vcx"
Name = "shpHandle"
splitter.	shpHandleshapeenvironment..\include\tastrade.h�coldtalk
coldsafety
coldpath
coldproc
coldstatus
noldmemo
colddir
coldhelp
colddeleted
coldexclusive
coldclasslib
coldnotify
coldbell
coldnear
coldexact
coldmultilocks
coldintensity
coldonshutdown
coldconfirm
coldescape
PixelsEnvironment Information Classshape�nleftedge The left edge of the control.
nrightedge Right edge of control.
*getleftedge Returns the value of the nLeftEdge property.
*getrightedge Returns the value of the nRightEdge property.
*updatecontrols Called when the control has been changed.
wWidth = 6
Height = 247
SpecialEffect = 2
BackColor = 128,128,128
nleftedge = 0
nrightedge = 0
Name = "splitter"
���� ��k�%Xpj�U
�����UTHISFORMCMDOKCLICKDblClick,��1�2*)�	findorderb..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($findcustomer.4PROCEDURE close
thisform.cmdExit.Click()
ENDPROC
controlClass1!Arial, 0, 8, 5, 14, 11, 20, 3, 0
customerinfo..\include\tastrade.hPixelsCustomer Information Form ClassClass30customenvironmentcustom	introform	container..\include\tastrade.h!Arial, 0, 8, 5, 14, 11, 20, 3, 0
customerinfoqControlSource = "customer.fax"
Height = 24
Left = 143
TabIndex = 11
Top = 290
Width = 104
Name = "txtFax"
customerinfo.txtFaxtextbox
tsbase.vcx]Height = 17
Width = 100
coldtalk = 
coldsafety = 
coldpath = 
coldproc = 
coldstatus = 
noldmemo = 0
colddir = 
coldhelp = 
colddeleted = 
coldexclusive = 
coldclasslib = 
coldnotify = 
coldbell = 
coldnear = 
coldexact = 
coldmultilocks = 
coldintensity = 
coldonshutdown = 
coldconfirm = 
coldescape = 
Name = "environment"
b..\include\tastrade.h*�A�($..\..\..\..\..\..\vfp6\foxpro.h2��#..\include\strings.h:�A�($	tstextboxhCaption = "Discount"
Height = 22
Left = 391
Top = 284
Width = 77
TabIndex = 22
Name = "Tslabel3"
	daterange..\include\tastrade.hPixels,Custom control that accepts a range of datesClass5control	daterange7Caption = "To"
Left = 5
Top = 35
Name = "Tslabel2"
	daterange.Tslabel2label
tsbase.vcxtslabel8Caption = "From"
Left = 5
Top = 5
Name = "Tslabel1"
	daterange.Tslabel1label
tsbase.vcxtslabel	daterange.BArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
PixelsFirst form that is displayed.customerinfo.��� ��]\%����UB%�C���
��;�T������T�������UTHISPARENTVALIDATEVALUESELSTARTValid,��1QaA2\)�gPROCEDURE Valid
IF !this.Parent.Validate()
  this.Value = {}
  this.SelStart = 0
ENDIF

ENDPROC
�Alignment = 3
Value = {  /  /  }
Format = "DK"
Height = 22
Left = 90
TabIndex = 2
Top = 35
Width = 81
Name = "txtDateTo"
	txtDateTotextbox
tsbase.vcx	tstextbox�Alignment = 3
Value = {  /  /  }
Format = "DK"
Height = 22
Left = 90
TabIndex = 1
Top = 5
Width = 81
Name = "txtDateFrom"
	daterange.txtDateFromtextbox
tsbase.vcxClass9tsformretval	introform	introform.Tslabel3label
tsbase.vcxtslabel	tstextboxcontrol#coldtalk Value of gcOldTalk
coldsafety Value of SET('SAFETY')
coldpath Value of gcOldPath
coldproc Value of SET('PROCEDURE')
coldstatus Value of SET('STATUS BAR')
noldmemo Value of SET('MEMOWIDTH')
colddir Value of gcOldDir
coldhelp Value of SET('HELP')
colddeleted Value of SET('DELETED')
coldexclusive Value of SET('EXCLUSIVE')
coldclasslib Value of gcClassLib
coldnotify Value of SET('NOTIFY')
coldbell Value of SET('BELL')
coldnear Value of SET('NEAR')
coldexact Value of SET('EXACT')
coldmultilocks Value of SET('MULTILOCKS')
coldintensity Value of SET('INTENSITY')
coldonshutdown Value of ON('SHUTDOWN')
coldconfirm Value of SET('CONFIRM')
coldescape Value of gcOldEscape
coldcompatible
*set Sets all the SET commands.
*reset Resets the SET commands to their original value
/��� �%W���UB������UTHISTXTDATEFROMVALUEB%�C������$�B�C$������;�B�������UTHIS	TXTDATETOVALUEt-%�������
�
C����
	��m�9��C�*'To' date cannot be less than 'From' date.�0�x��B�-���UTHIS	TXTDATETOVALUETXTDATEFROMgetdatefrom,��	getdateto\��validate���1�3Q���A3��qA26V	 n)form�PROCEDURE Unload
IF USED("orders")
	SELECT orders
ENDIF

tsFormRetVal::Unload

ENDPROC
PROCEDURE Load
tsFormRetVal::Load

IF !USED("customer")
	USE customer ORDER TAG "company_na" IN 0
ENDIF

SELECT customer
GO TOP

ENDPROC
�DataSession = 2
Height = 280
Width = 450
DoCreate = .T.
Picture = 
Caption = "Find Customer"
Icon = 
uretval = 
Name = "findcustomer"
tscommandbuttoncustomerinfo.b..\include\tastrade.h��A�($..\..\..\..\..\..\vfp6\foxpro.h���#..\include\strings.h��A�($��}�xt	�E�o�)V�%��� ��%����UP%�������I�)>����C�customer.min_order_amt�_��	B�����UCUSTOMER
MIN_ORDER_AMT
MAX_ORDER_AMTValid,��1q��A1�)RPROCEDURE Click
THISFORM.uRetVal = customer.customer_id
THISFORM.Hide
ENDPROC
Tsoptiongroup1optiongroup
tsbase.vcxH*close Called by the attached menu, INTRO.MPR, to shut down this form.
gCaption = "Minimum"
Height = 22
Left = 391
Top = 259
Width = 77
TabIndex = 20
Name = "Tslabel2"
Tslabel2�FontSize = 18
Alignment = 0
Caption = "Welcome to Tasmanian Traders"
Height = 26
Left = 10
Top = 5
Width = 396
TabIndex = 8
Name = "Tslabel4"
Tslabel4label
tsbase.vcxtslabel�FontBold = .F.
FontSize = 10
WordWrap = .T.
Alignment = 0
Caption = 'To learn how a particular feature was implemented, explore "Behind the Scenes" at any time.'
Height = 61
Left = 10
Top = 210
Width = 276
TabIndex = 7
Name = "Tslabel3"
	introform.Tslabel3label
tsbase.vcxtslabel|FontBold = .F.
FontSize = 10
WordWrap = .T.
Alignment = 0
Caption = "The goal of the sample is to provide a single integrated business application designed around realistic business scenarios to illustrate many of the new features and capabilities of application development in Visual FoxPro."
Height = 96
Left = 10
Top = 105
Width = 277
TabIndex = 6
Name = "Tslabel2"
	introform.Tslabel2label
tsbase.vcxtslabel	introform.label
tsbase.vcxtslabeliCaption = "Maximum"
Height = 22
Left = 391
Top = 234
Width = 77
TabIndex = 19
Name = "lblMaximum"
FontBold = .F.
FontSize = 10
WordWrap = .T.
Alignment = 0
Caption = "This application demonstrates a broad sample of features and development techniques of Visual FoxPro in a discoverable environment."
Height = 61
Left = 10
Top = 40
Width = 277
TabIndex = 5
Name = "Tslabel1"
Tslabel1label
tsbase.vcxtslabel
tsoptiongroupYCaption = "Order by"
Height = 22
Left = 109
Top = 210
Width = 53
Name = "Tslabel5"
findcustomer.Tslabel5	introform.customerinfo.
lblMaximumlabel
tsbase.vcx�PROCEDURE Click
*-- Write value to INI file
LOCAL lcValue
lcValue = STR(this.Value, 1)
=WritePrivStr("Defaults", "ShowIntroForm", lcValue, CURDIR() + INIFILE)


ENDPROC
Top = 280
Left = 15
Height = 15
Width = 206
Caption = "\<Show This Form at Startup"
Value = 1
Name = "chkShowAtStartup"
chkShowAtStartuptslabel�Alignment = 3
Value = 
ControlSource = "customer.discount"
Height = 22
InputMask = "99"
Left = 479
TabIndex = 14
Top = 284
Width = 44
Name = "txtDiscount"
checkbox
tsbase.vcx
tscheckbox�ScaleMode = 3
Height = 328
Width = 469
DoCreate = .T.
Picture = ..\bitmaps\ttradelg.bmp
Caption = "Introductory Form"
Closable = .F.
uretval = 2
Name = "introform"
tscommandbuttoncustomerinfo.txtDiscounttextbox
tsbase.vcx7PROCEDURE Click
DO FORM behindsc WITH .T.

ENDPROC
vTop = 300
Left = 260
Height = 22
Width = 121
Caption = "\<Behind the Scenes"
TabIndex = 3
Name = "cmdBehindSC"
	introform.cmdBehindSC
commandbutton
tsbase.vcxtscommandbutton	tstextbox�PROCEDURE Valid
IF customer.min_order_amt > customer.max_order_amt
	REPLACE customer.min_order_amt WITH OLDVAL("customer.min_order_amt")
	RETURN 0
ENDIF
ENDPROC
customerinfo.jBorderStyle = 0
Height = 20
Left = 171
Top = 204
Width = 169
Name = "Tsoptiongroup1"
Option1.FontBold = .T.
Option1.Caption = "Customer ID"
Option1.Value = 1
Option1.Left = 5
Option1.Top = 5
Option1.Name = "Option1"
Option2.FontBold = .T.
Option2.Caption = "Company"
Option2.Value = 0
Option2.Left = 90
Option2.Top = 5
Option2.Name = "Option2"
label
tsbase.vcxtslabeleAlignment = 0
Caption = "Contact"
Height = 22
Left = 222
Top = 8
Width = 77
Name = "Tslabel4"
findcustomer.���� ���%Mb\�U

����UTHISFORMHIDEClick,��1�1)�Pixels%��� ��%����UP%�������I�)>����C�customer.max_order_amt�_��	B�����UCUSTOMER
MIN_ORDER_AMT
MAX_ORDER_AMTValid,��1q��A1�)�Alignment = 3
Value = 
ControlSource = "customer.min_order_amt"
Format = "K$"
Height = 22
InputMask = "999,999,999.99"
Left = 479
TabIndex = 13
Top = 259
Width = 100
Name = "txtMin_Ord_Amt"
txtMin_Ord_AmttextboxTslabel4label
tsbase.vcxtslabelbAlignment = 0
Caption = "City"
Height = 12
Left = 345
Top = 8
Width = 77
Name = "Tslabel3"
findcustomer.
tsbase.vcxBArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
Tslabel3label
tsbase.vcx	introform.application�}��M�t
f������f��+���M�u�}..\include\tastrade.hE�뉃��V�M�S�	��;}��Q�}�ocmainmenu
cdatabase
coldwindcaption
nforminstancecount
lisclean
atoolbars
releasetoolbars
showtoolbars
t.�}�u#�Pixelsf9U�s�f�E��f��f����f�M����������E�f�8]Standard Application Class�f�E�f�U�f;U�w#f��f����f�ʰClassf�E�]ƅ��� �E�f�8]���E�f��E�f��-udf�}�t]�1}�~�E��E�Ef�8^�E�u
���E��E�������3���}�{utslabeldAlignment = 0
Caption = "Company"
Height = 22
Left = 64
Top = 8
Width = 77
Name = "Tslabel2"
findcustomer.	tstextbox���� ��Q�%����U T�������
����UTHISFORMURETVALCUSTOMERCUSTOMER_IDHIDEClick,��11�1G)��PROCEDURE Valid
IF customer.min_order_amt > customer.max_order_amt
	REPLACE customer.max_order_amt WITH OLDVAL("customer.max_order_amt")
	RETURN 0
ENDIF
ENDPROC
�Alignment = 3
Value = 
ControlSource = "customer.max_order_amt"
Format = "K$"
Height = 22
InputMask = "999,999,999.99"
Left = 479
TabIndex = 12
Top = 234
Width = 100
Name = "txtMax_Ord_Amt"
customerinfo.txtMax_Ord_Amttextbox
tsbase.vcx	tstextboxFTop = 220
Left = 385
Height = 95
Width = 200
Name = "Ts3dshape1"
customerinfo.
Ts3dshape1shape
tsbase.vcx	ts3dshape�Value = 
ControlSource = "Customer.customer_id"
Format = "K!"
Height = 24
Left = 143
TabIndex = 1
Top = 12
Width = 116
DisabledBackColor = 255,255,255
Name = "txtCustomer_ID"
customerinfo.txtCustomer_IDtextbox
tsbase.vcx	tstextboxjCaption = "Customer ID"
Height = 22
Left = 13
Top = 12
Width = 121
TabIndex = 28
Name = "Tslabel1"
customerinfo.Tslabel1label
tsbase.vcxtslabelsAlignment = 1
Caption = "Fax"
Height = 17
Left = 11
Top = 291
Width = 121
TabIndex = 27
Name = "Tslabel21"
customerinfo.	Tslabel21label
tsbase.vcxtslabeluAlignment = 1
Caption = "Phone"
Height = 17
Left = 11
Top = 263
Width = 121
TabIndex = 26
Name = "Tslabel20"
customerinfo.	Tslabel20label
tsbase.vcxtslabelwAlignment = 1
Caption = "Country"
Height = 17
Left = 11
Top = 235
Width = 121
TabIndex = 25
Name = "Tslabel19"
customerinfo.	Tslabel19label
tsbase.vcxtslabel{Alignment = 1
Caption = "Postal Code"
Height = 17
Left = 11
Top = 207
Width = 121
TabIndex = 24
Name = "Tslabel18"
customerinfo.	Tslabel18label
tsbase.vcxtslabelvAlignment = 1
Caption = "Region"
Height = 17
Left = 11
Top = 179
Width = 121
TabIndex = 23
Name = "Tslabel17"
customerinfo.customE�E�����E�f��-��E���}�~�E��applicationW�u�P�.��W�~T������E�df��-�a�Height = 34
Width = 92
cmainwindcaption = 
cmainmenu = MAIN.MPR
cdatabase = 
coldwindcaption = 
nforminstancecount = 0
otoolbar = .NULL.
Name = "application"
ng a 
*-- CLEAR customU _MSYSMENU TO MASTER
		this.ShowToolBars()

			Tslabel17label
tsbase.vcxtslabeltAlignment = 1
Caption = "City"
Height = 17
Left = 11
Top = 151
Width = 121
TabIndex = 21
Name = "Tslabel16"
customerinfo.	Tslabel16label
tsbase.vcxtslabelwAlignment = 1
Caption = "Address"
Height = 17
Left = 11
Top = 123
Width = 121
TabIndex = 18
Name = "Tslabel15"
customerinfo.	Tslabel15label
tsbase.vcxtslabeltAlignment = 1
Caption = "Title"
Height = 17
Left = 11
Top = 95
Width = 121
TabIndex = 17
Name = "Tslabel14"
customerinfo.�*getdatefrom Returns the date entered into the txtDateFrom textbox.
*getdateto Returns the date entered into the txtDateTo textbox. 
*validate Validates both dates.
gWidth = 184
Height = 63
BackStyle = 0
BorderWidth = 0
BackColor = 192,192,192
Name = "daterange"
���� ��H�%Qf`�U�behindsc��a��UBEHINDSCClick,��1A2,)�
tsbase.vcx	tsgen.vcx	Tslabel14label
tsbase.vcxtslabelvAlignment = 1
Caption = "Contact"
Height = 17
Left = 11
Top = 67
Width = 121
TabIndex = 16
Name = "Tslabel13"
customerinfo.	Tslabel13label
tsbase.vcxtslabelvAlignment = 1
Caption = "Company"
Height = 22
Left = 11
Top = 39
Width = 121
TabIndex = 15
Name = "Tslabel12"
customerinfo.	Tslabel12label
tsbase.vcxtslabelValue = 
ControlSource = "customer.phone"
Height = 24
Left = 143
TabIndex = 10
Top = 263
Width = 104
Name = "txtPhone"
customerinfo.txtPhonetextbox
tsbase.vcx	tstextbox�Value = 
ControlSource = "customer.country"
Height = 24
Left = 143
TabIndex = 9
Top = 235
Width = 125
Name = "txtCountry"
customerinfo.
txtCountrytextbox
tsbase.vcx	tstextbox�Alignment = 3
Value = 
ControlSource = "customer.postal_code"
Height = 24
Left = 143
TabIndex = 8
Top = 207
Width = 125
Name = "txtPostal_Code"
customerinfo.txtPostal_Codetextbox
tsbase.vcx	tstextbox�Value = 
ControlSource = "customer.region"
Height = 24
Left = 143
TabIndex = 7
Top = 179
Width = 221
Name = "txtRegion"
customerinfo.	txtRegiontextbox
tsbase.vcx	tstextbox|Value = 
ControlSource = "customer.city"
Height = 24
Left = 143
TabIndex = 6
Top = 151
Width = 221
Name = "txtCity"
customerinfo.txtCitytextbox
tsbase.vcx	tstextbox�Value = 
ControlSource = "customer.address"
Height = 24
Left = 143
TabIndex = 5
Top = 123
Width = 446
Name = "txtAddress"
customerinfo.
txtAddresstextbox
tsbase.vcx	tstextbox�Value = 
ControlSource = "customer.contact_title"
Height = 24
Left = 143
TabIndex = 4
Top = 95
Width = 221
Name = "txtContact_Title"
customerinfo.txtContact_TitletextboxTslabel2label
tsbase.vcxtslabeldAlignment = 0
Caption = "Cust ID"
Height = 16
Left = 17
Top = 8
Width = 44
Name = "Tslabel1"
findcustomer.Tslabel1label
tsbase.vcxtslabel���� ��Ё%t���U(GY(�T������T���-��UTHISFORMURETVALVISIBLEClick,��1q�2W)�5PROCEDURE DblClick
THISFORM.cmdOK.Click

ENDPROC
findcustomer.lstCustomerslistbox
tsbase.vcx
tsbase.vcx	tslistbox)PROCEDURE Click
THISFORM.Hide
ENDPROC

tsbase.vcx
commandbuttoncmdContinue	introform.YTop = 242
Left = 231
Width = 96
Cancel = .T.
Caption = "Cancel"
Name = "cmdCancel"
A form for locating orders.{Top = 300
Left = 10
Height = 22
Width = 121
Caption = "\<Continue"
Default = .T.
TabIndex = 1
Name = "cmdContinue"
tscommandbuttonbPROCEDURE Click
SET SYSMENU TO DEFAULT
thisform.uRetVal = 2
thisform.Visible = .F.

ENDPROC
sTop = 300
Left = 135
Height = 22
Width = 121
Cancel = .T.
Caption = "E\<xit"
TabIndex = 2
Name = "cmdExit"
cmdExit
commandbutton
tsbase.vcxJPROCEDURE Click
thisform.uRetVal = 1
thisform.Visible = .F.

ENDPROC
�PROCEDURE getleftedge
RETURN this.nLeftEdge
ENDPROC
PROCEDURE getrightedge
RETURN this.nRightEdge
ENDPROC
PROCEDURE updatecontrols
LOCAL lnObjCtr

this.nLeftEdge  = this.Left
this.nRightEdge = this.Left + this.Width

_screen.ActiveForm.LockScreen = .T.

THISFORM.lSetErrorOff = .T.
FOR lnObjCtr = 1 TO ALEN(this.Parent.aObjSplitMove)
   this.Parent.aObjSplitMove[lnObjCtr].Move()
ENDFOR
THISFORM.lSetErrorOff = .F.
THISFORM.lHadError = .F.

_screen.ActiveForm.LockScreen = .F.
_screen.ActiveForm.Refresh()

ENDPROC
PROCEDURE Init
*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF


ENDPROC
�PROCEDURE Load
tsFormRetVal::Load

IF !USED("orders")
	USE orders ORDER TAG "order_id" IN 0
ENDIF

SELECT orders
GO TOP

ENDPROC
PROCEDURE cmdOK.Click
THISFORM.uRetVal = orders.order_id
THISFORM.Hide
ENDPROC
PROCEDURE Tsoptiongroup1.Option1.Click
SET ORDER TO TAG order_id
THISFORM.lstCustomers.Requery

ENDPROC
PROCEDURE Tsoptiongroup1.Option2.Click
SET ORDER TO TAG customer_i
THISFORM.lstCustomers.Requery

ENDPROC
���� ii�6%��U#G((�
customer_i�
�����U
CUSTOMER_ITHISFORMLSTCUSTOMERSREQUERY#G((�
company_na�
�����U
COMPANY_NATHISFORMLSTCUSTOMERSREQUERY
Option1.Click,��
Option2.Click���11�31�2Uy�)i
commandbutton
tsbase.vcxD��� ++g$%����U�4������������	�T���
����T��C��$��T�	��
����
T���o��T����/��
+�C�����T��C������CC�C��FD�
��
���%��
��������C�
�����UNBUTTONNSHIFTNXCOORDNYCOORDLNOLDPOSLNAVGCHARWIDTHLNMINPOSLNMAXPOSLNCURPOSLNPARENTLEFTTHISPARENTLEFTMOVEUPDATECONTROLS	MouseDown,��11�21�!��ABA3)+v��� ]]��%e���UB�����UTHIS	NLEFTEDGEB�����UTHIS
NRIGHTEDGE����T�������T���������T�9���a��T��	�a�������(�C��
��������CC���
������T��	�-��T��
�-��T�9���-����C�9����ULNOBJCTRTHIS	NLEFTEDGELEFT
NRIGHTEDGEWIDTH
ACTIVEFORM
LOCKSCREENTHISFORMLSETERROROFFPARENT
AOBJSPLITMOVEMOVE	LHADERRORREFRESH'%�C�	m.gTTradeb�L��
�
��x�J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���UGTTRADEgetleftedge,��getrightedgeP��updatecontrolsu��Init���1�2�2q2����A���3r�qA3,Oe�,�)]	findorderfindcustomertscommandbuttonform�BoundColumn = 1
ColumnCount = 4
ColumnWidths = "40,155,120,70"
RowSourceType = 6
RowSource = "customer_id,company_name, contact_name,city"
ControlSource = ""
Height = 169
Left = 15
Top = 24
Width = 420
BoundTo = .T.
Name = "lstCustomers"
findcustomer.	cmdCancel	tstextbox�Value = 
ControlSource = "customer.contact_name"
Height = 24
Left = 143
TabIndex = 3
Top = 67
Width = 221
Name = "txtContact_Name"
customerinfo.txtContact_Nametextbox
tsbase.vcx	tstextbox�Value = 
ControlSource = "Customer.company_name"
Height = 24
Left = 143
TabIndex = 2
Top = 39
Width = 341
Name = "txtCompany_Name"
customerinfo.txtCompany_Nametextbox
tsbase.vcx	tstextbox~Width = 599
Height = 321
BackStyle = 0
BorderWidth = 0
Comment = "(c) Microsoft Corporation 1995"
Name = "customerinfo"
	containercmdOK
commandbuttonfindcustomer.RTop = 242
Left = 123
Width = 96
Caption = "OK"
Default = .T.
Name = "cmdOK"

tsbase.vcx���� ����%�'�UW������%�C�orders�
��D� Q��orders��
"order_id"��F��#)�UTSFORMRETVALLOADORDERS T�������
����UTHISFORMURETVALORDERSORDER_IDHIDE!G((�order_id�
�����UORDER_IDTHISFORMLSTCUSTOMERSREQUERY#G((�
customer_i�
�����U
CUSTOMER_ITHISFORMLSTCUSTOMERSREQUERYLoad,��cmdOK.Click���Tsoptiongroup1.Option1.Click���Tsoptiongroup1.Option2.ClickB��1�bArQ31�2�31�2���At�)�)��� "g%����UZ���T��C���Z��;��C�Defaults�
ShowIntroForm�C��TASTRADE.INI���ULCVALUETHISVALUEWRITEPRIVSTRClick,��1rQ�3�)1Class���� ����%�6
�U1%�C�orders����F���������UORDERSTSFORMRETVALUNLOAD]������%�C�customer�
��J�$Q��customer��"company_na"��F��#)�UTSFORMRETVALLOADCUSTOMERUnload,��Load��1QqA�3��AArQ2To�	)�(PROCEDURE MouseDown
PARAMETERS nButton, nShift, nXCoord, nYCoord
LOCAL lnOldPos, ;
      lnAvgCharWidth, ;
      lnMinPos, ;
      lnMaxPos, ;
      lnCurPos, ;
      lnParentLeft
      
lnOldPos = this.parent.Left
lnAvgCharWidth = FONTMETRIC(6)
lnParentLeft = this.Parent.Left
lnMinPos = I_SHPMIN
lnMaxPos = lnMinPos + I_SHPMAX

DO WHILE MDOWN()
    lnCurPos = MCOL() * lnAvgCharWidth
    this.parent.Move(MAX(lnMinPos, MIN(lnCurPos, lnMaxPos)))
ENDDO

IF this.Left <> lnOldPos
  this.Parent.UpdateControls()
endif


ENDPROC
���� ���%m�|�U!T������T���-��UTHISFORMURETVALVISIBLEClick,��1�2?)����� ��E�%]rl�U��C�����UTHISFORMCMDEXITCLICKclose,��11))�yPROCEDURE getdatefrom
RETURN this.txtDateFrom.Value

ENDPROC
PROCEDURE getdateto
IF EMPTY(this.txtDateTo.Value)
  *-- If the To date is empty, return a value in the distant future
  RETURN date() + 100000
ELSE
  RETURN this.txtDateTo.Value
ENDIF

ENDPROC
PROCEDURE validate
*-- (c) Microsoft Corporation 1995

*-- If the To date is less than the From date and the From date
*-- is not empty, display an error message
IF this.txtDateTo.Value < this.txtDateFrom.Value AND ;
     !EMPTY(this.txtDateFrom.Value)
   =MESSAGEBOX(DATERANGEERROR_LOC, ;
              MB_ICONEXCLAMATION)
  RETURN .F.
ENDIF

ENDPROC
Scmainwindcaption The caption of the main window for this application.
cmainmenu Name of main menu to run (.MPR file).
cdatabase The name of the database to use for this application.
coldwindcaption The name of the main window caption before this application was started.
nforminstancecount The number of form instances currently open.
otoolbar A reference to the navigation toolbar.
lisclean Indicates if environment is "clean". 
lseterroroff Disable error handling
lhaderror An error occurred while error handling was disabled.
lquitting In the process of shutting down
^atoolbars[1,1] Array of VFP toolbar names, and if they were open when the application started.
*do Puts up the main menu and runs the application. 
*cleanup Closes all windows, restores the main window caption, restores the VFP menu, etc.
*doform Takes a form name as a  parameter, runs the form, and puts up a toolbar if necessary.
*doformretval Similar to DoForm, except that this method is designed to work with forms that return a value, and are not stored in an SCX. 
*login Puts up a login form, and returns the value returned by that form. 
*releasetoolbars Releases all VFP toolbars.
*showtoolbars Shows all VFP toolbars that were active when application was started.
*shownavtoolbar Creates the navigation toolbar. Called from each form's Load() event method.
*domenu Puts up the main menu.
*releasenavtoolbar Removes the toolbar whose name is stored in the cToolBar property of the active form.
*addinstance Adds an instance or increases the count of an existing instance in the aInstance[] array. 
*removeinstance Removes an instance or decrements the number instances in the aInstance[] array.
^ainstances[1,4] Contains form names, object references, the number of current running instances, and the next available instance number.
*cleanup2 Additional cleanup code
ProxyStubClsid&{00020420-0�PROCEDURE Error
LPARAMETERS nError, cMethod, nLine

LOCAL laError[AERRORARRAY], ;
      lcMessage
      
*- make the Tastrade database is selecected
IF EMPTY(DBC())
	SET DATABASE TO Tastrade
ENDIF
=AERROR(laError)

DO CASE
  CASE nError = 1884        && Primary key violated
    ?? CHR(7)
    =MESSAGEBOX(CUSTIDEXISTS_LOC, ;
                MB_ICONEXCLAMATION, ;
                TASTRADE_LOC)
    this.txtCustomer_ID.SetFocus()
  CASE nError = 1582        && Field rule violated
    ?? CHR(7)
    *-lcMessage = DBGETPROP(ALIAS() + "." + laError[3], "Field", "RuleText")
    *- lcMessage = STRTRAN(lcMessage, '"', '')
    lcMessage = laError[3]
    =MESSAGEBOX(lcMessage, ;
                MB_ICONEXCLAMATION, ;
                TASTRADE_LOC)
    DO CASE
      CASE LEFT(UPPER(laError[3]),11) = "CUSTOMER ID"
        this.txtCustomer_ID.SetFocus()
      CASE LEFT(UPPER(laError[3]),12) = "COMPANY NAME"
        this.txtCompany_Name.SetFocus()
      CASE UPPER(LEFT(laError[3],7)) = "MINIMUM"
        this.txtMin_Ord_Amt.SetFocus()
      CASE UPPER(LEFT(laError[3],7)) = "MAXIMUM"
        this.txtMax_Ord_Amt.SetFocus()
    ENDCASE

	OTHERWISE
		IF PEMSTATUS("THIS.PARENT","ERROR",5) == "Method"
			THIS.PARENT.ERROR(nError, cMethod, nLine)
		ENDIF
		
ENDCASE

ENDPROC
PROCEDURE Init
*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF


ENDPROC
�DoCreate = .T.
Caption = "Find Order"
Name = "findorder"
cmdOK.Name = "cmdOK"
cmdCancel.Name = "cmdCancel"
lstCustomers.RowSource = "order_id,customer_id, ship_to_city,order_date"
lstCustomers.Name = "lstCustomers"
Tslabel1.Caption = "Order"
Tslabel1.Height = 16
Tslabel1.Left = 17
Tslabel1.Top = 8
Tslabel1.Width = 44
Tslabel1.Name = "Tslabel1"
Tslabel2.Caption = "Customer ID"
Tslabel2.Height = 22
Tslabel2.Left = 64
Tslabel2.Top = 8
Tslabel2.Width = 77
Tslabel2.Name = "Tslabel2"
Tslabel3.Caption = "Order Date"
Tslabel3.Height = 12
Tslabel3.Left = 345
Tslabel3.Top = 8
Tslabel3.Width = 77
Tslabel3.Name = "Tslabel3"
Tslabel4.Caption = "Ship to City"
Tslabel4.Height = 22
Tslabel4.Left = 222
Tslabel4.Top = 8
Tslabel4.Width = 77
Tslabel4.Name = "Tslabel4"
Tslabel5.Height = 22
Tslabel5.Left = 106
Tslabel5.Top = 210
Tslabel5.Width = 53
Tslabel5.Name = "Tslabel5"
Tsoptiongroup1.Option1.Caption = "Order ID"
Tsoptiongroup1.Option1.Value = 1
Tsoptiongroup1.Option1.Left = 5
Tsoptiongroup1.Option1.Top = 5
Tsoptiongroup1.Option1.Name = "Option1"
Tsoptiongroup1.Option2.Alignment = 0
Tsoptiongroup1.Option2.Caption = "Customer ID"
Tsoptiongroup1.Option2.Value = 0
Tsoptiongroup1.Option2.Left = 90
Tsoptiongroup1.Option2.Top = 5
Tsoptiongroup1.Option2.Width = 110
Tsoptiongroup1.Option2.Name = "Option2"
Tsoptiongroup1.Height = 20
Tsoptiongroup1.Left = 168
Tsoptiongroup1.Top = 204
Tsoptiongroup1.Width = 176
Tsoptiongroup1.Name = "Tsoptiongroup1"

���� �
�
}Q%5	*
]p	�U�G.�G+(�UTILITY.PRG�3G~(�MAIN�TSBASE�TSGEN�LOGIN�ORDERS�G$(��x��G_ �G(�HELP\TASTRADE.CHM�G �G�GZ�G�GF�G�G"�G	 �GA�%�a
����G����G ��1��
DO OnShutDown�UUTILITYPRGMAINTSBASETSGENLOGINORDERSHELP����G)(�����T������SET CLASSLIB TO  &luTemp
T������SET PROCEDURE TO &luTemp
G$(�����T������SET MULTILOCKS &luTemp
T������SET SAFETY &luTemp
T������SET STATUS BAR &luTemp

����	��T����
��SET DELETED &luTemp
T������SET EXCLUSIVE &luTemp
%�C��0��t�G(������T����
��SET NOTIFY &luTemp
T������SET BELL &luTemp
T������SET NEAR &luTemp
T������SET EXACT &luTemp
T������SET INTENSITY &luTemp
T������SET CONFIRM &luTemp
T������ON SHUTDOWN &luTemp
T������SET ESCAPE &luTemp
T������SET COMPATIBLE &luTemp
T������SET TALK &luTemp
ULUTEMPTHISCOLDPATHCOLDCLASSLIBCOLDPROCNOLDMEMOCOLDMULTILOCKS
COLDSAFETY
COLDSTATUSCOLDDIRCOLDDELETED
COLDEXCLUSIVECOLDHELP
COLDNOTIFYCOLDBELLCOLDNEAR	COLDEXACT
COLDINTENSITYCOLDCONFIRMCOLDONSHUTDOWN
COLDESCAPECOLDCOMPATIBLECOLDTALKh'%�C�	m.gTTradeb�L��
�
��x�J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���T������T������T������T����	��T��
����T���C�SAFETYv��T��
�C�	PROCEDUREv��T���C�
STATUS BARv��T���C�	MEMOWIDTHv��T���C�
MULTILOCKSv��T���C�HELP�v��T���C�DELETEDv��T���C�	EXCLUSIVEv��T���C�NOTIFYv��T���C�BELLv��T���C�NEARv��T���C�EXACTv��T���C�	INTENSITYv��T���C�CONFIRMv��T���C�SHUTDOWN���T���C�
COMPATIBLEv��UGTTRADETHISCOLDTALK	GCOLDTALKCOLDPATH	GCOLDPATHCOLDDIRGCOLDDIRCOLDCLASSLIB
GCOLDCLASSLIB
COLDESCAPEGCOLDESCAPE
COLDSAFETYCOLDPROC
COLDSTATUSNOLDMEMOCOLDMULTILOCKSCOLDHELPCOLDDELETED
COLDEXCLUSIVE
COLDNOTIFYCOLDBELLCOLDNEAR	COLDEXACT
COLDINTENSITYCOLDCONFIRMCOLDONSHUTDOWNCOLDCOMPATIBLE
��C����UTHISRESETset,��resetR��Init]��Destroy	��1bA1�a�aaaaaaaaa�a�aAR2s�����a��q�"�AaAAQ�qqa�A4t�qA���������aaq����3�2�
OAj�
][�
�
�)�
�C�(����T��C�)������T��C�,��k��� RR�%�
)���UH
��C����+�a��A�9��%�C����=�
����!���UTHISDOMENUCLEANUPCLEANUP2��������T���a���������,%�C�loFormb�O����Form	����%�C��
��w�B�-���
��C��	�����B�a��U
LNFORM
LNFORMTOCLOSELOFORMTHIS	LQUITTINGAPPLICATIONFORMS	BASECLASSQUERYUNLOADRELEASED����%�C��
��&������=��������UTCFORMTCPARM1K�������T��C��N��
��C����T������	B����UTCFORMLOFORMLURETVALSHOWURETVALB�C�login����UTHISDOFORMRETVAL�������������)T����������
Form Designer��$T����������Standard��"T����������Layout��*T����������Query Designer��)T����������
View Designer��)T����������
Color Palette��)T����������
Form Controls��-T����������Database Designer��+T����	������Report Designer��+T����
������Report Controls��)T����������
Print Preview��#T����������Command�������(�C������z�)T���������CC�������%�C������v��,�C���������UITHIS	ATOOLBARS_��������(�C������X�%�C������T��,�C���������UITHIS	ATOOLBARS����%������g�GY �T���C��N����C�������C������navigate.mpr��T��������U	TCTOOLBARTHISNFORMINSTANCECOUNTOTOOLBARSHOWREFRESHNAVIGATEMPR
�����UTHIS	CMAINMENUST��������%������L�T������	<����
<������UTHISNFORMINSTANCECOUNTOTOOLBAR
NAVIGATIONP��������T������T��C������%������(%�C�this.aInstances[1,1]b�L����
T��������T��C�������������C�������T������������T������������T���������������T��C�������A%�C�this.aInstances[lnRow, 2]b�O�CC���������T�������������"T���C��������"T���C���������+T���������C�������+T���������C�������B�C������U	TOFORMLNELEMLNROW
LCFORMNAMENAMETHIS
AINSTANCESLEFTTOP�������T��C������%������T��C�������%�C���������%�C�����������C������*���C�������C���������T���-�����+T���������C���������U
TCFORMNAMELNELEMLNROWTHIS
AINSTANCES>T�9��������	�(���
��C����T���a��UCAPTIONTHISCOLDWINDCAPTIONSHOWTOOLBARSLISCLEANy'%�C�	m.gTTradeb�L��
�
��x�J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���*��C�oEnvironment�Environment������C�����T����9���T�9��������%�C���
��^��������%�CCꖡ��Z�C��C�File does not exist: ����An error has occurred�x��B�-����
��C��	�����U
GTTRADETHIS	ADDOBJECTOENVIRONMENTSETCOLDWINDCAPTIONCAPTIONCMAINWINDCAPTION	CDATABASERELEASETOOLBARS+%���
���
��C�������UTHISLISCLEANCLEANUPdo,��cleanup���doform���doformretval���loginm��releasetoolbars���showtoolbars6��shownavtoolbar���domenu���releasenavtoolbar���addinstance/��removeinstance�	��cleanup2��Init���Destroy�
��1��Q�AAA2�q�!�!qA�AAq3����A3q���3Q3rb�A!��������1���aAA3q��aAA3qDa11Aq4�3rD���A3q�d�����A������A"!D��B3q�d���!���A��AA3#Q���3t�qA�$!h1��3qAA�q2�Aa2�
���,(O�1%��@'% 	D<C	�	^C"
�iM��yO	C
}Ve
��p������������U)R`PROCEDURE do
*-- Put up main menu
this.DoMenu()
  
*-- Start the event loop
DO WHILE .T.
	READ EVENTS

	IF THIS.Cleanup()
		THIS.Cleanup2
		EXIT
	ENDIF
ENDDO
ENDPROC
PROCEDURE cleanup
*-- When we wish to end the application, we cannot just
*-- simply release the application object (oApp) and expect
*-- the Destroy method to run without first issuing a 
*-- CLEAR EVENTS since the READ EVENTS was issued in the Do()
*-- method. Therefore, this method was created to 
*-- clean up the environment before quitting the application.
*-- It also allows us to conditionally stop the user from 
*-- exiting the program for whatever reason. 

LOCAL lnForm, lnFormToClose
LOCAL loForm

THIS.lQuitting = .T.
FOR EACH loForm IN application.Forms
	IF TYPE("loForm") == "O" AND loForm.Baseclass == "Form"
		IF !loForm.QueryUnload()
			RETURN .F.
		ENDIF
		loForm.Release()
	ENDIF
ENDFOR
RETURN .T.

ENDPROC
PROCEDURE doform
LPARAMETERS tcForm, tcParm1
IF PARAMETERS() < 2
  DO FORM (tcForm)
ELSE
  DO FORM (tcForm) WITH tcParm1
ENDIF

ENDPROC
PROCEDURE doformretval
LPARAMETERS tcForm
*-- This function is meant to be used with a form class that
*-- is derived from tsformretval which is defined in TSBASE.VCX
*-- Notice how objects with LOCAL scope are automatically
*-- released when the methods ends.

LOCAL loForm, ;
      luRetVal
loForm = CREATEOBJECT(tcForm)
loForm.Show() 
luRetVal = loForm.uRetVal
RETURN luRetVal

ENDPROC
PROCEDURE login
RETURN this.DoFormRetVal("login")

ENDPROC
PROCEDURE releasetoolbars
*-- Releases all Visual FoxPro toolbars
LOCAL i

DIMENSION this.aToolBars[12,2]
this.aToolBars[1,1] = TB_FORMDESIGNER_LOC
this.aToolBars[2,1] = TB_STANDARD_LOC  
this.aToolBars[3,1] = TB_LAYOUT_LOC
this.aToolBars[4,1] = TB_QUERY_LOC
this.aToolBars[5,1] = TB_VIEWDESIGNER_LOC
this.aToolBars[6,1] = TB_COLORPALETTE_LOC  
this.aToolBars[7,1] = TB_FORMCONTROLS_LOC
this.aToolBars[8,1] = TB_DATADESIGNER_LOC
this.aToolBars[9,1] = TB_REPODESIGNER_LOC
this.aToolBars[10,1] = TB_REPOCONTROLS_LOC
this.aToolBars[11,1] = TB_PRINTPREVIEW_LOC
this.aToolBars[12,1] = WIN_COMMAND_LOC

FOR i = 1 TO ALEN(this.aToolBars, 1)
  this.aToolBars[i,2] = WVISIBLE(this.aToolBars[i,1])
  IF this.aToolBars[i,2]
    HIDE WINDOW (this.aToolBars[i,1])
  ENDIF
ENDFOR

ENDPROC
PROCEDURE showtoolbars
LOCAL i

*-- Show all VFP toolbars that were previously hidden
FOR i = 1 TO ALEN(this.aToolBars, 1)
  IF this.aToolBars[i,2]
    SHOW WINDOW (this.aToolBars[i,1])
  ENDIF
ENDFOR

ENDPROC
PROCEDURE shownavtoolbar
LPARAMETERS tcToolBar
*-- Create and show the navigation toolbar if this is the first
*-- form instance. Otherwise, just increment the number of
*-- form instances. 
IF this.nFormInstanceCount = 0
  SET SYSMENU ON
  this.oToolBar = CREATEOBJECT(tcToolBar)
  this.oToolBar.Show()
  this.oToolBar.Refresh()
  DO navigate.mpr
ENDIF
this.nFormInstanceCount = this.nFormInstanceCount + 1


ENDPROC
PROCEDURE domenu
DO (this.cMainMenu)

ENDPROC
PROCEDURE releasenavtoolbar
*-- Decrement the number of form instances
this.nFormInstanceCount = this.nFormInstanceCount - 1

*-- If this is the last instance of the form, 
*-- release the toolbar
IF this.nFormInstanceCount = 0
  this.oToolBar = .NULL.
  RELEASE POPUP navigation EXTENDED
  RELEASE PAD _msm_edit OF _msysmenu
ENDIF

ENDPROC
PROCEDURE addinstance
LPARAMETERS toForm

*-- This routine handles multiple instances of a form
*-- A description of each element of the aInstances[] array
*-- appears below.

LOCAL lnElem, ;
      lnRow, ;
      lcFormName

lcFormName = toForm.Name
*-- Scan this.aInstances[] looking for lcFormName. If found
*-- increment the instance count for that name by 1 and
*-- return the next available instance number
lnElem = ASCAN(this.aInstances, lcFormName)
IF lnElem = 0
  *-- Expand the array if this is not the first form we're adding
  *-- to it
  IF TYPE("this.aInstances[1,1]") = "L"
    *-- There are no forms in the array
    lnRow = 1
  ELSE
    *-- Expand the array
    lnRow = ALEN(this.aInstances, 1) + 1
    DIMENSION this.aInstances[lnRow, ALEN(this.aInstances, 2)]
  ENDIF
  this.aInstances[lnRow, 1] = lcFormName    && Instance name
  *-this.aInstances[lnRow, 2] = toForm        && The instance itself
  this.aInstances[lnRow, 3] = 0              && Number of instances
  this.aInstances[lnRow, 4] = 0              && Next available instance number
ELSE
  lnRow = ASUBS(this.aInstances, lnElem, 1)
  *-- Make sure we still have an instance. If not, 
  *-- re-initialize it.
  IF TYPE("this.aInstances[lnRow, 2]") # "O" OR ;
      ISNULL(this.aInstances[lnRow, 2])
    this.aInstances[lnRow, 2] = toForm
  ENDIF
  *-- Stagger the new form's position
  toForm.Left = this.aInstances[lnRow, 2].Left + 5
  toForm.Top = this.aInstances[lnRow, 2].Top + 23

  *-- Save the current instance for next time
  *-this.aInstances[lnRow, 2] = toForm
ENDIF

*-- Increment the number of instances and the next 
*-- available instance number
this.aInstances[lnRow, 3] = this.aInstances[lnRow, 3] + 1
this.aInstances[lnRow, 4] = this.aInstances[lnRow, 4] + 1

RETURN this.aInstances[lnRow, 4]

ENDPROC
PROCEDURE removeinstance
LPARAMETERS tcFormName

LOCAL lnElem, ;
      lnRow
*-- Scan this.aInstances[] looking for tcFormName. If found
*-- decrement the instance count for that name by 1. If this
*-- is the last instance, remove the row from the array. 
lnElem = ASCAN(this.aInstances, tcFormName)
IF lnElem > 0
  lnRow = ASUBS(this.aInstances, lnElem, 1)
  IF this.aInstances[lnRow, 3] = 1
    *-- This is the last instance. Remove the row if more
    *-- than one row exists
    IF ALEN(this.aInstances, 1) > 1
      =ADEL(this.aInstances, lnRow)
      DIMENSION this.aInstances[ALEN(this.aInstances, 1) - 1, ALEN(this.aInstances, 2)]
    ELSE
      *-- Last array row. Just clear it out. 
      this.aInstances = .F.
    ENDIF
  ELSE
    this.aInstances[lnRow, 3] = this.aInstances[lnRow, 3] - 1
  ENDIF
ENDIF

ENDPROC
PROCEDURE cleanup2
*- theis is additional cleanup code that we can't use
*- in cleanup.
_screen.caption = this.cOldWindCaption
CLEAR EVENTS
POP MENU _MSYSMENU TO MASTER
this.ShowToolBars()

this.lIsClean = .T.

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF

*-- Set up the environment
this.AddObject("oEnvironment", "Environment")
this.oEnvironment.Set()

*-- Save current main window title and set
*-- the new one
this.cOldWindCaption = _screen.Caption
_screen.caption = this.cMainWindCaption

*-- Setup data environment
*-- For applications that need to open multiple
*-- .DBC's, or that need to open/close .DBC's 
*-- at run time, create a separate method in this
*-- class, call it from here, and override it as
*-- necessary in your specific application class.
CLOSE DATA ALL
IF !EMPTY(this.cDataBase)
  OPEN DATABASE (this.cDataBase)
  IF EMPTY(DBC())
    =MessageBox(FILENOTEXIST_LOC + this.cDataBase, ;
                MB_OK + MB_ICONSTOP, ;
                ERRORTITLE_LOC)
    RETURN .F.
  ENDIF
ENDIF

*-- Release all toolbars
this.ReleaseToolBars()
PUSH MENU _MSYSMENU
ENDPROC
PROCEDURE Destroy
*-- In case of application error, we call the CleanUp method 
*-- to clean up the environment for us. If we are quitting 
*-- normally, then thelIsClean flag will be .T. indicating 
*-- that the CleanUp method has already been executed and 
*-- the environment is clean.
IF !this.lIsClean
  this.CleanUp()
ENDIF
CLOSE DATA ALL

ENDPROC
NT RESERVED            
�PROCEDURE set
*-- Set the SET and ON commands
SET SAFETY OFF
SET PROCEDURE TO UTILITY.PRG
SET CLASSLIB TO MAIN, TSBASE, TSGEN, LOGIN, ORDERS
SET MEMOWIDTH TO 120
SET MULTILOCKS ON               && For table buffering
SET HELP TO HELP\TASTRADE.CHM
SET DELETED ON
SET EXCLUSIVE OFF
SET NOTIFY OFF
SET BELL OFF
SET NEAR OFF
SET EXACT OFF
SET INTENSITY OFF
SET CONFIRM ON
SET COMPATIBLE OFF
IF !DEBUGMODE
  SET ESCAPE OFF
ELSE
  SET ESCAPE ON
ENDIF

ON SHUTDOWN DO OnShutDown
ENDPROC
PROCEDURE reset
*-- Restore the previous settings of the SET and ON commands

LOCAL luTemp

SET PATH TO      (this.cOldPath)

luTemp = this.cOldClassLib
SET CLASSLIB TO  &luTemp

luTemp = this.cOldProc
SET PROCEDURE TO &luTemp
SET MEMOWIDTH TO this.nOldMemo

luTemp = this.cOldMultiLocks
SET MULTILOCKS &luTemp

luTemp = this.cOldSafety
SET SAFETY &luTemp

luTemp = this.cOldStatus
SET STATUS BAR &luTemp

CD (this.cOldDir)

luTemp = this.cOldDeleted
SET DELETED &luTemp

luTemp = this.cOldExclusive
SET EXCLUSIVE &luTemp

IF FILE(this.cOldHelp)
  SET HELP TO (this.cOldHelp)
ENDIF

luTemp = this.cOldNotify
SET NOTIFY &luTemp

luTemp = this.cOldBell
SET BELL &luTemp

luTemp = this.cOldNear
SET NEAR &luTemp

luTemp = this.cOldExact
SET EXACT &luTemp

luTemp = this.cOldIntensity
SET INTENSITY &luTemp

luTemp = this.cOldConfirm
SET CONFIRM &luTemp

luTemp = this.cOldOnShutdown
ON SHUTDOWN &luTemp

luTemp = this.cOldEscape
SET ESCAPE &luTemp

luTemp = this.cOldCompatible
SET COMPATIBLE &luTemp

luTemp = this.cOldTalk
SET TALK &luTemp
     

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF


*-- Save the settings of the SET and ON commands

this.cOldTalk        = gcOldTalk
this.cOldPath        = gcOldPath
this.cOldDir        = gcOldDir
this.cOldClassLib    = gcOldClassLib
this.cOldEscape      = gcOldEscape

this.cOldSafety      = SET('SAFETY')
this.cOldProc        = SET('PROCEDURE')
this.cOldStatus      = SET('STATUS BAR')
this.nOldMemo        = SET('MEMOWIDTH')
this.cOldMultiLocks  = SET('MULTILOCKS')
this.cOldHelp        = SET('HELP', 1)
this.cOldDeleted    = SET('DELETED')
this.cOldExclusive   = SET('EXCLUSIVE')
this.cOldNotify      = SET('NOTIFY')
this.cOldBell        = SET('BELL')
this.cOldNear        = SET('NEAR')
this.cOldExact      = SET('EXACT')
this.cOldIntensity  = SET('INTENSITY')
this.cOldConfirm    = SET('CONFIRM')
this.cOldOnShutDown = ON('SHUTDOWN')
this.cOldCompatible	= SET("COMPATIBLE")

ENDPROC
PROCEDURE Destroy
this.Reset()

ENDPROC
���� ��
:%�0%��Uw������������%�CCꖡ��@�G(�Tastrade����C���z��
H�_�p����\������C� ��O��C�,Customer ID already exists. Please re-enter.�0�Tasmanian Traders�x����C��������.�����C� ��T��C����#��C��0�Tasmanian Traders�x��
H�?��'�CCC��f�=�CUSTOMER ID��v���C�����(�CCC��f�=�COMPANY NAME������C��	���#�CCC���=f�MINIMUM������C��
���#�CCC���=f�MAXIMUM�����C������2�p�0%�C�THIS.PARENT�ERROR��h�Method��l���C������
����UNERRORCMETHODNLINELAERROR	LCMESSAGETASTRADETHISTXTCUSTOMER_IDSETFOCUSTXTCOMPANY_NAMETXTMIN_ORD_AMTTXTMAX_ORD_AMTPARENTERROR'%�C�	m.gTTradeb�L��
�
��x�J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���UGTTRADEError,��Init=��1��A��!��!�3�q�11A��AB3r�qA3 0�/)�0bB�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QV60HMF8M 493896106 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QV60HMF8O           9  1                      0.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60HNB2P           9  3!                  28230.000    0.000                                                                        F  TFF           F                          WINDOWS _QV60HMF8P           9  4                   2292.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60HNCGI           9  5                  13855.000    0.000                                                                        F  TFF           F                          WINDOWS _QV60HMF8Q           9  7                   9271.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60YOKHB 493912411 7  424270.833 1041.667 2187.500 8437.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60Y7A6T 493911854 7  412187.500 1041.667 2187.500 8437.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60Y6YJL 493911846 7  412187.50046458.333 2187.500 7395.833       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60XQGG6 493911435 7  440312.50052083.33310416.66713125.000       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60XHZ9U 493911224 7  428020.833    0.000 2291.66779270.833       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60HMX4M 495489613 8  0" 6145.83370833.333 2187.500 8229.167$   C    0    0    0  255  255  255               #  1 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX4V 493911593 5  0' 8750.00058645.833 2083.33310520.833%        0    0    0  255  255  255               &  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX4W 495489616 8  0( 8750.00070833.333 2187.500 8229.167 )  D    0    0    0  255  255  255               *  1 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX4X 493910959 5  0-12291.667 1562.500 2083.333 6145.833+        0    0    0  255  255  255               ,  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX4Y 495489532 8  0.15000.000 1041.667 2083.33329791.667 /  C    0    0    0  255  255  255               0  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX50 495489538 8  0117187.500 1041.667 2083.33329791.667 2  C    0    0    0  255  255  255               3  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX55 495489551 8  0419375.000 1041.667 2083.33329791.667   C    0    0    0  255  255  255               7  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX5B 495489554 8  0821562.500 1041.667 2083.33320312.500 9  C    0    0    0  255  255  255               :  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX5C 493896118 5  0=43229.16758854.167 2083.333 5625.000;        0    0    0  255  255  255               <  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX5F 493897196 8  0>43229.16766354.167 2083.33312604.167A ?  N    0    0    0  255  255  255               @  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60HMX5G 493896118 5  0D45833.33357708.333 2083.333 7187.500B        0    0    0  255  255  255               C  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX5H 493901386 8  0E45729.16753125.000 2083.333 2291.667 F  N    0    0    0  255  255  255               G  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60HMX5I 493896686 5  0J28125.00058229.167 2083.333 7708.333H        0    0    0  255  255  255               I  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX5J 495489572 8  0K32395.83354479.167 2083.33311458.333M   N    0    0    0  255  255  255               L  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60HMX5P 493896118 5  0P28125.00046458.333 2083.333 6666.667N        0    0    0  255  255  255               O  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX5Z 493897178 8  0Q32395.83341875.000 2083.33311666.667T R  N    0    0    0  255  255  255               S  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60HMX61 495489649 8  0U15000.00046354.167 2083.33332395.833 V  C    0    0    0  255  255  255               W  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX63 493896118 8  0X17187.50046354.167 2083.33332291.667   C    0    0    0  255  255  255               Y  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX65 495489561 8  0Z19375.00046354.167 2083.33331875.000   C    0    0    0  255  255  255               \  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX6D 493896118 8  0]21562.50046354.167 2083.33320312.500   C    0    0    0  255  255  255               ^  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX6K 493911627 5  0a12291.66747395.833 2083.333 5000.000_        0    0    0  255  255  255               `  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX6O 493896720 5  0d24479.167 1562.500 2083.333 6562.500b        0    0    0  255  255  255               c  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX6P 495489643 8  0e24375.00010416.667 2083.33322500.000 f  C    0    0    0  255  255  255               g  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60HMX6Q 493896698 5  0j28125.000 1041.667 2083.33311354.167h        0    0    0  255  255  255               i  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60HMX6T 495489569 8  0k32395.833 1041.667 2083.33340416.667 l  C    0    0    0  255  255  255               m  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60IUUGU 552942468 5  0p28125.00069791.667 2083.333 8020.833n        0    0    0  255  255  255               o  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60IVLQ9 495489576 8  0q32395.83366562.500 2083.33312395.833t r  N    0    0    0  255  255  255               s  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60IX3PM 493897276 5  0w40625.00057083.333 2083.333 7604.167u        0    0    0  255  255  255               v  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60IX8QF 493897282 5  0z48437.50060416.667 2083.333 3958.333x        0    0    0  255  255  255               y  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60IY5MM 493901446 8  0{48437.50066354.167 2083.33312604.167~   N    0    0    0  255  255  255               }  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60IYAKY 493901449 8  045833.33366354.167 2083.33312604.167� �  N    0    0    0  255  255  255               �  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60IYJN8 493897308 5  0�45833.33355625.000 2083.333 1666.667�        0    0    0  255  255  255               �  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60M3290 493900450 8  0�40625.00066354.167 2083.33312604.167� �  N    0    0    0  255  255  255               �  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60X56R9 493911332 5  0� 6770.83313125.000 3437.50013333.333�        0    0    0   -1   -1   -1               �  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0� 6250.00011458.333 3958.333 2083.333�        0    0  255   -1   -1   -1               �  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0� 6770.83329270.833 3437.500 8750.000�        0    0    0   -1   -1   -1               �  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0� 6250.00027604.167 3958.333 2083.333�        0    0  255   -1   -1   -1               �  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60XU5BQ 493911527 6   11666.667  104.167  104.16781250.000       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QV60YFZUC 493912231 5  0� 2187.50070312.500 2604.167 8541.667�       -1   -1   -1   -1   -1   -1               �  1 16  1          T   F          0                         TF3 0F WINDOWS _QV60YHXYS 493912256 5  0� 6250.00058645.833 2083.33311250.000�        0    0    0  255  255  255               �  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60Z2ONE 493912762 6   55833.333    0.000  104.16781458.333       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QV60Z3KH7 493912816 5  0�56458.333 3645.833 1979.16732291.667�        0  128  128   -1   -1   -1               �  3 12  1          T   F          0                         TF3 0F WINDOWS _QYK13KH6A 51147777717  0 2291.667 2500.000 9166.667 8645.833� �                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QV60YF724 49391217810  0   39.000    4.000                                                                                                                                      WINDOWS _QV60M38E6 49548958918   ��                                    T   �                                                                                                  2 6           WINDOWS _QV60N3X69 49548959718   ��                                    T   �                                                                                                  0 1           WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   �  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   �  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   �  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   �  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   �  1 24                                                             WINDOWS                     23      25.000   10.000   19.000   26.000        5    1                                   �  1 16                                                             WINDOWS                     23      19.000   10.000   14.000   15.000        5    0                                   �  3 12                                                             WINDOWS                     25   ��                                     T  ��                                             �                                                                   WINDOWS                     26   ��                                                                                                                                                       !Courier New/winspoolLaserNTNe00:�LaserNT P|p��
od	,LetterPRIV�''''�DRIVER=winspool
DEVICE=LaserNT
OUTPUT=Ne00:
ORIENTATION=0
PAPERSIZE=1
SCALE=100
COPIES=1
DEFAULTSOURCE=265
PRINTQUALITY=300
COLOR=1
TTOPTION=3
COLLATE=0
Order_numberorder_numberArial"@J""@I"Arial"Date Ordered"
order_date Arial"@I"Arial	"Ship To"ship_to_name Arialship_to_address ArialRALLTRIM(ship_to_city) + ", " + ALLTRIM(ship_to_region) + " " + ship_to_postal_codeArialship_to_country Arial"@I"Arial	"Freight"freight Arial
"99999.99""@I"Arial
"Discount"discount Arial"@I"Arial"Unit Price"
unit_priceArial
"99999.99""@I"Arial
"Quantity"quantity Arial"999999999.99"company_name_a ArialaddressArial4ALLTRIM(city) + ", " + ALLTRIM(region) + postal_codeArialcountryArial"@I"Arial	"Bill To""@I"Arial
"Ship Via"company_name_b Arial"@I"Arial"Product Name"product_name Arial"@I"Arial"Extension"quantity * unit_price Arial"9999999.99""@I"Arial"Sub Total""@I"Arial"Total"vSubTotal + freight - vDisCountArial"999999999.99"	vDiscount Arial"9999999.99""@I"Arial"%"	vsubtotal Arial"999999999.99""@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial	"INVOICE""@I"Arial"Order Number""@I"Courier New!"We thank you for your patronage" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"	vSubTotalquantity * MTON(unit_price)0	vDisCount2iif(discount > 0, vSubTotal * (discount / 100), 0)0Courier NewArialArialArialArialArialCourier Newdataenvironment�Left = 202
Top = 18
Width = 350
Height = 458
AutoOpenTables = .F.
AutoCloseTables = .F.
InitialSelectedAlias = "orders_view"
Name = "Dataenvironment"
iPROCEDURE Init
#DEFINE C_TASTRADEDIR_LOC	"Samples\Tastrade\"		&& Location of Tastrade, off of HOME()
#INCLUDE "INCLUDE\TASTRADE.H"

LOCAL loGetInvoice, ;
      llContinue
IF WEXIST("Project Manager")
	*- assume that TasTrade isn't running, since it closes the Project Manager window
	DO FORM (HOME() + C_TASTRADEDIR_LOC + "forms\getinv") NAME loGetInvoice LINKED
ELSE
	DO FORM forms\getinv NAME loGetInvoice LINKED
ENDIF
llContinue = loGetInvoice.lRetVal
IF llContinue
  dDateFrom = loGetInvoice.dDateFrom
  dDateTo = loGetInvoice.dDateTo
  this.OpenTables()
  llContinue = !(_tally = 0)
  IF !llContinue
    =MESSAGEBOX(NOTHINGTOPRINT_LOC, ;
                MB_ICONEXCLAMATION, ;
                TASTRADE_LOC)
    this.CloseTables()
  ENDIF
ENDIF
RELEASE loGetInvoice
RETURN llContinue
ENDPROC
PROCEDURE Destroy
this.CloseTables()

ENDPROC
cursorLeft = 18
Top = 6
Width = 149
Height = 319
Alias = "orders_view"
Database = ..\data\tastrade.dbc
CursorSource = "orders view"
Name = "Cursor1"
b..\include\tastrade.h�kA�($..\..\..\..\..\..\vfp6\foxpro.h�l�#..\include\strings.h�mA�($�@���� ��v�%�J�UI����%�C�Project Manager���^�5�C�Q�Samples\Tastrade\�forms\getinv�J������forms\getinvJ����T������
%����2�T������T������
��C����T��� �
��%��
��.�4��C�Nothing to print.�0�Tasmanian Traders�x��
��C������<��	B����U	LOGETINVOICE
LLCONTINUEFORMSLRETVAL	DDATEFROMDDATETOTHIS
OPENTABLESCLOSETABLES
��C����UTHISCLOSETABLESInit,��Destroy���1��R��A��!�C�AAq�2�2,J^)��������BM�v(������������������������������������������������������������������������������������������������������������������������������������BM�v(������������������������������������������������������������������������������������������������������������������������������0b!�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QV60OJ1YB 493902676 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QV60OJ1YD           9  1                  18438.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60OJ1YE           9  4                   2709.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60OJ1YF           9  7                   1770.000    0.000                                                                        F  FFF           F                          WINDOWS _QV610LBVA           9  8                   5000.000    0.000                                                                        T  FTF           F                          WINDOWS _QV610W1YZ 493914517 7  430104.16719375.000 2708.33326041.667       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV610HMH3 493914159 7  416145.83316666.667 2291.66728750.000       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60OJSJT 493904465 5  0#10104.16713541.667 2083.33325520.833!        0    0    0   -1   -1   -1               "  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60OLEI6 493902809 8  0%20833.33316041.667 2083.333 8229.167 '  C    0    0    0   -1   -1   -1               (  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60OLEI7 493902872 5  0+16354.16740625.000 2083.333 4375.000)        0    0    0   -1   -1   -1               *  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60OLEI8 495489449 8  0,20833.33332187.500 2083.33312812.500/ -  N    0    0    0   -1   -1   -1               .  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60ONP8L 493902796 5  0216354.16717187.500 2083.333 8958.3330        0    0    0   -1   -1   -1               1  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911332 5  05 5208.33314687.500 3437.50013333.3333        0    0    0   -1   -1   -1               4  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  08 4687.50013020.833 3958.333 2083.3336        0    0  255   -1   -1   -1               7  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0; 5208.33330833.333 3437.500 8750.0009        0    0    0   -1   -1   -1               :  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0> 4687.50029166.667 3958.333 2083.333<        0    0  255   -1   -1   -1               =  1 24  1          T   F          0                         TF3 0F WINDOWS _QV610EIDA 493913954 6    9791.667    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QV610PJ2E 493914365 5  0A30208.33320833.333 2395.83311458.333?        0    0    0   -1   -1   -1               @  1 14  1          T   F          0                         TF3 0F WINDOWS _QV610QTCY 495489452 8  0B30208.33333854.167 2500.00010937.500E C  N  128    0  128   -1   -1   -1               D  1 14  1          T   F          2          1       2 1    TF3 0F WINDOWS _QYK13LHHZ 51147779317  0  520.833 3020.833 9166.667 8645.833H F                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI16IUX0 512990796 8  0I 5416.66773333.333 2083.333 6770.833   D    0    0    0   -1   -1   -1               J  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI16IUX1 512990796 5  0M 2500.00068333.333 2083.333 4062.500K        0    0    0   -1   -1   -1               L  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI16IUX2 512990796 8  0N 2500.00075000.000 2083.333 5104.167   N    0    0    0   -1   -1   -1               O  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI16IUX3 512990796 5  0R 5416.66768333.333 2083.333 3645.833P        0    0    0   -1   -1   -1               Q  1 12  1          T   F          0                         TF3 0F WINDOWS _QV610E8G4 49391394610  0    8.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   S  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   T  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   U  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   V  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   W  1 24                                                             WINDOWS                     23      23.000    9.000   18.000   24.000        4    1                                   X  1 14                                                             WINDOWS                     25   YZ                                     T                                                                                                                  WINDOWS                     26   ]^                                                                                                                                                       c!Courier New/winspoolLaserNTNe00:�LaserNT P|p��
od�,LetterPRIV�''''�DRIVER=winspool
DEVICE=LaserNT
OUTPUT=Ne00:
ORIENTATION=0
PAPERSIZE=1
SCALE=100
COPIES=1
DEFAULTSOURCE=7
PRINTQUALITY=300
COLOR=1
TTOPTION=3
COLLATE=0

"@I"Arial "Total Sales by Month - Summary"&RIGHT(exp_1, 2) + "/" + LEFT(exp_1, 4) Arial"@I"Arial"Sales"sum_unit_price Arial"999999999.99""@I"Arial
"Month/Year
""@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Grand Total
"MTON(sum_unit_price) Arial"999999999.99" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialArialdataenvironmentLLeft = 126
Top = 559
Width = 211
Height = 169
Name = "Dataenvironment"
cursor�Left = 20
Top = 10
Width = 142
Height = 111
Alias = "sales_summary"
Database = ..\data\tastrade.dbc
CursorSource = "sales summary"
Name = "cursor1"
0b4�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QV60OJ1YB 493902676 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   30T 5 5   FF                     T                T       WINDOWS _QV60OJ1YD           9  1                  14375.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60QC19B           9  3"                   2396.000    0.000                                                                        F  TFF           F                          WINDOWS _QV60OJ1YE           9  4                   2813.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60QC26E           9  5                   7500.000    0.000                                                                        F  TFF           F                          WINDOWS _QV60OJ1YF           9  7                      0.000    0.000                                                                        F  FFF           F                          WINDOWS _QV610ZD6F           9  8                   7084.000   24.000                                                                        F  FFF           F                          WINDOWS _QV610BE0V 493913875 7  427395.83324479.167 5208.33321770.833       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60ZO0J1 493913294 7  416458.333 4687.500 2187.50041250.000       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60OJSJT 493904246 5  0%10104.16712500.000 2083.33322395.833#        0    0    0   -1   -1   -1               $  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60OLEI6 493913665 8  0'21354.167 4687.500 2083.333 8229.167 )  C    0    0    0   -1   -1   -1               *  0 12  1          T   F          2          0       0 1    FF0 0T WINDOWS _QV60OLEI7 493902872 5  0-16458.33340625.000 2083.333 4375.000+        0    0    0   -1   -1   -1               ,  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60OLEI8 512990787 8  0.21354.16731354.167 2083.33314062.5001 /  N    0    0    0   -1   -1   -1               0  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QV60ONP8L 493902796 5  0416458.333 5208.333 2083.333 8958.3332        0    0    0   -1   -1   -1               3  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60Q9LGD 493904375 5  0716458.33318437.500 2083.333 3645.8335        0    0    0   -1   -1   -1               6  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60QBCQX 495489483 8  0821354.16718229.167 2083.333 9270.833   D    0    0    0   -1   -1   -1               9  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QV60QOWU1 493904748 5  0<27916.66725000.000 2083.333 3958.333:        0    0    0   -1   -1   -1               ;  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60R59ET 495489488 8  0=27812.50032500.000 2187.50012916.667@ >  N    0    0    0   -1   -1   -1               ?  1 12  1          T   F          2          1       2 6    TF3 0F WINDOWS _QV60R97KQ 493905253 5  0C30104.16725000.000 2083.333 6562.500A        0    0    0   -1   -1   -1               B  1 12  1          T   F          0                         TF3 0F WINDOWS _QV60RAXXN 495489490 8  0D30000.00032500.000 2187.50012916.667F   N    0    0    0   -1   -1   -1               E  1 12  1          T   F          2          1       3 6    TF3 0F WINDOWS _QV60X56R9 493911332 5  0H 4687.50013645.833 3437.50013333.333        0    0    0   -1   -1   -1               G  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0J 4166.66711979.167 3958.333 2083.333        0    0  255   -1   -1   -1               I  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0L 4687.50029791.667 3437.500 8750.000        0    0    0   -1   -1   -1               K  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0N 4166.66728125.000 3958.333 2083.333        0    0  255   -1   -1   -1               M  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60ZYII3 493913555 6    9791.667    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QV61090BB 493913816 6   26354.167    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QV610ZL0S 493914606 7  440104.16719687.500 2708.33326562.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV610ZL0T 493914606 5  0P40208.33320312.500 2395.83311458.333        0    0    0   -1   -1   -1               O  1 14  1          T   F          0                         TF3 0F WINDOWS _RCB0FRUR3 552942257 8  0Q40208.33334479.167 2500.00010937.500T R  N  128    0  128   -1   -1   -1               S  1 14  1          T   F          2          1       2 1    TF3 0F WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   U  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   V  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   W  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   X  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   Y  1 24                                                             WINDOWS                     23      23.000    9.000   18.000   24.000        4    1                                   Z  1 14                                                             WINDOWS                     25   [\                                     T                                                                                                                  WINDOWS                     26   _`                                                                                                                                                       e!Courier NewM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pSLetter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=7
DUPLEX=1
TTOPTION=3
exp_1"@I"Arial"Total Sales by Month - Detail"&RIGHT(exp_1, 2) + "/" + LEFT(exp_1, 4) Arial"@I"Arial"Sales"sum_unit_price Arial"999999999.99""@I"Arial
"Month/Year
""@I"Arial"Date
"
order_dateArial"@I"Arial"Total"MTON(sum_unit_price) Arial"999999999.99""@I"Arial	"Average"MTON(sum_unit_price)Arial"999999999.99"Arial
"asmanian"Arial"T"Arial	"raders
"Arial"T"Arial"Grand Total
"MTON(sum_unit_price) Arial"999999999.99"Courier NewArialArialArialArialArialdataenvironmentJLeft = 1
Top = 220
Width = 520
Height = 197
Name = "Dataenvironment"
cursor�Left = 10
Top = 20
Width = 90
Height = 89
Alias = "sales_detail"
Database = ..\data\tastrade.dbc
CursorSource = "sales detail"
Name = "Cursor1"
0b(mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Class              0 WINDOWS _R2D0U325C 5527668975tr6�/��34�01. WINDOWS _R2D0U2YWS 520056900s�����j WINDOWS _R2D0U2Z72 552766897������ WINDOWS _R2D0U2Z7W 552383452�����u� WINDOWS _R2D0U2ZIH 552766897ihgfec WINDOWS _R2D0U2ZJB 552766897ba`_^\ WINDOWS _R2D0U2ZK5 552766897[ZYXWU WINDOWS _R2D0U2ZKZ 552766897TSRQPN WINDOWS _R2D0U2ZM3 552766897MLKJIF WINDOWS _R2D0U2ZOB 552766897EDCBA> WINDOWS _R2D0U2ZPF 552766897=<;:96 WINDOWS _R2D0U2ZQ9 55238301254321/ WINDOWS _R2D0U2ZRN 552383012.-,+*( WINDOWS _R2D0U2ZSR 552383012'&%$#! WINDOWS _R2D0U2ZU6 552383012  WINDOWS _R2D0U2ZVA 552383012 WINDOWS _RAC0LBZLG 552383488
� WINDOWS _R2D0U307S 552766897������ WINDOWS _R2D0U308M 552766897������ WINDOWS _R2D0U309G 552766897������ WINDOWS _R2D0U30AK 552766897������ WINDOWS _R2D0U30BE 552383012������ WINDOWS _R2D0U30CI 552383012������ WINDOWS _R2D0U30DX 552383012������ WINDOWS _QZP1DNV1N 548040317�������� WINDOWS _R2D0U30PB 548040317�������� WINDOWS _R2D0U30ZM 548043941������ WINDOWS _R2D0U3110 552383012�������� WINDOWS _R2D0U31BK 552766897������ WINDOWS _R2D0U31CO 552766897��~}z WINDOWS _R2D0U31DI 552766897yxwvus WINDOWS _R2D0U31EM 552766897rqponk WINDOWS _R2D0U31FG 552383012jihgfc\T WINDOWS _R2D0U323O 552766897SRQPOM WINDOWS _R2D0U31RF 552383012LKJIHEC? WINDOWS _R2D0U324I 552766897>=<;:7 COMMENT RESERVED            -+) WINDOWS _QZP1DNV1N 552766921('% COMMENT RESERVED            
	(@VERSION =  0.029!Arial, 0, 8, 5, 14, 11, 20, 3, 0

ordtextboxPixels�Order entry text box used exclusively in the order entry class. It is based on tsTextBox, and is designed specifically to work in both the Order Entry and Order History forms. Class1	tstextbox
ordtextboxFldynamicenable False if control is permanently enabled or disabled. 
���� ��Ϙ%>w
]�Uj��C�����%�����c�"T����HISTORYC��f
��%���
��_�T���-����U	TSTEXTBOXINITTHISENABLEDTHISFORMNAMELDYNAMICENABLE*%�����#�T��������UTHISLDYNAMICENABLEENABLEDTHISFORMLALLOWEDITSInit,��Refresh���1�!�AA31A2�	��)� NAME������PROCEDURE Init
tsTextBox::Init()
*-- Disable all text boxes if we are running the Order History
*-- form and the text box isn't already disabled.
IF this.Enabled
  this.Enabled = !("HISTORY" $ UPPER(thisform.name))
  IF !this.Enabled
    *-- If this is Order History, prevent text boxes
    *-- from changing the Enabled property
    this.lDynamicEnable = .F.
  ENDIF
ENDIF

ENDPROC
PROCEDURE Refresh
IF this.lDynamicEnable
  this.Enabled = thisform.lAllowEdits
ENDIF
  
ENDPROC
SHeight = 22
TabIndex = 1
Width = 100
ldynamicenable = .T.
Name = "ordtextbox"
textbox
tsbase.vcxb..\include\tastrade.hr�A�($..\..\..\..\..\..\vfp6\foxpro.hz��#..\include\strings.h��A�($BArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 0, 9, 5, 15, 12, 21, 3, 0

orderentry..\include\tastrade.h
moveoffgrid
PixelsaThe main order entry class, from which the order entry and order history forms will be based on. Class36
tsbaseform
orderentry�Alignment = 0
Caption = "Notes"
Height = 14
Left = 15
Top = 260
Width = 81
TabIndex = 21
ZOrderSet = 34
Name = "Tslabel12"

orderentry.	Tslabel12label
tsbase.vcxtslabel���� ��%l�}�UT�������UTHISENABLEDTHISFORMLALLOWEDITSRefresh,��1128)�CPROCEDURE Refresh
this.Enabled = thisform.lAllowEdits

ENDPROC
�Height = 81
Left = 15
TabIndex = 15
Top = 275
Width = 246
DisabledBackColor = 255,255,255
ZOrderSet = 33
Name = "edtNotes"

orderentry.edtNoteseditbox
tsbase.vcx	tseditboxvCaption = "Due By"
Height = 22
Left = 445
Top = 111
Width = 77
TabIndex = 24
ZOrderSet = 35
Name = "Tslabel4"

orderentry.Tslabel4label
tsbase.vcxtslabel���� ��$%K5�Uo���%������M�T��������d��T��������h�T��������ULNTEMPTHISVALUETHISFORMTXTSUBTOTALTXTDISCOUNT
��C����UTHISPROGRAMMATICCHANGEProgrammaticChange,��	LostFocus���1rB�1�1A2�1	;x)��PROCEDURE ProgrammaticChange
*-- Calculate the discount value based on discount percent
LOCAL lnTemp

IF this.Value > 0
  lnTemp = ;
    thisform.txtSubTotal.Value * ;
    (this.Value / 100)
  thisform.txtDiscount.Value = lnTemp
ELSE
  thisform.txtDiscount.Value = 0
ENDIF
ENDPROC
PROCEDURE LostFocus
*-- Force the totals to be updated
this.ProgrammaticChange()
ENDPROC
�Alignment = 1
Value = 0.00
ControlSource = ""
Height = 22
InputMask = "99"
Left = 405
TabIndex = 20
Top = 280
Width = 29
ZOrderSet = 32
Name = "txtDiscountPerc"

orderentry.txtDiscountPerctextbox
orders.vcx
ordtextbox~Caption = "Invoice Total"
Height = 22
Left = 420
Top = 335
Width = 77
TabIndex = 31
ZOrderSet = 31
Name = "Tslabel16"

orderentry.	Tslabel16label
tsbase.vcxtslabelxCaption = "Freight"
Height = 22
Left = 420
Top = 310
Width = 77
TabIndex = 28
ZOrderSet = 30
Name = "Tslabel15"

orderentry.	Tslabel15label
tsbase.vcxtslabel{Caption = "% Discount"
Height = 22
Left = 420
Top = 285
Width = 77
TabIndex = 27
ZOrderSet = 29
Name = "Tslabel14"

orderentry.	Tslabel14label
tsbase.vcxtslabel~Caption = "Item Subtotal"
Height = 22
Left = 420
Top = 260
Width = 77
TabIndex = 26
ZOrderSet = 28
Name = "Tslabel13"

orderentry.	Tslabel13label
tsbase.vcxtslabelq��� XX�^%����U-*T��������������UTHISFORMTXTTOTALVALUETXTSUBTOTALTXTDISCOUNTTHIS
��C����UTHISPROGRAMMATICCHANGEProgrammaticChange,��	LostFocus���1�3�1��	)XPROCEDURE ProgrammaticChange
*-- Calculate the total order amount
thisform.txtTotal.Value = ;
  thisform.txtSubtotal.Value - ;
  thisform.txtDiscount.Value + ;
  this.value

ENDPROC
PROCEDURE LostFocus
*-- Force the totals to be updated
this.ProgrammaticChange()
ENDPROC
�Alignment = 1
Value = 0.00
InputMask = "$99,999,999.99"
Left = 505
TabIndex = 23
Top = 310
ZOrderSet = 27
Name = "txtFreight"

orderentry.
txtFreighttextbox
orders.vcx
ordtextbox�Alignment = 1
Value = 0.00
Enabled = .F.
InputMask = "99,999,999.99"
Left = 505
TabIndex = 34
Top = 335
DisabledBackColor = 255,255,255
ZOrderSet = 26
ldynamicenable = .F.
Name = "txtTotal"

orderentry.txtTotaltextbox
orders.vcx
ordtextbox��� ]i%����U-*T��������������UTHISFORMTXTTOTALVALUETXTSUBTOTALTHIS
TXTFREIGHTProgrammaticChange,��1�2�)�PROCEDURE ProgrammaticChange
*-- Calculate the total order amount
thisform.txtTotal.Value = ;
  thisform.txtSubtotal.Value - ;
  this.Value + ;
  thisform.txtFreight.Value

ENDPROC
�Alignment = 1
Value = 0.00
Enabled = .F.
InputMask = "$99,999,999.99"
Left = 504
TabIndex = 33
Top = 288
DisabledBackColor = 255,255,255
ZOrderSet = 25
ldynamicenable = .F.
Name = "txtDiscount"

orderentry.txtDiscounttextbox
orders.vcx
ordtextboxY��� @@7�%����Ua%�������?�(T�����������d���Z�T��������UTHISFORMTXTDISCOUNTPERCVALUETXTDISCOUNTTXTSUBTOTALProgrammaticChange,��1r��1A1�)@PROCEDURE ProgrammaticChange
*-- Calculate discount
IF thisform.txtDiscountPerc.Value > 0
  thisform.txtDiscount.Value = ;
    thisform.txtSubTotal.Value * ;
    (thisform.txtDiscountPerc.Value / 100)
ELSE
  thisform.txtDiscount.Value = 0
ENDIF
ENDPROC
�Alignment = 1
Value = 0.00
Enabled = .F.
InputMask = "$99,999,999.99"
Left = 505
TabIndex = 32
Top = 260
DisabledBackColor = 255,255,255
ZOrderSet = 24
ldynamicenable = .F.
Name = "txtSubTotal"

orderentry.txtSubTotaltextbox
orders.vcx
ordtextboxJLeft = 306
TabIndex = 8
Top = 107
ZOrderSet = 22
Name = "txtCountry"

orderentry.
txtCountrytextbox
orders.vcx
ordtextboxULeft = 306
TabIndex = 7
Top = 84
ZOrderSet = 21
Name = "txtShip_To_Postal_Code"

orderentry.txtShip_To_Postal_Codetextbox
orders.vcx
ordtextboxQLeft = 100
TabIndex = 6
Top = 107
ZOrderSet = 20
Name = "txtShip_To_Region"

orderentry.txtShip_To_Regiontextbox
orders.vcx
ordtextboxxCaption = "Country"
Height = 22
Left = 204
Top = 107
Width = 97
TabIndex = 19
ZOrderSet = 19
Name = "Tslabel11"

orderentry.	Tslabel11label
tsbase.vcxtslabel{Caption = "Postal Code"
Height = 22
Left = 204
Top = 84
Width = 98
TabIndex = 14
ZOrderSet = 18
Name = "Tslabel10"

orderentry.	Tslabel10label
tsbase.vcxtslabel�Caption = "Region"
Height = 22
Left = 17
Top = 107
Width = 77
TabIndex = 13
BackColor = 0,0,0
ZOrderSet = 17
Name = "Tslabel9"

orderentry.Tslabel9label
tsbase.vcxtslabelrCaption = "City"
Height = 22
Left = 16
Top = 84
Width = 77
TabIndex = 11
ZOrderSet = 16
Name = "Tslabel8"

orderentry.Tslabel8label
tsbase.vcxtslabelJ��� 11&%����U*%�C�cShipperList���#�Q���UCSHIPPERLISTT�������UTHISENABLEDTHISFORMLALLOWEDITSDestroy,��Refreshh��1��A212Hf�)1�PROCEDURE Destroy
IF USED("cShipperList")
  USE IN cShipperList
ENDIF
ENDPROC
PROCEDURE Refresh
this.Enabled = thisform.lAllowEdits

ENDPROC
�BoundColumn = 2
RowSourceType = 3
RowSource = ""
Height = 21
Left = 444
Style = 2
TabIndex = 10
Top = 81
Width = 156
ZOrderSet = 15
ColorSource = 0
DisabledBackColor = 255,255,255
Name = "cboShipper_ID"

orderentry.
cboShipper_IDcombobox
tsbase.vcx
tscombobox�Alignment = 1
Enabled = .F.
Height = 22
Left = 530
TabIndex = 30
Top = 35
Width = 69
ZOrderSet = 14
ldynamicenable = .F.
Name = "txtOrder_Date"

orderentry.
txtOrder_Datetextbox
orders.vcx
ordtextbox�Alignment = 1
Enabled = .F.
Height = 22
Left = 530
TabIndex = 29
Top = 10
Width = 69
ZOrderSet = 13
ldynamicenable = .F.
Name = "txtOrder_Number"

orderentry.txtOrder_Numbertextbox
orders.vcx
ordtextboxNLeft = 100
TabIndex = 5
Top = 84
ZOrderSet = 12
Name = "txtShip_To_City"

orderentry.txtShip_To_Citytextbox
orders.vcx
ordtextboxkHeight = 24
Left = 100
TabIndex = 4
Top = 58
Width = 306
ZOrderSet = 11
Name = "txtShip_To_Address"

orderentry.txtShip_To_Addresstextbox
orders.vcx
ordtextboxhHeight = 24
Left = 100
TabIndex = 3
Top = 32
Width = 306
ZOrderSet = 10
Name = "txtShip_To_Name"

orderentry.txtShip_To_Nametextbox
orders.vcx
ordtextbox�Alignment = 0
Caption = "\<Delivery Information"
Height = 22
Left = 445
Top = 67
Width = 156
TabIndex = 9
ZOrderSet = 9
Name = "lblDeliveryInfo"

orderentry.lblDeliveryInfolabel
tsbase.vcxtslabel�Alignment = 1
Caption = "Order Date"
Height = 22
Left = 444
Top = 35
Width = 77
TabIndex = 25
ZOrderSet = 8
Name = "Tslabel6"

orderentry.Tslabel6label
tsbase.vcxtslabel�Alignment = 1
Caption = "Order #"
Height = 22
Left = 445
Top = 10
Width = 77
TabIndex = 22
ZOrderSet = 7
Name = "Tslabel5"

orderentry.Tslabel5label
tsbase.vcxtslabeltCaption = "Address"
Height = 22
Left = 16
Top = 58
Width = 77
TabIndex = 17
ZOrderSet = 6
Name = "Tslabel3"

orderentry.Tslabel3label
tsbase.vcxtslabeltCaption = "Ship To"
Height = 22
Left = 16
Top = 32
Width = 77
TabIndex = 16
ZOrderSet = 5
Name = "Tslabel2"

orderentry.Tslabel2label
tsbase.vcxtslabelxCaption = "\<Customer"
Height = 22
Left = 16
Top = 8
Width = 77
TabIndex = 1
ZOrderSet = 4
Name = "lblCustomer"

orderentry.lblCustomerlabel
tsbase.vcxtslabelTTop = 28
Left = 12
Height = 110
Width = 399
ZOrderSet = 3
Name = "Ts3dshape2"

orderentry.
Ts3dshape2shape
tsbase.vcx	ts3dshape���� ��Y#%&q
W�UY%������#���C������R�%������N���C�������UTHISFORMCBOCUSTOMER_IDENABLEDSETFOCUSTXTSHIP_TO_NAMET������
��UTHISLEFTTHISFORMWIDTH
��C����UTHISGOTFOCUSGotFocus,��Init���Refresh��12�1AA2r2�1�	Us)�form
commandbutton
tsbase.vcxCPROCEDURE Valid
*-- The deliver by date must be today or later
IF this.Value < DATE()
  =MessageBox(TODAYORLATER_LOC, ;
              MB_ICONEXCLAMATION, ;
              TASTRADE_LOC)
  this.Value = DATE()
  this.Refresh()
  RETURN .F.
ENDIF
ENDPROC
PROCEDURE Refresh
textbox::Refresh()
IF !("HISTORY" $ UPPER(thisform.Name))
  IF "3" $ GETFLDSTATE(-1) OR "4" $ GETFLDSTATE(-1)
    thisform.lAllowEdits = .T.
  ELSE
    thisform.lAllowEdits = this.Value > DATE()
    thisform.lAllowDelete = thisform.lAllowEdits
  ENDIF
ENDIF
OrdTextBox::Refresh()
ENDPROC
uAlignment = 1
Height = 22
Left = 530
TabIndex = 12
Top = 111
Width = 69
ZOrderSet = 2
Name = "txtDeliver_By"

orderentry.
txtDeliver_Bytextbox
orders.vcx
ordtextboxTTop = 62
Left = 435
Height = 76
Width = 170
ZOrderSet = 1
Name = "Ts3dshape1"

orderentry.
Ts3dshape1shape
tsbase.vcx	ts3dshapehScaleMode = 3
Height = 367
Width = 620
DoCreate = .T.
Caption = "Order Entry"
Name = "orderentry"
�*refreshcustomerinfo Refreshes the customer ship to address, city, etc. Called when selecting a new customer.
*moveoffgrid Sets focus away from the grid when navigating the table.
^ashippers[1,0] Array of shippers

commandbuttoncmdFocusControlPROCEDURE GotFocus
*-- If user is tabbing around the form , don't stop here!
IF thisform.cboCustomer_ID.Enabled
  thisform.cboCustomer_ID.SetFocus()
ELSE
  IF thisform.txtShip_To_Name.Enabled
    thisform.txtShip_To_Name.SetFocus()
  ENDIF
ENDIF
ENDPROC
PROCEDURE Init
*-- Move control out of site
this.Left = thisform.Width + 10
ENDPROC
PROCEDURE Refresh
*-- As user is scrolling through the orders, if 
*-- an order is displayed that is editable, we need
*-- to shift the focus
this.GotFocus()
ENDPROC
�Top = 165
Left = 506
Height = 36
Width = 100
Caption = "Focus Control"
TabIndex = 18
ZOrderSet = 0
Name = "cmdFocusControl"

orderentry.��� ffP@%�
��U|%���C$
��u�?��C�Date must be today or later.�0�Tasmanian Traders�x��T���C$��
��C����B�-���UTHISVALUEREFRESH���C�����%��HISTORYC��f
����&%��3C�����
�4C������a�T���a�����T�����C$��T�����������C�����U	TEXTBOXREFRESHTHISFORMNAMELALLOWEDITSTHISVALUELALLOWDELETE
ORDTEXTBOXValid,��Refresh���12���qA2��a��a1AA�1�8)f�PROCEDURE refreshcustomerinfo
*-- Update customer information
IF !EMPTY(thisform.cboCustomer_ID.Value)
  thisform.txtShip_To_Name.Value = customer.company_name
  thisform.txtShip_To_Address.Value = customer.address
  thisform.txtShip_To_City.Value = customer.city
  thisform.txtShip_To_Region.Value = customer.region
  thisform.txtShip_To_Postal_Code.Value = customer.postal_code
  thisform.txtCountry.Value = customer.country
  thisform.txtDiscountPerc.Value = customer.discount
ELSE
  *-- If there is no customer selected, blank out the customer
  *-- information
  thisform.txtShip_To_Name.Value = ""
  thisform.txtShip_To_Address.Value = ""
  thisform.txtShip_To_City.Value = ""
  thisform.txtShip_To_Region.Value = ""
  thisform.txtShip_To_Postal_Code.Value = ""
  thisform.txtCountry.Value = ""
  thisform.txtDiscountPerc.Value = 0
ENDIF

ENDPROC
PROCEDURE moveoffgrid
*-- To prevent the SumColumn method of grdLineItems from being called
*-- twice, once from the Refresh() method, and once from the BeforeRowColChange
*-- method, we set focus away from the grid
IF TYPE("this.ActiveControl") == "O" AND ;
    UPPER(this.ActiveControl.BaseClass) = "GRID"
  thisform.cmdFocusControl.SetFocus()
ENDIF

ENDPROC
PROCEDURE restorewindowpos
*-- Since the caption and name properties of 
*-- the Order History form are dynamic, we specify
*-- the name of the entry to make in the INI file.
IF "HISTORY" $ UPPER(thisform.Name)
  tsBaseForm::RestoreWindowPos("Order History")
ELSE
  tsBaseForm::RestoreWindowPos()
ENDIF

ENDPROC
PROCEDURE savewindowpos
*-- Since the caption and name properties of 
*-- the Order History form are dynamic, we specify
*-- the name of the entry to make in the INI file.
IF "HISTORY" $ UPPER(thisform.Name)
  tsBaseForm::SaveWindowPos("Order History")
ELSE
  tsBaseForm::SaveWindowPos()
ENDIF

ENDPROC
PROCEDURE prior
thisform.MoveOffGrid()
RETURN tsBaseForm::Prior()

ENDPROC
PROCEDURE last
thisform.MoveOffGrid()
RETURN tsBaseForm::Last()

ENDPROC
PROCEDURE first
thisform.MoveOffGrid()
RETURN tsBaseForm::First()

ENDPROC
PROCEDURE next
thisform.MoveOffGrid()
RETURN tsBaseForm::Next()

ENDPROC
PROCEDURE save
*-- (c) Microsoft Corporation 1995

LOCAL llError, ;
      laError[AERRORARRAY]

thisform.MoveOffGrid()
IF thisform.WriteBuffer()
  BEGIN TRANSACTION
  llError = (TXNLEVEL() = 0)
  IF !llError
    SELECT orders
    *-- If no data has changed in the orders table, the table
    *-- rule will not fire unless we force it.
    IF GETFLDSTATE(-1) = REPLICATE("1", FCOUNT() + 1)
      =SETFLDSTATE(2, 2)
    ENDIF
    llError = !TABLEUPDATE()
    IF !llError
      SELECT order_line_items
      llError = !TABLEUPDATE(.T.)
    ENDIF

    IF !llError
      END TRANSACTION
    ELSE
      thisform.LockScreen = .T.
      ROLLBACK
      thisform.grdLineItems.Refresh()
      thisform.LockScreen = .F.
      =AERROR(laError)
      thisform.Error(laError[1], ;
                     laError[2], ;
                     0)
    ENDIF
  ENDIF
ENDIF

*- enable new button
oApp.oToolBar.cmdNew.Enabled = .T.
ACTIVATE MENU _msysmenu NOWAIT

SELECT orders
thisform.RefreshForm()

RETURN !llError
ENDPROC
PROCEDURE addnew
IF ALIAS() <> "ORDERS"
  SELECT orders
ENDIF

thisform.lAllowEdits = .T.
thisform.lAllowDelete = .T.
*-- Refresh the toolbar
IF TYPE("oApp") == "O"
  oApp.oToolbar.Refresh()
ENDIF
IF tsBaseForm::AddNew()
  *-- Add a blank record to the grid so the user can tab into it
  INSERT INTO order_line_items ;
    (order_id) ;
    VALUES ;
    (orders.order_id)
  thisform.grdLineItems.Refresh()
  thisform.cboCustomer_ID.SetFocus()
ENDIF

ENDPROC
PROCEDURE restore
thisform.MoveOffGrid()
=TABLEREVERT(.T., "Order_Line_Items")
=TABLEREVERT(.F., "Orders")

IF EOF("orders") AND !BOF("orders")
  SKIP -1 IN ORDERS
ENDIF

thisform.RefreshForm()

ENDPROC
PROCEDURE delete
thisform.MoveOffGrid()
IF ALIAS() <> "ORDERS"
  SELECT orders
ENDIF

tsBaseForm::Delete()
ENDPROC
PROCEDURE datachanged
LOCAL llRetVal

SELECT orders
llRetVal = tsBaseForm::DataChanged()
IF !llRetVal
  *-- Check if any line items have changed
  llRetVal = (GETNEXTMODIFIED(0, "order_line_items") <> 0)
ENDIF

RETURN llRetVal
ENDPROC

���� g
g
�
%�
^tv�UD%�C����
����T��������T��������T������	��T��
������T������
��T��������T���������=�T�������T�������T�������T��
�����T�������T�������T��������UTHISFORMCBOCUSTOMER_IDVALUETXTSHIP_TO_NAMECUSTOMERCOMPANY_NAMETXTSHIP_TO_ADDRESSADDRESSTXTSHIP_TO_CITYCITYTXTSHIP_TO_REGIONREGIONTXTSHIP_TO_POSTAL_CODEPOSTAL_CODE
TXTCOUNTRYCOUNTRYTXTDISCOUNTPERCDISCOUNTT=%�C�this.ActiveControlb�O�C���f�GRID	��M���C������UTHIS
ACTIVECONTROL	BASECLASSTHISFORMCMDFOCUSCONTROLSETFOCUSX%��HISTORYC��f��;���C�
Order History������Q���C������UTHISFORMNAME
TSBASEFORMRESTOREWINDOWPOSX%��HISTORYC��f��;���C�
Order History������Q���C������UTHISFORMNAME
TSBASEFORM
SAVEWINDOWPOS
��C����B�C�����UTHISFORMMOVEOFFGRID
TSBASEFORMPRIOR
��C����B�C�����UTHISFORMMOVEOFFGRID
TSBASEFORMLAST
��C����B�C�����UTHISFORMMOVEOFFGRID
TSBASEFORMFIRST
��C����B�C�����UTHISFORMMOVEOFFGRID
TSBASEFORMNEXT��������
��C����%�C����A����T��C����%��
��=�F��%�C����C�1C.�Q������C������T��C�
��%��
����F��T��Ca�
���%��
��������9�T���a������C���	��T���-����C���z����CC��C�����
�����T���
��a��t�:�F��
��C����
B��
��ULLERRORLAERRORTHISFORMMOVEOFFGRIDWRITEBUFFERORDERSORDER_LINE_ITEMS
LOCKSCREENGRDLINEITEMSREFRESHERROROAPPOTOOLBARCMDNEWENABLEDREFRESHFORM�%�C�ORDERS���F���T���a��T���a��%�C�oAppb�O��e���C������%�C�������(r��order_line_items�	����	����C��
�����C������U
ORDERSTHISFORMLALLOWEDITSLALLOWDELETEOAPPOTOOLBARREFRESH
TSBASEFORMADDNEWORDER_IDGRDLINEITEMSCBOCUSTOMER_IDSETFOCUS�
��C������Ca�Order_Line_Items�����C-�Orders���%%�C�orders+�
C�orders
	��p�H��������
��C����UTHISFORMMOVEOFFGRIDORDERSREFRESHFORM?
��C����%�C�ORDERS��*�F�����C�����UTHISFORMMOVEOFFGRIDORDERS
TSBASEFORMDELETEf���F��T��C�����%��
��V�(T��C��order_line_items�����	B����ULLRETVALORDERS
TSBASEFORMDATACHANGEDrefreshcustomerinfo,��moveoffgridb��restorewindowpos���
savewindowpos���prior��last\��first���next���save>��addnewl��restore���deletez	��datachanged�	��1baaaaaaa�3111111A3�A3����A3����A3��3��3��3��3�Q!�q��A��q�A�Q��A���AAAC�r��2aqA���A!�A3��1R�A�3�aqA�2qr!��A�1a���";Q-#m�8&��=)?B,Z�G/��LP��{^�Z�fw��l���)g
BM�v(
h��������������������������������������������������������������������������BM�v(����������������������������������������������������������������������������������������0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R440LF6V9 5244394135Lcz�	�	 WINDOWS _R440LF6VJ 552878234.E WINDOWS _R440LF6W3 552878234��� WINDOWS _R440LF6WD 552878234����� WINDOWS _R440LF6WX 552878234����� WINDOWS _R440LF6XH 552878234~���� WINDOWS _R440LF6XR 524439413\l|�� WINDOWS _R440LF6Y1 524439413+;K\s WINDOWS _R440LF6YB 524439413�		/	F	 WINDOWS FONTINFO   552878234�	�	
!
6
�%e0 WINDOWS _RA30L0UBT 548098245�122*2@2U2 WINDOWS _QXS0QK8KL 5528782353)3C3O3c3x3�8`[ WINDOWS _QXS0QK9TN 509702993�=>>%>R> WINDOWS _QXS0QK9U7 508584690�>�>�>�>	? WINDOWS _QY710LDMM 552878235N?`?z?�?�?�?�@�Y WINDOWS _QXS0QK9VV 509702994�C�C�CD<D WINDOWS _QXS0QK9WF 552878235�D�D�D�D�DZEI; WINDOWS _QXS0QKB25 509702994�G�G�G�GH WINDOWS _QXS0QKB2P 552878235rH�H�H�H�HhI�- WINDOWS _QXS0QKC9J 509702994�J�J�J�J�J WINDOWS _QXS0QKCA3 552878235\KkKzK�K�KmL�, WINDOWS _QXZ0ZK4YY 552877829�M�M�C�CkC�M WINDOWS _QXZ0ZK4ZS 552878235�=�=�=�=�=_NK=, WINDOWS _R440LF6V9 5528782357//H//�.%B�N�m WINDOWS _QXB1DZF84 552878235�.�.X/m/�/�<^�U WINDOWS _RA30L0UBU 547979639�J�/~JnJYJ.M WINDOWS _R440LF6V9 552878235�G~G�C�C�C�LGb�) WINDOWS _RAA0ZRHTY 552878235�/�/�/�/�/�I�F0( COMMENT RESERVED            )F�'s�VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 17
Top = 0
Width = 520
Height = 510
AutoCloseTables = .F.
InitialSelectedAlias = "Orders"
Name = "Dataenvironment"
cursorcursorCursor1Dataenvironment�Left = 168
Top = 8
Width = 142
Height = 351
Alias = "Orders"
Database = ..\data\tastrade.dbc
CursorSource = "Orders"
Name = "Cursor1"
cursorcursorCursor2Dataenvironment�Left = 17
Top = 8
Width = 116
Height = 297
Alias = "Customer"
Database = ..\data\tastrade.dbc
CursorSource = "Customer"
Name = "Cursor2"
cursorcursorCursor3Dataenvironment�Left = 11
Top = 364
Width = 121
Height = 98
Alias = "Shippers"
Database = ..\data\tastrade.dbc
CursorSource = "Shippers"
Name = "Cursor3"
cursorcursorCursor4Dataenvironment�Left = 362
Top = 10
Width = 96
Height = 138
Alias = "Order_Line_Items"
Database = ..\data\tastrade.dbc
CursorSource = "Order_Line_Items"
Name = "Cursor4"
cursorcursorCursor5Dataenvironment�Left = 337
Top = 179
Width = 118
Height = 282
Alias = "Products"
Database = ..\data\tastrade.dbc
CursorSource = "Products"
Name = "Cursor5"
relationrelation	Relation1DataenvironmentParentAlias = "Orders"
RelationalExpr = "shipper_id"
ChildAlias = "Shippers"
ChildOrder = "shipper_id"
Name = "Relation1"
relationrelation	Relation2Dataenvironment�ParentAlias = "Orders"
RelationalExpr = "order_id"
ChildAlias = "Order_Line_Items"
ChildOrder = "order_id"
Name = "Relation2"
relationrelation	Relation3Dataenvironment�ParentAlias = "Order_Line_Items"
RelationalExpr = "product_id"
ChildAlias = "Products"
ChildOrder = "product_id"
Name = "Relation3"
91
orderentry..\libs\orders.vcxform
frmorderentry�ScaleMode = 3
Top = 1
Left = 11
Height = 354
Width = 607
DoCreate = .T.
AutoCenter = .F.
Icon = ..\bitmaps\orders.ico
HelpContextID = 11
Name = "frmorderentry"
cmdFocusControl.TabIndex = 38
cmdFocusControl.Name = "cmdFocusControl"
ts3dshape1.Top = 62
ts3dshape1.Left = 428
ts3dshape1.Height = 76
ts3dshape1.Width = 170
ts3dshape1.Name = "ts3dshape1"
txtdeliver_by.ControlSource = "orders.deliver_by"
txtdeliver_by.Left = 524
txtdeliver_by.TabIndex = 15
txtdeliver_by.Name = "txtdeliver_by"
ts3dshape2.Left = 6
ts3dshape2.Height = 110
ts3dshape2.Width = 399
ts3dshape2.Name = "ts3dshape2"
lblCustomer.Height = 22
lblCustomer.Left = 10
lblCustomer.Width = 77
lblCustomer.TabIndex = 1
lblCustomer.Name = "lblCustomer"
tslabel2.Height = 22
tslabel2.Left = 10
tslabel2.Width = 77
tslabel2.TabIndex = 6
tslabel2.Name = "tslabel2"
tslabel3.Height = 22
tslabel3.Left = 10
tslabel3.Width = 77
tslabel3.TabIndex = 8
tslabel3.Name = "tslabel3"
tslabel5.Height = 22
tslabel5.Left = 438
tslabel5.Top = 3
tslabel5.Width = 77
tslabel5.TabIndex = 9
tslabel5.Name = "tslabel5"
tslabel6.Height = 22
tslabel6.Left = 438
tslabel6.Top = 32
tslabel6.Width = 77
tslabel6.TabIndex = 12
tslabel6.Name = "tslabel6"
lblDeliveryInfo.Height = 22
lblDeliveryInfo.Left = 440
lblDeliveryInfo.Width = 156
lblDeliveryInfo.TabIndex = 13
lblDeliveryInfo.Name = "lblDeliveryInfo"
txtship_to_name.ControlSource = "orders.ship_to_name"
txtship_to_name.Left = 94
txtship_to_name.TabIndex = 3
txtship_to_name.Name = "txtship_to_name"
txtship_to_address.ControlSource = "orders.ship_to_address"
txtship_to_address.Left = 94
txtship_to_address.TabIndex = 4
txtship_to_address.Name = "txtship_to_address"
txtship_to_city.ControlSource = "orders.ship_to_city"
txtship_to_city.Left = 94
txtship_to_city.TabIndex = 5
txtship_to_city.Name = "txtship_to_city"
txtorder_number.ControlSource = "orders.order_number"
txtorder_number.Left = 524
txtorder_number.TabIndex = 37
txtorder_number.Top = 3
txtorder_number.Name = "txtorder_number"
txtorder_date.ControlSource = "orders.order_date"
txtorder_date.Left = 524
txtorder_date.TabIndex = 39
txtorder_date.Top = 32
txtorder_date.Name = "txtorder_date"
cboshipper_id.RowSource = "select company_name, shipper_id from shippers order by company_name into cursor cShipperList"
cboshipper_id.ControlSource = "Orders.shipper_id"
cboshipper_id.Left = 439
cboshipper_id.TabIndex = 14
cboshipper_id.Name = "cboshipper_id"
tslabel8.Height = 22
tslabel8.Left = 10
tslabel8.Width = 77
tslabel8.TabIndex = 25
tslabel8.Name = "tslabel8"
tslabel9.Height = 22
tslabel9.Left = 11
tslabel9.Width = 77
tslabel9.TabIndex = 26
tslabel9.Name = "tslabel9"
tslabel10.Height = 22
tslabel10.Left = 198
tslabel10.Width = 98
tslabel10.TabIndex = 27
tslabel10.Name = "tslabel10"
tslabel11.Height = 22
tslabel11.Left = 198
tslabel11.Width = 97
tslabel11.TabIndex = 28
tslabel11.Name = "tslabel11"
txtship_to_region.ControlSource = "orders.ship_to_region"
txtship_to_region.Left = 94
txtship_to_region.TabIndex = 7
txtship_to_region.Name = "txtship_to_region"
txtship_to_postal_code.ControlSource = "orders.ship_to_postal_code"
txtship_to_postal_code.Left = 300
txtship_to_postal_code.TabIndex = 10
txtship_to_postal_code.Name = "txtship_to_postal_code"
txtcountry.ControlSource = "orders.ship_to_country"
txtcountry.Left = 300
txtcountry.TabIndex = 11
txtcountry.Name = "txtcountry"
txtsubtotal.InputMask = "99,999,999.99"
txtsubtotal.Left = 499
txtsubtotal.TabIndex = 34
txtsubtotal.Top = 252
txtsubtotal.Name = "txtsubtotal"
txtdiscount.InputMask = "99,999,999.99"
txtdiscount.Left = 499
txtdiscount.TabIndex = 35
txtdiscount.Top = 277
txtdiscount.Name = "txtdiscount"
txttotal.Left = 499
txttotal.TabIndex = 36
txttotal.Top = 329
txttotal.Name = "txttotal"
txtfreight.ControlSource = "orders.freight"
txtfreight.InputMask = "99,999,999.99"
txtfreight.Left = 499
txtfreight.TabIndex = 23
txtfreight.Top = 302
txtfreight.Name = "txtfreight"
tslabel13.Height = 22
tslabel13.Left = 414
tslabel13.Top = 252
tslabel13.Width = 77
tslabel13.TabIndex = 29
tslabel13.Name = "tslabel13"
tslabel14.Height = 22
tslabel14.Left = 414
tslabel14.Top = 277
tslabel14.Width = 77
tslabel14.TabIndex = 30
tslabel14.Name = "tslabel14"
tslabel15.Height = 22
tslabel15.Left = 414
tslabel15.Top = 302
tslabel15.Width = 77
tslabel15.TabIndex = 31
tslabel15.Name = "tslabel15"
tslabel16.Height = 22
tslabel16.Left = 414
tslabel16.Top = 329
tslabel16.Width = 77
tslabel16.TabIndex = 32
tslabel16.Name = "tslabel16"
txtdiscountperc.ControlSource = "orders.discount"
txtdiscountperc.Left = 399
txtdiscountperc.TabIndex = 21
txtdiscountperc.Top = 272
txtdiscountperc.DisabledBackColor = 255,255,255
txtdiscountperc.Name = "txtdiscountperc"
edtNotes.Height = 81
edtNotes.Left = 5
edtNotes.TabIndex = 17
edtNotes.Top = 270
edtNotes.Width = 244
edtNotes.ControlSource = "orders.notes"
edtNotes.Name = "edtNotes"
tslabel4.Height = 22
tslabel4.Left = 439
tslabel4.Width = 77
tslabel4.TabIndex = 33
tslabel4.Name = "tslabel4"
Tslabel12.Height = 14
Tslabel12.Left = 5
Tslabel12.Top = 255
Tslabel12.Width = 81
Tslabel12.TabIndex = 22
Tslabel12.Name = "Tslabel12"
�PROCEDURE gridpop
LPARAMETERS tnBar

DO CASE
  CASE tnBar = 1
    thisform.GridAddItem()
  CASE tnBar = 2
    thisform.GridRemoveItem()
ENDCASE

DEACTIVATE POPUP GridPopup

ENDPROC
PROCEDURE gridadditem
SELECT Order_Line_Items
*-- Delete any empty line items
DELETE FOR EMPTY(product_id)

APPEND BLANK
REPLACE order_id WITH orders.order_id
thisform.grdLineItems.Refresh()
thisform.grdLineItems.SetFocus()
*-- Activate the product column
thisform.grdLineItems.ActivateCell(thisform.grdLineItems.ActiveRow, 1)

ENDPROC
PROCEDURE gridremoveitem
IF MessageBox(DELETEREC_LOC, ;
              MB_ICONQUESTION + MB_YESNO, ;
              DELETEWARN_LOC) = IDNO
  RETURN
ENDIF

DELETE IN Order_Line_Items
thisform.grdLineItems.Refresh()

ENDPROC
PROCEDURE getcustomerid
*-- Returns the cusomter ID for the current order
RETURN thisform.cboCustomer_ID.Value
ENDPROC
PROCEDURE getordernumber
*-- Returns the current order number
RETURN RIGHT(thisform.txtOrder_Number.Value,6)
ENDPROC
PROCEDURE clearlink
*-- Called when the link between a customer in Order Entry
*-- and all past orders is being cleared
thisform.cboCustomer_ID.Enabled = .T.
thisform.cmdLastOrder.Enabled = .T.
thisform.Closable = .T.
thisform.lAllowEdits = .T.
thisform.lAllowNew = .T.

ENDPROC
PROCEDURE getcustomername
*-- Returns the customer name for the current order
RETURN thisform.cboCustomer_id.DisplayValue
ENDPROC
PROCEDURE Init
OrderEntry::Init()
*-- Load the error message array with the appropriate error message if a
*-- trigger fails
this.aErrorMsg[INSERTTRIG] = INSORDER_LOC
thisform.RefreshForm()
ENDPROC
PROCEDURE Load
*-- (c) Microsoft Corporation 1995
OrderEntry::Load()
*-DO menus\ordentry.mpr
ENDPROC
PROCEDURE Destroy
Orderentry::Destroy()

IF USED("cProducts")
  USE IN cProducts
ENDIF

IF USED("orders")
  SELECT orders
  SET RELATION TO
ENDIF

IF USED("order_line_items")
  SELECT order_line_items
  =TABLEREVERT(.T.)
  SET RELATION TO
ENDIF

RELEASE PAD orderentry OF _msysmenu

ENDPROC
PROCEDURE Activate
*-- (c) Microsoft Corporation 1995
OrderEntry::Activate()
DO menus\ordentry.mpr
ENDPROC
PROCEDURE Deactivate
OrderEntry::Deactivate()
RELEASE PAD orderentry OF _msysmenu

ENDPROC
b..\include\tastrade.h�aA�($..\..\..\..\..\..\vfp6\foxpro.h�b�#..\include\strings.h�cA�($��� ff��%�
�U*T����C������
����UTHISFORMTXTAVAILCREDITVALUEREMAININGCREDITCBOCUSTOMER_IDREFRESHFORMT���a��UTHISFORMLALLOWEDITSInteractiveChange,��Refresh���1��2�2���)f_��� FF�%����U@=T����3C����orders���4C����orders�
��UTHISENABLED������T��C�	findOrder����%�C��
�C��
	����T��C�ordersO��T���a��
����#%�C��orders�order_id�����
�������
#�	������U

LCCUSTOMER_ID
LCORDER_IDLIRECNOOAPPDOFORMRETVALTHISFORM
LOCKSCREENFIRSTREFRESHFORMORDERSRefresh,��Click��1�3���Q��1���AA;i��)F���� ��Ҥ%\qk�U$I������UTHISFORM
HELPCONTEXTIDClick,��11/)����� ��J�%`zt�U��C������UTHISPARENT
RIGHTCLICK
RightClick,��1127)����� ��J�%`zt�U��C������UTHISPARENT
RIGHTCLICK
RightClick,��1127)�tscommandbutton..\libs\tsbase.vcx
frmorderentrycboCustomer_ID..\libs\tsbase.vcx	tsifcombocombobox
commandbuttoncmdLastOrder
frmorderentry..\libs\tsbase.vcx
frmorderentrychkPaidcheckbox..\libs\tsbase.vcx
tscheckbox�*gridpop Handles the popup selection made when right clicking in the grid. 
*gridadditem Adds items to the grid.
*gridremoveitem Removes items from the grid.
*getcustomerid Returns the customer id for the current order.
*getordernumber Returns the order number for the current order.
*clearlink Resets the environment when the Order History form to which this form is "linked" is being destroyed. 
*getcustomername Returns the customer name for the current order.

ordtextbox..\libs\orders.vcxtextboxtxtAvailCredit
frmorderentry�Alignment = 1
Value = 0.00
Enabled = .F.
Format = "K$"
InputMask = "999,999,999.99"
Left = 268
TabIndex = 34
Top = 296
ZOrderSet = 26
ldynamicenable = .F.
Name = "txtAvailCredit"
tsgrid..\libs\tsbase.vcxgridgrdLineItems
frmorderentryColumnCount = 4
ChildOrder = "order_id"
Height = 103
Left = 5
LinkMaster = "Orders"
Panel = 1
RecordSource = "Order_Line_Items"
RowHeight = 21
ScrollBars = 2
TabIndex = 16
Top = 145
Width = 595
cfieldtosum = quantity * unit_price
Name = "grdLineItems"
Column1.FontBold = .F.
Column1.FontSize = 8
Column1.Alignment = 0
Column1.Bound = .F.
Column1.ControlSource = "products.product_name"
Column1.CurrentControl = "cboProduct"
Column1.Width = 243
Column1.Name = "grcProduct"
Column2.FontBold = .F.
Column2.FontSize = 8
Column2.Alignment = 1
Column2.ControlSource = "Order_Line_Items.quantity"
Column2.Width = 110
Column2.DynamicBackColor = '"iif(this.Enabled, COLOR_WHITE, COLOR_GRAY)"'
Column2.Name = "grcQuantity"
Column3.FontBold = .F.
Column3.FontSize = 8
Column3.Alignment = 1
Column3.ControlSource = "Order_Line_Items.unit_price"
Column3.Enabled = .F.
Column3.Width = 113
Column3.ReadOnly = .T.
Column3.BackColor = 192,192,192
Column3.Name = "grcUnitPrice"
Column4.FontBold = .F.
Column4.FontSize = 8
Column4.Alignment = 1
Column4.Bound = .F.
Column4.ControlSource = "order_line_items.quantity * order_line_items.unit_price"
Column4.Enabled = .F.
Column4.Width = 110
Column4.ReadOnly = .T.
Column4.BackColor = 192,192,192
Column4.Name = "grcExtension"
�PROCEDURE RightClick
SET SHADOW ON

DEFINE POPUP GridPopup ;
  FROM MROW(), MCOL() ;
  MARGIN ;
  SHORTCUT		&& add shadow (jd 06/20/96)

DEFINE BAR 1 OF GridPopup PROMPT ADDITEM_LOC
DEFINE BAR 2 OF GridPopup PROMPT REMOVEITEM_LOC

ON SELECTION POPUP GridPopup _screen.activeform.GridPop(BAR())
ACTIVATE POPUP GridPopup
RELEASE POPUP GridPopup


ENDPROC
PROCEDURE Refresh
tsGrid::Refresh()
thisform.txtSubTotal.Value = this.nColumnSum
thisform.txtAvailCredit.Value = RemainingCredit(orders.customer_id)
this.Enabled = thisform.lAllowEdits
THISFORM.tsLabelRightClick.Visible = this.Enabled	&& only show "Right click" message if the user can use it


ENDPROC
���� hh-%%��U��C������UTHISPARENT
RIGHTCLICKD-%�C�oAppb�O�C��
	���
	��=���C������UOAPP	LQUITTINGTHISFORMGRDLINEITEMSREFRESH
RightClick,��	LostFocus`��113�A17W�)hqTop = 252
Left = 269
Height = 26
Width = 101
Caption = "\<Last Order"
TabIndex = 18
Name = "cmdLastOrder"
:PROCEDURE Click
HELP ID thisform.HelpContextID
ENDPROC

frmorderentrycmdHelp
commandbutton..\libs\tsbase.vcxtscommandbuttonheaderheader
grhProduct%frmorderentry.grdLineItems.grcProductWFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Product"
Name = "grhProduct"
textboxtextboxText1%frmorderentry.grdLineItems.grcProduct=FontSize = 8
BorderStyle = 0
TabIndex = 1
Name = "Text1"

tscombobox..\libs\tsbase.vcxcombobox
cboProduct%frmorderentry.grdLineItems.grcProduct�Alignment = 0
BoundColumn = 2
RowSourceType = 3
RowSource = "select product_name, product_id from products order by product_name into cursor cProducts"
ControlSource = "Order_line_items.product_id"
Style = 2
TabIndex = 2
Name = "cboProduct"
SPROCEDURE InteractiveChange
*-- Force relation to product table to be updated  
REPLACE order_line_items.product_id WITH this.Value
GO recno() IN order_line_items
REPLACE order_line_items.unit_price WITH products.unit_price
thisform.grdLineItems.Refresh()

ENDPROC
PROCEDURE RightClick
this.Parent.Parent.RightClick()

ENDPROC
>BoundColumn = 2
RowSource = "select company_name, customer_id from customer order by company_name into cursor cCustomerList"
ControlSource = "Orders.customer_id"
Enabled = .F.
Height = 21
Left = 94
TabIndex = 2
Top = 4
Width = 306
DisabledBackColor = 255,255,255
llimittolist = .F.
Name = "cboCustomer_ID"

frmorderentrytsLabelRightClicklabel
frmorderentrycmdFind
commandbuttonheaderheadergrhQuantity&frmorderentry.grdLineItems.grcQuantityYFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Quantity"
Name = "grhQuantity"
textboxtextboxText1&frmorderentry.grdLineItems.grcQuantity\FontBold = .F.
FontSize = 8
Alignment = 1
BorderStyle = 0
TabIndex = 1
Name = "Text1"
�PROCEDURE RightClick
this.Parent.Parent.RightClick()

ENDPROC
PROCEDURE LostFocus
IF TYPE("oApp") == 'O' AND !ISNULL(oApp) AND !oApp.lQuitting
	thisform.grdLineItems.Refresh()
ENDIF
ENDPROC
cArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 0, 9, 5, 15, 12, 21, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
�PROCEDURE InteractiveChange
THISFORM.txtAvailCredit.Value = RemainingCredit(THISFORM.cboCustomer_ID.Value)
THISFORM.RefreshForm
ENDPROC
PROCEDURE Refresh
thisform.lAllowEdits = .T.	&& make sure Save is active

ENDPROC
..\libs\tsbase.vcxtscommandbuttonheaderheadergrhUnitPrice'frmorderentry.grdLineItems.grcUnitPrice\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Unit Price"
Name = "grhUnitPrice"
textboxtextboxText1'frmorderentry.grdLineItems.grcUnitPrice�FontBold = .F.
FontSize = 8
Alignment = 1
BorderStyle = 0
Enabled = .F.
ReadOnly = .T.
TabIndex = 1
BackColor = 192,192,192
Name = "Text1"
BPROCEDURE RightClick
this.Parent.Parent.RightClick()

ENDPROC
�Top = 301
Left = 379
Height = 15
Width = 49
FontBold = .T.
Alignment = 1
Caption = "Paid"
Value = .F.
ControlSource = "Orders.paid"
Name = "chkPaid"

frmorderentryTslabel1labeltslabelheaderheadergrhExtension'frmorderentry.grdLineItems.grcExtension[FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Extension"
Name = "grhExtension"
textboxtextboxText1'frmorderentry.grdLineItems.grcExtension�FontBold = .F.
FontSize = 8
Alignment = 1
BorderStyle = 0
Enabled = .F.
ReadOnly = .T.
TabIndex = 1
BackColor = 192,192,192
DisabledForeColor = 0,0,0
Name = "Text1"
BPROCEDURE RightClick
this.Parent.Parent.RightClick()

ENDPROC
oTop = 3
Left = 445
Height = 24
Width = 24
Picture = ..\bitmaps\locate.bmp
Caption = ""
Name = "cmdFind"
bCaption = "Available Credit:"
Height = 22
Left = 271
Top = 281
Width = 96
Name = "Tslabel1"
tslabel..\libs\tsbase.vcx�AutoSize = .T.
Caption = "Right click on grid for menu "
Height = 16
Left = 93
Top = 255
Width = 157
TabIndex = 24
Name = "tsLabelRightClick"
fTop = 325
Left = 269
Height = 26
Width = 101
Caption = "Hel\<p"
TabIndex = 20
Name = "cmdHelp"
PROCEDURE Destroy
IF USED("cCustomerList")
  USE IN cCustomerList
ENDIF
ENDPROC
PROCEDURE ProgrammaticChange
tsifCombo::ProgrammaticChange()
THISFORM.txtAvailCredit.Value = RemainingCredit(THIS.Value)
thisform.RefreshCustomerInfo()

ENDPROC
PROCEDURE InteractiveChange
tsifCombo::InteractiveChange()
THISFORM.txtAvailCredit.Value = RemainingCredit(THIS.Value)
thisform.RefreshCustomerInfo()

ENDPROC
PROCEDURE Refresh
*-- Only allow change of customer if we're adding a new record.
this.Enabled = ("3" $ GETFLDSTATE(-1, "orders") OR "4" $ GETFLDSTATE(-1, "orders"))
tsifCombo::Refresh()

ENDPROC
PROCEDURE Valid
LOCAL llAdded, ;
      lcDisplayValue

IF tsifCombo::Valid() AND this.Enabled
  this.Refresh()
  IF EMPTY(this.Value) AND !EMPTY(this.DisplayValue) AND THIS.DisplayValue # CHR(12) AND THIS.DisplayValue # '�'
    *-- Prompt user to add the new customer
    IF MESSAGEBOX(ADDCUSTOMER_LOC, ;
                  MB_ICONQUESTION + MB_YESNO, ;
                  TASTRADE_LOC) = IDNO
      RETURN .F.
    ENDIF

    *-- Add the new customer
    lcDisplayValue = this.DisplayValue
    DO FORM custadd WITH this.DisplayValue TO llAdded
    *-- llAdded will be .T. if user pressed OK
    IF llAdded
      *-- Add the customer to the combobox
      this.Requery()
      this.DisplayValue = lcDisplayValue
      *-- Position the record pointer in the customer table
      =SEEK(this.Value, "customer", "customer_i")
      THISFORM.txtAvailCredit.Value = RemainingCredit(THIS.Value)
      thisform.RefreshCustomerInfo()
    ELSE
      this.DisplayValue = ""
      RETURN .F.
    ENDIF      
  ENDIF
ENDIF

ENDPROC
PROCEDURE Init
tsifCombo::Init
THIS.DisplayValue = ""
=TABLEREVERT(.T.)		&& prevent from thinking data has changed

ENDPROC
���� ��;%�F�U?<T����3C����orders���4C����orders���UTHISENABLED�����$%�C�����C��������@��C�Must select a customer first.�0�Tasmanian Traders�x����C�����B��T��CW��T������Q��ORDERS��	�F�	������Q�
F����%�� ���,�?��C�Customer has no prior order.�0�Tasmanian Traders�x�����T��
�-��T���-��T��
�-��T���-��T����-��
��C������C�ordhist������ULCCUSTOMERID	LNOLDAREATHISFORMCBOCUSTOMER_IDVALUEDISPLAYVALUESETFOCUSORDERSCUSTOMER_IDORDERS_TEMPCLOSABLETHISENABLEDLALLOWEDITS	LALLOWNEWREFRESHFORMOAPPDOFORMRefresh,��Click~��1�3�CAA�qq�A���������A2��0)����� ���r%J:�UE>��������#��CO��>����������C�����U	ORDER_LINE_ITEMS
PRODUCT_IDTHISVALUE
UNIT_PRICEPRODUCTSTHISFORMGRDLINEITEMSREFRESH��C������UTHISPARENT
RIGHTCLICKInteractiveChange,��
RightClick���12�1312'H	)����� ��԰%�*�U�GR �s���C���C���W�s�����"��Add Item��s�����"��Remove Item��-1����!_screen.activeform.GridPop(BAR())�t���<���U	GRIDPOPUPj��C�����T��������T����C�	�
���T�������T��
������UTSGRIDREFRESHTHISFORMTXTSUBTOTALVALUETHIS
NCOLUMNSUMTXTAVAILCREDITREMAININGCREDITORDERSCUSTOMER_IDENABLEDLALLOWEDITSTSLABELRIGHTCLICKVISIBLE
RightClick,��Refresh���1aE�����4�a�1a3g	��)�;PROCEDURE Refresh
*-- Only allow access to last order if we're adding a new record.
this.Enabled = ("3" $ GETFLDSTATE(-1, "orders") OR ;
      "4" $ GETFLDSTATE(-1, "orders"))

ENDPROC
PROCEDURE Click
LOCAL lcCustomerID, ;
      lnOldArea
      
IF EMPTY(thisform.cboCustomer_ID.Value) OR ;
    EMPTY(thisform.cboCustomer_ID.DisplayValue)
  =MESSAGEBOX(SELCUSTFIRST_LOC, ;
              MB_ICONEXCLAMATION, ;
              TASTRADE_LOC)
  thisform.cboCustomer_ID.SetFocus()
  RETURN
ENDIF

*-- Make sure customer has a prior order
lnOldArea = SELECT()
lcCustomerID = orders.customer_id
USE ORDERS IN 0 AGAIN ALIAS orders_temp
SELECT orders_temp
COUNT FOR customer_id = lcCustomerID
USE
SELECT (lnOldArea)

IF _tally = 0
  =MESSAGEBOX(NOLASTORDER_LOC, ;
              MB_ICONEXCLAMATION, ;
              TASTRADE_LOC)
ELSE
  thisform.Closable = .F.
  this.Enabled = .F.
  thisform.lAllowEdits = .F.
  thisform.lAllowNew = .F.
  thisform.cboCustomer_ID.Enabled = .F.
  thisform.RefreshForm()
  oApp.DoForm("ordhist", thisform)
ENDIF

ENDPROC
�PROCEDURE Refresh
this.Enabled = !("3" $ GETFLDSTATE(-1, "orders") OR "4" $ GETFLDSTATE(-1, "orders"))

ENDPROC
PROCEDURE Click
LOCAL lcCustomer_id, lcOrder_ID, liRecno

lcOrder_ID = oApp.DoFormRetVal("findOrder")
IF !EMPTY(lcOrder_id) AND !ISNULL(lcOrder_id)
	liRecno = RECNO("orders")
	THISFORM.lockscreen = .T.
	THISFORM.first	&& force any save actions
	IF SEEK(lcOrder_id, "orders", "order_id")
		THISFORM.RefreshForm
	ELSE
		GO liRecno IN Orders
	ENDIF
ENDIF

#IF 0
	lcCustomer_id = oApp.DoFormRetVal("findCustomer")

	IF !EMPTY(lcCustomer_id)
		REPLACE orders.customer_id WITH lcCustomer_id
		THISFORM.cboCustomer_ID.Refresh
		THISFORM.cboCustomer_ID.InteractiveChange
	ENDIF
#ENDIF
ENDPROC
`��� GG�R%�N?��U_���
H��P������2�
��C���������P�
��C�����u���UTNBARTHISFORMGRIDADDITEMGRIDREMOVEITEM	GRIDPOPUPgF���C�����>���������C�������C�������C���	������U
ORDER_LINE_ITEMS
PRODUCT_IDORDER_IDORDERSTHISFORMGRDLINEITEMSREFRESHSETFOCUSACTIVATECELL	ACTIVEROWwT%�C�,Are you sure you want to delete this record?�$�Delete Warning�x���X�B������C�����UORDER_LINE_ITEMSTHISFORMGRDLINEITEMSREFRESHB������UTHISFORMCBOCUSTOMER_IDVALUEB�C����R��UTHISFORMTXTORDER_NUMBERVALUEOT����a��T����a��T���a��T���a��T���a��UTHISFORMCBOCUSTOMER_IDENABLEDCMDLASTORDERCLOSABLELALLOWEDITS	LALLOWNEWB������UTHISFORMCBOCUSTOMER_IDDISPLAYVALUEq��C�����ST�������=All orders must have a customer and a shipper.(Delivery Info)��
��C����U
ORDERENTRYINITTHIS	AERRORMSGTHISFORMREFRESHFORM��C�����U
ORDERENTRYLOAD���C�����%�C�	cProducts���.�Q���%�C�orders���T�F��G-(��%�C�order_line_items�����F��
��Ca���G-(��<�����U
ORDERENTRYDESTROY	CPRODUCTSORDERSORDER_LINE_ITEMS*��C������menus\ordentry.mpr�U
ORDERENTRYACTIVATEMENUS��C�����<�����U
ORDERENTRY
DEACTIVATEgridpop,��gridadditem���gridremoveitem���
getcustomeridU��getordernumber���	clearlink���getcustomernameo��Init���Load\��Destroy���Activatea��
Deactivate���1q���A�3q�R�3CAA�3�2B2���3�2�3�2�3���ARqaA�q�aA�3��2��2�
�9� w&��*."7�8$�d<(�C*�H9%v]<��b)G_��� FFg�%��*Y�U+%�C�
cCustomerList���$�Q���U
CCUSTOMERLIST8��C�����T����C�����
��C����U	TSIFCOMBOPROGRAMMATICCHANGETHISFORMTXTAVAILCREDITVALUEREMAININGCREDITTHISREFRESHCUSTOMERINFO8��C�����T����C�����
��C����U	TSIFCOMBOINTERACTIVECHANGETHISFORMTXTAVAILCREDITVALUEREMAININGCREDITTHISREFRESHCUSTOMERINFOM<T����3C����orders���4C����orders�����C�����UTHISENABLED	TSIFCOMBOREFRESH�����%�C������	����
��C����>%�C����
C���
	�
��C� 	�����	����h%�C�=Do you want to add this customer to the Customer master file?�$�Tasmanian Traders�x�����B�-���T�������custadd(�����
%������
��C��
��T������&��C���customer�
customer_i���T����C���
��
��C�������T������B�-�����ULLADDEDLCDISPLAYVALUE	TSIFCOMBOVALIDTHISENABLEDREFRESHVALUEDISPLAYVALUECUSTADDREQUERYTHISFORMTXTAVAILCREDITREMAININGCREDITREFRESHCUSTOMERINFO+������T������
��Ca���U	TSIFCOMBOINITTHISDISPLAYVALUEDestroy,��ProgrammaticChangej��InteractiveChange��Refresh���Valid-��Init���1��A2���3���3��3�����qA���b���qAAA3��2Js�	�
�`|z&��:)F0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Class              0 WINDOWS _R020GARDA 580675865����~ WINDOWS _R020GAPPH 580675865}|{zx WINDOWS _R020GAPQL 580675865wvutq WINDOWS _R020GAPRF 580675865ponmj WINDOWS _R020GAPSJ 580675865ihgfc WINDOWS _R020GAPTN 580675865ba`_\ WINDOWS _R020GAPUR 580675865[ZYXV WINDOWS _R020GAPVL 580675865UTSRO WINDOWS _R020GAPWZ 580675865NMLKH WINDOWS _R020GAPY3 514407560GFEDA@< WINDOWS _R020GAQM0 514407560;:9853. WINDOWS _R020GARA7 580675865-,+*' WINDOWS _R020GARBC 580675865&%$#  WINDOWS _R020GARC6 580675865 COMMENT RESERVED            
	�@VERSION =  0.029b..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($BArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
aboutbox..\include\tastrade.h<restorewindowpos
savewindowpos
addtomenu
removefrommenu
Pixels..\..\EThis class displays an About Application that the user can customize.Class14
tsbaseformaboutbox^Height = 0
Left = 0
Top = 240
Width = 376
BorderColor = 0,0,0
Name = "linBlackVertical"
aboutbox.linBlackVerticallineline�BorderStyle = 1
BorderWidth = 2
Height = 1
Left = 1
Top = 241
Width = 375
BorderColor = 255,255,255
Name = "linWhiteShadow"
aboutbox.linWhiteShadowlineline�FontSize = 8
BackStyle = 0
Caption = "Copyright Information"
Height = 16
Left = 120
Top = 55
Width = 233
TabIndex = 3
Name = "lblCopyright"
aboutbox.lblCopyrightlabellabel��� ���A%����U4���T������RUN/N1 &lcMSInfoWinDir
ULCMSINFOWINDIRTHISFORM
CMSINFODIRClick,��1q�3f)�DITVALUEREMAININGCREDITTHISREFRESHCUSTOMERIqPROCEDURE Click
LOCAL lcMSInfoWinDir
lcMSInfoWinDir= thisform.cMSInfoDir
RUN/N1 &lcMSInfoWinDir


ENDPROC
�Top = 283
Left = 269
Height = 25
Width = 100
FontSize = 8
Caption = "\<System Info..."
TabIndex = 2
Name = "cmdSysInfo"
aboutbox.
cmdSysInfo
commandbutton
commandbutton���� ��;%DYS�U
<��UTHISFORMClick,��1q3%)�0PROCEDURE Click
RELEASE thisform


ENDPROC
�Top = 252
Left = 269
Height = 25
Width = 100
FontBold = .T.
FontSize = 8
Caption = "OK"
Default = .T.
TabIndex = 1
Name = "cmdOK"
aboutbox.cmdOK
commandbutton
commandbutton�FontBold = .F.
FontSize = 8
BackStyle = 0
Caption = "UserCorp"
Height = 25
Left = 130
Top = 202
Width = 205
TabIndex = 6
Name = "lblUserCorp"
aboutbox.lblUserCorplabellabel�FontBold = .F.
FontSize = 8
BackStyle = 0
Caption = "UserName"
Height = 25
Left = 130
Top = 181
Width = 205
TabIndex = 5
Name = "lblUserName"
aboutbox.lblUserNamelabellabeltTop = 169
Left = 119
Height = 60
Width = 252
SpecialEffect = 0
BackColor = 192,192,192
Name = "shpRectangle"
aboutbox.shpRectangleshapeshape�FontSize = 8
BackStyle = 0
Caption = "This product is licensed to:"
Height = 16
Left = 120
Top = 152
Width = 234
TabIndex = 4
Name = "lblLicense"
aboutbox.
lblLicenselabellabel�FontBold = .F.
FontSize = 8
BackStyle = 0
Caption = "Trademark Information"
Height = 19
Left = 120
Top = 75
Width = 233
TabIndex = 3
Name = "lblTrademark"
aboutbox.lblTrademarklabellabel�FontSize = 8
BackStyle = 0
Caption = "Version #"
Height = 16
Left = 120
Top = 35
Width = 233
TabIndex = 2
Name = "lblVersion"
aboutbox.
lblVersionlabellabel�FontSize = 8
BackStyle = 0
Caption = "Your application name"
Height = 14
Left = 120
Top = 17
Width = 233
TabIndex = 1
Name = "lblAppName"
aboutbox.
lblAppNamelabellabel^Stretch = 1
BackStyle = 0
Height = 111
Left = 10
Top = 11
Width = 100
Name = "imgLogo"
aboutbox.imgLogoimageimage6cmsinfodir Holds the path of the MSINFO.EXE program.
	���� �	�	_�%�e	O��U	G&(�U��������#������	�
���'%�C�	m.gTTradeb�L��
�

����J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���J���(��	��T��C��X��T��C�>��%�C�	tcAppNameb�C��7�T����About C����T����C�����%�C�	tcVersionb�C��y�!T�����Version C�����%�C�tcCopyrightb�C����T����C�����%�C�tcTrademarkb�C����T�������T��������%�C�	tcLogoBMPb�C��.�T��������$J���(���������
H�c�q�1�CCJf�
WINDOWS NT�CCJf�	WINDOWS 4����LT�
�C���Software\Microsoft\Shared Tools�\MSInfo���	���%��
���q�)T�
�C�	�Path�������%��
���b�T������%�C��0
��^�T����������C�	���
T�	����wT��C�NTCCJf�2�,Software\Microsoft\Windows NT\CurrentVersion�,�)Software\Microsoft\Windows\CurrentVersion6��#T�
�C������	���%��
�����
T�����T��C��X��T��C�>��4T�
�C�	�RegisteredOwner�������%��
��
�C� 	����T����C���=����
T�����T��C��X��T��C�>��;T�
�C�	�RegisteredOrganization�������%��
��
�C� 	��m�T����C���=������C�	���2�q�2T��C�MS USER INFO�DEFNAME������T����C��=��5T��C�MS USER INFO�
DEFCOMPANY������T����C��=��:T��C�MICROSOFT SYSTEM INFO�MSINFO������T���C��=���%�C�������T���� ��T����-��T�� �����U!	TCAPPNAME	TCVERSIONTCCOPYRIGHTTCTRADEMARK	TCLOGOBMPLCBUFFERLNBUFFERSIZELCRETVAL
LNRESERVEDLNRESULTLNERRORLNTYPELCKEYGTTRADETHISFORMCAPTION
LBLAPPNAME
LBLVERSIONLBLCOPYRIGHTLBLTRADEMARKWORDWRAPIMGLOGOPICTURELBLUSERNAMELBLUSERCORP
CMSINFODIRREGOPENKEYEXREGQUERYVALUEEXREGCLOSEKEY	GETPROSTR
CMDSYSINFOENABLEDHEIGHTG&(�����UTHISFORMCAPTIONUnload,��Init9��Activateo��1a2r9s�qAS����QA�A�QA�11A�1AE���1AA��q2���B��AA������AA��$�S��QB$A6�1 ;jM���)�	�PROCEDURE Unload
SET MESSAGE TO
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995
LPARAMETERS tcAppName, tcVersion, tcCopyright, tcTrademark, tcLogoBMP

LOCAL lcBuffer, ;
      lnBufferSize, ;
      lcRetVal, ;
      lnReserved, ;
      lnResult, ;
      lnError, ;
      lnType, ;
      lcKey

*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF

*-- Initialize variables for DLL calls
STORE 0 TO lnReserved, lnResult, lnType
lcBuffer = SPACE(128)
lnBufferSize = LEN(lcBuffer)

*-- Set new property values if parameters do not contain .F.
IF TYPE("tcAppName") = "C"
  thisform.Caption = ABOUT_LOC + ALLTRIM(tcAppName)
  thisform.lblAppName.Caption = ALLTRIM(tcAppName)
ENDIF    

IF TYPE("tcVersion") = "C"
  thisform.lblVersion.Caption = VERSIONLABEL_LOC + ALLTRIM(tcVersion)
ENDIF  

IF TYPE("tcCopyright") = "C"    
  thisform.lblCopyright.Caption = ALLTRIM(tcCopyright)
ENDIF  

IF TYPE("tcTrademark") = "C"    
  thisform.lblTrademark.Caption = tcTrademark
  thisform.lblTrademark.WordWrap = 1
ENDIF  

IF TYPE("tcLogoBMP") = "C"
  thisform.imgLogo.Picture = tcLogoBMP
ENDIF

STORE "" TO ;
  thisform.lblUserName.Caption, ;
  thisform.lblUserCorp.Caption, ;
  thisform.cMSInfoDir

DO CASE
	CASE UPPER(OS()) = "WINDOWS NT" OR UPPER(OS()) = "WINDOWS 4"
		*-- Gets default user name, organization, and location of MSINFO.EXE from
		*-- system registry
		*-- First need to open the appropriate key
		lnError = RegOpenKeyEx(HKEY_LOCAL_MACHINE, KEY_SHARED_TOOLS_LOCATION + "\MSInfo", ;
			lnReserved, KEY_QUERY_VALUE, @lnResult)

		IF lnError = ERROR_SUCCESS
			*-- Read the Path value for the MSINFO entry
			lnError = RegQueryValueEx(lnResult, "Path", lnReserved, ;
				@lnType, @lcBuffer, @lnBufferSize)

			IF lnError = ERROR_SUCCESS
				*-- Strip off the "junk" at the end, and set the form property
				THISFORM.cmsinfodir = lcBuffer
				IF !FILE(THISFORM.cmsinfodir)
					THISFORM.cmsinfodir = ""
				ENDIF
			ENDIF

			*-- Close the key
			=RegCloseKey(lnResult)

			lnResult = 0
			lcKey = IIF("NT" $ UPPER(OS()), KEY_NTCURRENTVERSION, KEY_WIN4CURRENTVERSION)
			lnError = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lcKey, ;
				lnReserved, KEY_QUERY_VALUE, @lnResult)

			*-- The next 2 calls to RegQueryValueEx() retrieve the registered owner
			*-- and registered organization of the operating system
			IF lnError = ERROR_SUCCESS
				lnType = 0
				lcBuffer = SPACE(128)
				lnBufferSize = LEN(lcBuffer)
				lnError = RegQueryValueEx(lnResult, "RegisteredOwner", lnReserved, ;
					@lnType, @lcBuffer, @lnBufferSize)

				IF lnError = ERROR_SUCCESS AND lcBuffer <> CHR(0)
					THISFORM.lblUserName.CAPTION = LEFT(lcBuffer, lnBufferSize - 1)
				ENDIF
			ENDIF

			lnType = 0
			lcBuffer = SPACE(128)
			lnBufferSize = LEN(lcBuffer)
			lnError = RegQueryValueEx(lnResult, "RegisteredOrganization", lnReserved, ;
				@lnType, @lcBuffer, @lnBufferSize)

			IF lnError = ERROR_SUCCESS AND lcBuffer <> CHR(0)
				THISFORM.lblUserCorp.CAPTION = LEFT(lcBuffer, lnBufferSize - 1)
			ENDIF
		ENDIF

		*-- Close the key
		=RegCloseKey(lnResult)

  OTHERWISE
    *-- Gets default user name, organization, and location of MSINFO.EXE from 
    *-- WIN.INI (for Windows 3.x machines)
    *-- Gets default user name 
    lcRetVal = GetProStr("MS USER INFO", "DEFNAME", "", @lcBuffer, lnBufferSize)
    thisform.lblUserName.Caption = LEFT(lcBuffer, lcRetVal)

    *-- Get default corporation name 
    lcRetVal = GetProStr("MS USER INFO", "DEFCOMPANY", "", @lcBuffer, lnBufferSize)
    thisform.lblUserCorp.Caption = LEFT(lcBuffer, lcRetVal)

    *-- Get location of MSINFO.EXE name
    lcRetVal = GetProStr("MICROSOFT SYSTEM INFO", "MSINFO", "", @lcBuffer, lnBufferSize)
    thisform.cMSInfoDir = LEFT(lcBuffer, lcRetVal)

ENDCASE

*-- Check if MSINFO.EXE exists, otherwise remove the System Info command button and
*-- shorten the form
IF EMPTY(thisform.cMSInfoDir)
    thisform.cMSInfoDir = " "
    thisform.cmdSysInfo.Enabled = .F.
    thisform.Height = 282
ENDIF




ENDPROC
PROCEDURE Activate
SET MESSAGE TO thisform.Caption
ENDPROC
UHeight = 319
Width = 374
DoCreate = .T.
AutoCenter = .T.
BorderStyle = 2
Caption = "About Custom Application"
FontSize = 8
MaxButton = .F.
MinButton = .F.
MinWidth = 1
WindowType = 1
AlwaysOnTop = .T.
BackColor = 192,192,192
cmsinfodir = 
lallowdelete = .F.
lallownew = .F.
lallowedits = .F.
ctoolbar = 
Name = "aboutbox"
form
tsbase.vcxBM�v(x�����������������������������������������������������D�������D������D������D�����D�����D�����D������D������D�����������������������������BM�v(x�����������������������������������������������������������������������������������������������������������������������������������������BM�v(x������������������������������������������������������������������������������������������������������������������������������������BM�v(x�������������������������������������������������������D������D�����D�����D����D�����D�����D������D������D��������������������������0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK0UD2IE 505639229 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QWK0UD2IG           9  1                  21875.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0UD2IH           9  4                  19375.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0UD2II           9  7                   5000.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0UPAYJ 505639534 7  417500.000    0.000 3854.16780312.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QWK0UDY3V 505639345 5  0#18437.500  520.833 2083.33312291.667        0    0    0   -1   -1   -1               "  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0UDY3W 505639521 5  0%18437.50018229.167 2083.333 9166.667        0    0    0   -1   -1   -1               $  1 12  1       T      F          0                         TF3 0F WINDOWS _QV60X56R9 493911332 5  0( 7708.33317187.500 3437.50013333.333&        0    0    0   -1   -1   -1               '  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0+ 7187.50015520.833 3958.333 2083.333)        0    0  255   -1   -1   -1               *  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0. 7708.33333333.333 3437.500 8750.000,        0    0    0   -1   -1   -1               -  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  01 7187.50031666.667 3958.333 2083.333/        0    0  255   -1   -1   -1               0  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK0UDY46 505639252 8  02 6041.66772916.667 2083.333 6770.833   D    0    0    0   -1   -1   -1               3  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QWK0UDY47 512986613 5  06 3125.00067916.667 2083.333 4062.5004        0    0    0   -1   -1   -1               5  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0UDY48 505639252 8  07 3125.00074583.333 2083.333 5104.167   N    0    0    0   -1   -1   -1               8  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QWK0UDY4F 512986616 5  0; 6041.66767916.667 2083.333 3645.8339        0    0    0   -1   -1   -1               :  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0UDY4G 51147761417  0 1250.000 3645.833 9166.667 8645.833> <                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QWK0UDY4H 505639296 5  0A12187.50016250.000 2083.33313125.000?        0    0    0   -1   -1   -1               @  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0UDY4I 505639252 6   11250.000    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QWK0UJ73U 505639476 8  0B23958.333  520.833 2083.33317395.833 C  C    0    0    0   -1   -1   -1               D  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0UJOPS 512986500 8  0E23958.33318229.16717083.33335520.833 F  C    0    0    0   -1   -1   -1               G  0 12  1       T      F          2          0       0 1    TF3 0F WINDOWS _QWK0UK44R 50564054717  0H23958.33354270.83318854.16726041.667 I                                                        0       T      F       1   T         1              TF3 0F WINDOWS _QWK0UDY45 50563925210  0    4.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   J  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   K  1 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   L  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   M  1 24                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   N  0 12                                                             WINDOWS                     25   OP                                     T                                                                                                                  WINDOWS                     26   ST                                                                                                                                                       Z!Courier NewM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pSLetter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=7
DUPLEX=1
TTOPTION=3
Arial"Category Name"Arial
"Description""@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"(c) Microsoft Corporation 1995
"..\bitmaps\ttradesm.bmp""@I"Arial"Category Listing"
category_name ArialDescription ArialPicture Courier NewArialArialArialArialdataenvironmentLLeft = 134
Top = 244
Width = 281
Height = 200
Name = "Dataenvironment"
cursor�Left = 20
Top = 10
Width = 102
Height = 112
Alias = "category_listing"
Database = ..\data\tastrade.dbc
CursorSource = "category listing"
Name = "cursor1"
0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK0RKTIN 505636481 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QWK0RKTIY           9  1                  19896.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0RKTIZ           9  4                   2917.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0RKTJ0           9  7                      0.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0U0EIB 505638916 7  416354.167    0.000 3541.66780312.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QWK0T54WP 505638537 5  0#17187.500  520.833 2083.33312708.333        0    0    0   -1   -1   -1               "  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54WQ 505638009 8  0$21979.167  520.833 2083.33332604.167   C    0    0    0   -1   -1   -1               %  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0T54WR 505638541 5  0'17187.50033645.833 2083.33311250.000        0    0    0   -1   -1   -1               &  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54WZ 505638009 8  0(21979.16733645.833 2083.33327812.500   C    0    0    0   -1   -1   -1               )  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0T54XC 505638009 5  0+17187.50062500.000 2083.333 5208.333        0    0    0   -1   -1   -1               *  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54XJ 505638009 8  0,21979.16762500.000 2083.33317604.167   C    0    0    0   -1   -1   -1               -  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QV60X56R9 493911332 5  00 6458.33315937.500 3437.50013333.333.        0    0    0   -1   -1   -1               /  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  03 5937.50014270.833 3958.333 2083.3331        0    0  255   -1   -1   -1               2  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  06 6458.33332083.333 3437.500 8750.0004        0    0    0   -1   -1   -1               5  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  09 5937.50030416.667 3958.333 2083.3337        0    0  255   -1   -1   -1               8  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK0U54AP 505639068 5  0<12187.50015000.000 2083.33313645.833:        0    0    0   -1   -1   -1               ;  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0U5JPO 505639044 6   11250.000    0.000  104.16781354.167       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QYK13ISMH 51147762517  0 1250.000 3645.833 9166.667 8645.833? =                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI12AW88 512986759 8  0@ 5520.83373229.167 2083.333 6770.833   D    0    0    0   -1   -1   -1               A  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI12AW8I 512986759 5  0D 2604.16768229.167 2083.333 4062.500B        0    0    0   -1   -1   -1               C  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI12AW8J 512986759 8  0E 2604.16774895.833 2083.333 5104.167   N    0    0    0   -1   -1   -1               F  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI12AW8K 512986759 5  0I 5520.83368229.167 2083.333 3645.833G        0    0    0   -1   -1   -1               H  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0TYV7Z 50563874810  0    8.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   J  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   K  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   L  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   M  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   N  1 24                                                             WINDOWS                     25   OP                                     T                                                                                                                  WINDOWS                     26   ST                                                                                                                                                       Z!Courier NewM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pSLetter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=7
DUPLEX=1
TTOPTION=3
Arial"Company Name"company_nameArialArial"Contact Name"contact_nameArialArial"Phone"phoneArial"@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Customer Listing" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialdataenvironmentLLeft = 134
Top = 244
Width = 401
Height = 240
Name = "Dataenvironment"
cursor�Left = 20
Top = 10
Width = 102
Height = 112
Alias = "customer_listing"
Database = ..\data\tastrade.dbc
CursorSource = "customer listing"
Name = "cursor1"
0b �
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK0VZIG3 505640684 1 53    1.000    0.000    0.000   -1.000 F                                                 0 12   10T 5 5   FF                     T                F       WINDOWS _QWK0VZIG5           9  1                  20938.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0WFW80           9  3"                   3438.000 3500.000                                                                        F  FFF           F                          WINDOWS _QWK0VZIG6           9  4                   3542.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0WFXMX           9  5                      0.000 3500.000                                                                        F  FFF           F                          WINDOWS _QWK0VZIG7           9  7                   1146.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0WG9FP 505641229 7  417500.000    0.000 3437.50080312.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QWK0VZOZP 505641037 5  0%18437.500  520.833 2083.33312916.667#        0    0    0   -1   -1   -1               $  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0VZOZQ 505641052 5  0(18437.50032291.667 2083.333 2604.167&        0    0    0   -1   -1   -1               '  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0VZOZR 505641101 5  0+18437.50037604.167 2083.333 4687.500)        0    0    0   -1   -1   -1               *  1 12  1       T      F          0                         TF3 0F WINDOWS _QV60X56R9 493911332 5  0. 7708.33317187.500 3437.50013333.333,        0    0    0   -1   -1   -1               -  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  01 7187.50015520.833 3958.333 2083.333/        0    0  255   -1   -1   -1               0  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  04 7708.33333333.333 3437.500 8750.0002        0    0    0   -1   -1   -1               3  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  07 7187.50031666.667 3958.333 2083.3335        0    0  255   -1   -1   -1               6  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK0VZP1P 505640709 5  0:12187.50016250.000 2083.33313750.0008        0    0    0   -1   -1   -1               9  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0VZP1Q 505640689 6   11250.000    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QWK0W35VC 505640802 8  0;28541.667 2604.167 2083.33328958.333 =  C   -1   -1   -1   -1   -1   -1               >  0 12  1       TT     F          0          0       0 1    TF3 0F WINDOWS _QWK0W4GPX 505640811 8  0?28541.66732291.667 2083.333 4062.500 @  C   -1   -1   -1   -1   -1   -1               A  0 12  1       TT     F          0          0       0 1    TF3 0F WINDOWS _QWK0W512X 505640824 8  0B28541.66737604.167 2083.33342708.333 C  C   -1   -1   -1   -1   -1   -1               D  0 12  1       TT     F          0          0       0 1    TF3 0F WINDOWS _QWK0WGZ9X 505641249 8  0E24270.833  520.833 2187.50030625.000 F  C    0    0  128   -1   -1   -1               G  1 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QYK13JJAG 51147776017  0 1250.000 4895.833 9166.667 8645.833J H                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI13C725 512987816 8  0K 6041.66773229.167 2083.333 6770.833   D    0    0    0   -1   -1   -1               L  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI13C726 512987816 5  0O 3125.00068229.167 2083.333 4062.500M        0    0    0   -1   -1   -1               N  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI13C727 512987816 8  0P 3125.00074895.833 2083.333 5104.167   N    0    0    0   -1   -1   -1               Q  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI13C728 512987816 5  0T 6041.66768229.167 2083.333 3645.833R        0    0    0   -1   -1   -1               S  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0VZOZZ 50564068910  0    5.000    4.000                                                                                                                                      WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   U  0 12                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   V  1 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   W  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   X  1 24                                                             WINDOWS                     25   YZ                                     T  `w                                                                                                                WINDOWS                     26   ��                                                                                                                                                       �!ArialM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pS	Letter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=265
DUPLEX=1
TTOPTION=3
Title"@I"Arial"Employee Name""@I"Arial"Ext""@I"Arial"Notes""@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Employee Listing"!trim(last_name)+', ' + first_name Arial	extension Arialnotes ArialTitle Arial (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"ArialArialArialArialdataenvironment�Left = 57
Top = 83
Width = 343
Height = 238
AutoOpenTables = .F.
AutoCloseTables = .F.
InitialSelectedAlias = "employee_listing"
Name = "Dataenvironment"
�PROCEDURE Init
#DEFINE C_TASTRADEDIR_LOC	"Samples\Tastrade\"		&& Location of Tastrade, off of HOME()

LOCAL llContinue

IF WEXIST("Project Manager")
	*- assume that TasTrade isn't running, since it closes the Project Manager window
	DO FORM (HOME() + C_TASTRADEDIR_LOC + "forms\gettitle") TO cTitle
ELSE
	DO FORM forms\gettitle TO cTitle
ENDIf
IF EMPTY(cTitle)
  RETURN .F.
ENDIF

IF UPPER(cTitle) = "ALL"
  cTitle = ""
ENDIF

this.OpenTables()
llContinue = !(_tally = 0)
IF !llContinue
  =MESSAGEBOX(NOTHINGTOPRINT_LOC, ;
              MB_ICONEXCLAMATION, ;
              TASTRADE_LOC)
  this.CloseTables()
ENDIF

*=REQUERY()
RETURN llContinue

ENDPROC
PROCEDURE Destroy
THIS.CLOSETABLES()
ENDPROC
���� ��l,%�2�U���%�C�Project Manager���[�6�C�Q�Samples\Tastrade\�forms\gettitle�(���}��forms\gettitle(���%�C������B�-���%�C�f�ALL����
T������
��C����T��� �
��%��
�����C����x��
��C�����	B����U	
LLCONTINUECTITLEFORMSTHIS
OPENTABLESNOTHINGTOPRINT_LOCMB_ICONEXCLAMATIONTASTRADE_LOCCLOSETABLES
��C����UTHISCLOSETABLESInit,��Destroy���1s�b��A�qAb�A�!�#�A�3�1���!)�cursorLeft = 20
Top = 13
Width = 235
Height = 90
Alias = "employee_listing"
Database = ..\data\tastrade.dbc
CursorSource = "employee listing"
Name = "Cursor1"
0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK11SUDO 505646278 1 53    1.000    0.000    0.000   -1.000 F                                                 0 12   10T 5 5   FF                     T                F       WINDOWS _QWK11SUDZ           9  1                  22188.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK11SUE0           9  4                   2709.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK11SUE1           9  7                   1563.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK11WEWL 505646368 7  418333.333    0.000 3854.16780312.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QV60X56R9 493911332 5  0$10208.33319687.500 3437.50013333.333"        0    0    0   -1   -1   -1               #  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0' 9687.50018020.833 3958.333 2083.333%        0    0  255   -1   -1   -1               &  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0*10208.33335833.333 3437.500 8750.000(        0    0    0   -1   -1   -1               )  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0- 9687.50034166.667 3958.333 2083.333+        0    0  255   -1   -1   -1               ,  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK11WEWZ 505646389 5  0014687.50018750.000 2083.33312187.500.        0    0    0   -1   -1   -1               /  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK11WEX0 505646368 6   13750.000    0.000  104.16779791.667       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QWK11V498 505646394 5  0219375.000 1041.667 2083.33311354.167       -1   -1   -1   -1   -1   -1               1  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK11V499 505646333 8  0324270.833 1041.667 2083.33332395.833   C   -1   -1   -1   -1   -1   -1               4  0 12  1       TT     F          0          0       0 1    TF3 0F WINDOWS _QWK11V49A 505646407 5  0619375.00034166.667 2083.33312187.500       -1   -1   -1   -1   -1   -1               5  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK11V49I 505646333 8  0724270.83334062.500 2083.33323645.833   C   -1   -1   -1   -1   -1   -1               8  0 12  1       TT     F          0          0       0 1    TF3 0F WINDOWS _QWK11V49J 505646415 5  0:19375.00059166.667 2083.333 7708.333       -1   -1   -1   -1   -1   -1               9  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK11V49K 505646620 8  0;24270.83359062.500 2083.333 9583.333> <  Y   -1   -1   -1   -1   -1   -1               =  0 12  1       T      F          0          0       0 1    TF3 0F WINDOWS _QWK11V49L 505646414 5  0@19375.00070416.667 2083.333 7395.833       -1   -1   -1   -1   -1   -1               ?  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK11V49M 505646625 8  0A24270.83370312.500 2083.333 9583.333D B  Y   -1   -1   -1   -1   -1   -1               C  0 12  1       T      F          0          0       0 1    TF3 0F WINDOWS _QYK13JPXZ 51147776417  0 3750.000 7395.833 9166.667 8645.833G E                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI15ZDOD 512990312 8  0H 6145.83373437.500 2083.333 6770.833   D    0    0    0   -1   -1   -1               I  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI15ZDOE 512990312 5  0L 3229.16768437.500 2083.333 4062.500J        0    0    0   -1   -1   -1               K  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI15ZDOF 512990312 8  0M 3229.16775104.167 2083.333 5104.167   N    0    0    0   -1   -1   -1               N  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI15ZDOG 512990312 5  0Q 6145.83368437.500 2083.333 3645.833O        0    0    0   -1   -1   -1               P  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK11WEWN 50564636810  0    2.000    4.000                                                                                                                                      WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   R  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   S  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   T  1 24                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   U  1 12                                                             WINDOWS                     25   VW                                     T                                                                                                                  WINDOWS                     26   Z[                                                                                                                                                       a!ArialM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pSLetter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=7
DUPLEX=1
TTOPTION=3
"@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Product Listing"Arial"Product Name"product_nameArialArial"Quantity In Unit"quantity_in_unitArialArial"Unit Price"
unit_price Arial
"99999.99"Arial"Unit Cost"	unit_cost Arial
"99999.99" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"ArialArialArialArialdataenvironmentLLeft = 134
Top = 244
Width = 317
Height = 192
Name = "Dataenvironment"
cursor�Left = 20
Top = 10
Width = 102
Height = 112
Alias = "product_listing"
Database = ..\data\tastrade.dbc
CursorSource = "product listing"
Name = "cursor1"
0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK10DIXM 505644873 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QWK10DIY7           9  1                  22605.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK10DIY8           9  4                   2188.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK10DIY9           9  7                   5000.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK10FCMP 505644918 7  418750.000    0.000 3854.16747604.167       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QWK10EMDG 505645105 5  0#19687.500 1250.000 2083.33312708.333        0    0    0   -1   -1   -1               "  1 12  1       T      F          0                         TF3 0F WINDOWS _QV60X56R9 493911332 5  0& 8958.33318437.500 3437.50013333.333$        0    0    0   -1   -1   -1               %  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0) 8437.50016770.833 3958.333 2083.333'        0    0  255   -1   -1   -1               (  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0, 8958.33334583.333 3437.500 8750.000*        0    0    0   -1   -1   -1               +  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0/ 8437.50032916.667 3958.333 2083.333-        0    0  255   -1   -1   -1               .  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK10EMEU 505645065 5  0213437.50017500.000 2083.33312083.3330        0    0    0   -1   -1   -1               1  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK10EMEV 505644901 6   12500.000    0.000  104.16779791.667       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QWK10HARQ 505768537 8  0324687.500 1145.833 2083.33346666.667 4  C    0    0    0   -1   -1   -1               5  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QYK13JYR3 51147776817  0 2500.000 4895.833 9166.667 8645.8338 6                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI16741F 512990504 8  09 5937.50073333.333 2083.333 6770.833   D    0    0    0   -1   -1   -1               :  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI16741P 512990504 5  0= 3020.83368333.333 2083.333 4062.500;        0    0    0   -1   -1   -1               <  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI16741Q 512990504 8  0> 3020.83375000.000 2083.333 5104.167   N    0    0    0   -1   -1   -1               ?  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI16741R 512990504 5  0B 5937.50068333.333 2083.333 3645.833@        0    0    0   -1   -1   -1               A  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK10EMDR 50564490110  0    3.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   C  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   D  1 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   E  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   F  1 24                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   G  0 12                                                             WINDOWS                     25   HI                                     T                                                                                                                  WINDOWS                     26   LM                                                                                                                                                       S!Courier NewM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pSLetter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=7
DUPLEX=1
TTOPTION=3
Arial"Company Name""@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Shipper Listing"company_name Arial (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialdataenvironmentLLeft = 134
Top = 244
Width = 291
Height = 197
Name = "Dataenvironment"
cursor�Left = 20
Top = 10
Width = 102
Height = 112
Alias = "shipper_listing"
Database = ..\data\tastrade.dbc
CursorSource = "shipper listing"
Name = "cursor1"
0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK0RKTIN 505636481 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QWK0RKTIY           9  1                  19896.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0RKTIZ           9  4                   2917.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0RKTJ0           9  7                   1771.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0U0EIB 505638916 7  416354.167    0.000 3541.66780312.500       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QWK0T54WP 505638537 5  0#17187.500 1041.667 2083.33312708.333        0    0    0   -1   -1   -1               "  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54WQ 505638009 8  0$21979.167 1041.667 2083.33334479.167   C    0    0    0   -1   -1   -1               %  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0T54WR 505638541 5  0'17187.50036458.333 2083.33311250.000        0    0    0   -1   -1   -1               &  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54WZ 505638009 8  0(21979.16736458.333 2083.33326145.833   C    0    0    0   -1   -1   -1               )  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0T54XC 505638009 5  0+17187.50063645.833 2083.333 5208.333        0    0    0   -1   -1   -1               *  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54XJ 505638009 8  0,21979.16763854.167 2083.33317500.000   C    0    0    0   -1   -1   -1               -  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QV60X56R9 493911332 5  00 6458.33315937.500 3437.50013333.333.        0    0    0   -1   -1   -1               /  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  03 5937.50014270.833 3958.333 2083.3331        0    0  255   -1   -1   -1               2  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  06 6458.33332083.333 3437.500 8750.0004        0    0    0   -1   -1   -1               5  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  09 5937.50030416.667 3958.333 2083.3337        0    0  255   -1   -1   -1               8  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK0U54AP 505646824 5  0<10937.50015000.000 2083.33312500.000:        0    0    0   -1   -1   -1               ;  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0U5JPO 505639044 6   10729.167    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QYK13K3I6 51147777217  0 1250.000 4895.833 9166.667 8645.833? =                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI168JKM 512990540 8  0@ 5625.00073437.500 2083.333 6770.833   D    0    0    0   -1   -1   -1               A  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI168JKN 512990540 5  0D 2708.33368437.500 2083.333 4062.500B        0    0    0   -1   -1   -1               C  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI168JKO 512990540 8  0E 2708.33375104.167 2083.333 5104.167   N    0    0    0   -1   -1   -1               F  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI168JKP 512990540 5  0I 5625.00068437.500 2083.333 3645.833G        0    0    0   -1   -1   -1               H  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0TYV7Z 50563874810  0    8.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   J  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   K  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   L  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   M  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   N  1 24                                                             WINDOWS                     25   OP                                     T                                                                                                                  WINDOWS                     26   ST                                                                                                                                                       Z!Courier NewM7winspool\\MSPRINT32\2/1MC PRIVJ 157.56.32.242Ne02:\\MSPRINT32\2/1MC PRIVJ 157.56.�pSLetter ����%��������������������������������������������''''�DRIVER=winspool
DEVICE=\\MSPRINT32\2/1MC PRIVJ 157.56.32.242
OUTPUT=Ne02:
ORIENTATION=0
PAPERSIZE=1
COPIES=1
DEFAULTSOURCE=7
DUPLEX=1
TTOPTION=3
Arial"Company Name"company_nameArialArial"Contact Name"contact_nameArialArial"Phone"phoneArial"@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Supplier Listing" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialdataenvironmentLLeft = 134
Top = 244
Width = 211
Height = 168
Name = "Dataenvironment"
cursor�Left = 20
Top = 10
Width = 102
Height = 112
Alias = "supplier_listing"
Database = ..\data\tastrade.dbc
CursorSource = "supplier listing"
Name = "cursor1"
0b
mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _QWM1BPPUC 511948074/F]��� WINDOWS _QYH118NJ6 511948074���� WINDOWS _QWM1BPPUM 511948074������e WINDOWS _QWM1BPPVQ 510498569������C WINDOWS _QWM1BPPXE 509067043����� WINDOWS _QWM1BPPYI 510498569�����k|
 WINDOWS _QXZ1FC4TJ 510498569T
�X��j�	 WINDOWS _QXZ1FC4UD 510498569S9$G4�
�� COMMENT FONTINFO            ��VERSION =   3.00dataenvironmentdataenvironmentDataenvironmentLLeft = 128
Top = 239
Width = 383
Height = 285
Name = "Dataenvironment"
FPROCEDURE BeforeOpenTables
SET TALK OFF
SET EXCLUSIVE OFF
ENDPROC
�PROCEDURE InteractiveChange
thisform.cTitle = this.Value

ENDPROC
PROCEDURE Destroy
IF USED("cTitles")
  USE IN cTitles
ENDIF
ENDPROC

commandbuttonfrmGetTitlecursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 138
Height = 244
Alias = "Employee"
Database = ..\data\tastrade.dbc
CursorSource = "Employee"
Name = "Cursor1"
22formformfrmGetTitleDataSession = 2
ScaleMode = 3
Height = 135
Width = 302
DoCreate = .T.
AutoCenter = .T.
BackColor = 192,192,192
BorderStyle = 2
Caption = "Report Parameters"
ControlBox = .F.
FontSize = 8
MaxButton = .F.
MinButton = .F.
WindowType = 1
ctitle = ALL
Name = "frmGetTitle"
�PROCEDURE Activate
SET MESSAGE TO thisform.Caption
ENDPROC
PROCEDURE Unload
SET MESSAGE TO
RETURN thisform.cTitle
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

thisform.cboTitle.ListIndex = 1
ENDPROC
���� ����%\sk�UT������<��UTHISFORMCTITLEClick,��1q17)�!Arial, 1, 8, 5, 14, 11, 13, 3, 0
BPROCEDURE Click
thisform.cTitle = ""
RELEASE thisform
ENDPROC
frmGetTitle	cmdCancelcmdOK"ctitle Stores the selected title
comboboxcomboboxcboTitlefrmGetTitle�FontSize = 8
RowSourceType = 3
RowSource = "SELECT DISTINCT Employee.Title FROM Employee ORDER BY 1 INTO CURSOR cTitles"
Value = 
Enabled = .F.
Height = 21
Left = 15
Style = 2
TabIndex = 2
Top = 55
Width = 277
Name = "cboTitle"
���� ��;%DYS�U
<��UTHISFORMClick,��1q2#)�uTop = 95
Left = 165
Height = 26
Width = 81
Cancel = .T.
Caption = "\<Cancel"
TabIndex = 4
Name = "cmdCancel"
..\libs\tsbase.vcx
commandbutton..\libs\tsbase.vcxtscommandbutton.PROCEDURE Click
RELEASE thisform

ENDPROC
labellabellabel1frmGetTitle�FontSize = 8
BackStyle = 0
Caption = "What employee title would you like to print?"
Height = 16
Left = 15
Top = 10
Width = 242
AutoSize = .T.
TabIndex = 3
Name = "label1"
checkboxcheckboxchkAllTitlesfrmGetTitle�Top = 32
Left = 15
Height = 17
Width = 85
FontSize = 8
BackStyle = 0
Caption = "All Titles"
Value = .T.
TabIndex = 1
Name = "chkAllTitles"
[��� BB�%��	��Uj%�����4�T����-��T����ALL���c�T����a��T���������UTHISVALUETHISFORMCBOTITLEENABLEDCTITLEInteractiveChange,��11�aA1�)BmTop = 95
Left = 55
Height = 26
Width = 81
Caption = "\<OK"
Default = .T.
TabIndex = 3
Name = "cmdOK"
tscommandbutton�PROCEDURE InteractiveChange
IF this.Value
  thisform.cboTitle.Enabled = .F.
  thisform.cTitle = "ALL"
ELSE
  thisform.cboTitle.Enabled = .T.
  thisform.cTitle = thisform.cboTitle.Value
ENDIF
ENDPROC
C��� **G�%����UT�������UTHISFORMCTITLETHISVALUE%%�C�cTitles����Q���UCTITLESInteractiveChange,��Destroye��113a�A1;Y�)*z��� aa�%����UG&(�����UTHISFORMCAPTIONG&(�B�����UTHISFORMCTITLET�������UTHISFORMCBOTITLE	LISTINDEXActivate,��UnloadT��Init��1�2a�2313Pv��)a���� ����%?aY�UG2�G�UBeforeOpenTables,��1aa1;)�  �( @�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������  �( @������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������  �( @�������������������������������������������������������p���������wp��������wwp�������wwwp������wwwp������ppwp�����wpp������wwwp������wwwwp����wwwwp���p�wwwp��wp��wwp��wwp���w�wwwp������wwwp�������wwp��������wp���������p��������������������������������������������������������������������������������������������������  �( @������������������������������������wwww���������w����������������������������wx���wx������������ww����wx��������������������wwww������p�����������wwww�����p�����������p��www�����p�����������p�����������p�����������p������������wp�����������������������������������������������������������������������������  �( @�����������������������������������������������������������p�����������p�������������������������������������������������������p�����������������������������������������p���������������������������������������������������������������������������������������  �( @��������������������������������������������y�0�����������x�����9��1���������x���99����9���������������0	99�90����0��������q909990�������������99999990������������y9911999�x�����������991999��������������991990����������x�99x�����9������������������q����������������������������������������������������������������������  �( @���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������  �( @�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0b	mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _QWP0RWI9I 505964580/F]� WINDOWS _QWP0RWI9S 511477495�����*
N WINDOWS _QWP0X7TK2 505969594�"/AN WINDOWS _QWP0RWIAM 510161990������~� WINDOWS _QWP0RWIBG 510161990W	h	�	�	�	�	 WINDOWS _QWP0X7TNY 505969594�
�
J	:	A�
 WINDOWS _QY30L2U7I 510161990#			4�! COMMENT FONTINFO            W1VERSION =   3.00dataenvironmentdataenvironmentDataenvironmentName = "Dataenvironment"
11formformForm1ScaleMode = 3
Height = 157
Width = 261
DoCreate = .T.
AutoCenter = .T.
BackColor = 192,192,192
BorderStyle = 2
Caption = "Report Parameters"
MaxButton = .F.
MinButton = .F.
WindowType = 1
ddateto = 
ddatefrom = 
lretval = .T.
Name = "Form1"
�PROCEDURE Activate
SET MESSAGE TO thisform.Caption
ENDPROC
PROCEDURE Unload
*-- (c) Microsoft Corporation 1995

SET MESSAGE TO

ENDPROC
dArial, 1, 10, 6, 16, 13, 15, 3, 0
Arial, 1, 8, 5, 14, 11, 13, 3, 0
Arial, 0, 8, 5, 14, 11, 13, 3, 0
CPROCEDURE Click
thisform.lRetVal = .F.
thisform.Hide()
ENDPROC
	cmdCancel
commandbuttonForm1Form1�ddateto Holds the ending date for the report.
ddatefrom Holds the beginning date for the report.
lretval Returns .T. if OK was clicked, otherwise returns .F.
	ts3dshape..\libs\tsbase.vcxshape
Ts3dshape1Form1DHeight = 91
Left = 30
Top = 15
Width = 206
Name = "Ts3dshape1"
tscommandbutton..\libs\tsbase.vcx
commandbuttoncmdOKForm1|Top = 120
Left = 40
Height = 26
Width = 76
Cancel = .T.
Caption = "\<OK"
Default = .T.
TabIndex = 2
Name = "cmdOK"
�PROCEDURE Click
thisform.dDateFrom = thisform.ctlDateRange.GetDateFrom()
thisform.dDateTo = thisform.ctlDateRange.GetDateTo()
thisform.Hide()
ENDPROC
���� ���%g~v�UT���-��
��C����UTHISFORMLRETVALHIDEClick,��1��18)�..\libs\tsbase.vcxtscommandbuttonTslabel1label	daterange..\libs\tsgen.vcxcontrolctlDateRangeForm1�Top = 30
Left = 45
TabIndex = 1
Name = "ctlDateRange"
txtdatefrom.Name = "txtdatefrom"
txtdateto.Name = "txtdateto"
tslabel1.TabIndex = 3
tslabel1.Name = "tslabel1"
tslabel2.TabIndex = 4
tslabel2.Name = "tslabel2"
tslabel..\libs\tsbase.vcx�Alignment = 0
BackColor = 192,192,192
BackStyle = 1
Caption = "Order date range:"
Height = 16
Left = 40
Top = 10
Width = 97
AutoSize = .T.
TabIndex = 2
Name = "Tslabel1"
hTop = 120
Left = 150
Height = 26
Width = 76
Caption = "\<Cancel"
TabIndex = 3
Name = "cmdCancel"
3��� ��%����U>T���C�����T���C�����
��C����UTHISFORM	DDATEFROMCTLDATERANGEGETDATEFROMDDATETO	GETDATETOHIDEClick,��1qq�1�)���� ��#�%a���UG&(�����UTHISFORMCAPTION	G&(�UActivate,��UnloadT��1�2c23P�)�BM�v(x���������������������������������p��������������������������������������������������������������0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R2Y12ZOJK 5215071845Lcz���w WINDOWS _R2Y12ZP7H 548054081��) WINDOWS _QXA0UGTHC 548054081eK?���r	 COMMENT RESERVED            �	�VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentoLeft = 100
Top = 196
Width = 600
Height = 250
InitialSelectedAlias = "behindsc"
Name = "Dataenvironment"
FPROCEDURE BeforeOpenTables
SET TALK OFF
SET EXCLUSIVE OFF
ENDPROC
form..\libs\tsbase.vcx
tstextform22DataenvironmentBArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0
frmcasestudycursorcursorCursor1yLeft = 20
Top = 10
Width = 90
Height = 90
Alias = "behindsc"
CursorSource = ..\data\behindsc.dbf
Name = "Cursor1"
DataSession = 2
ScaleMode = 3
Top = 17
Left = 25
Height = 341
Width = 578
DoCreate = .T.
BufferMode = 0
AutoCenter = .F.
BorderStyle = 3
Caption = "Case Study"
MinHeight = 200
MinWidth = 400
WindowType = 1
BackColor = 192,192,192
lallowedits = .F.
ctoolbar = 
lallownew = .F.
lallowdelete = .F.
Name = "frmcasestudy"
edtText.BackColor = 255,255,255
edtText.ControlSource = "behindsc.desc"
edtText.Name = "edtText"
cmdClose.Name = "cmdClose"
cmdPrint.TabIndex = 3
cmdPrint.Name = "cmdPrint"
JPROCEDURE Load
*-- (c) Microsoft Corporation 1995

=SEEK(SEEKVALUE_LOC, ALIAS(), "screen_id")	&&"*Case Study"

ENDPROC
PROCEDURE cmdPrint.Click
LOCAL lnAnswer
lnAnswer = MESSAGEBOX(VIEWCSDTYPRINT_LOC, ;
                      MB_ICONQUESTION + MB_YESNO, ;
                      TASTRADE_LOC)
IF lnAnswer = IDYES
  thisform.WaitMode(.T.)
  IF PRINTSTATUS()
    WAIT WINDOW NOWAIT PRINTING_LOC
    REPORT FORM casestdy TO PRINTER NOCONSOLE
  ELSE
    =MESSAGEBOX(PRINTERNOTREADY_LOC, MB_ICONEXCLAMATION)
  ENDIF
  WAIT CLEAR
  thisform.WaitMode(.F.)
ENDIF

ENDPROC
b..\include\tastrade.hJ|A�($..\..\..\..\..\..\vfp6\foxpro.hR}�#..\include\strings.hZ~A�($;��� ""H�%����U'$��C�*Case StudyC�	screen_id���U����[T��C�4This report may be lengthy. Do you want to continue?�$�Tasmanian Traders�x��%���������Ca����%�C�����R,:��Printing ...��?�casestdy(!9����!��C�Printer not ready.�0�x���R���C-�����ULNANSWERTHISFORMWAITMODECASESTDYLoad,��cmdPrint.ClickW��1C3q���q1�AQ�A2r�?)"���� ����%?aY�UG2�G�UBeforeOpenTables,��1aa1;)�%�=!�d�($��2GY(�GY��2s����"��\<File�
N����ALT+F��ALT+F��2s����"��\<Help�
N����ALT+H��ALT+H��1��������1��������s��
N�������-s�����"��Return to Visual Fo\<xPro��,1�������_screen.activeform.Close()�s��
N�������Ps�����"��
\<Contents���Displays Help table of contents��F1��F1��Ss�����"��\<Search for Help on...���#Searches for Help topics by keyword��s�����"��\-��~s�����"��\<About Tasmanian Traders...���HDisplays information about this application and the system configuration��b1�������PDO _rra144crj  IN LOCFILE("..\TEMP\INTRO" ,"MPX;MPR|FXP;PRG" ,"WHERE is INTRO?")�-1���"*-- (c) Microsoft Corporation 1995�\1����PDO _rra144crk  IN LOCFILE("..\TEMP\INTRO" ,"MPX;MPR|FXP;PRG" ,"WHERE is INTRO?")�UPADHELPFILE����G~(�libs\about.vcx��T��C�AboutBox�Tasmanian Traders�1.0�$Copyright 1994 Microsoft Corporation�All rights reserved�BITMAPS\SMSWIRLT.BMP�N��
����<R�	about.vcx�U
LOABOUTBOXLIBSSHOWABOUTVCXq���T��C���%�C�f�NEW��<�T���AddNew���$T���_screen.activeform.���
&lcCmd
ULCCMD
_rra144crjl��
_rra144crkW���aa#""��"2a�#��?q�f�?q�d1AB�1�
0GHNb0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Class                WINDOWS _R470U6ADM 553993396.2� COMMENT RESERVED            *�!VERSION =  0.029	tsgen.vcxSTRADE
Name = "custom����쬬��
����̬tastradetastrade..\include\tastrade.hIainstances
cuserlevel
cemployeeid
getstartupaction
cmainwindcaption
D of the employee Pixelsto the system.
*geTastrade Application Classstartup action to take when userClass is currently logged1applicationUcuserlevel The user level of the currently logged in user.
cemployeeid Holds the ID of the employee who is currently logged in. 
*getstartupaction Gets the startup action to take when user first logs into the system.
*getuserlevel Returns the current user level.
*getemployeeid Returns the employee ID of the employee who is logged on.
b..\include\tastrade.hz�A�($..\..\..\..\..\..\vfp6\foxpro.h���#..\include\strings.h��A�($ee who is currently loggedfHeight = 31
Width = 81
cuserlevel = 
cemployeeid = 
cdatabase = DATA\TASTRADE
Name = "tastrade"
tom the action to takePROCEDURE getstartupaction
*-- Returns the action to take based on the user level
*-- The action is just a Visual FoxPro command stored as a character
*-- string in the startup_action field of the user_level
*-- table.
LOCAL lnOldArea, ;
      lcAction, ;
      llCloseWhenDone

lnOldArea = SELECT()

IF !USED("user_level")
  USE user_level IN 0
  llCloseWhenDone = .T.
ENDIF

SELECT user_level
lcAction = LOOKUP(startup_action, ;
                UPPER(this.cUserLevel), ;
                description, ;
                "DESCRIPTIO")

IF llCloseWhenDone
  USE IN user_level
ENDIF

SELECT (lnOldArea)

RETURN lcAction

ENDPROC
PROCEDURE getuserlevel
RETURN this.cUserLevel
ENDPROC
PROCEDURE getemployeeid
RETURN this.cEmployeeID
ENDPROC
PROCEDURE login
LOCAL lcEmployeeID, ;
      lcUserLevel

*-- Save the current values of these vars in case user is logging in
*-- again but decides to cancel
lcEmployeeID = this.cEmployeeID
lcUserLevel = this.cUserLevel
lcLoginString = this.DoFormRetVal("loginpicture")

this.cEmployeeID = LEFT(lcLoginString, AT(",", lcLoginString) - 1)
this.cUserLevel = SUBSTR(lcLoginString, AT(",", lcLoginString) + 1)

IF EMPTY(this.cUserLevel)
  this.cEmployeeID = lcEmployeeID 
  this.cUserLevel = lcUserLevel
ENDIF

*-- The user level is what determines if the user successfully logged
*-- in or not, and determines what menu pads are shown.
RETURN !EMPTY(this.cUserLevel)

ENDPROC
PROCEDURE do
LOCAL lcAction

*-- Put up main menu
DO (this.cMainMenu)

IF !DEBUGMODE
  lcAction = this.GetStartupAction()
  IF !EMPTY(lcAction)
    &lcAction
  ENDIF
ENDIF
 
DO WHILE .T.
	*-- Start the event loop
	READ EVENTS

	*- We do cleanup here, instead of in the menu code
	*- because windows cannot be released from the menu code if
	*- a grid has the focus.
	IF THIS.Cleanup()
		THIS.Cleanup2
		EXIT
	ENDIF
ENDDO

ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LOCAL llRetVal, ;
      lnRetVal, ;
      lcUserLevel, ;
      lcBuffer, ;
      llShowIntro, ;
      lcLoginString

*- this class can't be used independent of the application
IF TYPE("m.gTTrade") # 'L' OR !m.gTTrade
	=MESSAGEBOX(CLASSBROWERR_LOC)
	RETURN .F.
ENDIF

*-- Set the caption
This.cMainWindCaption = TASTRADE_LOC
    
*-- Initialize the base class
llRetVal = Application::Init()
IF llRetVal
  DO menus\intro.mpr
  *-- Put up intro form
  lcBuffer = " " + CHR(0)
  llShowIntro = .T.
  IF GetPrivStr("Defaults", "ShowIntroForm", "", @lcBuffer, LEN(lcBuffer), CURDIR() + INIFILE) > 0
    llShowIntro = (VAL(lcBuffer) = 1)
  ENDIF
  lnRetVal = IIF(llShowIntro, this.DoFormRetVal("introform"), 1)
  DO CASE 
    CASE lnRetVal = 1      && Continue

      IF !DEBUGMODE
        llRetVal = this.Login()
      ELSE
        this.cEmployeeID = ""
        this.cUserLevel = USER_APPDEV_LOC
      ENDIF

    CASE lnRetVal = 2      && Exit
      llRetVal = .F.

  ENDCASE
ENDIF

IF !llRetVal
  	IF THIS.Cleanup()
  		THIS.Cleanup2
	ENDIF
ENDIF

RETURN llRetVal

ENDPROC
nstances[lnRow, 4] + 1

RE���� ��X%��QQ�U������T��CW��%�C�
user_level�
��V�Q��
user_level�T��a���F��)T��C�C��f��
DESCRIPTIO~��
%������Q���
F����	B����U	LNOLDAREALCACTIONLLCLOSEWHENDONE
USER_LEVELSTARTUP_ACTIONTHIS
CUSERLEVELDESCRIPTIONB�����UTHIS
CUSERLEVELB�����UTHISCEMPLOYEEID�����T������T������ T��C�loginpicture����T���C�C�,��=��T���C�C�,��\��%�C�������T������T�������B�C���
��ULCEMPLOYEEIDLCUSERLEVELTHISCEMPLOYEEID
CUSERLEVEL
LCLOGINSTRINGDOFORMRETVAL����
�����%�a
��R�T��C����%�C��
��N�
&lcAction
��+�a����9��%�C������
����!���ULCACTIONTHIS	CMAINMENUGETSTARTUPACTIONCLEANUPCLEANUP2x��������'%�C�	m.gTTradeb�L��
�
����J��C�>This class cannot be used outside of the Tastrade application.�x��B�-���!T����Tasmanian Traders��T��C��	�
��
%����7��menus\intro.mpr�T��� C� ��T��a��K%�C�Defaults�
ShowIntroForm��C�>C��TASTRADE.INI����k�T��C�g����+T��C��C�	introform��
��6��
H���3�������%�a
����T��C������T������&T����APPLICATIONS DEVELOPER��������3�T��-����%��
��h�%�C����d�
������	B����ULLRETVALLNRETVALLCUSERLEVELLCBUFFERLLSHOWINTRO
LCLOGINSTRINGGTTRADETHISCMAINWINDCAPTIONAPPLICATIONINITMENUS
GETPRIVSTRDOFORMRETVALLOGINCEMPLOYEEID
CUSERLEVELCLEANUPCLEANUP2getstartupaction,��getuserlevelJ��
getemployeeido��login���do���Init���1���a�Ar���A��3�2�2���"A�3q���AA�R�AAA3�s�qA#�aB��AA����aA�BA��AA�2��� ��#�&�{=/�X)���UTHISFORMCAP0b	mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _QZQ0LPDOW 5134952835Lcz�� WINDOWS _QZQ0LPDOX 513495283��
3 WINDOWS _QY51EZQSC 513495283��-�1{ WINDOWS _QY51EZQU0 511578371g*��
 WINDOWS _QY51EZRMY 512001304���"�/C� WINDOWS _QY51EZRO2 510231522/RIZ�	0	� WINDOWS _QYD0ZEICJ 513495284	8
���
� COMMENT FONTINFO            ppVERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentoLeft = 133
Top = 244
Width = 328
Height = 323
InitialSelectedAlias = "Customer"
Name = "Dataenvironment"
cursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 122
Height = 264
Alias = "Customer"
Database = ..\data\tastrade.dbc
CursorSource = "Customer"
Name = "Cursor1"
22
tsbaseform..\libs\tsbase.vcxformfrmAddCustomer�DataSession = 2
Top = 4
Left = 15
Height = 354
Width = 599
DoCreate = .T.
AutoCenter = .F.
BorderStyle = 2
Caption = "Add Customer"
WindowType = 1
lretval = .T.
ctoolbar = 
lallownew = .F.
Name = "frmAddCustomer"
tscommandbutton..\libs\tsbase.vcx	cmdCancelfrmAddCustomerBArial, 1, 8, 5, 14, 11, 14, 3, 0
Arial, 0, 8, 5, 14, 11, 20, 3, 0
vTop = 325
Left = 410
Height = 26
Width = 116
Caption = "\<Behind the Scenes"
TabIndex = 4
Name = "cmdBehindSC"
..\libs\tsbase.vcx
commandbuttoncustomerinfoKlretval Return value for this form. If OK is selected, lRetVal will = .T.
cmdBehindSCfrmAddCustomerfrmAddCustomer
commandbuttoncmdOKoTop = 325
Left = 80
Height = 26
Width = 116
Caption = "\<OK"
Default = .T.
TabIndex = 2
Name = "cmdOK"

commandbutton..\libs\tsbase.vcxtscommandbuttonfrmAddCustomercntCustomerInfo	container..\libs\tsgen.vcx�PROCEDURE Click
llError = !TABLEUPDATE(.T.)
IF llError
  IF AERROR(laError) > 0
    thisform.Error(laError[1])
  ENDIF
ELSE
  WAIT WINDOW NOWAIT INFSAVED_LOC
  thisform.Release()
ENDIF

ENDPROC
tscommandbuttonTPROCEDURE Click
thisform.lRetVal = .F.
=TABLEREVERT()
RELEASE thisform
ENDPROC
wTop = 325
Left = 245
Height = 26
Width = 116
Cancel = .T.
Caption = "\<Cancel"
TabIndex = 3
Name = "cmdCancel"
�PROCEDURE Click
*-- Since this form is modal, we need to make
*-- 'Behind the Scenes' modal as well
DO FORM behindsc WITH .T.
SELECT customer
this.Enabled = .F.

ENDPROC
�Top = -5
Left = 5
Width = 599
Height = 321
TabIndex = 1
Name = "cntCustomerInfo"
txtCompany_Name.TabIndex = 2
txtCompany_Name.Name = "txtCompany_Name"
txtContact_Name.TabIndex = 3
txtContact_Name.Name = "txtContact_Name"
txtContact_Title.TabIndex = 4
txtContact_Title.Name = "txtContact_Title"
txtAddress.TabIndex = 5
txtAddress.Name = "txtAddress"
txtCity.TabIndex = 6
txtCity.Name = "txtCity"
txtRegion.TabIndex = 7
txtRegion.Name = "txtRegion"
txtPostal_Code.TabIndex = 8
txtPostal_Code.Name = "txtPostal_Code"
txtCountry.TabIndex = 9
txtCountry.Name = "txtCountry"
txtPhone.TabIndex = 10
txtPhone.Name = "txtPhone"
Tslabel12.TabIndex = 15
Tslabel12.Name = "Tslabel12"
Tslabel13.TabIndex = 16
Tslabel13.Name = "Tslabel13"
Tslabel14.TabIndex = 17
Tslabel14.Name = "Tslabel14"
Tslabel15.TabIndex = 18
Tslabel15.Name = "Tslabel15"
Tslabel16.TabIndex = 21
Tslabel16.Name = "Tslabel16"
Tslabel17.TabIndex = 23
Tslabel17.Name = "Tslabel17"
Tslabel18.TabIndex = 24
Tslabel18.Name = "Tslabel18"
Tslabel19.TabIndex = 25
Tslabel19.Name = "Tslabel19"
Tslabel20.TabIndex = 26
Tslabel20.Name = "Tslabel20"
Tslabel21.TabIndex = 27
Tslabel21.Name = "Tslabel21"
Tslabel1.TabIndex = 28
Tslabel1.Name = "Tslabel1"
txtCustomer_ID.TabIndex = 1
txtCustomer_ID.Name = "txtCustomer_ID"
Ts3dshape1.Name = "Ts3dshape1"
txtMax_Ord_Amt.TabIndex = 12
txtMax_Ord_Amt.Name = "txtMax_Ord_Amt"
txtMin_Ord_Amt.TabIndex = 13
txtMin_Ord_Amt.Name = "txtMin_Ord_Amt"
txtDiscount.TabIndex = 14
txtDiscount.Name = "txtDiscount"
lblMaximum.TabIndex = 19
lblMaximum.Name = "lblMaximum"
Tslabel2.TabIndex = 20
Tslabel2.Name = "Tslabel2"
Tslabel3.TabIndex = 22
Tslabel3.Name = "Tslabel3"
txtFax.TabIndex = 11
txtFax.Name = "txtFax"
�PROCEDURE Activate
*-- Disable command button if Behind the Scenes is
*-- already active
thisform.cmdBehindSC.Enabled = !WEXIST("frmBehindSC")

ENDPROC
PROCEDURE Destroy
tsBaseForm::Destroy()
IF thisform.ReleaseType = 1    && Form closed from close box
  thisform.lRetVal = .F.
  =TABLEREVERT()
ENDIF

ENDPROC
PROCEDURE Unload
RETURN thisform.lRetVal
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LPARAMETERS tcCompanyName
tsBaseForm::Init()

APPEND BLANK
IF !EMPTY(tcCompanyName)
  thisform.cntCustomerInfo.txtCompany_Name.Value = tcCompanyName
ENDIF
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
DO CASE
  CASE nError = 1884    && Primary key violated
    thisform.cntCustomerInfo.Error(nError, cMethod, nLine)
  CASE nError = 1582    && Field rule violated
    thisform.cntCustomerInfo.Error(nError, cMethod, nLine)
  OTHERWISE
    tsBaseForm::Error(nError, cMethod, nLine)
ENDCASE

ENDPROC
b..\include\tastrade.h�,A�($..\..\..\..\..\..\vfp6\foxpro.h�-�#..\include\strings.h�.A�($���� ��ƀ%���U,�behindsc��a��F��T���-��UBEHINDSCCUSTOMERTHISENABLEDClick,��1Cq�2�)����� ����%d}s�U!T���-��	��C���<��UTHISFORMLRETVALClick,��1��q1I)�f��� MMD*%���U�T��Ca�
��
%����J�%�C���z���F���CC��������|�R,:��Information saved.��
��C�����ULLERRORLAERRORTHISFORMERRORRELEASEClick,��1��aAA���A2�)M���� ��hS%�%��U$!T����C�frmBehindSC�
��UTHISFORMCMDBEHINDSCENABLED@��C�����%������9�T���-��	��C����U
TSBASEFORMDESTROYTHISFORMRELEASETYPELRETVALB�����UTHISFORMLRETVALG�����C������%�C��
��@�T���������U
TCCOMPANYNAME
TSBASEFORMINITTHISFORMCNTCUSTOMERINFOTXTCOMPANY_NAMEVALUE������
H�������\��J���C�����������.��x���C��������2�����C���������UNERRORCMETHODNLINETHISFORMCNTCUSTOMERINFOERROR
TSBASEFORMActivate,��Destroyt��Unload���Init��Error���13�A��A3�2s�RaA2��!�!���A2��9	Vm�Nj�)�0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _QZ90VFMP8 5123903975Lcz���� WINDOWS _QZ90VFNB8 512390400$3J WINDOWS _QY70Z0YZC 512390400/;T�5� WINDOWS _QY70Z0Z10 511215914
8G]v�� WINDOWS _QY70Z0Z24 510496793+:Pi WINDOWS _QY70Z0Z3I 510219979���? WINDOWS _QY70Z0Z4C 5102199790		�� WINDOWS _QY70Z0Z57 510219979J	�=	-		� WINDOWS _QY70Z0Z61 512389992Y	
�	>
%
X WINDOWS _QY70Z0Z7F 510219979tZ�A� WINDOWS _QY70Z0Z89 512390147�����j	 WINDOWS _QY70ZX872 512389992�t_R9�
P
� WINDOWS _QY70ZX87W 512389993�fQ@'�e� WINDOWS _QYC0NC3OZ 510219980������
 WINDOWS _QYC0NC3Q3 510219980�
"
/
?
X
 WINDOWS _QYD0LNVS4 512389993���~eQ�� COMMENT FONTINFO            5#VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentoLeft = 138
Top = 347
Width = 329
Height = 214
InitialSelectedAlias = "Employee"
Name = "Dataenvironment"
HPROCEDURE BeforeOpenTables
SET TALK OFF
SET EXCLUSIVE OFF

ENDPROC
frmChangePassword..\libs\tsbase.vcxtslabelgCaption = "User Name"
Height = 22
Left = 16
Top = 15
Width = 141
TabIndex = 4
Name = "Tslabel4"
label2cursorcursorCursor1Dataenvironment�Left = 20
Top = 10
Width = 134
Height = 163
Alias = "Employee"
Order = "employee_i"
Database = ..\data\tastrade.dbc
CursorSource = "Employee"
Name = "Cursor1"
2
tsbaseform..\libs\tsbase.vcxformfrmChangePassword�DataSession = 2
Height = 168
Width = 426
DoCreate = .T.
BorderStyle = 2
Caption = "Change Password"
ControlBox = .F.
WindowType = 1
lallowedits = .F.
lallownew = .F.
ctoolbar = 
Name = "frmChangePassword"
b..\include\tastrade.h�A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h"�A�($���� ��94%n�}�U%�behindsc��a��T���-��UBEHINDSCTHISENABLEDClick,��1C�2�)�sCaption = "Confirm New Password"
Height = 22
Left = 16
Top = 135
Width = 141
TabIndex = 5
Name = "Tslabel3"
label..\libs\tsbase.vcxtslabelfrmChangePasswordqControlSource = ""
Enabled = .F.
Left = 165
TabIndex = 3
Top = 135
PasswordChar = "*"
Name = "txtConfirm"
..\libs\tsbase.vcxfrmChangePasswordTslabel2frmChangePasswordTslabel3labeltslabel	tstextbox�ControlSource = ""
Enabled = .F.
Height = 22
Left = 165
TabIndex = 4
Top = 15
Width = 241
PasswordChar = ""
Name = "txtUserName"
textbox..\libs\tsbase.vcxfrmChangePassword
txtConfirm�PROCEDURE Click
IF thisform.Validate()
  REPLACE employee.password WITH thisform.txtConfirm.Value
  =TABLEUPDATE()
  RELEASE thisform
ENDIF
ENDPROC
jControlSource = "Employee.password"
Enabled = .F.
Left = 165
TabIndex = 7
Top = 75
Name = "txtHint"
<PROCEDURE Click
=TABLEREVERT()
RELEASE thisform
ENDPROC
vTop = 85
Left = 285
Height = 26
Width = 120
Cancel = .T.
Caption = "\<Cancel"
TabIndex = 6
Name = "cmdCancel"
frmChangePassword	cmdCancel
commandbutton..\libs\tsbase.vcxtscommandbutton	tstextbox..\libs\tsbase.vcxtextboxtxtHintfrmChangePasswordtslabel..\libs\tsbase.vcxlabelTslabel5frmChangePasswordbCaption = "Hint"
Height = 22
Left = 16
Top = 75
Width = 141
TabIndex = 8
Name = "Tslabel5"
oTop = 50
Left = 285
Height = 26
Width = 120
Caption = "\<OK"
Default = .T.
TabIndex = 5
Name = "cmdOK"
frmChangePasswordcmdOK
commandbutton..\libs\tsbase.vcxtscommandbuttonfrmChangePasswordtxtUserNametextbox..\libs\tsbase.vcx	tstextboxTslabel4BArial, 1, 8, 5, 14, 11, 13, 3, 0
Arial, 0, 8, 5, 14, 11, 13, 3, 0
frmChangePasswordcmdBehindSC
commandbutton_coldpassword The employee's old password.
*validate Validates all entries made in this form.
	tstextbox..\libs\tsbase.vcxtextboxtxtOldPasswordfrmChangePasswordQLeft = 165
TabIndex = 1
Top = 50
PasswordChar = "*"
Name = "txtOldPassword"
�PROCEDURE InteractiveChange
LOCAL llEnabled

llEnabled = (ALLT(thisform.cOldPassword) == ALLT(this.Value)) 
thisform.txtNewPassword.Enabled = llEnabled
thisform.txtConfirm.Enabled = llEnabled

ENDPROC
�PROCEDURE Click
*-- Since this form is modal, we need to make
*-- 'Behind the Scenes' modal as well
DO FORM behindsc WITH .T.
this.Enabled = .F.

ENDPROC
vTop = 131
Left = 285
Height = 26
Width = 120
Caption = "\<Behind the Scenes"
TabIndex = 8
Name = "cmdBehindSC"
..\libs\tsbase.vcxtscommandbutton	tstextbox..\libs\tsbase.vcxtextboxtxtNewPasswordfrmChangePasswordaEnabled = .F.
Left = 165
TabIndex = 2
Top = 110
PasswordChar = "*"
Name = "txtNewPassword"
tslabel..\libs\tsbase.vcxlabelTslabel1jCaption = "Old Password"
Height = 22
Left = 16
Top = 50
Width = 141
TabIndex = 3
Name = "Tslabel1"
kCaption = "New Password"
Height = 22
Left = 16
Top = 110
Width = 141
TabIndex = 4
Name = "Tslabel2"
���� ��f�%Md\�U	��C���<��UTHISFORMClick,��1�q11)����� ����%?aY�UG2�G�UBeforeOpenTables,��1aa2=)�PROCEDURE validate
IF !thisform.txtNewPassword.Enabled
  IF MESSAGEBOX(NOPSWDENTERED_LOC, ;
              MB_ICONQUESTION + MB_YESNO, ;
              TASTRADE_LOC) = IDNO
    =TABLEREVERT()
    RELEASE thisform
  ELSE
    thisform.txtOldPassword.Value = ""
    thisform.txtOldPassword.SetFocus()
  ENDIF
  RETURN .F.
ENDIF

IF EMPTY(thisform.txtNewPassword.Value)
  =MESSAGEBOX(PASSWORDEMPTY_LOC, ;
              MB_ICONEXCLAMATION, ;
              TASTRADE_LOC)
  thisform.txtNewPassword.SetFocus()
  RETURN .F.
ENDIF

IF thisform.txtConfirm.Value <> ;
    thisform.txtNewPassword.Value
  =MESSAGEBOX(PSWDNOTCNFRM_LOC, ;
              MB_ICONEXCLAMATION ,;
              TASTRADE_LOC)
  thisform.txtConfirm.Value = ""
  thisform.txtConfirm.SetFocus()
  RETURN .F.
ENDIF    
ENDPROC
PROCEDURE Load
*-- (c) Microsoft Corporation 1995

=SEEK(oApp.GetEmployeeID(), "employee", "employee_i")
thisform.cOldPassword = employee.password

ENDPROC
PROCEDURE Activate
tsBaseForm::Activate()
*-- Disable command button if Behind the Scenes is
*-- already active
thisform.cmdBehindSC.Enabled = !WEXIST("frmBehindSC")
SELECT employee

ENDPROC
PROCEDURE Init
thisform.txtUserName.Value = ALLT(employee.first_name) + " " + employee.last_name
ENDPROC
(��� .�%����U>%�C����7�>���������	��C���<���UTHISFORMVALIDATEEMPLOYEEPASSWORD
TXTCONFIRMVALUEClick,��1a�qA1�)Z��� AA��%����UL���T��C���C�����T�������T�������U	LLENABLEDTHISFORMCOLDPASSWORDTHISVALUETXTNEWPASSWORDENABLED
TXTCONFIRMInteractiveChange,��1q�112�)A���� ���%�D �U�%����
����n%�C�CYou have not yet entered the old password. Do you want to continue?�$�Tasmanian Traders�x�����	��C���<�����T���������C������B�-���%�C������8�@��C�New password cannot be empty.�0�Tasmanian Traders�x����C�����B�-���%�����������Q��C�.Cannot confirm new password. Please try again.�0�Tasmanian Traders�x��T���������C�����B�-���UTHISFORMTXTNEWPASSWORDENABLEDTXTOLDPASSWORDVALUESETFOCUS
TXTCONFIRM='��CC���employee�
employee_i���T�������UOAPP
GETEMPLOYEEIDTHISFORMCOLDPASSWORDEMPLOYEEPASSWORD9��C�����!T����C�frmBehindSC�
��F��U
TSBASEFORMACTIVATETHISFORMCMDBEHINDSCENABLEDEMPLOYEE'$T����C���� ����UTHISFORMTXTUSERNAMEVALUEEMPLOYEE
FIRST_NAME	LAST_NAMEvalidate,��Load[��Activate���InitZ��1A��q�1AqARqA�1qA2s13�q3A1$?�!��(��0)�BM�v(x��������������������������������������������0������0�����30��30�����3�����30��D��30��DD�30�DDD�30��DD�3��D��0���������������BMz:v(�?:�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3����������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3����������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�����������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�����������������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��������������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�8������������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���1������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3��������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8������������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��83��8������������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3��������������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3�������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��83�������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3������������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3��������������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8������������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��83��83��83����������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3����������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3�������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��83��83��1����������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�1����������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3������������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3����������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�3����������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��83��83��83��83����������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3�����������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���1���������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��83��83��83��81���������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�3�8����������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3����������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�3�8�3���������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��83��83��83��83��83����������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3�����������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3���������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��83��83��83��83��83���������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�3�8�3�8�1��������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3���3��������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3���3����������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�3�8�3�8�3�8�������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��83��83��83��83��83��83��81�������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3���3���1�������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3���3���3���������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��83��83��83�83��83��83���������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�1�3�8�3�8�3��������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3����3���3���3��������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3����3���3���������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�3�8�3�8�3�8�������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3��83��83��83��83���83��83��83�������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3���3����3���3���3�������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3����3���3���3���������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������83��83��83��83����3��83��83��1������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8�3�8�3�8�1����3�8�3�8�3�8������������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3���3���3���3��������3���3���3��������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������wwww�3���3���3���3���3��������3���3���3�����������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������wwww�3�8�3�8�3�8�3�8�3������8�3�8�3�8�3������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������������������������wwwwx3��83��83��83��83�������83��83��83�������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx3���3���3���3���3��������3���3���3�������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx��3���3���3���3������������3���3���1�����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx�83��83��83��8����������83��83��83�����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDws�8�3�8�3�8�3�0����������8�3�8�3�8������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDws���3���3���3����������󈈈3���3�������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx�3���3���3������������3���3���3�����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx�3�8�3�8�0��������������3�8�3�8�3�1����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx3��83����������������3��83��83��1����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx3���3��������������3���3���3�������������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx��3���������������3���3���3�����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDwx�83��0���������������83��83��83�����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDws�8�3�0��������������8�3�8�3�8�3����������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������������������������DDDDws���3������������������3���3���3���������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������4DDDDwx�3������������������3���3���3������������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������������������������4DDDDwx�3�8�����������8�3�8�3�8����������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������3�DDDDwx3��8��������ps��83��81���������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������wwww��������3�DDDDwx3��������������������3���1���������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������wwww����������DDDDwx��3��������������3���3�����������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������wwww���������4DDDDwx�83������������3��83�����������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�������3�4DDDDws�8�3��������3�8�3���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�������3��DDDDws���3������3���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�����3���4DDDDwx�3�������p����1��������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�����3�8�4DDDDwx�3�8�����������p8�1��������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����3��83�DDDDwx3��80��������������83���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����3���3�DDDDwx3���0��������������3���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw������3���DDDDwx��3����������p�����������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���83��4DDDDwx�83�������������3��8��������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���3�8�3�4DDDDws�8�1�����������������3�8�������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���3���3��DDDDws�����������������������3���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�3���3���4DDDDwx�3�����������������p�3���3��������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�3�8�3�8�4DDDDwx�3���������������������3�8�3��������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw3��83��83�DDDDwx3�����������������3��83���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw3���3���3�DDDDwx3���������������������3���3���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��3���3���DDDDwx����������������p����p���3���3�������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�83��83��4DDDDwx������������������0��83��83�������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�8�3�8�3�4DDDDwq������������������������3�8�3�8�������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���3���3��DDDDwq�����������������������3���3���1������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�3���3���4DDDDwq���������������������������3���3��������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�3�8�3�8�4DDDDwq�������������������������8�3�8�3�1������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw3��83��83�DDDDwq��������������������������83��83��1������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw3���3���3�DDDDwq��������������������������������3���3���������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��3���3���DDDDwx�����������������������������3���3���3�������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�83��83��4DDDDwx����������������������������83��83��83������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�8�3�8�3�4DDDDwx���������������������������8�3�8�3�8�3�����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���3���3��DDDDwx����������������������������3���3���3������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������3DDDDGw�3���3���4DDDDwx�����������������������3���3���3��������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������3DDDDGw�3�8�3�8�4DDDDwx���������������������8�3�8�3�8������������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������3�DDDDGw3��83��83�DDDDwx��������������������83��83��83�����������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������3�DDDDGw3���3���3�DDDDwx������������������������3���3���3�����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��3���3���DDDDwx�������������������3���3���3�������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������������8DDDDGw�83��83��4DDDDwx�������������������3��83��83������������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������3�8DDDDGw�8�3�8�3�4DDDDwx��������������������������3�8�3�8�3�1����������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������3��DDDDGw���3���3��DDDDws���������������������������3���3���3������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������3���3DDDDGw�3���3���4DDDDwx�3�������������������������3���3���1����������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������3�8�3DDDDGw�3�8�3�8�4DDDDwx�3�����������������������8�3�8�3�8�1����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������3��83�DDDDGw3��83��83�DDDDwx3����������������������������83��83��83�����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������3���3�DDDDGw3���3���3�DDDDwx3������������������������3���3���3�����������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������3���DDDDGw��3���3���DDDDwx��������������������󈈈3���3������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������83��8DDDDGw�83��83��4DDDDwx�83��������������������83��83��8���������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������3�8�3�8DDDDGw�8�3�8�3�4DDDDws�88�3�0������������������3�8�3�8�3�8����������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������3���3��DDDDGw���3���3��DDDDws������3��������������������3���3���3������������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������3���3DDDDGw�3���3���4DDDDwx�3���3���3�������������������3���3���3����������������������F􈈈��������������������������������������������������������������������������������������������������������������������������������������������������������8�3DDDDGw�3�8�3�8�4DDDDwx�3�8�3�8�3��������������8�3�8�3�8�3����������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������3�DDDDGw3��83��83�DDDDwx3��83��83�������3���������������3��83��83�����������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw3���3���3�DDDDwx3���3���3������3���������������3���3���3�����������������������F􈈈������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��3���3���DDDDwx��3���3���3�3���3���������������3���3���3��������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�83��83��4DDDDwx�83��83��83��083��83��83����������83��83��83���������������������F􈈈���������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�8�3�8�3�4DDDDws�8�3�8�3�8�3�8�3�8�3�8�3�8�3���������8�3�8�3�8�1��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�3���3��DDDDws���3���3���3���3���3���3���3�����������3���3���1��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�3���4DDDDwx�3���3���3���3���3���3���3���3�������3���3���3����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw3�8�4DDDDwx�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3���3�8�3�8�3�8��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw83�DDDDwx3��83��83��83��83��83��83��83��83��83��83��83��8��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDwx3���3���3���3���3���3���3���3���3���3���3���3����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���DDDDwx��3���3���3���3���3���3���3���3���3���3���3���3��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�����DDDDwx�83��83��83��83��83��83��83��83��83��83��83��83���������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�������DDDDws�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��������DDDDwq��3���3���3���3���3���3���3���3���3���3���3���3��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwq���3���3���3���3���3���3���3���3���3���3���3����������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwq�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwq�83��83��83��83��83��83��83��83��83��83��83�������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwq3���3���3���3���3���3���3���3���3���3���3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwx��3���3���3���3���3���3���3���3���3���3���������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwx�����83��83��83��83��83��83��83��83��83��1������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDwx�����8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3�1������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDw�������3���3���3���3���3���3���3���3���3��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDw���������3���3���3���3���3���3���3���3���3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����������DDDDw�����������8�3�8�3�8�3�8�3�8�3�8�3�8�3�8�3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����wwwwwtDDDDwwwwwwwww��������83��83��83��83��83��83��83������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����wwwwwtDDDDwwwwwwwww���������3���3���3���3���3���3���3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw����wwwwwtDDDDwwwwwwwww����������3���3���3���3���3���3���1�����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDGw�����������3��83��83��83��83��83��81�����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDGw��������������8�3�8�3�8�3�8�3�8�3�8������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDGw����������������3���3���3���3���3��������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDGw������������������3���3���3���3���3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDGw��������������������8�3�8�3�8�3�8�3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDGw���������������������3��83��83��83������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDO�������������������������3���3���3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDO����������������������������3���3���3�����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw��DDDDDDDDDDDDDDDDDDDH���������������������������83��83��83�����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���������������������������������������������������3�8�3�8�1����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�������������������������������������������������������3���3����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���������������������������������������������������������3������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���������������������������������������������������������3�8����������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�����������������������������������������������������������8���������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw���������������������������������������������������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������������DDDDGw�����������������������������������������������������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������wwwwwwDDDDGwwwwwwww�����������������������������������������������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������wwwwwwDDDDGwwwwwwwwx�������������������������������������������������������������������������F􈈈�����������������������������������������������������������������������������������������������������������������������������������������������������wwwwwwDDDDGwwwwwwwwx���������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDDw����������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDDw������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDDwx������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDDw������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDDw������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDDwx������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDD��������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDD��������������������������������������������������������������������������������F􈈈����������������������������������������������������������������������������������������������������������������������������������������������������DDDDDDDDDDDDDDDDDDD��������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F􈈈�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������F�0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _R0O0S7SMK 5158607955Lcz�� WINDOWS _QYK0TL121 515860795������	^� WINDOWS _QYK0XT9EK 510689134�����=		
 WINDOWS _QYK0XT9FY 511149504�)t\�� WINDOWS _QYK0XT9H2 511149504���2��
 WINDOWS _QYK0XT9I6 510689134��`�u9�6
 COMMENT FONTINFO            ��VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentName = "Dataenvironment"
11
tsbaseform..\libs\tsbase.vcxformfrmDatabaseUtils�DataSession = 1
Height = 130
Width = 252
DoCreate = .T.
BorderStyle = 2
Caption = "Database Utilities"
WindowType = 1
ctoolbar = 
lallowdelete = .F.
lallowedits = .F.
lallownew = .F.
Name = "frmDatabaseUtils"
,PROCEDURE Click
RELEASE thisform
ENDPROC

tscheckboxcheckboxuTop = 90
Left = 140
Height = 26
Width = 76
Cancel = .T.
Caption = "\<Cancel"
TabIndex = 4
Name = "cmdCancel"
!Arial, 1, 8, 5, 14, 11, 14, 3, 0
..\libs\tsbase.vcx_PROCEDURE Click
thisform.cmdOK.Enabled = this.Value OR thisform.chkValidate.Value

ENDPROC

commandbuttonfrmDatabaseUtilsfrmDatabaseUtilscmdOK
commandbutton..\libs\tsbase.vcxtscommandbuttoncheckbox
chkRebuildfrmDatabaseUtilsdTop = 50
Left = 60
Caption = "\<Rebuild Indexes"
Value = .F.
TabIndex = 2
Name = "chkRebuild"
tscommandbutton..\libs\tsbase.vcx	cmdCancel
tscheckboxbTop = 25
Left = 60
Caption = "\<Validate DBC"
Value = .F.
TabIndex = 1
Name = "chkValidate"
frmDatabaseUtilschkValidate..\libs\tsbase.vcx`PROCEDURE Click
thisform.cmdOK.Enabled = this.Value OR thisform.chkRebuild.Value
  
ENDPROC
�PROCEDURE Click
IF thisform.chkValidate.Value
  thisform.ValidateDBC()
ENDIF

IF thisform.chkRebuild.Value
  thisform.RebuildIndexes()
ENDIF

RELEASE thisform
  
ENDPROC
n*rebuildindexes Rebuilds indexes for all tables in the current DBC.
*validatedbc Validates the current DBC.
|Top = 90
Left = 40
Height = 26
Width = 76
Caption = "\<OK"
Default = .T.
Enabled = .F.
TabIndex = 3
Name = "cmdOK"
PROCEDURE rebuildindexes
*-- (c) Microsoft Corporation 1995

LOCAL laTables[1], ;
      i

CLOSE TABLES
FOR i = 1 to ADBOBJECTS(laTables, "Table")
  IF !EMPTY(laTables[i])
    IF !USED(laTables[i])
      USE (laTables[i]) IN 0 EXCL
      SELECT (laTables[i])
      WAIT WINDOW NOWAIT REINDEXING_LOC + UPPER(ALLTRIM(laTables[i])) + ".DBF"
      REINDEX
    ENDIF
  ENDIF
ENDFOR
CLOSE TABLES
WAIT WINDOW NOWAIT DONE_LOC

ENDPROC
PROCEDURE validatedbc
#DEFINE OUTFILE  "valdbc.txt"
CLOSE TABLES

IF FILE(OUTFILE)
  DELETE FILE OUTFILE
ENDIF

this.WaitMode(.T.)
WAIT WINDOW NOWAIT VALIDATING_LOC
VALIDATE DATABASE TO FILE OUTFILE NOCONSOLE
WAIT CLEAR
this.WaitMode(.F.)

MODIFY FILE OUTFILE NOMODIFY NOMENU

DELETE FILE OUTFILE
ENDPROC
b..\include\tastrade.hr-A�($..\..\..\..\..\..\vfp6\foxpro.hz.�#..\include\strings.h�/A�($���� ��;%DYS�U
<��UTHISFORMClick,��1q1!)���� ���%����U&#T�������
�����UTHISFORMCMDOKENABLEDTHISVALUECHKVALIDATEClick,��112T)���� ����%����U&#T�������
�����UTHISFORMCMDOKENABLEDTHISVALUE
CHKREBUILDClick,��112U)�L��� 339%��	��UR%������ �
��C�����%������D�
��C�����<��UTHISFORMCHKVALIDATEVALUEVALIDATEDBC
CHKREBUILDREBUILDINDEXESClick,��11�A2�Ar2�)3���� ���X%�E
�U��������1�$�����(�C���Table�����%�CC���
����%�CC���
����Q���C����F�C����,R,:��Reindexing: CCC���f�.DBF��;�����1�R,:��Done��ULATABLESI�1�%�C�
valdbc.txt0��2���
valdbc.txt�����Ca����R,:��Validating ...����(��
valdbc.txt�9�R���C-����/��
valdbc.txt������
valdbc.txt��UTHISWAITMODErebuildindexes,��validatedbc��1RAQQQ��AAAAQ�3R�AA��qQ�bB1���)�BM�v(SX ���������������������������������������������������������������������L�����������������������������8������������L�����������������������������8������������L����������������������������8������������L����������������������������8������������L������������������������������1����������L����������������������������3�1����������L���������������������������83������������L���������������������������8�������������L�������������������������8���8�����������L�������������������������83��83���������L������������������������8�3�8�3����������L������������������������8���8������������L��������������������������8���8����������L������������������������3�8�3�8����������L�����������������������83��83��8���������L�����������������������8���8���8���������L���������������������8���8���8�����������L���������������������83��83��83���������L��������������������8�3�8�3�8�3�1��������L��������������������8���8���8���1��������L����������������������8���8���8����������L��������������������3�8�3�83�8�3��������L�������������������83��83��3��83��������L�������������������8���8�����8���������L�����������������8���8���1��8����������L�����������������83��83����83��1�������L�������������ww�8�3�8�3�1��8�3�8��������L�������������ww�8���8���������8��������L������������DDw���8������8����������L������������DDw�3�0������8�3��������L������������DDw83���������83��������L������������DDw8���������8���������L������������DDw�������p��8������L������������DDw����������81������L������������DDw�8����x�1������L�����ww�����DDw�8������������L�����ww�����DDw�������p1������L����DDw�����DDw�0����������L����DDw����8DDw80����������L����DDw����8DDw8�����������s������L����DDw��8��DDw���������8�������L����DDw��83�DDw���������83������L����DDw�8�3�DDw�1�����8�3������L����DDw�8���DDw��������8��������L����DDw���8�DDw�������������8������L����DDw�3�8�DDw����������3�8������L����DDw83��8DDw�����������3��8�����L����DDw8���8DDw��������������8����L����DDw��8��DDw�����������������8�������L����DDw��83�DDw�����������83������L����DDw�8�3�DDw���������8�3�1����L����DDw�8���DDw����������8���1����L����DDw���8�DDw�������������8������L����DDw�3�8�DDw�3���������3�8�3����L���8DDw83��8DDw80��������3��83����L���8DDw8���8DDw8�������������8�����L�8��DDw��8��DDw�������������8���1���L�83�DDw��83�DDw��83��������83��1���L����DDw�8�3�DDw�8�3�8��3�������3�8����L���DDw�8���DDw�8���8����8�������8����L���DDw���8�DDw���8���8���8���8���8������L����DDw�8�DDw�3�8�3�8�3�8�3�8�3�8�3����L����DDw8DDw83��83��83��83��83��83���L����DDw��DDw8���8���8���8���8���8�����L����DDw���DDw��8���8���8���8���8���8���L����DDw�����DDw�83��83��83��83��83��81��L����DDw�����DDw3�8�3�8�3�8�3�8�3�8�1��L����DDw�����DDw�8���8���8���8���8����L����DDw�����DDw���8���8���8���8���8��L����DDw�����DDw�����3�8�3�8�3�8�3�8��L����DDw�����DDw�������83��83��83���L����DDw��wwwDDwwwww����8���8���8���1�L����DDw��wwwDDwwwww������8���8���8���L����DDw�DDDDDDDDDDw����������83��83��L����DDw�DDDDDDDDDDw�����������3�8�3��L����DDw�DDDDDDDDDDw�������������8����L����DDw�DDDDDDDDDD����������������8��L����DDw�DDDDDDDDDD����������������8��L����DDw������������������������������L����DDw��������������������������������L�wwwDDwwwww������������������������������L�wwwDDwwwww�������������������������������LDDDDDDDDDDw�������������������������������LDDDDDDDDDDw�������������������������������LDDDDDDDDDDw�������������������������������LDDDDDDDDDD��������������������������������LDDDDDDDDDD��������������������������������L0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QYL0ZRKEB 510756135 1 53.    1.000    0.000    0.000   -1.000 F                                                 0 10   10T1212   FF                     T                F       WINDOWS _QYL0ZRKED           9  1                  14063.000    0.000                                                                        F  FFF           F                          WINDOWS _QYL0ZRKEE           9  4                   5000.000    0.000                                                                        F  FFF           F                          WINDOWS _QYL0ZRKEF           9  7                   5000.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60X56R9 493911332 5  08 6770.83319687.500 3437.50013333.3336        0    0    0   -1   -1   -1               7  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0; 6250.00018020.833 3958.333 2083.3339        0    0  255   -1   -1   -1               :  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0> 6770.83335833.333 3437.500 8750.000<        0    0    0   -1   -1   -1               =  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0A 6250.00034166.667 3958.333 2083.333?        0    0  255   -1   -1   -1               @  1 24  1          T   F          0                         TF3 0F WINDOWS _QYL0ZROIE 510756178 5  0D10937.50018750.000 2083.33310104.167B        0    0    0   -1   -1   -1               C  1 12  1          T   F          0                         TF3 0F WINDOWS _QYL0ZROIL 510756138 6   10312.500    0.000  104.16780104.167       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QYL0ZROIO 51147779617  0  312.500 6145.833 9166.667 8645.833G E                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QYL0ZVG5G 510756235 8  0H16041.667 5104.167 5208.33375000.000 I  C   -1   -1   -1   -1   -1   -1               J  0 10  1        T T   F          0          0       0 1    TF3 0F WINDOWS _QZI16PRED 512990967 8  0K 5000.00073333.333 2083.333 6770.833   D    0    0    0   -1   -1   -1               L  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI16PREE 512990967 5  0O 2083.33368333.333 2083.333 4062.500M        0    0    0   -1   -1   -1               N  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI16PREF 512990967 8  0P 2083.33375000.000 2083.333 5104.167   N    0    0    0   -1   -1   -1               Q  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI16PREN 512990967 5  0T 5000.00068333.333 2083.333 3645.833R        0    0    0   -1   -1   -1               S  1 12  1          T   F          0                         TF3 0F WINDOWS _QYL0ZROIB 51075613810  0    1.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000    8.000        4    0                                   U  0 10                                                             WINDOWS                     23      33.000   13.000   25.000   28.000        7    1                                   V  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   33.000        7    1                                   W  1 24                                                             WINDOWS                     23      20.000    8.000   15.000   17.000        4    1                                   X  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   17.000        3    1                                   Y  0 12                                                             WINDOWS                     25   Z[                                     F                                                                                                                 ^!�L$�Q��5�p�кCourier Newf��3�f�J�L*WINSPOOLHP LaserJet 4Si/4SiMX PS\\msprint32\privjLHP LaserJet 4Si/4SiMX PS��w�
odXX��m<������� �R�d��������������������������Custom page 1�B�BCustom page 2�B�BCustom page 3�B�B�DRIVER=WINSPOOL
DEVICE=HP LaserJet 4Si/4SiMX PS
OUTPUT=\\msprint32\privj
ORIENTATION=0
PAPERSIZE=1
PAPERLENGTH=2794
PAPERWIDTH=2159
SCALE=100
COPIES=1
DEFAULTSOURCE=7
PRINTQUALITY=600
DUPLEX=1
YRESOLUTION=600
TTOPTION=3
"@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial
"Code Report" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"
viewcode.code Courier NewDATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialdataenvironmentJLeft = 1
Top = 220
Width = 520
Height = 120
Name = "Dataenvironment"
0b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QYL0ZQ4OH 510756099 1 53.    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QYL0ZQ4OJ           9  1                  13438.000    0.000                                                                        F  FFF           F                          WINDOWS _QYL0ZQ4OK           9  4                   7084.000    0.000                                                                        F  FFF           F                          WINDOWS _QYL0ZQ4OL           9  7                   5000.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60X56R9 493911332 5  08 6770.83319687.500 3437.50013333.3336        0    0    0   -1   -1   -1               7  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0; 6250.00018020.833 3958.333 2083.3339        0    0  255   -1   -1   -1               :  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0> 6770.83335833.333 3437.500 8750.000<        0    0    0   -1   -1   -1               =  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0A 6250.00034166.667 3958.333 2083.333?        0    0  255   -1   -1   -1               @  1 24  1          T   F          0                         TF3 0F WINDOWS _QYL0ZQZWD 510756166 5  0D10937.50018750.000 2083.333 9166.667B        0    0    0   -1   -1   -1               C  1 12  1          T   F          0                         TF3 0F WINDOWS _QYL0ZQZWE 510756120 6   10312.500    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QYL0ZQZWH 51147762017  0  312.500 6250.000 9166.667 8645.833G E                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QYL0ZU47X 510756279 8  0H15520.833 1041.667 6875.00078229.167 I  C    0    0    0   -1   -1   -1               J  0 10  1        T T   F          0          0       0 1    TF3 0F WINDOWS _QZI128EJ4 512986697 8  0K 4375.00073333.333 2083.333 6770.833   D    0    0    0   -1   -1   -1               L  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI128EJ5 512986697 5  0O 1458.33368333.333 2083.333 4062.500M        0    0    0   -1   -1   -1               N  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI128EJ6 512986697 8  0P 1458.33375000.000 2083.333 5104.167   N    0    0    0   -1   -1   -1               Q  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI128EJ7 512986697 5  0T 4375.00068333.333 2083.333 3645.833R        0    0    0   -1   -1   -1               S  1 12  1          T   F          0                         TF3 0F WINDOWS _QYL0ZQZW1 51075612010  0    1.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000    8.000        4    0                                   U  0 10                                                             WINDOWS                     23      33.000   13.000   25.000   28.000        7    1                                   V  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   33.000        7    1                                   W  1 24                                                             WINDOWS                     23      20.000    8.000   15.000   17.000        4    1                                   X  1 12                                                             WINDOWS                     23      16.000    6.000   13.000   14.000        3    0                                   Y  0 10                                                             WINDOWS                     23      19.000    7.000   15.000   17.000        3    1                                   Z  0 12                                                             WINDOWS                     25   [\                                     T                                                                                                                  WINDOWS                     26   5_                                                                                                                                                       e!3m����P�,���Courier New����������L*WINSPOOLHP LaserJet 4Si/4SiMX PS\\msprint32\privjLHP LaserJet 4Si/4SiMX PS��w�
o�XX����_�����jQ�R���������������������������Custom page 1�B�BCustom page 2�B�BCustom page 3�B�B�DRIVER=winspool
DEVICE=LaserNT
OUTPUT=Ne00:
ORIENTATION=0
PAPERSIZE=1
PAPERLENGTH=2794
PAPERWIDTH=2159
SCALE=0
COPIES=1
DEFAULTSOURCE=7
PRINTQUALITY=600
DUPLEX=1
YRESOLUTION=600
TTOPTION=3
YRESOLUTION=600
TTOcursor"@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Case Study"(c) Microsoft Corporation 1995
"..\bitmaps\ttradesm.bmp"
behindsc.desc ArialDATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialArialdataenvironmentKLeft = 80
Top = 167
Width = 480
Height = 193
Name = "Dataenvironment"
�Left = 117
Top = 29
Width = 146
Height = 99
Alias = "behindsc"
CursorSource = ..\data\behindsc.dbf
Filter = 'SCREEN_ID = "*Case Study"'
Name = "Cursor1"
0bmPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _QZP1E5ZQ8 5134569075Lcz�� WINDOWS _QYK14DGR0 554601844����� COMMENT RESERVED            ��	
PVERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironmentName = "Dataenvironment"
12
tstextform..\libs\tsbase.vcxformfrmViewCodeHeight = 341
Width = 578
DoCreate = .T.
BorderStyle = 3
Caption = "Code Window"
MaxButton = .F.
Name = "frmViewCode"
edtText.ColorSource = 0
edtText.ControlSource = ""
edtText.Name = "edtText"
cmdClose.Name = "cmdClose"
cmdPrint.TabIndex = 3
cmdPrint.Name = "cmdPrint"
�PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LPARAMETER tnCallingFormDataSessionID
this.DataSessionID = tnCallingFormDataSessionID
thisform.edtText.ControlSource = "viewcode.code"
thisform.edtText.Refresh()
ENDPROC
PROCEDURE cmdPrint.Click
LOCAL lnAnswer
lnAnswer = MESSAGEBOX(VIEWCODEPRINT_LOC, ;
                      MB_ICONQUESTION + MB_YESNO, ;
                      TASTRADE_LOC)
IF lnAnswer = IDYES
  thisform.WaitMode(.T.)
  IF PRINTSTATUS()
    WAIT WINDOW NOWAIT PRINTING_LOC
    REPORT FORM viewcode TO PRINTER NOCONSOLE
  ELSE
    =MESSAGEBOX(PRINTERNOTREADY_LOC, MB_ICONEXCLAMATION)
  ENDIF
  WAIT CLEAR
  thisform.WaitMode(.F.)
ENDIF

ENDPROC
BArial, 0, 8, 5, 14, 11, 12, 3, 0
Arial, 1, 8, 5, 14, 11, 12, 3, 0
���� ��*�%N&�UJ���T������ T�����
viewcode.code����C�����UTNCALLINGFORMDATASESSIONIDTHIS
DATASESSIONIDTHISFORMEDTTEXT
CONTROLSOURCEREFRESH����[T��C�4This report may be lengthy. Do you want to continue?�$�Tasmanian Traders�x��%���������Ca����%�C�����R,:��Printing ...��?�viewcode(!9����!��C�Printer not ready.�0�x���R���C-�����ULNANSWERTHISFORMWAITMODEVIEWCODEInit,��cmdPrint.Click���1s2q���q1�AQ�A2���	)�b..\include\tastrade.h:�A�($..\..\..\..\..\..\vfp6\foxpro.hB��#..\include\strings.hJ�A�($BM�v(�����������������������������������������������������������������O��DDO��G��DD������DO������D�������O�D��G�����DD���������������������������������%
e�($����s����"��\<Items�-�9��2Add and delete line items for the Order Entry form���C�
frmorderentry�
�
N����ALT+I��ALT+I��1��������s��
N�������|s�����"��\<Add Line Item���#Add line items to the current order���C�
�
�9��
��CTRL+INS��Ctrl+Ins���s�����"��\<Remove Line Item���#Remove items from the current order���C�
�
�9��
�+C� _screen.Activeform.Activecontrolb�O�C�9���f�GRID��CTRL+DEL��Ctrl+Del��21������� _screen.Activeform.GridAddItem()�51�������#_screen.Activeform.GridRemoveItem()�-1���"*-- (c) Microsoft Corporation 1995�U
ORDERENTRYITEMSFORMISOBJECT
ACTIVEFORMLALLOWEDITSLALLOWDELETE
ACTIVECONTROL	BASECLASS�Q"�d!Q�1BMz>(�����1\Ё3d�p� \�ox�pu�ic�: �fo�\u�j:�\f�ve�1\�zaBMz>(�����DI��OX��MP��ORBM�FO�{PG�rMP�`RS�@C_�`BM�rHV�{NE�MP�NTBMz>(�����DI��OX��MP��OR��BM�FO�PG�MP�RS�C_��BM��HV��NE��MP��NTBMz>(�����1\��3d��p�� \��ox��pu��ic�O: ��fo��\u��j:��\f��ve��1\��zaBMz>(�����1\��3d��p�� \��ox�pu�?ic�: �?fo�\u��j:��\f��ve��1\��zaBMz>(�����1\��3d��p�� \�?ox�?pu�?ic�?: �?fo�?\u�?j:��\f��ve��1\��za0b+mPLATFORMCUNIQUEIDC	
TIMESTAMPN
CLASSMCLASSLOCM!BASECLASSM%OBJNAMEM)PARENTM-PROPERTIESM1PROTECTEDM5METHODSM9OBJCODEM=OLEMAOLE2MERESERVED1MIRESERVED2MMRESERVED3MQRESERVED4MURESERVED5MYRESERVED6M]RESERVED7MaRESERVED8MeUSERMi
 COMMENT Screen               WINDOWS _RA30OYU9Z 5528195955Lcz/�c WINDOWS _RA30OYUAA 553347964lz��� WINDOWS _RAB0ZLY6O 553347964GUcr� WINDOWS _RAB12HY2U 553347964,:I` WINDOWS _RAB12HY2V 553347964�$; WINDOWS _RAB12HY34 548048694��- WINDOWS _RAB12LZWW 553347964����	 WINDOWS _RAB12LZX6 553347964�	�	�	�	�	 WINDOWS _RA30OYUAL 553347964�
�
�
�
�
�fZ�( WINDOWS _RA30OYUAT 552819595)+)E)Q)e)z)�-:@ WINDOWS _RA30OYUBN 547511548c0q00�0�0 WINDOWS _RA30OYUBO 547511548
11+181a1 WINDOWS _RA30OYUBX 551705209�1�1�1�1�12 WINDOWS _RA30OYUBY 547511548�2�2�2�2�2 WINDOWS _RA30OYUC7 547511548F3U3d3q3�3 WINDOWS _RA30OYUC8 5475115484 4.4A4o4 WINDOWS _RA30OYUC9 547511548�4�4�4�4)5 WINDOWS _RA30OYUCH 547511548�5�5�5�5�5 WINDOWS _RA30OYUCI 547511548`6o6~6�6�6 WINDOWS _RA30OYUCR 547511548.7<7J7^7�7 WINDOWS _RA30OYUCS 547511548�7�788J8 WINDOWS _RA30OYUCT 552819595�8�8�8�899s<Zf WINDOWS _RA30OYUDC 547511548cCqCC�C�C WINDOWS _RA30OYUDD 551227001DD$D1D\D WINDOWS _RA30OYUDM 547511548�D�DEE@E WINDOWS _RA30OYUDN 551227001�E�E�E�E�E WINDOWS _RA30OYUDW 548032361dFrF�F�F�F WINDOWS _RA30OYUDX 551227001	GG'G4G_G WINDOWS _RA30OYUDY 547511548�G�G�G	H4H WINDOWS _RA30OYUDZ 551227001�H�H�H�H�H WINDOWS _RAB0LEOAF 548032763WIeIsI�I�I WINDOWS _RAB0LEOAG 548032361�IJJ!JLJ WINDOWS _RAB0LEOAH 552819595�J�J�J�J�J#KK�% WINDOWS _RA30OYUE6 548043814�M�M�M�M�M
N WINDOWS _RA30OYUE7 548054035lN}NC�'�N�N WINDOWS _RA30OYUEG 552819595�B�B�B�B�BB$Oz! WINDOWS _RA30OYUEH 552819595���M�F'�Xe WINDOWS _RA30OYUEQ 548054035�MsMdMSM>M�A WINDOWS _RAB0HRGUR 552819595'M
M�L�L�L\L)V� WINDOWS _RAB0XC3B3 548043814TCBLGC7C"C�/ WINDOWS _RAB0XC3BD 548054035p(V(G(5(N�' COMMENT RESERVED            �|i�VERSION =   3.00..\include\tastrade.hdataenvironmentdataenvironmentDataenvironment�Left = 82
Top = 204
Width = 558
Height = 272
AutoCloseTables = .F.
InitialSelectedAlias = "customer"
Name = "Dataenvironment"
pPROCEDURE BeforeOpenTables
SET TALK OFF
SET EXCLUSIVE OFF
SET DELETED ON
SET DATABASE TO tastrade
ENDPROC
tscommandbutton..\libs\tsbase.vcx
commandbutton
frmordhistory8cArial, 0, 8, 5, 14, 11, 20, 3, 0
Arial, 0, 9, 5, 15, 12, 21, 3, 0
Arial, 1, 8, 5, 14, 11, 14, 3, 0

frmordhistory2cursorcursorCursor4Dataenvironment�Left = 16
Top = 28
Width = 90
Height = 100
Alias = "customer"
Database = ..\data\tastrade.dbc
CursorSource = "customer"
Name = "Cursor4"
cursorcursorCursor1Dataenvironment�Left = 152
Top = 30
Width = 90
Height = 87
Alias = "orders"
Database = ..\data\tastrade.dbc
CursorSource = "orders"
Name = "Cursor1"
cursorcursorCursor2Dataenvironment�Left = 10
Top = 140
Width = 90
Height = 89
Alias = "products"
Database = ..\data\tastrade.dbc
CursorSource = "products"
Name = "Cursor2"
cursorcursorCursor3Dataenvironment�Left = 150
Top = 140
Width = 90
Height = 89
Alias = "order_line_items"
Database = ..\data\tastrade.dbc
CursorSource = "order_line_items"
Name = "Cursor3"
relationrelation	Relation1Dataenvironment�ParentAlias = "products"
RelationalExpr = "product_id"
ChildAlias = "order_line_items"
ChildOrder = "product_id"
Name = "Relation1"
cursorcursorCursor5Dataenvironment�Left = 270
Top = 27
Width = 99
Height = 159
Alias = "citems"
Database = ..\data\tastrade.dbc
CursorSource = "order history line items"
Name = "Cursor5"
cursorcursorCursor6Dataenvironment�Left = 397
Top = 35
Width = 90
Height = 89
Alias = "history"
Database = ..\data\tastrade.dbc
CursorSource = "order history"
Name = "Cursor6"

tsbaseform..\libs\tsbase.vcxform
frmordhistory�DataSession = 2
Top = 11
Left = 13
Height = 354
Width = 606
DoCreate = .T.
AutoCenter = .F.
Caption = "Order History"
oordentryform = .NULL.
lallowdelete = .F.
lallownew = .F.
lallowedits = .F.
Name = "frmordhistory"
�PROCEDURE calcbalance
LOCAL lnBalance, liSelect, liRecno

liSelect = SELECT()

SELECT history
liRecno = IIF(EOF(),0,RECNO())
SUM history.ord_total FOR !history.paid TO lnBalance
IF m.liRecno # 0
	GO m.liRecno
ENDIF
SELECT (liSelect)

RETURN lnBalance
ENDPROC
PROCEDURE Destroy
tsBaseForm::Destroy()

*-- If this form is linked to an Order Entry form, 
*-- reset any properties that may have changed on
*-- that form by calling its ClearLink() method
IF TYPE("thisform.oOrdEntryForm") = "O" AND ;
	!ISNULL(thisform.oOrdEntryForm)
    
  thisform.oOrdEntryForm.ClearLink()
  thisform.RemoveFromMenu(thisform.cOriginalFormCaption)
ENDIF

*-- Decrement the number of instances
IF !EMPTY(thisform.cOriginalFormName) AND TYPE("oApp") == 'O' AND !ISNULL(oApp)
  oApp.RemoveInstance(thisform.cOriginalFormName)
ENDIF


IF USED("cItems") AND TYPE("oApp") == 'O' AND !ISNULL(oApp) AND !oApp.lQuitting
  =TABLEREVERT(.T., "cItems")
ENDIF
ENDPROC
PROCEDURE QueryUnload
RETURN .T.
ENDPROC
PROCEDURE savewindowpos
*-- Override for multiple instance staggering logic
ENDPROC
PROCEDURE restorewindowpos
*-- Override for multiple instance staggering logic
ENDPROC
PROCEDURE refreshform
thisform.LockScreen = .T.
*- disable Paid checkbox if adding a new order
THISFORM.grdOrdHistory.column5.chkPaid.Enabled = !THISFORM.cmdAddToCurrentOrder.Enabled
*- enable Find button only if not adding a new order
THISFORM.cmdFind.Enabled = !(THISFORM.cmdAddToCurrentOrder.Enabled)
=REQUERY("history")
GO TOP IN history
=SEEK(history.order_id,"orders","order_id")
=REQUERY("citems")
thisform.Refresh()
THISFORM.txtBalance.Value = THISFORM.CalcBalance()

#IF 0
THISFORM.grdOrdHistory.SetFocus()
#ENDIF
SELECT customer
thisform.LockScreen = .F.

ENDPROC
PROCEDURE datachanged
=TABLEREVERT(.T., 'citems')
RETURN .F.
ENDPROC
PROCEDURE Init
*-- (c) Microsoft Corporation 1995

LPARAMETERS toOrdEntryForm
LOCAL lnNumParms, ;
      lcFilter, i, ;
      loCustomerForm, ;
      liDataSession, ;
      lcCustomer_ID, ;
      lcWonTop 

thisform.Left = 11
thisform.Top = 2
thisform.cOriginalFormCaption = thisform.Caption


lnNumParms = PARAMETERS()

*-- Change form's caption and name before calling 
*-- tsBaseForm::Init() to ensure that the proper suffix
*-- has been added to both the name and caption to 
*-- support multiple instances of this form.
*-- Only one instance per order entry form is permitted, so
*-- if this instance is attached to an Order Entry form, 
*-- we won't worry about changing the name caption
IF lnNumParms = 0
  thisform.cOriginalFormName = thisform.Name
  thisform.Name = thisform.Name + ALLT(STR(oApp.AddInstance(thisform)))
  thisform.Caption = thisform.Caption + ":" + ;
                      RIGHT(ALLT(thisform.Name), 1)
ENDIF

tsBaseForm::Init


IF lnNumParms > 0
  thisform.oOrdEntryForm = toOrdEntryForm
  thisform.cmdAddToCurrentOrder.Enabled = .T.
  thisform.Caption = thisform.Caption + ;
                     LOWERFOR_LOC + ;
                     toOrdEntryForm.GetCustomerName()
ELSE
  thisform.cmdAddToCurrentOrder.Enabled = .F.
ENDIF

lcWonTop = LOWER(WONTOP())
FOR i = 1 TO _screen.FormCount
	IF LOWER(_screen.Forms[i].name) == "frmorderentry" AND ;
		lcWonTop == "frmorderentry"
		toOrdEntryForm = _screen.Forms[i]
		EXIT
	ENDIF
	IF LOWER(_screen.Forms[i].name) == "frmcustomers" AND ;
		lcWonTop == "frmcustomers"
		loCustomerForm = _screen.Forms[i]
		EXIT
	ENDIF
NEXT

IF lnNumParms > 0 OR TYPE("toOrdEntryForm ") == 'O'
  *-- use customer number on order entry form
  =SEEK(toOrdEntryForm.GetCustomerID(),"customer","customer_i")
ELSE
  IF TYPE("loCustomerForm") == 'O'
    *-- use customer number on customer form
    liDataSession = THISFORM.datasessionID
    SET DATASESSION TO loCustomerForm.datasessionID
    lcCustomer_ID = customer.customer_id
    SET DATASESSION TO liDataSession
    =SEEK(m.lcCustomer_ID,"customer","customer_i") 
  ENDIF
ENDIF

*- RefreshForm will be called in Activate
THISFORM.grdOrdHistory.RecordSource = "history"
THISFORM.grdLineItems.RecordSource = "cItems"
THISFORM.nOrderRec = RECN("history")

ENDPROC
PROCEDURE Activate
tsBaseForm::Activate
THISFORM.RefreshForm

ENDPROC
b..\include\tastrade.h�
A�($..\..\..\..\..\..\vfp6\foxpro.h��#..\include\strings.h�A�($w��� ^^�%���U@���F��%�C�������w%�C�LThe marked items have not been added to the order. Discard the marked items?�4�Tasmanian Traders�x�����#��history������F��B����
��Ca����F��� T��C�findCustomer����%�C��
��/�#��C��customer�
customer_i����
���	�U

LCCUSTOMER_IDCITEMS
TSBASEFORMDATACHANGEDTHISFORM	NORDERRECCUSTOMEROAPPDOFORMRETVALREFRESHFORMClick,��1qt!s�qA��AqA1A�1H)^
��� ��1�%|���U�������F��%�C�������w%�C�LThe marked items have not been added to the order. Discard the marked items?�4�Tasmanian Traders�x�����#��history������F��B����
��Ca���F����F��<��UTSCOMMANDBUTTONCLICKCITEMS
TSBASEFORMDATACHANGEDTHISFORM	NORDERRECCUSTOMERClick,��1�t!s�qA��qAAqr1�)�U��� <<�F%��(��U*������
T���������T������T�������T��CW��T��	�a��T���	�a��T����
��T������
F����R,:��Updating Order��~�w�%���
��s�T������T������T������G�(����Fr��order_line_items�������������������G�(����T����������Ca�cItems���%�������G�(����F���C����#6�G�(�����
F������C�����
��C������C�����T���	�-��R�<��ULCALIASLOGRID	LNOLDAREALNNUMITEMSADDEDLNTHISSESSIONIDLNTARGETSESSIONIDTHISFORM
DATASESSIONID
OORDENTRYFORM
LOCKSCREENGRDLINEITEMSRECORDSOURCECITEMSEXP_1LCPRODUCTID
PRODUCT_IDLNUNITPRICE
UNIT_PRICE
LNQUANTITYQUANTITYORDER_IDORDERSORDER_LINE_ITEMS	CLEARLINKHIDEREFRESHFORMClick,��14��1������d�AA2�q�Q�A��Qq5�)<g��� NN�%���Ua&%�C���orders�order_id���Z�>��������
����T����C��	���U
HISTORYORDER_IDORDERSPAIDTHISVALUETHISFORMSAVE
TXTBALANCECALCBALANCEClick,��1a1�qA1�)NfTop = 312
Left = 379
Height = 26
Width = 222
Cancel = .T.
Caption = "Close"
Name = "cmdCancel"
txtCustomerfEnabled = .F.
Format = "K$"
InputMask = "99,999,999.99"
Left = 122
Top = 80
Name = "txtBalance"

txtBalancetextbox..\libs\tsbase.vcx	tstextbox�oordentryform
coriginalformcaption
coriginalformname
norderrec Record number of current order
*calcbalance Calcularte balance due for customer
tsgrid..\libs\tsbase.vcxgridgrdLineItems
frmordhistoryvColumnCount = 5
Height = 168
Left = 12
Panel = 1
RecordSource = "cItems"
RowHeight = 21
ScrollBars = 2
TabIndex = 1
Top = 131
Width = 591
cfieldtosum = extension
Name = "grdLineItems"
Column1.FontBold = .F.
Column1.FontSize = 8
Column1.ControlSource = "citems.exp_1"
Column1.CurrentControl = "chkItemTag"
Column1.Width = 36
Column1.Sparse = .F.
Column1.Name = "grcTag"
Column2.FontBold = .F.
Column2.FontSize = 8
Column2.ControlSource = "citems.product_name"
Column2.Enabled = .F.
Column2.Width = 240
Column2.ReadOnly = .T.
Column2.Name = "grcProduct"
Column3.FontBold = .F.
Column3.FontSize = 8
Column3.ControlSource = "citems.quantity"
Column3.Enabled = .F.
Column3.Width = 93
Column3.ReadOnly = .T.
Column3.Name = "grcQuantity"
Column4.FontBold = .F.
Column4.FontSize = 8
Column4.ControlSource = "citems.unit_price"
Column4.Enabled = .F.
Column4.Width = 98
Column4.ReadOnly = .T.
Column4.Name = "grcUnitPrice"
Column5.FontBold = .F.
Column5.FontSize = 8
Column5.ControlSource = "citems.extension"
Column5.Enabled = .F.
Column5.Width = 104
Column5.ReadOnly = .T.
Column5.Name = "grcExtension"
PROCEDURE Refresh
tsGrid::Refresh()
this.Enabled = .t.		&& !IsNull(thisform.oOrdEntryForm)
*- disable tag checkbox in grid if items can't be added to current order
THIS.grcTag.chkItemTag.Enabled = THISFORM.cmdAddToCurrentOrder.Enabled
SELECT customer

ENDPROC
���� ���'%`�z�U&G2�G�G �G(�tastrade�UTASTRADEBeforeOpenTables,��1aaa1e)�_Caption = "Current Balance:"
Height = 22
Left = 19
Top = 84
Width = 96
Name = "Tslabel2"
headerheadergrhTag!frmordhistory.grdLineItems.grcTagOFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Tag"
Name = "grhTag"
textboxtextboxText1!frmordhistory.grdLineItems.grcTag=FontSize = 8
BorderStyle = 0
TabIndex = 1
Name = "Text1"

tscheckbox..\libs\tsbase.vcxcheckbox
chkItemTag!frmordhistory.grdLineItems.grcTaggHeight = 10
Width = 10
FontBold = .F.
Caption = ""
Value = .F.
TabIndex = 2
Name = "chkItemTag"
headerheader
grhProduct%frmordhistory.grdLineItems.grcProductWFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Product"
Name = "grhProduct"
textboxtextboxText1%frmordhistory.grdLineItems.grcProductlFontBold = .F.
FontSize = 8
BorderStyle = 0
Enabled = .F.
ReadOnly = .T.
TabIndex = 1
Name = "Text1"
headerheadergrhQuantity&frmordhistory.grdLineItems.grcQuantityYFontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Quantity"
Name = "grhQuantity"
textboxtextboxText1&frmordhistory.grdLineItems.grcQuantitylFontBold = .F.
FontSize = 8
BorderStyle = 0
Enabled = .F.
ReadOnly = .T.
TabIndex = 1
Name = "Text1"
headerheadergrhUnitPrice'frmordhistory.grdLineItems.grcUnitPrice\FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Unit Price"
Name = "grhUnitPrice"
textboxtextboxText1'frmordhistory.grdLineItems.grcUnitPricelFontBold = .F.
FontSize = 8
BorderStyle = 0
Enabled = .F.
ReadOnly = .T.
TabIndex = 1
Name = "Text1"
headerheadergrhExtension'frmordhistory.grdLineItems.grcExtension[FontBold = .F.
FontSize = 8
Alignment = 2
Caption = "Extension"
Name = "grhExtension"
textboxtextboxText1'frmordhistory.grdLineItems.grcExtensionlFontBold = .F.
FontSize = 8
BorderStyle = 0
Enabled = .F.
ReadOnly = .T.
TabIndex = 1
Name = "Text1"
tsgrid..\libs\tsbase.vcxgrid
grdOrdHistory
frmordhistoryOColumnCount = 5
Height = 121
HighlightRow = .T.
Left = 257
RecordMark = .T.
RecordSource = "history"
ScrollBars = 2
Top = 4
Width = 346
Name = "grdOrdHistory"
Column1.FontSize = 8
Column1.Alignment = 1
Column1.ControlSource = "history.order_id"
Column1.ReadOnly = .T.
Column1.Name = "Column1"
Column2.FontSize = 8
Column2.ControlSource = "history.order_date"
Column2.ReadOnly = .T.
Column2.Name = "Column2"
Column3.FontSize = 8
Column3.ControlSource = "history.deliver_by"
Column3.Width = 60
Column3.ReadOnly = .T.
Column3.Name = "Column3"
Column4.FontSize = 8
Column4.ControlSource = "history.ord_total"
Column4.ReadOnly = .T.
Column4.Name = "Column4"
Column5.FontSize = 8
Column5.ControlSource = "history.paid"
Column5.CurrentControl = "chkPaid"
Column5.Width = 31
Column5.Sparse = .F.
Column5.Name = "Column5"
�PROCEDURE AfterRowColChange
LPARAMETERS nColIndex

IF RECNO("history") == THISFORM.nOrderRec
	*- the user hasn't moved off of this record -- only changed columns, so ignore
	RETURN
ENDIF

*- if they checked a row in the items grid, give the
*- user the option to save items first
SELECT cItems
IF TSBaseForm::DataChanged()
	IF MESSAGEBOX(ITEMNOTSAVED_LOC, ;
		MB_ICONEXCLAMATION + MB_YESNO, ;
    	TASTRADE_LOC) == IDNO
    	GOTO THISFORM.nOrderRec IN "history"
    	THIS.Refresh
		SELECT customer
    	RETURN
    ELSE
    	=TABLEREVERT(.T.)
    ENDIF
ENDIF

SELECT orders
=SEEK(history.order_id, "orders", "order_id")
=REQUERY("cItems")
*- disable tag checkbox in grid if items can't be added to current order
THISFORM.grdLineItems.Refresh
THISFORM.grdLineItems.grcTag.chkItemTag.Enabled = THISFORM.cmdAddToCurrentOrder.Enabled
SELECT customer

*- update order record number
THISFORM.nOrderRec = RECNO("history")

ENDPROC
O��� 66�\%����UB��C�����T���a��T����������F��U	TSGRIDREFRESHTHISENABLEDGRCTAG
CHKITEMTAGTHISFORMCMDADDTOCURRENTORDERCUSTOMERRefresh,��1���q2)6zControlSource = "customer.customer_id"
Enabled = .F.
Height = 24
Left = 108
Top = 12
Width = 72
Name = "txtCustID"
�Top = 312
Left = 13
Height = 26
Width = 222
Caption = "\<Add checked items to current order"
Name = "cmdAddToCurrentOrder"

frmordhistorycmdAddToCurrentOrder
commandbutton..\libs\tsbase.vcxtscommandbuttontextbox
frmordhistoryTslabel2labeltslabelheaderheaderHeader1#frmordhistory.grdOrdHistory.Column1EFontSize = 8
Alignment = 2
Caption = "Order ID"
Name = "Header1"
textboxtextboxText1#frmordhistory.grdOrdHistory.Column1�FontSize = 8
Alignment = 1
BorderStyle = 0
Margin = 0
ReadOnly = .T.
ForeColor = 0,0,0
BackColor = 255,255,255
Name = "Text1"
headerheaderHeader1#frmordhistory.grdOrdHistory.Column2GFontSize = 8
Alignment = 2
Caption = "Order date"
Name = "Header1"
textboxtextboxText1#frmordhistory.grdOrdHistory.Column2wFontSize = 8
BorderStyle = 0
Margin = 0
ReadOnly = .T.
ForeColor = 0,0,0
BackColor = 255,255,255
Name = "Text1"
headerheaderHeader1#frmordhistory.grdOrdHistory.Column3GFontSize = 8
Alignment = 2
Caption = "Deliver On"
Name = "Header1"
textboxtextboxText1#frmordhistory.grdOrdHistory.Column3wFontSize = 8
BorderStyle = 0
Margin = 0
ReadOnly = .T.
ForeColor = 0,0,0
BackColor = 255,255,255
Name = "Text1"
headerheaderHeader1#frmordhistory.grdOrdHistory.Column4FFontSize = 8
Alignment = 2
Caption = "Order Amt"
Name = "Header1"
textboxtextboxText1#frmordhistory.grdOrdHistory.Column4wFontSize = 8
BorderStyle = 0
Margin = 0
ReadOnly = .T.
ForeColor = 0,0,0
BackColor = 255,255,255
Name = "Text1"
headerheaderHeader1#frmordhistory.grdOrdHistory.Column5AFontSize = 8
Alignment = 2
Caption = "Paid"
Name = "Header1"
textboxtextboxText1#frmordhistory.grdOrdHistory.Column5YBorderStyle = 0
Margin = 0
ForeColor = 0,0,0
BackColor = 255,255,255
Name = "Text1"

tscheckbox..\libs\tsbase.vcxcheckboxchkPaid#frmordhistory.grdOrdHistory.Column5THeight = 10
Width = 10
FontSize = 8
Caption = ""
Value = .F.
Name = "chkPaid"
�PROCEDURE Click
IF SEEK(history.order_id,"orders","order_id")
	REPLACE orders.paid WITH THIS.value
	THISFORM.Save
	THISFORM.txtBalance.Value = THISFORM.CalcBalance()
ENDIF
ENDPROC
..\libs\tsbase.vcxpTop = 12
Left = 192
Height = 24
Width = 24
Picture = ..\bitmaps\locate.bmp
Caption = ""
Name = "cmdFind"

frmordhistorycmdFind
commandbutton..\libs\tsbase.vcxtscommandbutton
frmordhistory	txtCustIDtextbox..\libs\tsbase.vcx	tstextbox	cmdCanceltslabel..\libs\tsbase.vcxlabelTslabel1
frmordhistoryZCaption = "Orders For:"
Height = 22
Left = 25
Top = 18
Width = 64
Name = "Tslabel1"
	tstextbox..\libs\tsbase.vcx
frmordhistorypControlSource = "customer.company_name"
Enabled = .F.
Left = 24
Top = 48
Width = 228
Name = "txtCustomer"
�PROCEDURE Click
LOCAL lcAlias, ;
      loGrid, ;
      lnOldArea, ;
      lnNumItemsAdded

lnNumItemsAdded = 0
LOCAL lnThisSessionID, ;
      lnTargetSessionID

*-- Here we save the current form's data session ID and
*-- the data session ID of the order entry form to which
*-- this form is "linked". It is used to switch sessions
*-- when adding items to the order entry form's grid.
lnThisSessionID = thisform.DataSessionID
lnTargetSessionID = thisform.oOrdEntryForm.DataSessionID

lnOldArea = SELECT()

*-- Prevent painting of both forms until we're done adding
*-- records
thisform.LockScreen = .T.
thisform.oOrdEntryForm.LockScreen = .T.
loGrid = thisform.grdLineItems
lcAlias = loGrid.RecordSource

SELECT (lcAlias)
WAIT WINDOW UPDATEORDER_LOC NOWAIT
SCAN
  *-- Check if tag is checked
  IF citems.exp_1
    lcProductID = citems.product_id
    lnUnitPrice = citems.unit_price
    lnQuantity = citems.quantity
    *-- Select the apppropriate data session
    SET DATASESSION TO (lnTargetSessionID)
    INSERT INTO order_line_items ;
      (order_id, product_id, unit_price, quantity) ;
      VALUES ;
      (orders.order_id, lcProductID, lnUnitPrice, lnQuantity)
    SET DATASESSION TO (lnThisSessionID)
    lnNumItemsAdded = lnNumItemsAdded + 1
  ENDIF
ENDSCAN

=TABLEREVERT(.T., "cItems")

*-- Delete any blank records in the Order Entry form
IF lnNumItemsAdded > 0
  SET DATASESSION TO (lnTargetSessionID)
  SELECT order_line_items
  DELETE FOR EMPTY(product_id) 
  GO BOTTOM
  SET DATASESSION TO (lnThisSessionID)
ENDIF  

SELECT (lnOldArea)

thisform.oOrdEntryForm.ClearLink()
thisform.Hide()
thisform.oOrdEntryForm.RefreshForm()
thisform.oOrdEntryForm.LockScreen = .F.
WAIT CLEAR
RELEASE thisform




ENDPROC
SPROCEDURE Click
LOCAL lcCustomer_id

*- if they checked a row in the items grid, give the
*- user the option to save items first
SELECT cItems
IF TSBaseForm::DataChanged()
	IF MESSAGEBOX(ITEMNOTSAVED_LOC, ;
		MB_ICONEXCLAMATION + MB_YESNO, ;
    	TASTRADE_LOC) == IDNO
    	GOTO THISFORM.nOrderRec IN "history"
		SELECT customer
    	RETURN
    ELSE
    	=TABLEREVERT(.T.)
    ENDIF
    SELECT customer
ENDIF

lcCustomer_id = oApp.DoFormRetVal("findCustomer")

IF !EMPTY(lcCustomer_id)
	=SEEK(lcCustomer_id,"customer","customer_i")
ENDIF

THISFORM.RefreshForm
ENDPROC
�PROCEDURE Click
tsCommandButton::Click

*- if they checked a row in the items grid, give the
*- user the option to save items first
SELECT cItems
IF TSBaseForm::DataChanged()
	IF MESSAGEBOX(ITEMNOTSAVED_LOC, ;
		MB_ICONEXCLAMATION + MB_YESNO, ;
    	TASTRADE_LOC) == IDNO
    	GOTO THISFORM.nOrderRec IN "history"
		SELECT customer
    	RETURN
    ELSE
    	=TABLEREVERT(.T.)
		SELECT customer
    ENDIF
ENDIF
SELECT customer

RELEASE THISFORM
ENDPROC
���� ����	%�	
[T
�U������T��CW��F��T��CC+���CO6��K���
�(������%��
����s�#��
����
F����	B����U	LNBALANCELISELECTLIRECNOHISTORY	ORD_TOTALPAID��C�����7%�C�thisform.oOrdEntryFormb�O�
C���
	��h���C�������C�������/%�C���
�C�oAppb�O	�C��
	������C����	���<%�C�cItems��C�oAppb�O	�C��
	���

	�����Ca�cItems����U
TSBASEFORMDESTROYTHISFORM
OORDENTRYFORM	CLEARLINKREMOVEFROMMENUCORIGINALFORMCAPTIONCORIGINALFORMNAMEOAPPREMOVEINSTANCE	LQUITTING
B�a��UUU�T���a�� T���������
��T�������
����C�history���	#�)�"��C��	�orders�order_id�����C�citems���
��C��
��T����C��
��F��T���-��UTHISFORM
LOCKSCREEN
GRDORDHISTORYCOLUMN5CHKPAIDENABLEDCMDADDTOCURRENTORDERCMDFINDHISTORYORDER_IDREFRESH
TXTBALANCEVALUECALCBALANCECUSTOMER��Ca�citems���B�-��Up������������T��	����T��
����T�������T��C���%�������T��
�����#T�����CCC���Z���&T������:CC����R���������%�����:�T������T����a��$T������ for C�����S�T����-���T��CC�@�������(��9���8�B%�CC��9��@�
frmorderentry���
frmorderentry	����T��C��9���!��@%�CC��9��@�frmcustomers���frmcustomers	��4�T��C��9���!����.%����C�toOrdEntryForm b�O����'��CC���customer�
customer_i�����"%�C�loCustomerFormb�O���T������G�(�����T������G�(����%��C�
��customer�
customer_i�����T�����history��T�����cItems��T�� �C�historyO��U!TOORDENTRYFORM
LNNUMPARMSLCFILTERILOCUSTOMERFORM
LIDATASESSION
LCCUSTOMER_IDLCWONTOPTHISFORMLEFTTOPCORIGINALFORMCAPTIONCAPTIONCORIGINALFORMNAMENAMEOAPPADDINSTANCE
TSBASEFORMINIT
OORDENTRYFORMCMDADDTOCURRENTORDERENABLEDGETCUSTOMERNAME	FORMCOUNTFORMS
GETCUSTOMERID
DATASESSIONIDCUSTOMERCUSTOMER_ID
GRDORDHISTORYRECORDSOURCEGRDLINEITEMS	NORDERREC������
����U
TSBASEFORMACTIVATETHISFORMREFRESHFORMcalcbalance,��Destroy���QueryUnload���
savewindowpos���restorewindowpos���refreshform���datachanged.��InitO��ActivateR	��1��r��1�A��2�v1A�1A�1A2q233��1�!!�qu�31q2s�1�11bA�C�A��"AAAAAAA�r�!��QAA���3��2%���'E*l�-��0(:D+U\HX{��)�!��� 2%t���U����%�C�historyO����(�B��F��%�C������w%�C�LThe marked items have not been added to the order. Discard the marked items?�4�Tasmanian Traders�x�����#��history������
����F��B����
��Ca�����F�	�"��C�
��orders�order_id�����C�cItems���
�����T���
��������F��T���C�historyO��U	NCOLINDEXTHISFORM	NORDERRECCITEMS
TSBASEFORMDATACHANGEDTHISREFRESHCUSTOMERORDERSHISTORYORDER_IDGRDLINEITEMSGRCTAG
CHKITEMTAGENABLEDCMDADDTOCURRENTORDERAfterRowColChange,��1q�BAt!s��qA��AAr!!��q�2�)%��e�($L�Ows����"��\<Navigation�-�"��7Commands to navigate through records on the active form�
N����ALT+N��ALT+N��1��������s��
N��������s�����"��\<First���AMoves the record pointer of the current alias to the first record���C�
�C�
oApp.oToolBarb�O�����
��	CTRL+HOME��	Ctrl+Home���s�����"��\<Prior���DMoves the record pointer of the current alias to the previous record���C�
�C�
oApp.oToolBarb�O�����
��	CTRL+PGUP��	Ctrl+PgUp���s�����"��Ne\<xt���@Moves the record pointer of the current alias to the next record���C�
�C�
oApp.oToolBarb�O�����
��	CTRL+PGDN��	Ctrl+PgDn���s�����"��\<Last���@Moves the record pointer of the current alias to the last record���C�
�C�
oApp.oToolBarb�O�����
��CTRL+END��Ctrl+End��01�������oApp.oToolbar.cmdFirst.Click()�01�������oApp.oToolbar.cmdPrior.Click()�/1�������oApp.oToolbar.cmdNext.Click()�/1�������oApp.oToolbar.cmdLast.Click()�-1���"*-- (c) Microsoft Corporation 1995�U	
NAVIGATIONFORMISOBJECTOAPPOTOOLBARCMDFIRSTENABLEDCMDPRIORCMDNEXTCMDLAST`q�"4d�
���1%
e�($z��Ms����"��\<Window�-�"��Window selection�
N����ALT+W��ALT+W��1��������s��
N�������,s�����"��This bar will be removed��-1���"*-- (c) Microsoft Corporation 1995�<������UWINDOW`�"���10b�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QYL0ZQ4OH 510756099 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QYL0ZQ4OJ           9  1                  13438.000    0.000                                                                        F  FFF           F                          WINDOWS _QYL0ZQ4OK           9  4                   7084.000    0.000                                                                        F  FFF           F                          WINDOWS _QYL0ZQ4OL           9  7                   5000.000    0.000                                                                        F  FFF           F                          WINDOWS _QV60X56R9 493911332 5  0# 6770.83319687.500 3437.50013333.333!        0    0    0   -1   -1   -1               "  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  0& 6250.00018020.833 3958.333 2083.333$        0    0  255   -1   -1   -1               %  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  0) 6770.83335833.333 3437.500 8750.000'        0    0    0   -1   -1   -1               (  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0, 6250.00034166.667 3958.333 2083.333*        0    0  255   -1   -1   -1               +  1 24  1          T   F          0                         TF3 0F WINDOWS _QYL0ZQZWD 547902040 5  0.10937.50018333.333 2083.33315000.000        0    0    0   -1   -1   -1               -  1 12  1          T   F          0                         TF3 0F WINDOWS _QYL0ZQZWE 510756120 6   10312.500    0.000  104.16780312.500       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QYL0ZQZWH 51147762017  0  312.500 6250.000 9166.667 8645.8331 /                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QYL0ZU47X 510756279 8  0215520.833 1041.667 6875.00078229.167 3  C    0    0    0   -1   -1   -1               4  0 10  1        T T   F          0          0       0 1    TF3 0F WINDOWS _QZI128EJ4 512986697 8  05 4375.00073333.333 2083.333 6770.833   D    0    0    0   -1   -1   -1               6  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI128EJ5 512986697 5  09 1458.33368333.333 2083.333 4062.5007        0    0    0   -1   -1   -1               8  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI128EJ6 512986697 8  0: 1458.33375000.000 2083.333 5104.167   N    0    0    0   -1   -1   -1               ;  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI128EJ7 512986697 5  0> 4375.00068333.333 2083.333 3645.833<        0    0    0   -1   -1   -1               =  1 12  1          T   F          0                         TF3 0F WINDOWS _QYL0ZQZW1 51075612010  0    1.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   ?  0 10                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   @  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   A  1 24                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   B  1 12                                                             WINDOWS                     23      16.000    6.000   13.000   23.000        3    0                                   C  0 10                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   D  0 12                                                             WINDOWS                     25   EF                                     F                                                                                                                  WINDOWS                     26   KL                                                                                                                                                       P!Courier New/winspoolLaserNTNe00:�LaserNT P|p��
od,LetterPRIV�''''�DRIVER=winspool
DEVICE=LaserNT
OUTPUT=Ne00:
ORIENTATION=0
PAPERSIZE=1
SCALE=100
COPIES=1
DEFAULTSOURCE=7
PRINTQUALITY=300
COLOR=1
TTOPTION=3
COLLATE=0
"@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T"Arial"Behind the Scenes"(c) Microsoft Corporation 1995
"..\bitmaps\ttradesm.bmp"
behindsc.desc ArialDATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Courier NewArialArialArialArialArialdataenvironment�Left = 80
Top = 166
Width = 480
Height = 189
AutoOpenTables = .F.
AutoCloseTables = .F.
InitialSelectedAlias = "behindsc"
Name = "Dataenvironment"
cursor{Left = 117
Top = 29
Width = 146
Height = 99
Alias = "behindsc"
CursorSource = ..\data\behindsc.dbf
Name = "Cursor1"
BM�v(������������������������������������������������������������������������������𻻻����𻰻�����������������������������������BM�v(������������������������������������������������������������������������������������������������������������0b#�
�PLATFORMCUNIQUEIDC	
TIMESTAMPN
OBJTYPENOBJCODENNAMEM"EXPRM&VPOSN*	HPOSN3	HEIGHTN<	WIDTHNE	STYLEMNPICTUREMRORDERMVUNIQUELZCOMMENTM[ENVIRONL_BOXCHARC`FILLCHARCaTAGMbTAG2MfPENREDNjPENGREENNoPENBLUENtFILLREDNyFILLGREENN~FILLBLUEN�PENSIZEN�PENPATN�FILLPATN�FONTFACEM�FONTSTYLEN�FONTSIZEN�MODEN�RULERN�RULERLINESN�GRIDL�GRIDVN�GRIDHN�FLOATL�STRETCHL�STRETCHTOPL�TOPL�BOTTOML�SUPTYPEN�SUPRESTN�NOREPEATL�RESETRPTN�PAGEBREAKL�COLBREAKL�RESETPAGEL�GENERALN�SPACINGN�DOUBLEL�SWAPHEADERL�SWAPFOOTERL�EJECTBEFORL�EJECTAFTERL�PLAINL�SUMMARYL�ADDALIASL�OFFSETN�TOPMARGINN�BOTMARGINN�TOTALTYPEN�RESETTOTALN�RESOIDN�CURPOSL�SUPALWAYSL�SUPOVFLOWL�SUPRPCOLN�SUPGROUPN�SUPVALCHNGL�SUPEXPRM�USERM�
 WINDOWS _QWK0RKTIN 505636481 1 53    1.000    0.000    0.000   -1.000 F                                                 0 10   10T 5 5   FF                     T                F       WINDOWS _QWK0RKTIY           9  1                  19896.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0RKTIZ           9  4                   2917.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0RKTJ0           9  7                      0.000    0.000                                                                        F  FFF           F                          WINDOWS _QWK0U0EIB 505638916 7  416354.167    0.000 3541.66779270.833       -1   -1   -1  192  192  192    1    8    1        0          T   F                     0              TF3 0F WINDOWS _QWK0T54WP 505638537 5  0"17187.500 8541.667 2083.33312708.333        0    0    0   -1   -1   -1               !  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54WQ 505638009 8  0#21979.167 8541.667 2083.33332604.167   C    0    0    0   -1   -1   -1               $  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0T54WR 548100307 5  0&17187.50041666.667 2083.333 6458.333        0    0    0   -1   -1   -1               %  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54WZ 548100301 8  0'21979.16741666.667 2083.33320833.333 (  C    0    0    0   -1   -1   -1               )  0 12  1       TT     F          2          0       0 1    TF3 0F WINDOWS _QWK0T54XC 548034825 5  0+17187.50072812.500 2083.333 4375.000        0    0    0   -1   -1   -1               *  1 12  1       T      F          0                         TF3 0F WINDOWS _QWK0T54XJ 548035567 8  0,21979.16763125.000 2083.33315520.833/ -  C    0    0    0   -1   -1   -1               .  0 12  1       TT     F          2          1       0 1    TF3 0F WINDOWS _QV60X56R9 493911332 5  02 6458.33315937.500 3437.50013333.3330        0    0    0   -1   -1   -1               1  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911315 5  05 5937.50014270.833 3958.333 2083.3333        0    0  255   -1   -1   -1               4  1 24  1          T   F          0                         TF3 0F WINDOWS _QV60X56R9 493911394 5  08 6458.33332083.333 3437.500 8750.0006        0    0    0   -1   -1   -1               7  1 20  1          T   F          0                         TF3 0F WINDOWS _QV60XLBHG 493911387 5  0; 5937.50030416.667 3958.333 2083.3339        0    0  255   -1   -1   -1               :  1 24  1          T   F          0                         TF3 0F WINDOWS _QWK0U54AP 548034808 5  0>12187.50014479.167 2083.33314583.333<        0    0    0   -1   -1   -1               =  1 12  1          T   F          0                         TF3 0F WINDOWS _QWK0U5JPO 505639044 6   11250.000    0.000  104.16781354.167       -1   -1   -1   -1   -1   -1    1    8             0          T   F                     1              TF3 0F WINDOWS _QYK13ISMH 51147762517  0 1250.000 3645.833 9166.667 8645.833A ?                                                        0          T   F       0   F         0              TF3 0F WINDOWS _QZI12AW88 512986759 8  0B 5520.83372187.500 2083.333 6770.833   D    0    0    0   -1   -1   -1               C  0 12  1          T   F          2          0       0 1    TF3 0F WINDOWS _QZI12AW8I 512986759 5  0F 2604.16767187.500 2083.333 4062.500D        0    0    0   -1   -1   -1               E  1 12  1          T   F          0                         TF3 0F WINDOWS _QZI12AW8J 512986759 8  0G 2604.16773854.167 2083.333 5104.167   N    0    0    0   -1   -1   -1               H  0 12  1          T   F          2          1       0 1    TF3 0F WINDOWS _QZI12AW8K 512986759 5  0K 5520.83367187.500 2083.333 3645.833I        0    0    0   -1   -1   -1               J  1 12  1          T   F          0                         TF3 0F WINDOWS _RAC0NOGCU 548100193 5  0M17187.500 2291.667 2083.333 4166.667        0    0    0   -1   -1   -1               L  1 12  1       T      F          0                         TF3 0F WINDOWS _RAC0NOQSY 548100228 8  0N21979.167  729.167 2083.333 5833.333 O  C    0    0    0   -1   -1   -1               P  0 12  1       TT     F          2          1       0 1    TF3 0F WINDOWS _QWK0TYV7Z 50563874810  0    8.000    4.000                                                                                                                                      WINDOWS                     23      16.000    8.000   12.000   16.000        4    0                                   Q  0 10                                                             WINDOWS                     23      20.000    8.000   15.000   20.000        4    1                                   R  1 12                                                             WINDOWS                     23      19.000    7.000   15.000   29.000        3    1                                   S  0 12                                                             WINDOWS                     23      33.000   13.000   25.000   34.000        7    1                                   T  1 20                                                             WINDOWS                     23      38.000   15.000   30.000   40.000        7    1                                   U  1 24                                                             WINDOWS                     25   VW                                     T                                                                                                                  WINDOWS                     26   [\                                                                                                                                                        WINDOWS                     26   ab                                                                                                                                                        WINDOWS                     26   gh                                                                                                                                                        WINDOWS                     26   no                                                                                                                                                       t!Courier New/winspoolLaserNTNe00:�LaserNT P|p��
od,LetterPRIV�''''�DRIVER=winspool
DEVICE=LaserNT
OUTPUT=Ne00:
ORIENTATION=0
PAPERSIZE=1
SCALE=100
COPIES=1
DEFAULTSOURCE=7
PRINTQUALITY=300
COLOR=1
TTOPTION=3
COLLATE=0
Arial"Company Name"company_nameArialArial	"Country"top25cust.country ArialArial"Sales"top25cust.custtotal Arial"$9,999,999.99""@I"Arial
"asmanian""@I"Arial"T""@I"Arial	"raders
""@I"Arial"T""@I"Arial"Top 25 Customers" (c) Microsoft Corporation 1995"..\bitmaps\ttradesm.bmp"DATE()Arial"@I"Arial"Page"_PAGENOArial"@I"Arial"Date"Arial"Rank"STR(RECNO(),2) + '.' ArialCourier NewArialArialArialArialdataenvironmentoLeft = 92
Top = 300
Width = 415
Height = 268
InitialSelectedAlias = "top25cust"
Name = "Dataenvironment"
cursor�Left = 6
Top = 15
Width = 90
Height = 88
Alias = "customer"
Database = ..\data\tastrade.dbc
CursorSource = "customer"
Name = "Cursor2"
cursor�Left = 127
Top = 23
Width = 90
Height = 88
Alias = "orders"
Database = ..\data\tastrade.dbc
CursorSource = "orders"
Name = "Cursor3"
cursor�Left = 253
Top = 16
Width = 90
Height = 88
Alias = "order_line_items"
Database = ..\data\tastrade.dbc
CursorSource = "order_line_items"
Name = "Cursor4"
cursor�Left = 10
Top = 140
Width = 90
Height = 89
Alias = "top25cust"
Database = ..\data\tastrade.dbc
CursorSource = "top25cust"
Name = "Cursor1"
BMr>(
4�����libs\tsbase.vcxtsbase.vctforms\customer.scxcustomer.sctsupplier.scxsupplier.sctshipper.scxshipper.sctproduct.scxproduct.sctemployee.scxemployee.sctcategory.scxcategory.sctprogs\main.prgc:\temp\main.fxp..\..\..\..\..\temp\main.mprmain.mpxprogs\utility.prgutility.fxplogin.vcxlogin.vctreports.scxreports.sctbehindsc.scxbehindsc.scttsgen.vcxtsgen.vctreports\orders.frxorders.frtbitmaps\lfscroll.bmprtscroll.bmpsalessum.frxsalessum.frtsalesdet.frxsalesdet.frtorders.vcxorders.vctnew.bmpsave.bmpordentry.scxordentry.sctabout.vcxabout.vctfrsrec_s.bmpprvrec_s.bmpnxtrec_s.bmplstrec_s.bmplistcat.frxlistcat.frtlistcust.frxlistcust.frtlistempl.frxlistempl.frtlistprod.frxlistprod.frtlistship.frxlistship.frtlistsupp.frxlistsupp.frtgettitle.scxgettitle.sctcust.icospplrs.icoshpprs1.icoprod1.icoemply.icocatgry.icobhind.icoorders.icogetinv.scxgetinv.sctbhind_s.bmpcasestdy.scxcasestdy.sct..\..\..\..\..\temp\intro.mprintro.mpxmain.vcxmain.vctcustadd.scxcustadd.sctchngpswd.scxchngpswd.sctclose.bmpttradelg.bmprebuild.scxrebuild.sctttradesm.bmpviewcode.frxviewcode.frtcasestdy.frxcasestdy.frtviewcode.scxviewcode.sctundo.bmp..\..\..\..\..\temp\ordentry.mprordentry.mpxbhind_s.mskclose.mskfrsrec_s.msklstrec_s.msknxtrec_s.mskprvrec_s.mskordhist.scxordhist.sct..\..\..\..\..\temp\navigate.mprnavigate.mpx..\..\..\..\..\temp\window.mprwindow.mpxbehindsc.frxbehindsc.frtlocate.bmplocate.msktopcust.frxtopcust.frtnew.msk)UUN>	N>�P#�P�0	�:�=:���J	��q�Wq���c	���o�Wc{	Wc
��
����	��"��"�>�>����<+��<+�/��/�; �;��*	��܊4܊H�@	H�G�LG�X5YX5TVfTV�jp
�j'�z�'��z���������
��z���	z�
�	�Bz��B�Oz��O�d��d�������������	�����u$�u\�1\�ܼ;ܼʽ�Eʽ���R�����_�����l
���zy���z�
��z��!z�
�!�Hz��H�^z�
�^ׄz�ׄX�z�
X�#�z�#�ֽz�
ֽ5�z�5���z	�����
	 �
	�
	�-�
	�	�6�	�	�A�	�	�M�	�	�W�	�	�a�	�	�l�	�"	�v	�"	�*	��*	�8	��8	�9	��	�9	@	�@	�L	��L	�Q	���Q	HW	�HW	�r	�	�r	�z	��z	��		��	N�	N�	a�	a�	O�	�)O�	��3	�:	@:	WLW�,�X
�,	Lze	L'Xzr
'X
yz
y�z�	�ϋ�ϋ���
���
�<���<�������0���0������$��
$��������'	�p�4p��@��!�m�!#��
#Dz�DPNz�PN>O��>O,P��
,Pzz�z��z���j���