From 597c49f67cf1e2e0300839863b376c343d009967 Mon Sep 17 00:00:00 2001 From: "PC1\\PTyTb" Date: Sun, 17 Aug 2025 09:16:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D1=83=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D0=B0=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- forms/uGeneral.fmx | 58 ++++++++++++++++++++------------- frames/fRevards.fmx | 33 +++++++++++++------ frames/fRevards.pas | 79 ++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 130 insertions(+), 40 deletions(-) diff --git a/forms/uGeneral.fmx b/forms/uGeneral.fmx index 08ede65..0bd30de 100644 --- a/forms/uGeneral.fmx +++ b/forms/uGeneral.fmx @@ -18,7 +18,7 @@ object TTW_Bot: TTTW_Bot Size.Width = 1003.000000000000000000 Size.Height = 744.000000000000000000 Size.PlatformDefault = False - TabIndex = 2 + TabIndex = 3 TabOrder = 0 TabPosition = PlatformDefault Sizes = ( @@ -189,7 +189,7 @@ object TTW_Bot: TTTW_Bot item end> TextSettings.Trimming = None - IsSelected = True + IsSelected = False ImageIndex = 13 Size.Width = 78.000000000000000000 Size.Height = 26.000000000000000000 @@ -205,8 +205,8 @@ object TTW_Bot: TTTW_Bot Size.Height = 718.000000000000000000 Size.PlatformDefault = False inherited sgCommands: TStringGrid - Viewport.Width = 540.000000000000000000 - Viewport.Height = 193.000000000000000000 + Viewport.Width = 536.000000000000000000 + Viewport.Height = 168.000000000000000000 inherited scCommand: TStringColumn Size.Width = 134.000000000000000000 end @@ -218,43 +218,53 @@ object TTW_Bot: TTTW_Bot inherited frContruct1: TfrContruct inherited mResponse: TMemo Size.Width = 384.000000000000000000 - Viewport.Width = 384.000000000000000000 - Viewport.Height = 161.000000000000000000 + Viewport.Width = 380.000000000000000000 + Viewport.Height = 157.000000000000000000 end inherited GroupBox7: TGroupBox inherited btnAddUserName: TButton Images = ImageList1 ImageIndex = 11 + TabOrder = 38 end inherited btnGetDateFollow: TButton Images = ImageList1 ImageIndex = 15 + TabOrder = 39 end inherited btnGetAgeAccaunt: TButton Images = ImageList1 ImageIndex = 15 + TabOrder = 40 end inherited btnCounterAddtoText: TButton Images = ImageList1 ImageIndex = 23 + TabOrder = 41 + end + inherited cbCounterName: TComboBox + TabOrder = 42 end inherited btnGPT: TButton Images = ImageList1 ImageIndex = 19 + TabOrder = 43 end inherited btnRandomUserName: TButton Images = ImageList1 ImageIndex = 11 + TabOrder = 44 end inherited btnGetChannelStat: TButton Images = ImageList1 ImageIndex = 22 Size.Width = 136.000000000000000000 + TabOrder = 45 end inherited btnAIPic: TButton Images = ImageList1 ImageIndex = 5 - TabOrder = 47 + TabOrder = 48 end end inherited btnAddCommand: TButton @@ -316,8 +326,8 @@ object TTW_Bot: TTTW_Bot end inherited sgRandomInt: TStringGrid TabOrder = 35 - Viewport.Width = 157.000000000000000000 - Viewport.Height = 144.000000000000000000 + Viewport.Width = 153.000000000000000000 + Viewport.Height = 119.000000000000000000 inherited scRIntName: TStringColumn Size.Width = 70.000000000000000000 end @@ -333,8 +343,8 @@ object TTW_Bot: TTTW_Bot Margins.Top = 200.000000000000000000 inherited frsgSounds: TfrSimpleGrid inherited sg: TStringGrid - Viewport.Width = 293.000000000000000000 - Viewport.Height = 149.000000000000000000 + Viewport.Width = 289.000000000000000000 + Viewport.Height = 124.000000000000000000 inherited sgR2: TStringColumn Size.Width = 170.000000000000000000 end @@ -362,8 +372,8 @@ object TTW_Bot: TTTW_Bot inherited GroupBox24: TGroupBox inherited frsgFiles: TfrSimpleGrid inherited sg: TStringGrid - Viewport.Width = 293.000000000000000000 - Viewport.Height = 149.000000000000000000 + Viewport.Width = 289.000000000000000000 + Viewport.Height = 124.000000000000000000 inherited sgR2: TStringColumn Size.Width = 170.000000000000000000 end @@ -396,8 +406,8 @@ object TTW_Bot: TTTW_Bot TabOrder = 7 inherited frsgNeiro: TfrSimpleGrid inherited sg: TStringGrid - Viewport.Width = 293.000000000000000000 - Viewport.Height = 149.000000000000000000 + Viewport.Width = 289.000000000000000000 + Viewport.Height = 124.000000000000000000 inherited sgR2: TStringColumn Size.Width = 170.000000000000000000 end @@ -424,7 +434,7 @@ object TTW_Bot: TTTW_Bot item end> TextSettings.Trimming = None - IsSelected = False + IsSelected = True ImageIndex = 20 Size.Width = 79.000000000000000000 Size.Height = 26.000000000000000000 @@ -481,8 +491,8 @@ object TTW_Bot: TTTW_Bot Size.PlatformDefault = False inherited sgEvents: TStringGrid Size.Width = 721.000000000000000000 - Viewport.Width = 721.000000000000000000 - Viewport.Height = 211.000000000000000000 + Viewport.Width = 717.000000000000000000 + Viewport.Height = 186.000000000000000000 inherited StringColumn1: TStringColumn Size.Width = 150.000000000000000000 end @@ -531,8 +541,8 @@ object TTW_Bot: TTTW_Bot inherited StringGrid1: TStringGrid Size.Width = 605.000000000000000000 Size.Height = 153.000000000000000000 - Viewport.Width = 605.000000000000000000 - Viewport.Height = 153.000000000000000000 + Viewport.Width = 585.000000000000000000 + Viewport.Height = 128.000000000000000000 inherited StringColumn1: TStringColumn Size.Width = 241.000000000000000000 end @@ -556,9 +566,13 @@ object TTW_Bot: TTTW_Bot TabOrder = 9 end inherited btnAddCustomRewards: TButton + Images = ImageList1 + ImageIndex = 0 TabOrder = 13 end inherited btnDelCustomRewards: TButton + Images = ImageList1 + ImageIndex = 12 TabOrder = 16 end end @@ -587,8 +601,8 @@ object TTW_Bot: TTTW_Bot inherited sgWebChats: TStringGrid Size.Width = 1003.000000000000000000 Size.Height = 282.000000000000000000 - Viewport.Width = 1003.000000000000000000 - Viewport.Height = 282.000000000000000000 + Viewport.Width = 999.000000000000000000 + Viewport.Height = 257.000000000000000000 inherited StringColumn2: TStringColumn Size.Width = 200.000000000000000000 end diff --git a/frames/fRevards.fmx b/frames/fRevards.fmx index 9a16d0e..f35b33d 100644 --- a/frames/fRevards.fmx +++ b/frames/fRevards.fmx @@ -17,8 +17,10 @@ object frRevards: TfrRevards Size.Height = 196.000000000000000000 Size.PlatformDefault = False TabOrder = 1 - Viewport.Width = 613.000000000000000000 - Viewport.Height = 196.000000000000000000 + RowCount = 0 + OnCellClick = StringGrid1CellClick + Viewport.Width = 609.000000000000000000 + Viewport.Height = 171.000000000000000000 object StringColumn1: TStringColumn Header = #1053#1072#1079#1074#1072#1085#1080#1077 HeaderSettings.TextSettings.WordWrap = False @@ -43,11 +45,11 @@ object frRevards: TfrRevards Position.Y = 8.000000000000000000 TextSettings.Trimming = None Text = #1053#1072#1079#1074#1072#1085#1080#1077 - TabOrder = 4 + TabOrder = 3 end object ceCustomRevardTitle: TComboEdit Touch.InteractiveGestures = [LongTap, DoubleTap] - TabOrder = 5 + TabOrder = 4 ItemHeight = 19.000000000000000000 ItemIndex = -1 Position.X = 8.000000000000000000 @@ -58,7 +60,7 @@ object frRevards: TfrRevards end object edtCustomRevardPrompt: TEdit Touch.InteractiveGestures = [LongTap, DoubleTap] - TabOrder = 9 + TabOrder = 8 Position.X = 198.000000000000000000 Position.Y = 33.000000000000000000 Size.Width = 348.000000000000000000 @@ -93,17 +95,28 @@ object frRevards: TfrRevards TabOrder = 10 end object btnAddCustomRewards: TButton - Position.X = 95.000000000000000000 - Position.Y = 88.000000000000000000 - TabOrder = 16 + Position.X = 262.000000000000000000 + Position.Y = 63.000000000000000000 + TabOrder = 15 Text = #1044#1086#1073#1072#1074#1080#1090#1100 TextSettings.Trimming = None + OnClick = btnAddCustomRewardsClick end object btnDelCustomRewards: TButton - Position.X = 183.000000000000000000 - Position.Y = 88.000000000000000000 + Position.X = 262.000000000000000000 + Position.Y = 93.000000000000000000 TabOrder = 17 Text = #1059#1076#1072#1083#1080#1090#1100 TextSettings.Trimming = None + OnClick = btnDelCustomRewardsClick + end + object cbUserInput: TCheckBox + Position.X = 95.000000000000000000 + Position.Y = 91.000000000000000000 + Size.Width = 162.000000000000000000 + Size.Height = 19.000000000000000000 + Size.PlatformDefault = False + TabOrder = 18 + Text = #1055#1086#1083#1100#1079#1086#1074#1072#1090#1077#1083#1100#1089#1082#1080#1081' '#1074#1074#1086#1076 end end diff --git a/frames/fRevards.pas b/frames/fRevards.pas index 72a88bf..cedfd0e 100644 --- a/frames/fRevards.pas +++ b/frames/fRevards.pas @@ -3,10 +3,14 @@ unit fRevards; interface uses - System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, + System.SysUtils, System.Types, System.UITypes, System.Classes, + System.Variants, FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, - System.Rtti, FMX.Grid.Style, FMX.Grid, FMX.ScrollBox, uRecords, System.Generics.Collections, - FMX.Controls.Presentation, FMX.EditBox, FMX.NumberBox, FMX.Edit, FMX.ComboEdit; + StrUtils, + System.Rtti, FMX.Grid.Style, FMX.Grid, FMX.ScrollBox, uRecords, + System.Generics.Collections, + FMX.Controls.Presentation, FMX.EditBox, FMX.NumberBox, FMX.Edit, + FMX.ComboEdit; type TfrRevards = class(TFrame) @@ -24,13 +28,17 @@ type Label2: TLabel; btnDelCustomRewards: TButton; btnAddCustomRewards: TButton; + cbUserInput: TCheckBox; + procedure StringGrid1CellClick(const Column: TColumn; const Row: Integer); + procedure btnDelCustomRewardsClick(Sender: TObject); + procedure btnAddCustomRewardsClick(Sender: TObject); private { Private declarations } public { Public declarations } CustomRewards: TList; - listRevards:tarray; + listRevards: tarray; procedure LoadCustomRevards; procedure UpdateGrid; end; @@ -41,26 +49,81 @@ implementation uses ugeneral; +procedure TfrRevards.btnAddCustomRewardsClick(Sender: TObject); +var + cr: TCustomRevards; +begin + cr := ttw_API.createCustomReward(ceCustomRevardTitle.Text, + inttostr(round(nbCustomRevardCost.Value)), edtCustomRevardPrompt.Text, + cbUserInput.IsChecked); + CustomRewards.Add(cr); + UpdateGrid; +end; + +procedure TfrRevards.btnDelCustomRewardsClick(Sender: TObject); +var + cr: TCustomRevards; + RowIndex: Integer; +begin + RowIndex := StringGrid1.Row; + if (RowIndex < 0) or (RowIndex >= CustomRewards.Count) then + Exit; + + for cr in CustomRewards do + begin + if cr.title = StringGrid1.Cells[0, RowIndex] then + begin + ttw_API.deleteCustomReward(cr.id); + CustomRewards.Delete(RowIndex); + Break; + end; + end; + UpdateGrid; +end; + procedure TfrRevards.LoadCustomRevards; var cr: TCustomRevards; begin CustomRewards.Clear; TTW_Bot.frEvents1.cbRevards.Items.Clear; - ceCustomRevardTitle.items.Clear; + ceCustomRevardTitle.Items.Clear; TTW_Bot.toLog('fRevards', 'LoadCustomRevards', 'Запрос наград с сервера', 3); ttw_API.getCustomReward(CustomRewards); for cr in CustomRewards do begin - TTW_Bot.frEvents1.cbRevards.Items.Add(cr.Title); - ceCustomRevardTitle.Items.Add(cr.Title); + TTW_Bot.frEvents1.cbRevards.Items.Add(cr.title); + ceCustomRevardTitle.Items.Add(cr.title); end; + UpdateGrid; +end; + +procedure TfrRevards.StringGrid1CellClick(const Column: TColumn; + const Row: Integer); +begin + ceCustomRevardTitle.ItemIndex := ceCustomRevardTitle.Items.IndexOf + (StringGrid1.Cells[0, Row]); + edtCustomRevardPrompt.Text := StringGrid1.Cells[2, Row]; + cbUserInput.IsChecked := StringGrid1.Cells[1, Row] = 'Да'; + nbCustomRevardCost.Value := strtoint(StringGrid1.Cells[3, Row]); end; procedure TfrRevards.UpdateGrid; +var + cr: TCustomRevards; + i: Integer; begin - + StringGrid1.RowCount := 0; + for cr in CustomRewards do + begin + StringGrid1.RowCount := StringGrid1.RowCount + 1; + StringGrid1.Cells[0, StringGrid1.RowCount - 1] := cr.title; + StringGrid1.Cells[1, StringGrid1.RowCount - 1] := + ifthen(cr.is_user_input_required, 'Да', 'Нет'); + StringGrid1.Cells[2, StringGrid1.RowCount - 1] := cr.promt; + StringGrid1.Cells[3, StringGrid1.RowCount - 1] := inttostr(cr.cost); + end; end; end.