/3.1 (Extension.1 Name: "Advanced Queries & Formulas v2.0" Dependencies: "$AVBIN/avdlog.dll\n" FirstRootClassName: "Butn" Roots: 2 Roots: 4 Roots: 6 Roots: 7 Roots: 77 Roots: 141 Roots: 164 Roots: 165 Roots: 166 Roots: 167 Roots: 168 Roots: 169 Roots: 170 Roots: 171 Roots: 172 Roots: 173 Roots: 174 Roots: 175 Roots: 176 Roots: 177 Roots: 178 Roots: 179 Roots: 180 Roots: 181 Roots: 182 Roots: 183 Roots: 184 Roots: 185 Roots: 186 Roots: 187 Roots: 188 Roots: 189 Roots: 190 Roots: 191 Roots: 192 Roots: 193 Roots: 194 Roots: 195 Roots: 196 Roots: 197 Roots: 198 Version: 31 About: "Helpful tool to store the user's queries and formulas... \nContact me on \"bvasily@mail.ru\"" InstallScript: 165 UninstallScript: 183 ExtVersion: 2 ) (Butn.2 Help: "Advanced Calculate//Display the Advanced Field Calculator" Update: "Table.CalculateUpdate" Icon: 3 Click: "AdvancedCalculator.Start" ) (AVIcon.3 Name: "Calc_Advance" Data: 4e442049 6d616765 00010010 00100000 Data: 00807777 77777777 77777770 00000000 Data: 07777774 cccccccc 07777774 cccccccc Data: 07777774 cfcfcffc 07777774 cccccccc Data: 07777774 cfcfcffc 07777774 cccccccc Data: 07777774 cfcfcffc 07777774 cccccccc Data: 07777774 cffffffc 07777774 cffffffc Data: 07777774 cccccccc 07777774 44444444 Data: 07777777 77777777 77777777 77777777 Data: 77770000 00400000 00000000 80000080 Data: 00000080 80008000 00008000 80008080 Data: 0000c0c0 c0008080 80000000 ff0000ff Data: 000000ff ff00ff00 0000ff00 ff00ffff Data: 0000ffff ff000002 00040007 00200001 Data: 00020000 00000000 0000 ) (Butn.4 Help: "Advanced Query Builder//Displays the Advanced Query Builder" Icon: 5 Click: "AdvancedQueryBuilder.Start" ) (AVIcon.5 Name: "query.bmp" Data: 4e442049 6d616765 00010014 00140000 Data: 00f08888 88888888 88888888 00008888 Data: 88888888 88888888 00008888 88888888 Data: 88888888 00008888 88888888 888cc888 Data: 00008888 88888888 88ccfc88 00008888 Data: 88888888 8ccfcc88 00008888 88888888 Data: ccfcc888 00008888 8888888c cfcc8888 Data: 00008888 888888cc fcc88888 00008888 Data: 88888ccf cc888888 000088cc c888ccfc Data: c8888888 000088cc c88ccfcc 888c8888 Data: 000088cc ccccccc8 88888888 00008888 Data: cccccc88 888c8888 00008888 ccccc888 Data: 888c8888 00008888 ccccc888 8888c888 Data: 00008888 8cccccc8 8c888c88 00008888 Data: 8888cccc 8c888c88 00008888 8888cccc Data: 88ccc888 00008888 88888cc8 88888888 Data: 00000000 00400000 00000000 80000080 Data: 00000080 80008000 00008000 80008080 Data: 00008080 8000c0c0 c0000000 ff0000ff Data: 000000ff ff00ff00 0000ff00 ff00ffff Data: 0000ffff ff000002 00040007 00200001 Data: 00020000 00000000 0000 ) (Butn.6 Disabled: 1 Help: "Advanced Query Builder//Displays the Advanced Query Builder" Update: "View.AttributeThemesUpdate" Icon: 5 Click: "AdvancedQueryBuilder.Start" ) (AVDLog.7 Name: "AdvancedCalculator" X: 58 Y: 64 W: 406 H: 410 ConstrainedControlNames: 8 ConstrainedControlNames: 9 ConstrainedControlNames: 10 ConstrainedControlNames: 11 ConstrainedControlNames: 12 ConstrainedControlNames: 13 ConstrainedControlNames: 14 ConstrainedControlNames: 15 Constraints: 16 Constraints: 17 Constraints: 18 Constraints: 19 Constraints: 20 Constraints: 21 Constraints: 22 Constraints: 23 Server: 24 ControlPanel: 25 Title: "Advanced Field Calculator" EscapeEnabled: 1 Modal: 1 Resizable: 1 AlwaysOnTop: 1 HasTitleBar: 1 Closeable: 1 Open: "AdvancedCalculator.Open" DefaultButton: 34 ) (AVStr.8 S: "lbtOK" ) (AVStr.9 S: "lbtCancel" ) (AVStr.10 S: "lbtAbout" ) (AVStr.11 S: "lbtAdd" ) (AVStr.12 S: "lbtRemove" ) (AVStr.13 S: "lbtImport" ) (AVStr.14 S: "lbtExport" ) (AVStr.15 S: "lbtGarbage" ) (Numb.16 N: 86.00000000000000 ) (Numb.17 N: 86.00000000000000 ) (Numb.18 N: 86.00000000000000 ) (Numb.19 N: 86.00000000000000 ) (Numb.20 N: 86.00000000000000 ) (Numb.21 N: 86.00000000000000 ) (Numb.22 N: 86.00000000000000 ) (Numb.23 N: 86.00000000000000 ) (Nil.24 ) (CPanel.25 Child: 26 Child: 55 ResBox: 75 ResBox: 76 Listening: 1 ) (CPanel.26 InternalName: "cplCalculator" Child: 27 Child: 34 Child: 35 Child: 36 Child: 37 Child: 39 Child: 40 Child: 42 Child: 43 Child: 44 Constraints: 0x53 ResBox: 45 ResBox: 46 ResBox: 47 ResBox: 48 ResBox: 49 ResBox: 50 ResBox: 51 ResBox: 52 ResBox: 53 ResBox: 54 Label: " Calculator " VisibleBorder: 1 Listening: 1 ) (CPanel.27 InternalName: "cplRadio" Child: 28 Child: 29 Child: 30 Constraints: 0x54 ResBox: 31 ResBox: 32 ResBox: 33 Listening: 1 ) (RButn.28 InternalName: "rbtNumber" Constraints: 0x54 Listening: 1 Label: "Number" Click: "AdvancedCalculator.rbtNumber.Click" ) (RButn.29 InternalName: "rbtString" Constraints: 0x54 Listening: 1 Label: "String" Click: "AdvancedCalculator.rbtString.Click" ) (RButn.30 InternalName: "rbtDate" Constraints: 0x54 Listening: 1 Label: "Date" Click: "AdvancedCalculator.rbtDate.Click" ) (RectD.31 Left: 13.00000000000000 Top: 34.00000000000000 Right: 91.00000000000000 Bottom: 6.00000000000000 ) (RectD.32 Left: 13.00000000000000 Top: 54.00000000000000 Right: 91.00000000000000 Bottom: 26.00000000000000 ) (RectD.33 Left: 13.00000000000000 Top: 75.00000000000000 Right: 91.00000000000000 Bottom: 47.00000000000000 ) (LButn.34 InternalName: "lbtOK" Help: "Apply calculation" Label: "OK" Click: "AdvancedCalculator.lbtOK.Click" ) (TextBox.35 InternalName: "tbxQueryBox" Help: "Input a calculation string " Listening: 1 Label: "[Field Name]=" Constraints: 0x53 VerticalScroll: 1 NextControl: 35 ) (LButn.36 InternalName: "lbtCancel" Help: "Close the advanced calculator" Label: "Cancel" Click: "AdvancedCalculator.lbtCancel.Click" ) (AVLBox.37 InternalName: "lbxRequests" NextControl: 35 ContentKind: 4 Constraints: 0x52 Listening: 1 VerticalScroll: 1 SelectionStyle: 38 Apply: "AdvancedCalculator.lbxRequests.Apply" ) (AVEnum.38 Name: "LISTBOX_SELECTION_SINGLEROW" ) (TextLabel.39 InternalName: "tlbRequests" Constraints: 0x52 Label: "Requests" Listening: 1 ) (AVLBox.40 InternalName: "lbxFields" NextControl: 35 ContentKind: 4 Constraints: 0x51 Listening: 1 VerticalScroll: 1 Select: "AdvancedCalculator.lbxFields.Select" SelectionStyle: 41 Apply: "AdvancedCalculator.lbxFormulas.Apply" ) (AVEnum.41 Name: "LISTBOX_SELECTION_SINGLEROW" ) (LButn.42 InternalName: "lbtAbout" Help: "About message//Show about dialog" Label: "About" Click: "AdvancedCalculator.lbtAbout.Click" ) (TextLabel.43 InternalName: "tlbFields" Constraints: 0x51 Label: "Fields" Listening: 1 ) (TextLabel.44 InternalName: "tlbTypes" Constraints: 0x54 Label: "Type" Listening: 1 ) (RectD.45 Left: 163.00000000000000 Top: 137.00000000000000 Right: 253.00000000000000 Bottom: 28.00000000000000 ) (RectD.46 Left: 311.00000000000000 Top: 172.00000000000000 Right: 388.00000000000000 Bottom: 153.00000000000000 ) (RectD.47 Left: 5.00000000000000 Top: 233.00000000000000 Right: 294.00000000000000 Bottom: 135.00000000000000 ) (RectD.48 Left: 311.00000000000000 Top: 196.00000000000000 Right: 388.00000000000000 Bottom: 177.00000000000000 ) (RectD.49 Left: 255.00000000000000 Top: 135.00000000000000 Right: 396.00000000000000 Bottom: 30.00000000000000 ) (RectD.50 Left: 255.00000000000000 Top: 31.00000000000000 Right: 398.00000000000000 Bottom: 14.00000000000000 ) (RectD.51 Left: 5.00000000000000 Top: 134.00000000000000 Right: 161.00000000000000 Bottom: 29.00000000000000 ) (RectD.52 Left: 311.00000000000000 Top: 220.00000000000000 Right: 388.00000000000000 Bottom: 201.00000000000000 ) (RectD.53 Left: 5.00000000000000 Top: 32.00000000000000 Right: 159.00000000000000 Bottom: 14.00000000000000 ) (RectD.54 Left: 179.00000000000000 Top: 30.00000000000000 Right: 258.00000000000000 Bottom: 14.00000000000000 ) (CPanel.55 InternalName: "cplFormulas" Child: 56 Child: 58 Child: 59 Child: 60 Child: 61 Child: 62 Child: 63 Child: 64 Child: 65 Constraints: 0x33 ResBox: 66 ResBox: 67 ResBox: 68 ResBox: 69 ResBox: 70 ResBox: 71 ResBox: 72 ResBox: 73 ResBox: 74 Label: " Formulas list " VisibleBorder: 1 Listening: 1 ) (AVLBox.56 InternalName: "lbxFormulas" Help: "Double click on the formula to place it in the query box" NextControl: 35 ContentKind: 4 Constraints: 0x33 Listening: 1 VerticalScroll: 1 Select: "AdvancedCalculator.lbxFormulas.Select" SelectionStyle: 57 Apply: "AdvancedCalculator.lbxFormulas.Apply" ) (AVEnum.57 Name: "LISTBOX_SELECTION_SINGLECELL" ) (LButn.58 InternalName: "lbtAdd" Help: "Add formula//Store the formula from the query box into the list" Label: "Add" Click: "AdvancedCalculator.lbtAdd.Click" ) (LButn.59 InternalName: "lbtRemove" Help: "Delete formula//Remove selected formula from the list" Label: "Delete" Click: "AdvancedCalculator.lbtRemove.Click" ) (AVCBox.60 InternalName: "cbxAllFormulas" Listening: 1 Label: "Display all project formulas in list" Click: "AdvancedCalculator.cbxAllFormulas.Click" Constraints: 0x65 ) (CPanel.61 InternalName: "cplBetween" Constraints: 0x56 VisibleBorder: 1 Listening: 1 ) (LButn.62 InternalName: "lbtImport" Help: "Import formulas list//Import formulas list to dBASE file" Label: "Import" Click: "AdvancedCalculator.lbtImport.Click" ) (LButn.63 InternalName: "lbtExport" Help: "Export formulas list//Export formulas list from dBASE file" Label: "Export" Click: "AdvancedCalculator.lbtExport.Click" ) (TextLabel.64 InternalName: "tlbVersion" Constraints: 0x66 Label: "v2.0" Listening: 1 ) (LButn.65 InternalName: "lbtGarbage" Help: "Remove unlinked formulas//Remove from all project formulas list unbinded ones" Label: "Garbage" Click: "AdvancedCalculator.lbtGarbage.Click" ) (RectD.66 Left: 9.00000000000000 Top: 135.00000000000000 Right: 294.00000000000000 Bottom: 18.00000000000000 ) (RectD.67 Left: 311.00000000000000 Top: 37.00000000000000 Right: 388.00000000000000 Bottom: 18.00000000000000 ) (RectD.68 Left: 311.00000000000000 Top: 59.00000000000000 Right: 388.00000000000000 Bottom: 40.00000000000000 ) (RectD.69 Left: 7.00000000000000 Top: 157.00000000000000 Right: 183.00000000000000 Bottom: 134.00000000000000 ) (RectD.70 Left: 299.00000000000000 Top: 67.00000000000000 Right: 395.00000000000000 Bottom: 64.00000000000000 ) (RectD.71 Left: 311.00000000000000 Top: 137.00000000000000 Right: 388.00000000000000 Bottom: 118.00000000000000 ) (RectD.72 Left: 311.00000000000000 Top: 115.00000000000000 Right: 388.00000000000000 Bottom: 96.00000000000000 ) (RectD.73 Left: 372.00000000000000 Top: 158.00000000000000 Right: 397.00000000000000 Bottom: 142.00000000000000 ) (RectD.74 Left: 311.00000000000000 Top: 93.00000000000000 Right: 388.00000000000000 Bottom: 74.00000000000000 ) (RectD.75 Left: 4.00000000000000 Top: 241.00000000000000 Right: 404.00000000000000 Bottom: 2.00000000000000 ) (RectD.76 Left: 4.00000000000000 Top: 407.00000000000000 Right: 404.00000000000000 Bottom: 247.00000000000000 ) (AVDLog.77 Name: "Advanced Query Builder" X: 54 Y: 63 W: 409 H: 302 ConstrainedControlNames: 78 ConstrainedControlNames: 79 ConstrainedControlNames: 80 ConstrainedControlNames: 81 ConstrainedControlNames: 82 ConstrainedControlNames: 83 ConstrainedControlNames: 84 ConstrainedControlNames: 85 ConstrainedControlNames: 86 ConstrainedControlNames: 87 ConstrainedControlNames: 88 Constraints: 89 Constraints: 90 Constraints: 91 Constraints: 92 Constraints: 93 Constraints: 94 Constraints: 95 Constraints: 96 Constraints: 97 Constraints: 98 Constraints: 99 Server: 100 ControlPanel: 101 Title: "View2 - Kvarta_pr.shp" EscapeEnabled: 1 Resizable: 1 AlwaysOnTop: 1 HasTitleBar: 1 Closeable: 1 Open: "AdvancedQueryBuilder.Open" ServerClosed: "AdvancedQueryBuilder.ServerClose" DefaultButton: 140 ) (AVStr.78 S: "lbtCancel" ) (AVStr.79 S: "lbtAbout" ) (AVStr.80 S: "lbtSelectFromSet" ) (AVStr.81 S: "lbtAddToSet" ) (AVStr.82 S: "lbtNewSet" ) (AVStr.83 S: "lbtAdd" ) (AVStr.84 S: "lbtRemove" ) (AVStr.85 S: "lbtImport" ) (AVStr.86 S: "lbtExport" ) (AVStr.87 S: "lbtGarbage" ) (AVStr.88 S: "btnQueryBuilder" ) (Numb.89 N: 86.00000000000000 ) (Numb.90 N: 86.00000000000000 ) (Numb.91 N: 84.00000000000000 ) (Numb.92 N: 84.00000000000000 ) (Numb.93 N: 84.00000000000000 ) (Numb.94 N: 86.00000000000000 ) (Numb.95 N: 86.00000000000000 ) (Numb.96 N: 86.00000000000000 ) (Numb.97 N: 86.00000000000000 ) (Numb.98 N: 86.00000000000000 ) (Numb.99 N: 86.00000000000000 ) (Nil.100 ) (CPanel.101 Child: 102 Child: 118 ResBox: 138 ResBox: 139 Listening: 1 ) (CPanel.102 InternalName: "cplCalculator" Child: 103 Child: 104 Child: 105 Child: 106 Child: 107 Child: 108 Child: 109 Constraints: 0x53 ResBox: 111 ResBox: 112 ResBox: 113 ResBox: 114 ResBox: 115 ResBox: 116 ResBox: 117 VisibleBorder: 1 Listening: 1 ) (TextBox.103 InternalName: "tbxQueryBox" Listening: 1 Constraints: 0x53 VerticalScroll: 1 NextControl: 103 ) (LButn.104 InternalName: "lbtCancel" Help: "Clear//Clear content text box" Label: "Clear" Click: "AdvancedQueryBuilder.lbtClear.Click" ) (LButn.105 InternalName: "lbtAbout" Help: "Press me//About message" Label: "About" Click: "AdvancedQueryBuilder.lbtAbout.Click" ) (LButn.106 InternalName: "lbtSelectFromSet" Label: "Select From Set" Click: "AdvancedQueryBuilder.RunSelection" ) (LButn.107 InternalName: "lbtAddToSet" Label: "Add To Set" Click: "AdvancedQueryBuilder.RunSelection" ) (LButn.108 InternalName: "lbtNewSet" Label: "New Set" Click: "AdvancedQueryBuilder.RunSelection" ) (Butn.109 InternalName: "btnQueryBuilder" Help: "Build query//Bring up standart Query dialog" Icon: 110 Click: "AdvancedQueryBuilder.btnQueryBuilder.Click" ) (AVIcon.110 Name: "QueryBuilder" Res: "Icons.QueryBuilder" ) (RectD.111 Left: 6.00000000000000 Top: 98.00000000000000 Right: 307.00000000000000 Bottom: 4.00000000000000 ) (RectD.112 Left: 314.00000000000000 Top: 63.00000000000000 Right: 396.00000000000000 Bottom: 42.00000000000000 ) (RectD.113 Left: 313.00000000000000 Top: 90.00000000000000 Right: 395.00000000000000 Bottom: 69.00000000000000 ) (RectD.114 Left: 282.00000000000000 Top: 125.00000000000000 Right: 373.00000000000000 Bottom: 104.00000000000000 ) (RectD.115 Left: 163.00000000000000 Top: 125.00000000000000 Right: 254.00000000000000 Bottom: 104.00000000000000 ) (RectD.116 Left: 45.00000000000000 Top: 125.00000000000000 Right: 136.00000000000000 Bottom: 104.00000000000000 ) (RectD.117 Left: 313.00000000000000 Top: 35.00000000000000 Right: 396.00000000000000 Bottom: 14.00000000000000 ) (CPanel.118 InternalName: "cplQueries" Child: 119 Child: 121 Child: 122 Child: 123 Child: 124 Child: 125 Child: 126 Child: 127 Child: 128 Constraints: 0x33 ResBox: 129 ResBox: 130 ResBox: 131 ResBox: 132 ResBox: 133 ResBox: 134 ResBox: 135 ResBox: 136 ResBox: 137 Label: " Queries list " VisibleBorder: 1 Listening: 1 ) (AVLBox.119 InternalName: "lbxQueries" Help: "Double click on the query to place it in the query box" NextControl: 103 ContentKind: 4 Constraints: 0x33 Listening: 1 VerticalScroll: 1 Select: "AdvancedQueryBuilder.lbxQueries.Select" SelectionStyle: 120 Apply: "AdvancedQueryBuilder.lbxQueries.Apply" ) (AVEnum.120 Name: "LISTBOX_SELECTION_SINGLECELL" ) (LButn.121 InternalName: "lbtAdd" Help: "Add query//Store the query from the query box into the list" Label: "Add" Click: "AdvancedQueryBuilder.lbtAdd.Click" ) (LButn.122 InternalName: "lbtRemove" Help: "Delete query//Remove selected query from the list" Label: "Delete" Click: "AdvancedQueryBuilder.lbtRemove.Click" ) (AVCBox.123 InternalName: "cbxAllQueries" Listening: 1 Label: "Display all project queries in list" Click: "AdvancedQueryBuilder.cbxAllQueries.Click" Constraints: 0x65 ) (CPanel.124 InternalName: "cplBetween" Constraints: 0x56 VisibleBorder: 1 Listening: 1 ) (LButn.125 InternalName: "lbtImport" Help: "Import queries list//Import queries list to dBASE file" Label: "Import" Click: "AdvancedQueryBuilder.lbtImport.Click" ) (LButn.126 InternalName: "lbtExport" Help: "Export queries list//Export queries list from dBASE file" Label: "Export" Click: "AdvancedQueryBuilder.lbtExport.Click" ) (TextLabel.127 InternalName: "tlbVersion" Constraints: 0x66 Label: "v1.0" Listening: 1 ) (LButn.128 InternalName: "lbtGarbage" Help: "Remove unlinked queries//Remove from all project queries list unbinded ones" Label: "Garbage" Click: "AdvancedQueryBuilder.lbtGarbage.Click" ) (RectD.129 Left: 9.00000000000000 Top: 135.00000000000000 Right: 294.00000000000000 Bottom: 18.00000000000000 ) (RectD.130 Left: 311.00000000000000 Top: 37.00000000000000 Right: 388.00000000000000 Bottom: 18.00000000000000 ) (RectD.131 Left: 311.00000000000000 Top: 59.00000000000000 Right: 388.00000000000000 Bottom: 40.00000000000000 ) (RectD.132 Left: 7.00000000000000 Top: 157.00000000000000 Right: 183.00000000000000 Bottom: 134.00000000000000 ) (RectD.133 Left: 299.00000000000000 Top: 67.00000000000000 Right: 395.00000000000000 Bottom: 64.00000000000000 ) (RectD.134 Left: 311.00000000000000 Top: 137.00000000000000 Right: 388.00000000000000 Bottom: 118.00000000000000 ) (RectD.135 Left: 311.00000000000000 Top: 115.00000000000000 Right: 388.00000000000000 Bottom: 96.00000000000000 ) (RectD.136 Left: 372.00000000000000 Top: 158.00000000000000 Right: 397.00000000000000 Bottom: 142.00000000000000 ) (RectD.137 Left: 311.00000000000000 Top: 93.00000000000000 Right: 388.00000000000000 Bottom: 74.00000000000000 ) (RectD.138 Left: 5.00000000000000 Top: 139.00000000000000 Right: 408.00000000000000 Bottom: 4.00000000000000 ) (RectD.139 Left: 5.00000000000000 Top: 299.00000000000000 Right: 407.00000000000000 Bottom: 139.00000000000000 ) (Nil.140 ) (AVDLog.141 Name: "AboutQF" X: 171 Y: 149 W: 288 H: 155 Server: 142 ControlPanel: 143 Title: "About" EscapeEnabled: 1 Modal: 1 AlwaysOnTop: 1 HasTitleBar: 1 Closeable: 1 DefaultButton: 163 ) (Nil.142 ) (CPanel.143 Child: 144 Child: 146 Child: 147 Child: 148 Child: 149 Child: 154 Child: 155 ResBox: 156 ResBox: 157 ResBox: 158 ResBox: 159 ResBox: 160 ResBox: 161 ResBox: 162 Listening: 1 ) (AVIBox.144 InternalName: "aIconBox1" Constraints: 0x55 Icon: 145 Listening: 1 ) (AVIcon.145 Name: "1.gif" Data: 4e442049 6d616765 00010032 004a0000 Data: 0e742b0d 0d0d0d0d 0d0d0d0d 0d0d0d0d Data: 0d0d0d0d 0d0d0d0d 0d0d0d0d 0d0d0d0d Data: 0d0d0d0d 0d0d0d0d 0d0d0d0d 0d0d0d0d Data: 0d0d0d2b 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00150400 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000008 07000623 23232323 Data: 23232323 23232323 23232323 23232323 Data: 23232323 23232323 23232323 23232323 Data: 23232323 23232306 00050c00 092a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a09000c 0c00092a Data: 02020202 02020202 02020202 02020f18 Data: 262a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 02020202 02020202 Data: 02020218 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a09000c Data: 0c00092a 02020202 02020202 02020202 Data: 02020202 02020f2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a09 Data: 000c0c00 092a0202 02020202 02020202 Data: 02020202 02020202 02182a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a09000c 0c00092a 02020202 02020202 Data: 02020202 02020202 02020202 242a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 02020202 02020202 02020202 02020f2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a09000c 0c00092a 02020202 Data: 02020202 02020202 02020202 02020202 Data: 02262a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a09 000c0c00 092a0202 Data: 02020202 02020202 02020202 02020202 Data: 02020218 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a09000c 0c00092a Data: 02020202 02020202 02020202 02020202 Data: 02020202 020b2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 02020202 02020202 Data: 02020202 02020202 262a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a09000c Data: 0c00092a 02020202 02020202 02020202 Data: 02020202 02020202 02021e2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a09 Data: 000c0c00 092a0202 02020202 02020202 Data: 02020202 02020202 02020202 182a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a09000c 0c00092a 02020202 0202022a Data: 2a2a2a2a 24160202 02020202 02020f2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 022a2a2a 2a2a2a2a 17020202 02020202 Data: 0f2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a09000c 0c00092a 02020202 Data: 0202022a 2a2a2a2a 2a2a2a0b 02020202 Data: 0202022a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a09 000c0c00 092a0202 Data: 02020202 022a2a2a 2a2a2a2a 2a180202 Data: 02020202 022a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a09000c 0c00092a Data: 02020202 0202022a 2a2a2a2a 2a2a2a24 Data: 02020202 0202022a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 022a2a2a 2a2a2a2a Data: 2a280202 02020202 022a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a09000c Data: 0c00092a 02020202 0202022a 2a2a2a2a Data: 2a2a2a2a 02020202 0202022a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a09 Data: 000c0c00 092a0202 02020202 022a2a2a Data: 2a2a2a2a 2a2a0202 02020202 022a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a09000c 0c00092a 02020202 0202022a Data: 2a2a2a2a 2a2a2a2a 02020202 0202022a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 022a2a2a 2a2a2a2a 2a2a0202 02020202 Data: 022a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a09000c 0c00092a 02020202 Data: 0202022a 2a2a2a2a 2a2a2a28 02020202 Data: 02020f2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a09 000c0c00 092a0202 Data: 02020202 022a2a2a 2a2a2a2a 2a240202 Data: 02020202 0f2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a09000c 0c00092a Data: 02020202 0202022a 2a2a2a2a 2a2a2a1a Data: 02020202 0202182a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 022a2a2a 2a2a2a2a Data: 2a0b0202 02020202 1a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a09000c Data: 0c00092a 02020202 0202022a 2a2a2a2a Data: 2a2a1e02 02020202 0202242a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a09 Data: 000c0c00 092a0202 02020202 022a2a2a Data: 2a2a2a26 02020202 02020202 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a09000c 0c00092a 02020202 0202022a Data: 2a2a2a26 1a020202 02020202 020e2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 02020202 02020202 02020202 02020218 Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a09000c 0c00092a 02020202 Data: 02020202 02020202 02020202 02020202 Data: 02262a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a09 000c0c00 092a0202 Data: 02020202 02020202 02020202 02020202 Data: 02020e2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a09000c 0c00092a Data: 02020202 02020202 02020202 02020202 Data: 02020202 1e2a2a2a 2a2a2a2a 2a1f1310 Data: 10101013 1b292a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 02020202 02020202 Data: 02020202 020b2a2a 2a2a2a2a 2a1f1010 Data: 10101010 10101010 19292a2a 2a09000c Data: 0c00092a 02020202 02020202 02020202 Data: 02020202 02020224 2a2a2a2a 2a2a1910 Data: 10101010 10101010 10101010 2a2a2a09 Data: 000c0c00 092a0202 02020202 02020202 Data: 02020202 02020202 182a2a2a 2a2a2a1c Data: 10101010 10101010 10101010 10102a2a Data: 2a09000c 0c00092a 02020202 02020202 Data: 02020202 02020202 020e2a2a 2a2a2a2a Data: 27101010 10101010 10101010 10101010 Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 02020202 02020202 02020220 2a2a2a2a Data: 2a2a1310 10101010 1021292a 2a221310 Data: 10102a2a 2a09000c 0c00092a 02020202 Data: 02020202 02020202 02020202 02172a2a Data: 2a2a2a29 10101010 10122a2a 2a2a2a2a Data: 2a251010 2a2a2a09 000c0c00 092a0202 Data: 02020202 02020202 02020202 02020202 Data: 2a2a2a2a 2a1f1010 10101027 2a2a2a2a Data: 2a2a2a2a 27122a2a 2a09000c 0c00092a Data: 02020202 02020202 02020202 02020202 Data: 02021e2a 2a2a2a14 10101010 192a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 022a2a2a 1d020202 Data: 02020202 0f2a2a2a 2a121010 1010222a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a09000c Data: 0c00092a 02020202 0202022a 2a2a2802 Data: 02020202 02020228 2a2a2a10 10101010 Data: 292a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a09 Data: 000c0c00 092a0202 02020202 022a2a2a Data: 2a0f0202 02020202 021d2a2a 2a101010 Data: 10102a2a 2a2a1010 10101010 10102a2a Data: 2a09000c 0c00092a 02020202 0202022a Data: 2a2a2a1e 02020202 0202020b 2a2a2a10 Data: 10101010 2a2a2a2a 10101010 10101010 Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 022a2a2a 2a2a0202 02020202 0202262a Data: 2a101010 10102a2a 2a2a1010 10101010 Data: 10102a2a 2a09000c 0c00092a 02020202 Data: 0202022a 2a2a2a2a 16020202 02020202 Data: 182a2a12 10101010 292a2a2a 10101010 Data: 10101010 2a2a2a09 000c0c00 092a0202 Data: 02020202 022a2a2a 2a2a1e02 02020202 Data: 0202022a 2a131010 1010222a 2a2a1010 Data: 10101010 10102a2a 2a09000c 0c00092a Data: 02020202 0202022a 2a2a2a2a 2a020202 Data: 02020202 02202a1c 10101010 192a2a2a Data: 2a2a2a10 10101010 2a2a2a09 000c0c00 Data: 092a0202 02020202 022a2a2a 2a2a2a17 Data: 02020202 02020216 2a271010 10101029 Data: 2a2a2a2a 2a101010 10102a2a 2a09000c Data: 0c00092a 02020202 0202022a 2a2a2a2a Data: 2a200202 02020202 02022a2a 12101010 Data: 10122a2a 2a2a2a10 10101010 2a2a2a09 Data: 000c0c00 092a0202 02020202 022a2a2a Data: 2a2a2a2a 02020202 02020202 1e2a2510 Data: 10101010 101f292a 2a101010 10102a2a Data: 2a09000c 0c00092a 02020202 0202022a Data: 2a2a2a2a 2a2a1802 02020202 02020e2a Data: 2a191010 10101010 10101010 10101010 Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 022a2a2a 2a2a2a2a 26020202 02020202 Data: 02282a2a 19101010 10101010 10101010 Data: 10102a2a 2a09000c 0c00092a 02020202 Data: 0202022a 2a2a2a2a 2a2a2a0b 02020202 Data: 02020218 2a2a2a1c 10101010 10101010 Data: 1010111f 2a2a2a09 000c0c00 092a0202 Data: 02020202 022a2a2a 2a2a2a2a 2a180202 Data: 02020202 020b2a2a 2a2a291f 13101010 Data: 10131c27 2a2a2a2a 2a09000c 0c00092a Data: 02020202 0202022a 2a2a2a2a 2a2a2a26 Data: 02020202 02020202 242a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 092a0202 02020202 022a2a2a 2a2a2a2a Data: 2a2a0e02 02020202 0202172a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a09000c Data: 0c00092a 02020202 0202022a 2a2a2a2a Data: 2a2a2a2a 1d020202 02020202 022a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a09 Data: 000c0c00 092a0202 02020202 022a2a2a Data: 2a2a2a2a 2a2a2802 02020202 0202021e Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a09000c 0c00092a 02020202 0202022a Data: 2a2a2a2a 2a2a2a2a 2a0e0202 02020202 Data: 02162a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a09 000c0c00 092a0202 02020202 Data: 022a2a2a 2a2a2a2a 2a2a2a1e 02020202 Data: 02020202 282a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a09000c 0c00092a 02020202 Data: 0202022a 2a2a2a2a 2a2a2a2a 2a2a0202 Data: 02020202 02021d2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a09 000c0c00 092a0202 Data: 02020202 022a2a2a 2a2a2a2a 2a2a2a2a Data: 16020202 02020202 0e2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a09000c 0c00092a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a2a 2a2a2a2a Data: 2a2a2a2a 2a2a2a2a 2a2a2a09 000c0c00 Data: 06232323 23232323 23232323 23232323 Data: 23232323 23232323 23232323 23232323 Data: 23232323 23232323 23232323 2306000c Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 000a0100 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000003 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 000a0000 00c05559 5d575b5f Data: 4955785d 61655f63 67666a6d 6e717471 Data: 75787376 7a74777a 787c7f64 6e8b797d Data: 807a7d80 6e779177 7f973f91 855c9f95 Data: 66a49b70 a9a07aad a6838689 81889e8a Data: 90a49399 aa84b2ab 9da1b18e b7b198bc Data: b7a6aab7 afb3bea2 c1bcb9bb c4acc5c2 Data: b6cac7c3 c3c4c2c4 cac0cfcd ccccd1ca Data: d4d2d5d5 d7d4d9d8 deddddff ffff0000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000000 00000000 Data: 00000000 00000000 00000002 00080005 Data: 00180000 00000000 00000000 0000 ) (TextLabel.146 InternalName: "aTextLabel2" Constraints: 0x55 Label: "Copyright 1999" Listening: 1 ) (TextLabel.147 InternalName: "aTextLabel3" Constraints: 0x55 Label: "Advanced Queries & Formulas v2.0 Extension" Listening: 1 ) (TextLabel.148 InternalName: "aTextLabel4" Constraints: 0x55 Label: "Vasily Belyh" Listening: 1 ) (CPanel.149 InternalName: "aControlPanel5" Child: 150 Child: 151 Constraints: 0x55 ResBox: 152 ResBox: 153 VisibleBorder: 1 Listening: 1 ) (TextLabel.150 InternalName: "aTextLabel1" Constraints: 0x55 Label: "To receive register version just mail me " Listening: 1 ) (TextLabel.151 InternalName: "sgw" Constraints: 0x55 Label: "you suggestion on \"bvasily@mail.ru\"" Listening: 1 ) (RectD.152 Left: 7.00000000000000 Top: 24.00000000000000 Right: 264.00000000000000 Bottom: 7.00000000000000 ) (RectD.153 Left: 9.00000000000000 Top: 52.00000000000000 Right: 250.00000000000000 Bottom: 24.00000000000000 ) (TextLabel.154 InternalName: "aTextLabel6" Constraints: 0x55 Label: "Press Escape to continue" Listening: 1 ) (TextLabel.155 InternalName: "aTextLabel7" Constraints: 0x55 Label: "UNREGISTERED VERSION" Listening: 1 ) (RectD.156 Left: 8.00000000000000 Top: 79.00000000000000 Right: 64.00000000000000 Bottom: 3.00000000000000 ) (RectD.157 Left: 69.00000000000000 Top: 41.00000000000000 Right: 177.00000000000000 Bottom: 25.00000000000000 ) (RectD.158 Left: 69.00000000000000 Top: 38.00000000000000 Right: 303.00000000000000 Bottom: 10.00000000000000 ) (RectD.159 Left: 68.00000000000000 Top: 68.00000000000000 Right: 260.00000000000000 Bottom: 40.00000000000000 ) (RectD.160 Left: 11.00000000000000 Top: 132.00000000000000 Right: 271.00000000000000 Bottom: 83.00000000000000 ) (RectD.161 Left: 12.00000000000000 Top: 163.00000000000000 Right: 155.00000000000000 Bottom: 135.00000000000000 ) (RectD.162 Left: 69.00000000000000 Top: 76.00000000000000 Right: 252.00000000000000 Bottom: 60.00000000000000 ) (Nil.163 ) (Script.164 Name: "AdvancedCalculator.cbxAllFormulas.Click" SourceCode: "dicFormulas = _AC_dicFormulas\n\nif (self.IsSelected) then\n' Display all project formulas\n lstFormulas = {}\n for each strKey in dicFormulas.ReturnKeys\n lstFormulas.Merge(dicFormulas.Get(strKey))\n end'for\n lstFormulas.RemoveDuplicates\n self.GetDialog.FindByName(\"lbtAdd\").SetEnabled(FALSE)\n self.GetDialog.FindByName(\"lbtExport\").SetEnabled(TRUE)\n self.GetDialog.FindByName(\"lbtImport\").SetEnabled(TRUE)\n self.GetDialog.FindByName(\"lbtGarbage\").SetEnabled(TRUE)\nelse\n' Display formulas for active field\n tblActive = av.GetActiveDoc\n strActiveTable = tblActive.GetName\n strActiveField = tblActive.GetActiveField.GetName\n strKey = strActiveTable ++ \"->\" ++ strActiveField\n lstFormulas = dicFormulas.Get(strKey)\n if (lstFormulas = NIL) then\n lstFormulas = {}\n end'if\n self.GetDialog.FindByName(\"lbtAdd\").SetEnabled(TRUE)\n self.GetDialog.FindByName(\"lbtExport\").SetEnabled(FALSE)\n self.GetDialog.FindByName(\"lbtImport\").SetEnabled(FALSE)\n self.GetDialog.FindByName(\"lbtGarbage\").SetEnabled(FALSE)\nend'if\n\ns elf.GetDialog.FindByName(\"lbxFormulas\").DefineFromList(lstFormulas)\nself.GetDialog.FindByName(\"lbxFormulas\").SortAscending(TRUE)\nself.GetDialog.FindByName(\"lbtRemove\").SetEnabled(FALSE)" ) (Script.165 Name: "AdvancedCalculator.Install" SourceCode: "if (av.GetProject = NIL) then\n return NIL\nend\n\n\n'Only make formulas dictionary if it have never been loaded into the project\n_AC_dicFormulas = self.GetPreferences.Get(\"Formulas\")\nif (_AC_dicFormulas = NIL) then\n _AC_dicFormulas = Dictionary.Make(100)\n self.GetPreferences.Add(\"Formulas\", _AC_dicFormulas)\nend\n_AC_dicQueries = self.GetPreferences.Get(\"Queries\")\nif (_AC_dicQueries = NIL) then\n _AC_dicQueries = Dictionary.Make(100)\n self.GetPreferences.Add(\"Queries\", _AC_dicQueries)\nend\n\n'Only install the u ser interface components if they have never been loaded into the project\nif (self.GetPreferences.Get(\"Loaded\") = TRUE) then\n return NIL\nend\n\nav.FindDialog(\"AboutQF\").Open\n\n' TABLE GUI\nbtnAdvCalculate = self.Get(0).Clone\nbtnAdvQuery = self.Get(1).Clone\n\ntheTableGUI = av.GetProject.FindGUI(\"Table\")\nif (theTableGUI = nil) then\n listOfTableGUIs = av.GetProject.FindGUIsFor(Table)\n tableGUIs2Use = Msgbox.MultiList(listOftableGUIs,\"Choose one or more Table document types to add the Advanced Queries & Formu las interface components to:\",\"Extension Loading\")\nelse\n tableGUIs2Use = {thetableGUI}\nend\n\nfor each tableDocGUI in tableGUIs2Use\n tableButtonBar = tableDocGUI.GetButtonBar\n btnCalc = tableButtonBar.FindByScript(\"Table.Calculate\")\n if (btnCalc = NIL) then\n pos = tableButtonBar.GetControls.Count\n else\n pos = tableButtonBar.GetControls.Find(btnCalc)\n end\n tableButtonBar.Add(btnAdvCalculate, pos)\n\n btnQ = tableButtonBar.FindByScript(\"Table.Query\")\n if (btnQ = NIL) then\n pos = tableButtonBar.G etControls.Count\n else\n pos = tableButtonBar.GetControls.Find(btnQ)\n end\n tableButtonBar.Add(btnAdvQuery, pos)\n tableDocGUI.SetModified(TRUE)\nend\n\n\n' VIEW GUI\nbtnAdvQuery = self.Get(2).Clone\n\ntheViewGUI = av.GetProject.FindGUI(\"View\")\nif (theViewGUI = nil) then\n listOfViewGUIs = av.GetProject.FindGUIsFor(View)\n ViewGUIs2Use = Msgbox.MultiList(listOfViewGUIs,\"Choose one or more View document types to add the Advanced Queries & Formulas interface components to:\",\"Extension Loading\")\nelse\n ViewGUIs2 Use = {theViewGUI}\nend\n\nfor each ViewDocGUI in ViewGUIs2Use\n ViewButtonBar = ViewDocGUI.GetButtonBar\n btnQ = ViewButtonBar.FindByScript(\"View.Query\")\n if (btnQ = NIL) then\n pos = ViewButtonBar.GetControls.Count\n else\n pos = ViewButtonBar.GetControls.Find(btnQ)\n end\n ViewButtonBar.Add(btnAdvQuery, pos)\n ViewDocGUI.SetModified(TRUE)\nend\n\nself.GetPreferences.Add(\"Loaded\", TRUE)\nself.GetPreferences.Add(\"Version\", 2)" ) (Script.166 Name: "AdvancedCalculator.lbtAbout.Click" SourceCode: "av.FindDialog(\"AboutQF\").Open" ) (Script.167 Name: "AdvancedCalculator.lbtAdd.Click" SourceCode: "' Initialize variables\ntblActive = av.GetActiveDoc\nstrActiveTable = tblActive.GetName\nstrActiveField = tblActive.GetActiveField.GetName\nstrKey = strActiveTable ++ \"->\" ++ strActiveField\nstrCalc = self.GetDialog.FindByName(\"tbxQueryBox\").GetText\n\nif (strCalc.Trim = \"\") then\n return NIL\nend\n\ndicFormulas = _AC_dicFormulas\nlstFormulas = dicFormulas.Get(strKey)\nif (lstFormulas = NIL) then\n lstFormulas = {}\n dicFormulas.Add(strKey, lstFormulas)\nend\n\nlstFormulas.Add(strCalc)\nlstFormulas.RemoveDuplicates\n\n' crea t list of formulas\nself.GetDialog.FindByName(\"lbxFormulas\").DefineFromList(lstFormulas)\nself.GetDialog.FindByName(\"lbxFormulas\").SortAscending(TRUE)\nself.GetDialog.FindByName(\"lbtRemove\").SetEnabled(FALSE)\n" ) (Script.168 Name: "AdvancedCalculator.lbtCancel.Click" SourceCode: "self.GetDialog.Close" ) (Script.169 Name: "AdvancedCalculator.lbtExport.Click" SourceCode: "strDialogName = \"Advanced Field Calculator\"\nif (MsgBox.YesNo(\"Export Advanced Field Calculator formulas to new dBase-table. Proceed?\", strDialogName, TRUE)) then\n' Make new table\n theFile = FileDialog.Put(\"*.dbf\".AsFileName, \"*.dbf\", \"Create table of formulas\")\n if (theFile = NIL) then\n return NIL\n end\n vtbFormulas = VTab.MakeNew(theFile, dBASE)\n if (vtbFormulas.HasError) then\n MsgBox.Error(\"Unable to create \" + theFile.AsString, strDialogName)\n return NIL\n end\n vtbFormulas.AddFields({Fiel d.Make(\"Table\", #FIELD_CHAR, 50, 0),\n Field.Make(\"Field\", #FIELD_CHAR, 50, 0),\n Field.Make(\"Formula\", #FIELD_CHAR, 512, 0)})\n fldTable = vtbFormulas.FindField(\"Table\")\n fldField = vtbFormulas.FindField(\"Field\")\n fldFormula = vtbFormulas.FindField(\"Formula\") \n dicFormulas = _AC_dicFormulas\n for each strKey in dicFormulas.ReturnKeys\n lstFormulas = dicFormulas.Get(strKey)\n strTable = strKey.Left(strKey.IndexOf(\" -> \"))\n strField = strKey.Righ t(strKey.Count - ((strTable+\" -> \").Count))\n for each strFormula in lstFormulas\n vtbFormulas.BeginTransaction\n recno = vtbFormulas.AddRecord\n vtbFormulas.SetValue(fldTable, recno, strTable)\n vtbFormulas.SetValue(fldField, recno, strField)\n vtbFormulas.SetValue(fldFormula, recno, strFormula)\n vtbFormulas.EndTransaction\n end'for\n end'for\nend'if" ) (Script.170 Name: "AdvancedCalculator.lbtGarbage.Click" SourceCode: "strDialogName = \"Advanced Field Calculator\"\nif (MsgBox.YesNo(\"Make removing formulas, that havn't links to existing tables of project. Proceed?\", strDialogName, TRUE)) then\n lstTableFields = {}\n for each docCurrent in av.GetProject.GetDocs\n if (docCurrent.Is(Table)) then\n strTable = docCurrent.GetName\n for each fldCurrent in docCurrent.getVTab.GetFields\n lstTableFields.Add(strTable ++ \"->\" ++ fldCurrent.AsString)\n end'for\n end'if \n end'for\n\n dicFormulas = _AC_dicFormulas\n for each strKey in dicFormulas.ReturnKeys\n if (lstTableFields.FindByValue(strKey) = -1 ) then\n dicFormulas.Remove(strKey)\n end'if\n end'for\n\n' Display all project formulas\n lstFormulas = {}\n for each strKey in dicFormulas.ReturnKeys\n lstFormulas.Merge(dicFormulas.Get(strKey))\n end'for\n lstFormulas.RemoveDuplicates\n self.GetDialog.FindByName(\"lbxFormulas\").DefineFromList(lstFormulas)\n self.GetDialog.FindByName(\"lbxFormulas\").SortAscending(TRUE)\nend'if" ) (Script.171 Name: "AdvancedCalculator.lbtImport.Click" SourceCode: "strDialogName = \"Advanced Field Calculator\"\nif (MsgBox.YesNo(\"Import Advanced Field Calculator formulas from dBase-table. Proceed?\", strDialogName, TRUE)) then\n' Open existing table\n theFile = FileDialog.Show(\"*.dbf\", \"dBASE files\", \"Open table of formulas for import\")\n if (theFile = NIL) then\n return NIL\n end\n vtbFormulas = VTab.Make(theFile, TRUE, FALSE)\n if (vtbFormulas.HasError) then\n MsgBox.Error(\"Unable to open\" ++ theFile.AsString, strDialogName)\n return NIL\n end\n' Check format of dB ASE table\n fldTable = vtbFormulas.FindField(\"Table\")\n fldField = vtbFormulas.FindField(\"Field\")\n fldFormula = vtbFormulas.FindField(\"Formula\") \n if ( (fldTable = NIL) OR (fldField = NIL) OR (fldFormula = NIL)) then\n MsgBox.Error(\"dBASE table \"\"\" + theFile.AsString + \"\"\" is not table of formulas.\", strDialogName)\n return NIL\n end\n' get formulas\n dicFormulas = _AC_dicFormulas\n for each rec in vtbFormulas\n strTable = vtbFormulas.ReturnValue(fldTable, rec)\n strField = vtbFormulas.ReturnVal ue(fldField, rec)\n strFormula = vtbFormulas.ReturnValue(fldFormula, rec)\n strKey = strTable ++ \"->\" ++ strField\n lstFormulas = dicFormulas.Get(strKey)\n if (lstFormulas = NIL) then\n dicFormulas.Add(strKey, {strFormula})\n else\n lstFormulas.Add(strFormula)\n lstFormulas.RemoveDuplicates\n end'if\n end'for\n' Display all project formulas\n lstFormulas = {}\n for each strKey in dicFormulas.ReturnKeys\n lstFormulas.Merge(dicFormulas.Get(strKey))\n end'for\n lstFormulas.RemoveDuplic ates\n self.GetDialog.FindByName(\"lbxFormulas\").DefineFromList(lstFormulas)\n self.GetDialog.FindByName(\"lbxFormulas\").SortAscending(TRUE)\nend'if\n\n" ) (Script.172 Name: "AdvancedCalculator.lbtOK.Click" SourceCode: "theTable = av.GetActiveDoc\ntheVTab = theTable.GetVTab\ntheField = theTable.GetActiveField\n\ntheTable.StopEditing\nstrCalc = self.GetDialog.FindByName(\"tbxQueryBox\").GetText\ntheVTab.BeginTransaction\nif (not (theVTab.Calculate(strCalc, theField))) then\n MsgBox.Warning(\"Syntax Error\", \"Advanced Field Calculator\")\n return NIL\nend\ntheVTab.EndTransaction\ntheTable.GetWin.Invalidate\nself.GetDialog.Close\n\n" ) (Script.173 Name: "AdvancedCalculator.lbtRemove.Click" SourceCode: "' Initialize variables\ntblActive = av.GetActiveDoc\nstrActiveTable = tblActive.GetName\nstrActiveField = tblActive.GetActiveField.GetName\nstrKey = strActiveTable ++ \"->\" ++ strActiveField\nstrCalc = self.GetDialog.FindByName(\"lbxFormulas\").GetCurrentValue\n\ndicFormulas = _AC_dicFormulas\nlstFormulas = dicFormulas.Get(strKey)\nlstFormulas.RemoveObj(strCalc)\nif (lstFormulas.Count = 0) then\n dicFormulas.Remove(strKey)\nend\n\n' creat list of formulas\nself.GetDialog.FindByName(\"lbxFormulas\").DefineFromList(lstFormulas) \nself.GetDialog.FindByName(\"lbxFormulas\").SortAscending(TRUE)\nself.GetDialog.FindByName(\"lbtRemove\").SetEnabled(FALSE)\n\n" ) (Script.174 Name: "AdvancedCalculator.lbxFields.Select" SourceCode: "tblActive = av.GetActiveDoc\nvtbActive = tblActive.GetVTab\nlstFields = vtbActive.GetFields\nfldActive = lstFields.Get(self.GetCurrentRow)\n\nif ((fldActive.GetType = #FIELD_CHAR) OR (fldActive.GetType = #FIELD_LOGICAL)) then\n self.GetDialog.FindByName(\"rbtString\").Select\n self.GetDialog.FindByName(\"rbtString\").Click\nelse if (fldActive.GetType = #FIELD_DATE) then\n self.GetDialog.FindByName(\"rbtDate\").Select\n self.GetDialog.FindByName(\"rbtDate\").Click\n else\n self.GetDialog.FindByName(\"rbtN umber\").Select\n self.GetDialog.FindByName(\"rbtNumber\").Click\n end'if\nend'if\n" ) (Script.175 Name: "AdvancedCalculator.lbxFormulas.Apply" SourceCode: "self.GetDialog.FindByName(\"tbxQueryBox\").InsertText(self.GetCurrentValue)" ) (Script.176 Name: "AdvancedCalculator.lbxFormulas.Select" SourceCode: "if (self.GetDialog.FindByName(\"cbxAllFormulas\").IsSelected.Not) then\n self.GetDialog.FindByName(\"lbtRemove\").SetEnabled(TRUE)\nend" ) (Script.177 Name: "AdvancedCalculator.lbxRequests.Apply" SourceCode: "self.GetDialog.FindByName(\"tbxQueryBox\").InsertText(self.GetDictionary.Get(self.GetCurrentValue))" ) (Script.178 Name: "AdvancedCalculator.Open" SourceCode: "' Initialize variables\ntblActive = av.GetActiveDoc\nstrActiveTable = tblActive.GetName\nstrActiveField = tblActive.GetActiveField.GetName\n\n' Initialize controls\nself.FindByName(\"lbtAdd\").SetEnabled(TRUE)\nself.FindByName(\"lbtRemove\").SetEnabled(FALSE)\nself.FindByName(\"tbxQueryBox\").SetText(\"\")\nself.FindByName(\"tbxQueryBox\").SetLabel(\"[\" + strActiveField + \"] =\")\nself.FindByName(\"tbxQueryBox\").Focus\nself.FindByName(\"rbtNumber\").Select\nself.FindByName(\"rbtNumber\").Click\nself.FindByName(\"lbtExport\").SetEnabled(FA LSE)\nself.FindByName(\"lbtImport\").SetEnabled(FALSE)\nself.FindByName(\"lbtGarbage\").SetEnabled(FALSE)\nself.FindByName(\"cbxAllFormulas\").SetSelected(FALSE)\n\n' Initialize Field's listbox\nlstFields = tblActive.GetVTab.GetFields\nlstFieldNames = {}\nfor each fldName in lstFields\n if (fldName.IsVisible) then\n lstFieldNames.Add(\"[\" + fldName.GetAlias + \"]\")\n end'if\nend'for\nself.FindByName(\"lbxFields\").DefineFromList(lstFieldNames)\n\n' get formulas\ndicFormulas = _AC_dicFormulas\n\nlstFormulas = dicFormulas.Get(str ActiveTable ++ \"->\" ++ strActiveField)\nif (lstFormulas = NIL) then\n lstFormulas = {}\nend\n\n' creat list of formulas\nself.FindByName(\"lbxFormulas\").DefineFromList(lstFormulas)\nself.FindByName(\"lbxFormulas\").SortAscending(TRUE)" ) (Script.179 Name: "AdvancedCalculator.rbtDate.Click" SourceCode: "lstDateTitles = {\"+\",\"-\",\".\",\"<\",\"<=\",\"<>\",\"=\",\">\",\">=\",\"AsSeconds\",\n \"AsString\",\"Clone\",\"FormattedEquals\",\"GetClassDate\",\n \"GetClassName\",\"GetDay\",\"GetDayOfMonth\",\"GetDayOfYearDate\",\n \"GetDefFormat\",\"GetFormat\",\"GetHours\",\"GetJulianDate\",\n \"GetMilliseconds\",\"GetMinutes\",\"GetMonth\",\"GetMonthOfYear\",\n \"GetName\",\"GetSeconds\",\"GetTimeAsSeconds\",\"GetWeekOfYear\",\n \"GetYearDate\",\"HasInstances\",\"IncrementByDays\",\"Increm entByHours\",\n \"IncrementByMinutes\",\"IncrementByMonths\",\"IncrementBySeconds\",\n \"IncrementByWeeks\",\"IncrementByYears\",\"Is\",\"IsAssumedBestCentury\",\n \"IsNullDate\",\"IsSubclassOf\",\"Make\",\"MakeFromJulianDay\",\n \"MakeFromNumber\",\"MakeNullDate\",\"NowDate\",\"SetAssumedBestCentury\",\n \"SetDate\",\"SetDefFormat\",\"SetFormat\",\"SetName\"}\n\nlstDateValues = {\" + \",\" - \",\" .. \",\" < \",\" <= \",\" <> \",\" = \",\" > \",\" >= \",\n \".AsSeconds\",\".AsSt ring\",\".Clone\",\".FormattedEquals( , )\",\n \".GetClassDate\",\".GetClassName\",\".GetDay\",\".GetDayOfMonth\",\n \".GetDayOfYearDate\",\".GetDefFormat\",\".GetFormat\",\".GetHours\",\n \".GetJulianDate\",\".GetMilliseconds\",\".GetMinutes\",\".GetMonth\",\n \".GetMonthOfYear\",\".GetName\",\".GetSeconds\",\".GetTimeAsSeconds\",\n \".GetWeekOfYear\",\".GetYearDate\",\".HasInstances\",\".IncrementByDays( )\",\n \".IncrementByHours( )\",\".IncrementByMinutes( )\",\". IncrementByMonths( )\",\n \".IncrementBySeconds( )\",\".IncrementByWeeks( )\",\".IncrementByYears( )\",\n \".Is( )\",\"Date.IsAssumedBestCentury\",\".IsNullDate\",\".IsSubclassOf( )\",\n \"Date.Make( , )\", \"Date.MakeFromJulianDay( , )\",\"Date.MakeFromNumber( )\",\n \"Date.MakeNullDate\",\".NowDate\",\".SetAssumedBestCentury( )\",\".SetDate( , )\",\n \"Date.SetDefFormat( )\",\".SetFormat( )\",\".SetName( )\"}\n\ndicRequests = Dictionary.Make(lstDateTitles.Count)\nfor e ach i in 0..(lstDateTitles.Count - 1)\n dicRequests.Add(lstDateTitles.Get(i), lstDateValues.Get(i))\nend'for\n\nself.GetDialog.FindByName(\"lbxRequests\").DefineFromDictionary(dicRequests)\nself.GetDialog.FindByName(\"lbxRequests\").SortAscending(FALSE)" ) (Script.180 Name: "AdvancedCalculator.rbtNumber.Click" SourceCode: "lstNumbersTitles = {\"*\",\"+\",\"-\",\"..\",\"/\",\"<\",\"<=\",\"<>\",\"=\",\">\",\n \">=\",\"@\",\"^\",\"Abs\",\"ACos\",\"AsChar\",\"AsDate\",\"AsDays\",\n \"AsDegrees\",\"AsHexString\",\"AsHours\",\"ASin\",\"AsMinutes\",\n \"AsRadians\",\"AsSeconds\",\"AsString\",\"AsYears\",\"ATan\",\n \"Ceiling\",\"Clone\",\"Cos\",\"Floor\",\"GetClass\",\"GetClassName\",\n \"GetDefFormat\",\"GetEuler\",\"GetFormat\",\"GetName\",\"GetPi\",\n \"HasInstances\",\"Is\",\"IsInfinity\",\"IsNull\",\"IsSubc lassOf\",\n \"Ln\",\"Log\",\"MakeNull\",\"MakeRandom\",\"Max\",\"Min\",\"Mod\",\"Negate\",\n \"Round\",\"SetDefFormat\",\"SetFormat\",\"SetFormatPrecision\",\n \"SetName\",\"Sin\",\"Sqrt\",\"Tan\",\"Truncate\"}\n\nlstNumbersValues = {\" * \",\" + \",\" - \",\" .. \",\" / \",\" < \",\" <= \",\" <> \",\" = \",\" > \",\n \" >= \",\" @ \",\" ^ \",\".Abs\",\".ACos\",\".AsChar\",\".AsDate\",\".AsDays\",\n \".AsDegrees\",\".AsHexString\",\".AsHours\",\".ASin\",\".AsMinutes\",\n \".AsRadians \",\".AsSeconds\",\".AsString\",\".AsYears\",\".ATan\",\".Ceiling\",\n \".Clone\",\".Cos\",\".Floor\",\".GetClass\",\"Number.GetClassName\",\n \"Number.GetDefFormat\",\"Number.GetEuler\",\".GetFormat\",\".GetName\",\n \"Number.GetPi\",\"Number.HasInstances\",\".Is( )\",\".IsInfinity\",\".IsNull\",\n \"Number.IsSubclassOf( )\",\".Ln\",\".Log( )\",\"Number.MakeNull\",\n \"Number.MakeRandom( , )\",\" Max \",\" Min \",\" Mod \",\".Negate\",\".Round\",\n \"Number.S etDefFormat( )\",\".SetFormat( )\",\".SetFormatPrecision( )\",\n \".SetName( )\",\".Sin\",\".Sqrt\",\".Tan\",\".Truncate\"}\n\ndicRequests = Dictionary.Make(lstNumbersTitles.Count)\nfor each i in 0..(lstNumbersTitles.Count - 1)\n dicRequests.Add(lstNumbersTitles.Get(i), lstNumbersValues.Get(i))\nend'for\n\nif (self.Is(Dialog)) then\n self.FindByName(\"lbxRequests\").DefineFromDictionary(dicRequests)\n self.FindByName(\"lbxRequests\").SortAscending(FALSE)\nelse\n self.GetDialog.FindByName(\"lbxRequests\").DefineFromDi ctionary(dicRequests)\n self.GetDialog.FindByName(\"lbxRequests\").SortAscending(FALSE)\nend'if" ) (Script.181 Name: "AdvancedCalculator.rbtString.Click" SourceCode: "lstStringTitles = {\"+\",\"++\",\"<\",\"<=\",\"<>\",\"=\",\">\",\">=\",\"AsASCII\",\"AsDate\",\n \"AsEnum\",\"AsFileName\",\"AsList\",\"AsNumber\",\"AsPattern\",\n \"AsSrcName\",\"AsString\",\"AsTokens\",\"BasicProper\",\"BasicTrim\",\n \"Clone\",\"Contains\",\"Count\",\"Extract\",\"GetClassString\",\"GetClassName\",\n \"GetNameString\",\"HasInstances\",\"IndexOf\",\"Is\",\"IsCaseSensitiveCompare\",\n \"IsNull\",\"IsNumber\",\"IsQuotedString\",\"IsSubclassOf\",\"LCase.Left\",\n \"MakeBuffer\",\"Middle\",\"Proper\",\"Quote\",\"Right\",\"SetCaseSensitiveCompare\",\n \"SetName\",\"Split\",\"Substitute\",\"Translate\",\"Trim\",\"UCase\",\"Unquote\"}\n\nlstStringValues = {\" + \",\" ++ \",\" < \",\" <= \",\" <> \",\" = \",\" > \",\" >= \",\".AsASCII\",\".AsDate\",\n \".AsEnum\",\".AsFileName\",\".AsList\",\".AsNumber\",\".AsPattern\",\".AsSrcName\",\n \".AsString\",\".AsTokens( )\",\".BasicProper( )\",\".BasicTrim( , )\",\n \".Clone\",\".Contains( )\",\".Count\",\".Extract( )\",\".GetClassStri ng\",\n \".GetClassName\",\".GetNameString\",\".HasInstances\",\".IndexOf( )\",\".Is( )\",\n \"String.IsCaseSensitiveCompare\",\".IsNull\",\".IsNumber\",\".IsQuotedString\",\n \".IsSubclassOf( )\",\".LCase.Left( )\",\"String.MakeBuffer( )\",\".Middle( , )\",\n \".Proper\",\".Quote\",\".Right( )\",\"String.SetCaseSensitiveCompare( )\",\".SetName( )\",\n \".Split( , )\",\".Substitute( , )\",\".Translate( , )\",\".Trim\",\".UCase\",\".Unquote\"}\n\ndicRequests = Dictionary.Mak e(lstStringTitles.Count)\nfor each i in 0..(lstStringTitles.Count - 1)\n dicRequests.Add(lstStringTitles.Get(i), lstStringValues.Get(i))\nend'for\n\nself.GetDialog.FindByName(\"lbxRequests\").DefineFromDictionary(dicRequests)\nself.GetDialog.FindByName(\"lbxRequests\").SortAscending(FALSE)" ) (Script.182 Name: "AdvancedCalculator.Start" SourceCode: "av.FindDialog(\"AdvancedCalculator\").Open\n" ) (Script.183 Name: "AdvancedCalculator.Uninstall" SourceCode: "if (av.GetProject = NIL) then\n return NIL\nend\n\nif (av.GetProject.IsClosing) then\n return NIL\nend\n\n' get a list of all DocGUIs of type Table\ntableDocGUIlist = av.GetProject.FindGUIsFor(Table)\nfor each tableDocGUI in tableDocGUIlist\n tableButtonBar = tableDocGUI.GetButtonBar\n btnCalc = tableButtonBar.FindByScript(\"AdvancedCalculator.Start\")\n if (btnCalc <> NIL) then\n tableButtonBar.Remove(btnCalc)\n end\n btnQ = tableButtonBar.FindByScript(\"AdvancedQueryBuilder.Start\")\n if (btnQ <> NIL) then\n tabl eButtonBar.Remove(btnQ)\n end\n' let project know the tableDocGUI has been modified\n tableDocGUI.SetModified(TRUE)\nend\n\n' get a list of all DocGUIs of type View\nViewDocGUIlist = av.GetProject.FindGUIsFor(View)\nfor each ViewDocGUI in ViewDocGUIlist\n ViewButtonBar = ViewDocGUI.GetButtonBar\n btnQ = ViewButtonBar.FindByScript(\"AdvancedQueryBuilder.Start\")\n if (btnQ <> NIL) then\n ViewButtonBar.Remove(btnQ)\n end\n' let project know the tableDocGUI has been modified\n ViewDocGUI.SetModified(TRUE)\nend" ) (Script.184 Name: "AdvancedQueryBuilder.btnQueryBuilder.Click" SourceCode: "theDoc = self.GetDialog.GetServer\ntheVTab = NIL\nif (theDoc.Is(Table)) then\n theVTab = theDoc.GetVTab\nelse\n theTheme = theDoc.GetActiveThemes.Get(0)\n if (theTheme <> NIL) then\n strKey = theDoc.GetName ++ \"-\" ++ theTheme.GetName\n if (strKey = self.GetDialog.GetTitle) then\n if (theTheme.Is(FTheme)) then\n theVTab = theTheme.GetFTab\n end\n else\n thmNeedActive = self.GetDialog.GetTitle.Right(self.GetDialog.GetTitle.Count - theDoc.GetName.Count - 3)\n MsgBox.Info(\"Please, activ ate theme \"\"\" + thmNeedActive ++ \"\"\"\",\"Advanced Query Builder\")\n end\n end\nend\n\n\nif (theVTab <> NIL) then\n theQuery = QueryWin.ReturnQuery(theVTab, self.GetDialog.FindByName(\"tbxQueryBox\").GetText)\n if (theQuery <> NIL) then\n self.GetDialog.FindByName(\"tbxQueryBox\").SetText(theQuery)\n end\nend" ) (Script.185 Name: "AdvancedQueryBuilder.cbxAllQueries.Click" SourceCode: "dicQueries = _AC_dicQueries\nif (self.IsSelected) then\n' Display all project queries\n lstQueries = {}\n for each strKey in dicQueries.ReturnKeys\n lstQueries.Merge(dicQueries.Get(strKey))\n end'for\n lstQueries.RemoveDuplicates\n self.GetDialog.FindByName(\"lbtAdd\").SetEnabled(FALSE)\n\n self.GetDialog.FindByName(\"lbtExport\").SetEnabled(TRUE)\n self.GetDialog.FindByName(\"lbtImport\").SetEnabled(TRUE)\n self.GetDialog.FindByName(\"lbtGarbage\").SetEnabled(TRUE)\nelse\n' Display queries for active doc\n tblActive = self.GetDialog.GetServer\n strKey = self.GetDialog.GetTitle\n lstQueries = dicQueries.Get(strKey)\n if (lstQueries = NIL) then\n lstQueries = {}\n end'if\n self.GetDialog.FindByName(\"lbtAdd\").SetEnabled(TRUE)\n\n self.GetDialog.FindByName(\"lbtExport\").SetEnabled(FALSE)\n self.GetDialog.FindByName(\"lbtImport\").SetEnabled(FALSE)\n self.GetDialog.FindByName(\"lbtGarbage\").SetEnabled(FALSE)\nend'if\n\nself.GetDialog.FindByName(\"lbxQueries\").DefineFromList(lstQueries)\nself.GetDialog.FindByName(\"lbxQueries\").SortA scending(TRUE)\n\nself.GetDialog.FindByName(\"lbtRemove\").SetEnabled(FALSE)" ) (Script.186 Name: "AdvancedQueryBuilder.lbtAbout.Click" SourceCode: "av.FindDialog(\"AboutQF\").Open" ) (Script.187 Name: "AdvancedQueryBuilder.lbtAdd.Click" SourceCode: "' Initialize variables\ntblActive = self.GetDialog.GetServer\nstrKey = self.GetDialog.GetTitle\nstrCalc = self.GetDialog.FindByName(\"tbxQueryBox\").GetText\n\nif (strCalc.Trim = \"\") then\n return NIL\nend\n\ndicQueries = _AC_dicQueries\nlstQueries = dicQueries.Get(strKey)\nif (lstQueries = NIL) then\n lstQueries = {}\n dicQueries.Add(strKey, lstQueries)\nend\n\nlstQueries.Add(strCalc)\nlstQueries.RemoveDuplicates\n\n' creat list of queries\nself.GetDialog.FindByName(\"lbxQueries\").DefineFromList(lstQueries)\nself.GetDialog.Fin dByName(\"lbxQueries\").SortAscending(TRUE)\n\nself.GetDialog.FindByName(\"lbtRemove\").SetEnabled(FALSE)" ) (Script.188 Name: "AdvancedQueryBuilder.lbtClear.Click" SourceCode: "self.GetDialog.FindByName(\"tbxQueryBox\").SetText(\"\")" ) (Script.189 Name: "AdvancedQueryBuilder.lbtExport.Click" SourceCode: "if (MsgBox.YesNo(\"Export queries to dBase-table. Proceed?\", \"Advanced Query Builder\", TRUE)) then\n' Make new table\n theFile = FileDialog.Put(\"*.dbf\".AsFileName, \"*.dbf\", \"Create table of queries\")\n if (theFile = NIL) then\n return NIL\n end\n vtbQueries = VTab.MakeNew(theFile, dBASE)\n if (vtbQueries.HasError) then\n MsgBox.Error(\"Unable to create \" + theFile.AsString, \"Advanced Query Builder\")\n return NIL\n end\n vtbQueries.AddFields({Field.Make(\"Table\", #FIELD_CHAR, 100, 0),\n Field.Make(\"Query\", #FIELD_CHAR, 512, 0)})\n fldTable = vtbQueries.FindField(\"Table\")\n fldQuery = vtbQueries.FindField(\"Query\") \n dicQueries = _AC_dicQueries\n for each strKey in dicQueries.ReturnKeys\n lstQueries = dicQueries.Get(strKey)\n for each strQuery in lstQueries\n vtbQueries.BeginTransaction\n recno = vtbQueries.AddRecord\n vtbQueries.SetValue(fldTable, recno, strKey)\n vtbQueries.SetValue(fldQuery, recno, strQuery)\n vtbQueries.EndTransaction\n end'for\n end'fo r\nend'if" ) (Script.190 Name: "AdvancedQueryBuilder.lbtGarbage.Click" SourceCode: "if (MsgBox.YesNo(\"Make removing queries, that havn't links to existing Themes or Tables of project. Proceed?\", \"Advanced Query Builder\", TRUE)) then\n lstTableFields = {}\n for each docCurrent in av.GetProject.GetDocs\n if (docCurrent.Is(Table)) then\n lstTableFields.Add(docCurrent.GetName)\n elseif (docCurrent.Is(View)) then\n for each thmCurrent in docCurrent.GetThemes \n lstTableFields.Add(docCurrent.GetName ++ \"-\" ++ thmCurrent.GetName)\n end'for\n end'if \n end'for\n\n dicQuerie s = _AC_dicQueries\n for each strKey in dicQueries.ReturnKeys\n if (lstTableFields.FindByValue(strKey) = -1 ) then\n dicQueries.Remove(strKey)\n end'if\n end'for\n\n' Display all project queries\n lstQueries = {}\n for each strKey in dicQueries.ReturnKeys\n lstQueries.Merge(dicQueries.Get(strKey))\n end'for\n lstQueries.RemoveDuplicates\n self.GetDialog.FindByName(\"lbxQueries\").DefineFromList(lstQueries)\n self.GetDialog.FindByName(\"lbxQueries\").SortAscending(TRUE)\nend'if" ) (Script.191 Name: "AdvancedQueryBuilder.lbtImport.Click" SourceCode: "if (MsgBox.YesNo(\"Import Advanced Query Builder queries from dBase-table. Proceed?\", \"Advanced Query Builder\", TRUE)) then\n' Open existing table\n theFile = FileDialog.Show(\"*.dbf\", \"dBASE files\", \"Open table of queries for import\")\n if (theFile = NIL) then\n return NIL\n end\n vtbQueries = VTab.Make(theFile, TRUE, FALSE)\n if (vtbQueries.HasError) then\n MsgBox.Error(\"Unable to open\" ++ theFile.AsString, \"Advanced Query Builder\")\n return NIL\n end\n' Check format of dBASE table\n fldTable = vtbQueri es.FindField(\"Table\")\n fldQuery = vtbQueries.FindField(\"Query\") \n if ( (fldTable = NIL) OR (fldQuery = NIL)) then\n MsgBox.Error(\"dBASE table \"\"\" + theFile.AsString + \"\"\" is not table of queries.\", \"Advanced Query Builder\")\n return NIL\n end\n' get queries\n dicQueries = _AC_dicQueries\n for each rec in vtbQueries\n strKey = vtbQueries.ReturnValue(fldTable, rec)\n strQuery = vtbQueries.ReturnValue(fldQuery, rec)\n lstQueries = dicQueries.Get(strKey)\n if (lstQueries = NIL) then\n dicQue ries.Add(strKey, {strQuery})\n else\n lstQueries.Add(strQuery)\n lstQueries.RemoveDuplicates\n end'if\n end'for\n' Display all project queries\n lstQueries = {}\n for each strKey in dicQueries.ReturnKeys\n lstQueries.Merge(dicQueries.Get(strKey))\n end'for\n lstQueries.RemoveDuplicates\n self.GetDialog.FindByName(\"lbxQueries\").DefineFromList(lstQueries)\n self.GetDialog.FindByName(\"lbxQueries\").SortAscending(TRUE)\nend'if" ) (Script.192 Name: "AdvancedQueryBuilder.lbtRemove.Click" SourceCode: "' Initialize variables\ntblActive = self.GetDialog.GetServer\nstrKey = self.GetDialog.GetTitle\nstrCalc = self.GetDialog.FindByName(\"lbxQueries\").GetCurrentValue\n\ndicQueries = _AC_dicQueries\nlstQueries = dicQueries.Get(strKey)\nlstQueries.RemoveObj(strCalc)\nif (lstQueries.Count = 0) then\n dicQueries.Remove(strKey)\nend\n\n' creat list of queries\nself.GetDialog.FindByName(\"lbxQueries\").DefineFromList(lstQueries)\nself.GetDialog.FindByName(\"lbxQueries\").SortAscending(TRUE)\nself.GetDialog.FindByName(\"lbtRemove\").SetE nabled(FALSE)" ) (Script.193 Name: "AdvancedQueryBuilder.lbxQueries.Apply" SourceCode: "self.GetDialog.FindByName(\"tbxQueryBox\").InsertText(self.GetCurrentValue)" ) (Script.194 Name: "AdvancedQueryBuilder.lbxQueries.Select" SourceCode: "if (self.GetDialog.FindByName(\"cbxAllQueries\").IsSelected.Not) then\n self.GetDialog.FindByName(\"lbtRemove\").SetEnabled(TRUE)\nend" ) (Script.195 Name: "AdvancedQueryBuilder.Open" SourceCode: "' Initialize variables\ntblActive = av.GetActiveDoc\nstrActiveTable = tblActive.GetName\nif (tblActive.Is(View)) then\n strActiveTable = strActiveTable ++ \"-\" ++ tblActive.GetActiveThemes.Get(0).GetName\nend'if\n\nself.SetServer(tblActive)\nself.SetTitle(strActiveTable)\n\n' Initialize controls\nself.FindByName(\"lbtAdd\").SetEnabled(TRUE)\nself.FindByName(\"lbtRemove\").SetEnabled(FALSE)\nself.FindByName(\"tbxQueryBox\").SetText(\"\")\nself.FindByName(\"tbxQueryBox\").Focus\nself.FindByName(\"lbtExport\").SetEnabled(FALSE)\nself.Fin dByName(\"lbtImport\").SetEnabled(FALSE)\nself.FindByName(\"lbtGarbage\").SetEnabled(FALSE)\nself.FindByName(\"cbxAllQueries\").SetSelected(FALSE)\n\n' get queries\ndicQueries = _AC_dicQueries\n\nlstQueries = dicQueries.Get(strActiveTable)\nif (lstQueries = NIL) then\n lstQueries = {}\nend\n\n' creat list of queries\nself.FindByName(\"lbxQueries\").DefineFromList(lstQueries)\nself.FindByName(\"lbxQueries\").SortAscending(TRUE)" ) (Script.196 Name: "AdvancedQueryBuilder.RunSelection" SourceCode: "theDoc = self.GetDialog.GetServer\ntheVTab = NIL\nif (theDoc.Is(Table)) then\n theVTab = theDoc.GetVTab\nelseif (theDoc.Is(View)) then\n theTheme = theDoc.GetActiveThemes.Get(0)\n if (theTheme <> NIL) then\n strKey = theDoc.GetName ++ \"-\" ++ theTheme.GetName\n if (strKey = self.GetDialog.GetTitle) then\n if (theTheme.Is(FTheme)) then\n theVTab = theTheme.GetFTab\n end\n else\n thmNeedActive = self.GetDialog.GetTitle.Right(self.GetDialog.GetTitle.Count - theDoc.GetName.Count - 3)\n M sgBox.Info(\"Please, activate theme \"\"\" + thmNeedActive ++ \"\"\"\",\"Advanced Query Builder\")\n end\n end\nend\n\nif (theVTab <> NIL) then\n theQuery = self.GetDialog.FindByName(\"tbxQueryBox\").GetText\n theBitmap = theVTab.GetSelection\n if (self.GetName = \"lbtNewSet\") then\n selType = #VTAB_SELTYPE_NEW\n elseif (self.GetName = \"lbtAddToSet\") then\n selType = #VTAB_SELTYPE_OR\n elseif (self.GetName = \"lbtSelectFromSet\") then\n selType = #VTAB_SELTYPE_AND\n end\n if (theVTab.Query(theQuery, theBitmap, selTyp e) = FALSE) then\n MsgBox.Warning(\"Syntax Error\", \"Advanced Query Builder\")\n end\n theVTab.UpdateSelection\nend" ) (Script.197 Name: "AdvancedQueryBuilder.ServerClose" SourceCode: "self.Close" ) (Script.198 Name: "AdvancedQueryBuilder.Start" SourceCode: "dlgAQB = av.FindDialog(\"Advanced Query Builder\")\nif (dlgAQB.IsOpen.Not) then\n dlgAQB.Open\nelse\n dlgAQB.Activate\nend'if\n" )