object frmMain: TfrmMain Left = 382 Height = 194 Top = 435 Width = 755 Anchors = [akLeft, akBottom] Caption = 'ToolBox' ClientHeight = 194 ClientWidth = 755 LCLVersion = '1.1' object PageControl1: TPageControl Left = 4 Height = 189 Top = 5 Width = 749 ActivePage = AirGrpForm Anchors = [akTop, akLeft, akRight, akBottom] TabIndex = 0 TabOrder = 0 object AirGrpForm: TTabSheet Caption = 'My Groups' ClientHeight = 161 ClientWidth = 741 OnShow = AGFbtnSrchEnter object AGFlbxGroup: TListBox Left = 0 Height = 137 Top = 27 Width = 136 Anchors = [akTop, akLeft, akBottom] ItemHeight = 0 OnSelectionChange = AGFlbxGroupSelectionChange TabOrder = 2 end object AGFlbxUnit: TListBox Left = 144 Height = 161 Top = 4 Width = 394 Anchors = [akTop, akLeft, akRight, akBottom] ExtendedSelect = False ItemHeight = 0 OnSelectionChange = AGFlbxUnitSelectionChange ScrollWidth = 250 TabOrder = 5 end object AGFbtnGrp1: TButton Left = 688 Height = 18 Top = 83 Width = 48 Anchors = [akRight, akBottom] Caption = 'Grp1' OnClick = AGFbtnGrp1Enter OnEnter = AGFbtnGrp1Enter TabOrder = 3 end object AGFbtnGrp2: TButton Left = 687 Height = 18 Top = 104 Width = 49 Anchors = [akRight, akBottom] Caption = 'Grp2' OnClick = AGFbtnGrp2Enter OnEnter = AGFbtnGrp2Enter TabOrder = 4 end object AGFbtnMeet: TButton Left = 688 Height = 18 Top = 64 Width = 48 Anchors = [akRight, akBottom] Caption = 'Join' OnEnter = AGFbtnMeetEnter TabOrder = 7 end object AGFbtnASWPat: TButton Left = 636 Height = 18 Top = 40 Width = 48 Anchors = [akRight, akBottom] Caption = 'ASW' OnEnter = AGFbtnASWPatEnter TabOrder = 8 end object AGFspnbxPatrl: TSpinEdit Left = 693 Height = 33 Top = 16 Width = 48 Anchors = [akRight, akBottom] AutoSelect = False AutoSize = False Increment = 10 MaxValue = 200 MinValue = 1 TabOrder = 6 Value = 10 end object AGFbtnSrch: TButton Left = 16 Height = 17 Top = 4 Width = 59 Caption = 'Search' OnEnter = AGFbtnSrchEnter TabOrder = 0 end object AGFbtnStrip: TButton Left = 641 Height = 17 Top = 64 Width = 43 Anchors = [akRight, akBottom] Caption = 'strip' OnClick = AGFbtnStripClick TabOrder = 9 end object AGFbtnAEWPat: TButton Left = 638 Height = 17 Top = 16 Width = 46 Anchors = [akRight, akBottom] Caption = 'AEW' OnEnter = AGFbtnAEWPatEnter TabOrder = 10 end object AGFBtnSplit: TButton Left = 688 Height = 19 Top = 122 Width = 54 Anchors = [akRight, akBottom] Caption = 'UnitSplit' OnClick = AGFBtnSplitClick TabOrder = 11 end object AGFSpnBxSplt: TSpinEdit Left = 640 Height = 16 Top = 122 Width = 42 Anchors = [akRight, akBottom] AutoSize = False MaxValue = 99 MinValue = 1 TabOrder = 12 Value = 1 end object AGFBtnPause: TButton Left = 544 Height = 16 Top = 5 Width = 45 Anchors = [akTop, akRight] Caption = 'Pause' OnClick = AGFBtnPauseClick TabOrder = 1 end end object Attack: TTabSheet Caption = 'Attack' ClientHeight = 172 ClientWidth = 733 OnShow = AtkBtnSrchEnter object AtkBtnSrch: TButton Left = 24 Height = 17 Top = 3 Width = 56 Caption = 'Search' OnClick = AtkBtnSrchEnter OnEnter = AtkBtnSrchEnter TabOrder = 0 end object AtkLbxFGroup: TListBox Left = 2 Height = 148 Top = 27 Width = 102 Anchors = [akTop, akLeft, akBottom] ItemHeight = 0 OnSelectionChange = AtkLbxFGroupSelectionChange TabOrder = 1 end object AtkLbxEGroup: TListBox Left = 344 Height = 147 Top = 27 Width = 108 Anchors = [akTop, akRight, akBottom] ItemHeight = 0 OnSelectionChange = AtkLbxEGroupSelectionChange TabOrder = 2 end object AtkLbxEUnit: TListBox Left = 462 Height = 147 Top = 27 Width = 202 Anchors = [akTop, akRight, akBottom] ExtendedSelect = False ItemHeight = 0 OnSelectionChange = AtkLbxEUnitSelectionChange ScrollWidth = 300 TabOrder = 3 end object AtkBtnDefet: TButton Left = 672 Height = 17 Top = 149 Width = 59 Anchors = [akRight, akBottom] Caption = 'Defect' OnClick = AtkBtnDefetClick TabOrder = 4 end object AtkBtnCapt: TButton Left = 672 Height = 17 Top = 122 Width = 59 Anchors = [akRight, akBottom] Caption = 'Capture' OnClick = AtkBtnCaptClick TabOrder = 5 end object AtkBtnCover: TButton Left = 672 Height = 17 Top = 98 Width = 59 Anchors = [akRight, akBottom] Caption = 'Cover' OnClick = AtkBtnCoverClick TabOrder = 6 end object AtkBtnTarg: TButton Left = 672 Height = 17 Top = 69 Width = 59 Anchors = [akRight, akBottom] Caption = 'M-Targt' OnClick = AtkBtnTargClick TabOrder = 7 end object AtkBtnPause: TButton Left = 104 Height = 17 Top = 3 Width = 53 Caption = 'Pause' OnClick = AGFBtnPauseClick TabOrder = 8 end object AtkLbxFUnit: TListBox Left = 112 Height = 148 Top = 27 Width = 221 Anchors = [akTop, akLeft, akRight, akBottom] ItemHeight = 0 OnSelectionChange = AtkLbxFUnitSelectionChange ScrollWidth = 250 TabOrder = 9 end end object MessgLog: TTabSheet Caption = 'MessageLog' ClientHeight = 172 ClientWidth = 731 object MLtmemLog: TMemo Left = 0 Height = 170 Top = 0 Width = 725 Anchors = [akTop, akLeft, akRight, akBottom] HideSelection = False Lines.Strings = ( 'Message Log' ) ScrollBars = ssVertical TabOrder = 0 TabStop = False end end object RefuelSheet: TTabSheet Caption = 'Aerial Refuel' ClientHeight = 172 ClientWidth = 731 object RflLbxGroups: TListBox Left = 0 Height = 156 Top = 16 Width = 80 Anchors = [akTop, akLeft, akBottom] BidiMode = bdRightToLeft ExtendedSelect = False ItemHeight = 0 OnSelectionChange = RflLbxGroupsSelectionChange ParentBidiMode = False TabOrder = 1 TabStop = False end object RflLbxDetail: TListBox Left = 311 Height = 173 Top = 0 Width = 239 Anchors = [akTop, akLeft, akRight, akBottom] ItemHeight = 0 ScrollWidth = 250 TabOrder = 0 TabStop = False end object RflLbxUnits: TListBox Left = 88 Height = 174 Top = 0 Width = 216 Anchors = [akTop, akLeft, akBottom] ItemHeight = 0 ScrollWidth = 200 TabOrder = 2 TabStop = False end object RflChkBPause: TCheckBox Left = 555 Height = 19 Top = 0 Width = 77 Anchors = [akTop, akRight] Caption = 'AutoPause' TabOrder = 3 TabStop = False end object RflChkBFind: TCheckBox Left = 555 Height = 19 Top = 26 Width = 61 Anchors = [akTop, akRight] Caption = 'Rfl Grps' OnChange = RflChkBFindChange TabOrder = 4 TabStop = False end object RflChkBResume: TCheckBox Left = 655 Height = 19 Top = 3 Width = 62 Anchors = [akTop, akRight] Caption = 'Resume' OnChange = RflChkBResumeChange TabOrder = 5 TabStop = False end object RflLblGameTime: TLabel Left = 19 Height = 15 Hint = 'Game Time' Top = 3 Width = 61 Alignment = taRightJustify AutoSize = False Caption = 'GameTime:' ParentColor = False ParentShowHint = False ShowHint = True end object RflBtnTrans: TButton Left = 638 Height = 22 Hint = 'transfer internally or to any other tanker unit'#13#10'recipient = supply: internal from refuel'#13#10'recipient = -1 : internal to refuel'#13#10'recipient = other unit normal refuel' Top = 115 Width = 88 Anchors = [akTop, akRight] Caption = 'Tanker Transfr' OnClick = RflBtnTransClick ParentShowHint = False ShowHint = True TabOrder = 6 end object RflSpinEditTank: TSpinEdit Left = 555 Height = 23 Hint = 'supply tanker unit No' Top = 83 Width = 50 Anchors = [akTop, akRight] AutoSize = False MaxValue = 99 ParentShowHint = False ShowHint = True TabStop = False TabOrder = 7 end object RflChkBTnkGrpSrch: TCheckBox Left = 555 Height = 19 Top = 55 Width = 69 Anchors = [akTop, akRight] AutoSize = False Caption = 'Tnk Grps' OnClick = RflBtnTnkrGrpSrchClick TabOrder = 8 end object RflBtnQueue: TButton Left = 549 Height = 23 Hint = 'refuel cycle whole group' Top = 114 Width = 67 Anchors = [akTop, akRight] Caption = 'Queue' OnClick = RflBtnQueueClick ParentShowHint = False ShowHint = True TabOrder = 9 end object RflSpinEditQuant: TSpinEdit Left = 655 Height = 23 Hint = 'Quantity in nm to allocate for each tanker'#13#10'actual quantity might be reduced' Top = 83 Width = 71 Anchors = [akTop, akRight] AutoSize = False MaxValue = 9999 ParentShowHint = False ShowHint = True TabOrder = 10 end object RflSpinEditRecip: TSpinEdit Left = 655 Height = 23 Hint = 'Recipient Unit No'#13#10'same as supply = internal from refuel'#13#10'-1 = internal to refuel'#13#10'other unit = normal refuel'#13#10'specify quantity below' Top = 55 Width = 50 Anchors = [akTop, akRight] AutoSize = False MaxValue = 99 MinValue = -1 ParentShowHint = False ShowHint = True TabOrder = 11 end end object SeaVessel: TTabSheet Caption = 'Surface/Sub Groups' ClientHeight = 172 ClientWidth = 733 OnShow = SeaVesselShow object SVListBoxUnits: TListBox Left = 120 Height = 146 Top = 25 Width = 216 Anchors = [akTop, akLeft, akBottom] ItemHeight = 0 OnSelectionChange = SVListBoxUnitsSelectionChange TabOrder = 0 end object SVListBoxGroups: TListBox Left = -4 Height = 146 Top = 25 Width = 116 Anchors = [akTop, akLeft, akBottom] ItemHeight = 0 OnSelectionChange = SVListBoxGroupsSelectionChange TabOrder = 1 end object SVLabelGroup: TLabel Left = 16 Height = 15 Top = 3 Width = 46 Anchors = [akTop, akLeft, akRight] Caption = 'Groups' ParentColor = False OnClick = SVLabelGroupClick end object SVLabelUnits: TLabel Left = 186 Height = 15 Top = 3 Width = 46 Anchors = [akTop, akLeft, akRight] Caption = 'Units' ParentColor = False end object SVListBoxUnitDetail: TListBox Left = 344 Height = 146 Top = 25 Width = 306 Anchors = [akTop, akLeft, akRight, akBottom] ItemHeight = 0 ScrollWidth = 450 TabOrder = 2 end object SVLabelDetail: TLabel Left = 384 Height = 15 Top = 3 Width = 88 Caption = 'Unit Information' ParentColor = False end end object Settings: TTabSheet Caption = 'Settings' ClientHeight = 172 ClientWidth = 731 object SETlblMLcount: TLabel Left = 9 Height = 15 Top = 10 Width = 130 Caption = 'Message Log Line Count' ParentColor = False end object SETspnMLC: TSpinEdit Left = 152 Height = 23 Top = 10 Width = 50 AutoSelect = False AutoSize = False MaxValue = 1000 MinValue = 25 TabOrder = 0 Value = 250 end object SETmemHelp: TMemo Left = 270 Height = 163 Top = 3 Width = 458 Anchors = [akTop, akLeft, akRight, akBottom] Lines.Strings = ( 'Basic Help' 'This toolbox utilises exportDLL functions of Beta Harpoon ' 'Classic game engines. You may need to download a ' 'current file from Harpgamer.com. The toolbox has some ' 'functions which are well developed and some which are ' 'developmental. There are limitations as to what ' 'information is available and therefor limits to simulation ' 'accuracy.' '' 'The toolbox window can be sized so as to replace the ' 'normal message log window if you need extra space, then ' 'use the tool box message log. ' 'Air Group Formation page: when clicked to bring into view, ' 'will automatically search for all your groups and list them ' 'with their current speeds in the left pane.' ' If a group is selected then any aircraft in that group will be ' 'listed in the larger right pane.' 'If an air unit is selected then two functions are available: ' 'altitude band and location offset (from the group centre). ' 'These items are changed by their respective spin box - set ' 'the desired number then press the return(enter) key to ' 'make the change. ' 'In the case of the position offset you can click the N/S and ' 'E/W labels to change the offset directions.' 'The unit offset is not designed to be used for air units in ' 'formation in a base or surface group but for a multi unit air ' 'group - eg you can set a fighter unit out in front of a strike ' 'unit within the one group and can select their respective ' 'altitude band at the same time.' 'With an air group selected you can enter a square based ' 'patrol path by clicking the ''ASW'' button. ' 'First set the base size (approx nautical miles). The group ' 'should be moving (not loitering). A square based patrol ' 'will be set centred about the current postion or if the group ' 'has a course set, about its first course point, subsequent ' 'points (legs) will be discarded. ' 'The group will loiter at each turn point to drop bouys if ' 'available. ' 'By this function an air group that has been sent to ''patrol'' ' 'using the ''launch'' function can be quickly set to perform a ' '2-D patrol rather than loiter/hover in the one location or it ' 'can be sent to an area for an ASW sweep.' 'A similar AEW patrol can be set with 10 minute intermitent ' 'radar.' '' '"Join"' 'Selected groups can be set one by one to the ''Grp1''and ' '''Grp2'' variables (by pressing the respective buttons) then ' 'by pressing ''join'' key they will have their course set to meet ' 'at a mid point (time wise). When they meet at this point ' 'group1 will join group2, ie group 2 remains with the ' 'addition of the units of group1.. ' 'If Group2 previously had a course then the combined ' 'group will proceed to its original leg one destination but ' 'any orders for that destsination are lost. ' 'Note if group1 were at military or burner throttle then the ' 'resulting group will also. Group 1 shouldn''t be loitering ' 'when pressing the ''meet'' button. If Group 2 is loitering (eg ' 'tanker waiting to refuel) then Group 1 flys to Group 2.' 'When the groups join you will receive a staff message at ' 'which point you probably need to select the (new) group ' 'and then edit either/both speed and course including ' 'destination commands (eg land).' '"Split"' 'A unit split button allows you to split off a selected number ' 'of planes of a single unit in an air group. The feature is ' 'similar to the in game split function but here you can see ' 'more information on the unit you are splitting so as to be ' 'more useful if you have a multi unit group all of the same ' 'platform but different loadouts.' '' 'The Attack page:' ' has a number of functions that are generally of an ' 'indicitive nature of what might be possible with further ' 'development. ' 'The page lets you see information on visible enemy units ' 'and allows you to launch an attempted "capture'' of an ' 'enemy group using either air groups or surface groups. ' 'The calculations for this succeeding are based on enemy ' 'unit damage points and your surface group unit damaage ' 'points or airgroup ''endurance'' value.' 'The distance to the enemy effects the outcome and is ' 'biased toward the enemy. If you attempt fails then the ' 'enemy has a chance of successfully mounting a counter ' 'attack and you loose your group to them.' 'You can attemp to capture a neutral group, but if you fail ' 'you will make the target an enemy.' 'The button ''cover'' will change your air groups path so that ' 'it goes to a point directly over the selected enemy unit, you ' 'need an exact fix on the enemy.' 'You will also need to edit your groups course so that you ' 'get your desired action (eg attack) at that point. It is useful ' 'in precise anti sub attacks from helos.' 'There is also a forced change of side button (Defect) which ' 'is mostly for testing but will change a groups side between ' 'neutral and enemy.' 'The missile target button will sometimes allow you to re ' 'allocate your missiles target to a new target unit, you need ' 'to have a positive fix on the unit. Depending upon factors I ' 'haven''t quite worked out this function may do nothing.' '' 'Aerial Refuel Page:' 'This gives information about refuel events that have been ' 'queued by the main program and also groups with tankers ' 'having refuel availble. ' '"AutoPause'' when checked (click the check box) will stop ' 'processing and game play when ever a new refuel action is ' 'queued. You will see in the windows left to right :' '1/ the Group ID, 2/ the groups units with basic information ' '3/ details of the event including (as appropriate) the ' 'current supply tanker and its remaining fuel supply for ' 'refuel, whether awaiting, completed or carrying out a ' 'refuel cycle, the per plane allocation for each unit.' '"Rfl Grps" when checked will pause the game and list in the ' 'left window the group ID and time for queued refuelling ' 'events. You can mouse click a group and the unit and ' 'detail information (as mentioned above) will appear for ' 'that group. ' 'You can sequentially look at as many of the events as you ' 'wish. When finished click "resume" to go back to game ' 'play.' '"Tnk Grps" will pause the game and list in the left window ' 'the groups which include tanker units with available refuel. ' 'By clicking one of the groups the unit information will ' 'come up in the centre window. ' 'In the unit info will be unit endurance times (in minutes) ' 'and for the tankers available refuel.' 'Two refuelling control features are obtained from the ' 'buttons and spin box at the right lower portion of the page.' '"Queue" will start a refuel cycle for the selecte group. ' 'You must select the supply tanker unit No in the left spin box,' 'no other settings are needed. This is equivalent to a ''alt-r'' ' 'game command except you can select which tanker unit ' 'supplies fuel.' '"Transfer" allows you to transfer fuel between tanker units' 'or to allocate a tankers ''refuel'' supply for its own use. ' 'Specify the quantity to transfer in the lower spin box.' 'Select the supply tanker and recipient tanker (unit Nos)' 'in respective spin box and the quantity of fuel per tanker.' 'For internal transfer both recipient and supply tanker are' 'set to the same number to transfer from the refuel cells ' 'to main tanks or recipient set to -1 to transfer to refuel ' 'cells from main tanks.' ) ReadOnly = True ScrollBars = ssVertical TabOrder = 1 WantReturns = False end end end end