сохранение records почти доделал вкладку команды, осталось лишь групповые ответы добавить

This commit is contained in:
PC1\PTyTb
2025-08-07 18:14:03 +03:00
parent dacd2e6050
commit b62450b6ec
12 changed files with 1082 additions and 679 deletions
+3 -1
View File
@@ -22,7 +22,9 @@ uses
uAPIDA in 'uAPIDA.pas', uAPIDA in 'uAPIDA.pas',
uShowText in 'uShowText.pas' {fShowText}, uShowText in 'uShowText.pas' {fShowText},
uWSDA in 'uWSDA.pas', uWSDA in 'uWSDA.pas',
uQ in 'uQ.pas' {frmQ}; uQ in 'uQ.pas' {frmQ},
fSimpleGrid in 'fSimpleGrid.pas' {frSimpleGrid: TFrame},
fContruct in 'fContruct.pas' {frContruct: TFrame};
{$R *.res} {$R *.res}
+10
View File
@@ -377,6 +377,16 @@
<Form>frmQ</Form> <Form>frmQ</Form>
<FormType>fmx</FormType> <FormType>fmx</FormType>
</DCCReference> </DCCReference>
<DCCReference Include="fSimpleGrid.pas">
<Form>frSimpleGrid</Form>
<FormType>fmx</FormType>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="fContruct.pas">
<Form>frContruct</Form>
<FormType>fmx</FormType>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<None Include=".gitignore"/> <None Include=".gitignore"/>
<BuildConfiguration Include="Base"> <BuildConfiguration Include="Base">
<Key>Base</Key> <Key>Base</Key>
+134 -373
View File
@@ -1,19 +1,20 @@
object frCommands: TfrCommands object frCommands: TfrCommands
Size.Width = 1052.000000000000000000 Size.Width = 973.000000000000000000
Size.Height = 719.000000000000000000 Size.Height = 705.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
object sgCommands: TStringGrid object sgCommands: TStringGrid
CanFocus = True CanFocus = True
ClipChildren = True ClipChildren = True
Position.X = 5.000000000000000000 Position.X = 5.000000000000000000
Position.Y = 8.000000000000000000 Position.Y = 8.000000000000000000
Size.Width = 606.000000000000000000 Size.Width = 540.000000000000000000
Size.Height = 193.000000000000000000 Size.Height = 193.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 5 TabOrder = 5
RowCount = 0 RowCount = 0
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement] Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
Viewport.Width = 602.000000000000000000 OnCellClick = sgCommandsCellClick
Viewport.Width = 536.000000000000000000
Viewport.Height = 168.000000000000000000 Viewport.Height = 168.000000000000000000
object scCommand: TStringColumn object scCommand: TStringColumn
Header = #1050#1086#1084#1072#1085#1076#1072 Header = #1050#1086#1084#1072#1085#1076#1072
@@ -23,7 +24,7 @@ object frCommands: TfrCommands
object scResponse: TStringColumn object scResponse: TStringColumn
Header = #1054#1090#1074#1077#1090 Header = #1054#1090#1074#1077#1090
HeaderSettings.TextSettings.WordWrap = False HeaderSettings.TextSettings.WordWrap = False
Size.Width = 446.000000000000000000 Size.Width = 380.000000000000000000
end end
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
@@ -31,168 +32,60 @@ object frCommands: TfrCommands
Padding.Top = 20.000000000000000000 Padding.Top = 20.000000000000000000
Padding.Right = 5.000000000000000000 Padding.Right = 5.000000000000000000
Padding.Bottom = 5.000000000000000000 Padding.Bottom = 5.000000000000000000
Position.X = 619.000000000000000000 Position.X = 544.000000000000000000
Position.Y = 8.000000000000000000 Position.Y = 8.000000000000000000
Size.Width = 395.000000000000000000 Size.Width = 410.000000000000000000
Size.Height = 442.000000000000000000 Size.Height = 442.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
Text = #1050#1086#1085#1089#1090#1088#1091#1082#1090#1086#1088' '#1086#1090#1074#1077#1090#1072 Text = #1050#1086#1085#1089#1090#1088#1091#1082#1090#1086#1088' '#1086#1090#1074#1077#1090#1072
TabOrder = 0 TabOrder = 0
object Label12: TLabel inline frContruct1: TfrContruct
Position.X = 9.000000000000000000 Align = Client
Position.Y = 24.000000000000000000 Size.Width = 400.000000000000000000
TextSettings.Trimming = None Size.Height = 417.000000000000000000
Text = #1050#1086#1084#1072#1085#1076#1072
TabOrder = 38
end
object edtCommand: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 39
Position.X = 9.000000000000000000
Position.Y = 49.000000000000000000
Size.Width = 208.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
end inherited mResponse: TMemo
object mResponse: TMemo Viewport.Width = 388.000000000000000000
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] Viewport.Height = 157.000000000000000000
DataDetectorTypes = []
TextSettings.WordWrap = True
Position.X = 9.000000000000000000
Position.Y = 104.000000000000000000
Size.Width = 376.000000000000000000
Size.Height = 177.000000000000000000
Size.PlatformDefault = False
TabOrder = 40
Viewport.Width = 372.000000000000000000
Viewport.Height = 173.000000000000000000
end
object Label14: TLabel
Position.X = 9.000000000000000000
Position.Y = 79.000000000000000000
TextSettings.Trimming = None
Text = #1054#1090#1074#1077#1090
TabOrder = 41
end
object GroupBox7: TGroupBox
Padding.Left = 5.000000000000000000
Padding.Top = 20.000000000000000000
Padding.Right = 5.000000000000000000
Padding.Bottom = 5.000000000000000000
Position.X = 9.000000000000000000
Position.Y = 283.000000000000000000
Size.Width = 376.000000000000000000
Size.Height = 120.000000000000000000
Size.PlatformDefault = False
Text = #1042#1089#1090#1072#1074#1082#1080
TabOrder = 42
object btnAddUserName: TButton
Position.X = 9.000000000000000000
Position.Y = 24.000000000000000000
Size.Width = 94.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 38
Text = #1054#1073#1088#1072#1097#1077#1085#1080#1077
TextSettings.Trimming = None
end end
object btnGetDateFollow: TButton inherited GroupBox7: TGroupBox
Position.X = 111.000000000000000000 inherited btnAddUserName: TButton
Position.Y = 24.000000000000000000 TabOrder = 38
TabOrder = 39 end
Text = 'Follow' inherited btnGetDateFollow: TButton
TextSettings.Trimming = None TabOrder = 39
end
inherited btnGetAgeAccaunt: TButton
TabOrder = 40
end
inherited btnCounterAddtoText: TButton
TabOrder = 41
end
inherited cbCounterName: TComboBox
TabOrder = 42
end
inherited btnGPT: TButton
TabOrder = 43
end
inherited btnRandomUserName: TButton
TabOrder = 44
end
inherited btnGetChannelStat: TButton
TabOrder = 45
end
inherited btnAIPic: TButton
TabOrder = 46
end
end end
object btnGetAgeAccaunt: TButton inherited btnAddCommand: TButton
Position.X = 199.000000000000000000 OnClick = frContruct1btnAddCommandClick
Position.Y = 24.000000000000000000
TabOrder = 40
Text = 'Age'
TextSettings.Trimming = None
end end
object btnCounterAddtoText: TButton inherited btnEditCommand: TButton
Position.X = 9.000000000000000000 OnClick = frContruct1btnEditCommandClick
Position.Y = 54.000000000000000000
Size.Width = 94.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 41
Text = #1057#1095#1077#1090#1095#1080#1082
TextSettings.Trimming = None
end end
object cbCounterName: TComboBox inherited btnRmCommand: TButton
Position.X = 111.000000000000000000 OnClick = frContruct1btnRmCommandClick
Position.Y = 54.000000000000000000
Size.Width = 168.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 42
end end
object btnGPT: TButton
Position.X = 287.000000000000000000
Position.Y = 24.000000000000000000
TabOrder = 43
Text = #1053#1077#1081#1088#1086#1085#1082#1072
TextSettings.Trimming = None
end
object btnRandomUserName: TButton
Position.X = 9.000000000000000000
Position.Y = 84.000000000000000000
Size.Width = 168.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 44
Text = #1056#1072#1085#1076#1086#1084#1085#1099#1081' '#1087#1086#1083#1100#1079#1086#1074#1072#1090#1077#1083#1100
TextSettings.Trimming = None
end
object btnGetChannelStat: TButton
Position.X = 185.000000000000000000
Position.Y = 84.000000000000000000
Size.Width = 122.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 45
Text = #1057#1090#1072#1090#1080#1089#1090#1080#1082#1072' '#1082#1072#1085#1072#1083#1072
TextSettings.Trimming = None
end
object btnAIPic: TButton
Position.X = 287.000000000000000000
Position.Y = 54.000000000000000000
TabOrder = 46
Text = #1050#1072#1088#1090#1080#1085#1082#1072
TextSettings.Trimming = None
end
end
object btnAddCommand: TButton
Position.X = 9.000000000000000000
Position.Y = 411.000000000000000000
TabOrder = 43
Text = #1044#1086#1073#1072#1074#1080#1090#1100
TextSettings.Trimming = None
end
object btnEditCommand: TButton
Position.X = 97.000000000000000000
Position.Y = 411.000000000000000000
TabOrder = 44
Text = #1048#1079#1084#1077#1085#1080#1090#1100
TextSettings.Trimming = None
end
object btnRmCommand: TButton
Position.X = 185.000000000000000000
Position.Y = 411.000000000000000000
TabOrder = 45
Text = #1059#1076#1072#1083#1080#1090#1100
TextSettings.Trimming = None
end
object cbTextToSpeech: TCheckBox
Position.X = 168.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 217.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 46
Text = #1054#1079#1074#1091#1095#1080#1074#1072#1090#1100' '#1089#1086#1086#1073#1097#1077#1085#1080#1103' '#1087#1086#1089#1083#1077' "!!!"'
Visible = False
end end
end end
object GroupBox9: TGroupBox object GroupBox9: TGroupBox
@@ -202,7 +95,7 @@ object frCommands: TfrCommands
Padding.Bottom = 5.000000000000000000 Padding.Bottom = 5.000000000000000000
Position.X = 191.000000000000000000 Position.X = 191.000000000000000000
Position.Y = 209.000000000000000000 Position.Y = 209.000000000000000000
Size.Width = 412.000000000000000000 Size.Width = 354.000000000000000000
Size.Height = 241.000000000000000000 Size.Height = 241.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
Text = #1056#1072#1085#1076#1086#1084#1085#1099#1077' '#1075#1088#1091#1087#1087#1099' '#1086#1090#1074#1077#1090#1086#1074 Text = #1056#1072#1085#1076#1086#1084#1085#1099#1077' '#1075#1088#1091#1087#1087#1099' '#1086#1090#1074#1077#1090#1086#1074
@@ -227,7 +120,7 @@ object frCommands: TfrCommands
object lbRandomRespons: TListBox object lbRandomRespons: TListBox
Position.X = 127.000000000000000000 Position.X = 127.000000000000000000
Position.Y = 49.000000000000000000 Position.Y = 49.000000000000000000
Size.Width = 274.000000000000000000 Size.Width = 218.000000000000000000
Size.Height = 120.000000000000000000 Size.Height = 120.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 13 TabOrder = 13
@@ -238,7 +131,7 @@ object frCommands: TfrCommands
DefaultItemStyles.GroupFooterStyle = '' DefaultItemStyles.GroupFooterStyle = ''
Left = 335 Left = 335
Top = 315 Top = 315
Viewport.Width = 270.000000000000000000 Viewport.Width = 214.000000000000000000
Viewport.Height = 116.000000000000000000 Viewport.Height = 116.000000000000000000
end end
object edtRandomGroup: TEdit object edtRandomGroup: TEdit
@@ -258,7 +151,7 @@ object frCommands: TfrCommands
TabOrder = 14 TabOrder = 14
Position.X = 127.000000000000000000 Position.X = 127.000000000000000000
Position.Y = 177.000000000000000000 Position.Y = 177.000000000000000000
Size.Width = 274.000000000000000000 Size.Width = 218.000000000000000000
Size.Height = 21.000000000000000000 Size.Height = 21.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
Left = 335 Left = 335
@@ -282,7 +175,7 @@ object frCommands: TfrCommands
TextSettings.Trimming = None TextSettings.Trimming = None
end end
object btnRmGroup: TButton object btnRmGroup: TButton
Position.X = 263.000000000000000000 Position.X = 207.000000000000000000
Position.Y = 206.000000000000000000 Position.Y = 206.000000000000000000
Size.Width = 138.000000000000000000 Size.Width = 138.000000000000000000
Size.Height = 22.000000000000000000 Size.Height = 22.000000000000000000
@@ -306,7 +199,7 @@ object frCommands: TfrCommands
Position.Y = 24.000000000000000000 Position.Y = 24.000000000000000000
TextSettings.Trimming = None TextSettings.Trimming = None
Text = #1042#1072#1088#1080#1072#1085#1090#1099' '#1086#1090#1074#1077#1090#1072 Text = #1042#1072#1088#1080#1072#1085#1090#1099' '#1086#1090#1074#1077#1090#1072
TabOrder = 43 TabOrder = 44
end end
end end
object GroupBox8: TGroupBox object GroupBox8: TGroupBox
@@ -360,7 +253,7 @@ object frCommands: TfrCommands
object btnRandAdd: TButton object btnRandAdd: TButton
Position.X = 9.000000000000000000 Position.X = 9.000000000000000000
Position.Y = 205.000000000000000000 Position.Y = 205.000000000000000000
TabOrder = 33 TabOrder = 32
Text = #1044#1086#1073#1072#1074#1080#1090#1100 Text = #1044#1086#1073#1072#1074#1080#1090#1100
TextSettings.Trimming = None TextSettings.Trimming = None
OnClick = btnRandAddClick OnClick = btnRandAddClick
@@ -371,7 +264,7 @@ object frCommands: TfrCommands
Size.Width = 70.000000000000000000 Size.Width = 70.000000000000000000
Size.Height = 22.000000000000000000 Size.Height = 22.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 34 TabOrder = 33
Text = #1059#1076#1072#1083#1080#1090#1100 Text = #1059#1076#1072#1083#1080#1090#1100
TextSettings.Trimming = None TextSettings.Trimming = None
OnClick = btnRandDelClick OnClick = btnRandDelClick
@@ -387,6 +280,7 @@ object frCommands: TfrCommands
TabOrder = 36 TabOrder = 36
RowCount = 0 RowCount = 0
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement] Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
OnCellDblClick = sgRandomIntCellDblClick
Viewport.Width = 153.000000000000000000 Viewport.Width = 153.000000000000000000
Viewport.Height = 119.000000000000000000 Viewport.Height = 119.000000000000000000
object scRIntName: TStringColumn object scRIntName: TStringColumn
@@ -407,171 +301,74 @@ object frCommands: TfrCommands
end end
end end
object GroupBox11: TGroupBox object GroupBox11: TGroupBox
Padding.Left = 10.000000000000000000
Padding.Top = 20.000000000000000000
Padding.Right = 10.000000000000000000
Padding.Bottom = 10.000000000000000000
Position.X = 8.000000000000000000 Position.X = 8.000000000000000000
Position.Y = 458.000000000000000000 Position.Y = 458.000000000000000000
Size.Width = 361.000000000000000000 Size.Width = 313.000000000000000000
Size.Height = 240.000000000000000000 Size.Height = 240.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
Text = #1047#1074#1091#1082 Text = #1047#1074#1091#1082
TabOrder = 4 TabOrder = 4
object btnSoundAdd: TButton inline frsgSounds: TfrSimpleGrid
Position.X = 8.000000000000000000 Align = Client
Position.Y = 211.000000000000000000 Hint = '||'
TabOrder = 38 Size.Width = 293.000000000000000000
Text = #1044#1086#1073#1072#1074#1080#1090#1100 Size.Height = 210.000000000000000000
TextSettings.Trimming = None
end
object btnSoundDel: TButton
Position.X = 96.000000000000000000
Position.Y = 211.000000000000000000
Size.Width = 70.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 39 inherited sg: TStringGrid
Text = #1059#1076#1072#1083#1080#1090#1100 Size.Width = 293.000000000000000000
TextSettings.Trimming = None TabOrder = 44
end OnCellDblClick = frsgSoundssgCellDblClick
object edtSoundName: TEdit Viewport.Width = 289.000000000000000000
Touch.InteractiveGestures = [LongTap, DoubleTap] Viewport.Height = 124.000000000000000000
TabOrder = 40 inherited sgR2: TStringColumn
Position.X = 8.000000000000000000 Size.Width = 170.000000000000000000
Position.Y = 181.000000000000000000 end
Size.Width = 106.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object edtSoundFileName: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 41
Position.X = 122.000000000000000000
Position.Y = 180.000000000000000000
Size.Width = 196.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object btnSoundOpen: TButton
Position.X = 326.000000000000000000
Position.Y = 181.000000000000000000
Size.Width = 27.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 42
Text = '...'
TextSettings.Trimming = None
end
object tbSoundVolume: TTrackBar
CanParentFocus = True
Orientation = Horizontal
Position.X = 174.000000000000000000
Position.Y = 211.000000000000000000
Size.Width = 91.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 43
Value = 100.000000000000000000
end
object btnSoundTest: TButton
Position.X = 273.000000000000000000
Position.Y = 210.000000000000000000
TabOrder = 44
Text = #1058#1077#1089#1090
TextSettings.Trimming = None
end
object sgSAFiles: TStringGrid
CanFocus = True
ClipChildren = True
Position.X = 8.000000000000000000
Position.Y = 24.000000000000000000
Size.Width = 345.000000000000000000
Size.Height = 149.000000000000000000
Size.PlatformDefault = False
TabOrder = 45
RowCount = 0
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
Viewport.Width = 341.000000000000000000
Viewport.Height = 124.000000000000000000
object sgSAName: TStringColumn
Header = #1053#1072#1079#1074#1072#1085#1080#1077
HeaderSettings.TextSettings.WordWrap = False
end end
object sgSAFile: TStringColumn inherited edtFileName: TEdit
Header = #1060#1072#1081#1083 Size.Width = 128.000000000000000000
HeaderSettings.TextSettings.WordWrap = False end
Size.Width = 220.000000000000000000 inherited btnOpen: TButton
Position.X = 258.000000000000000000
end end
end end
end end
object GroupBox24: TGroupBox object GroupBox24: TGroupBox
Position.X = 377.000000000000000000 Padding.Left = 10.000000000000000000
Padding.Top = 20.000000000000000000
Padding.Right = 10.000000000000000000
Padding.Bottom = 10.000000000000000000
Position.X = 329.000000000000000000
Position.Y = 458.000000000000000000 Position.Y = 458.000000000000000000
Size.Width = 332.000000000000000000 Size.Width = 313.000000000000000000
Size.Height = 241.000000000000000000 Size.Height = 241.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
Text = #1060#1072#1081#1083#1099 Text = #1060#1072#1081#1083#1099
TabOrder = 2 TabOrder = 2
object btnTextAdd: TButton inline frsgFiles: TfrSimpleGrid
Position.X = 8.000000000000000000 Align = Client
Position.Y = 211.000000000000000000 Hint = '|('
TabOrder = 38 Size.Width = 293.000000000000000000
Text = #1044#1086#1073#1072#1074#1080#1090#1100 Size.Height = 211.000000000000000000
TextSettings.Trimming = None
end
object btnTextDel: TButton
Position.X = 96.000000000000000000
Position.Y = 211.000000000000000000
Size.Width = 70.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 39 inherited sg: TStringGrid
Text = #1059#1076#1072#1083#1080#1090#1100 Size.Width = 293.000000000000000000
TextSettings.Trimming = None TabOrder = 44
end OnCellDblClick = frsgFilessgCellDblClick
object edtTextName: TEdit Viewport.Width = 289.000000000000000000
Touch.InteractiveGestures = [LongTap, DoubleTap] Viewport.Height = 124.000000000000000000
TabOrder = 40 inherited sgR2: TStringColumn
Position.X = 8.000000000000000000 Size.Width = 170.000000000000000000
Position.Y = 181.000000000000000000 end
end
object edtTextFileName: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 41
Position.X = 116.000000000000000000
Position.Y = 181.000000000000000000
Size.Width = 141.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object btnTextOpen: TButton
Position.X = 265.000000000000000000
Position.Y = 181.000000000000000000
Size.Width = 34.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 42
Text = '...'
TextSettings.Trimming = None
end
object sgTFiles: TStringGrid
CanFocus = True
ClipChildren = True
Position.X = 8.000000000000000000
Position.Y = 24.000000000000000000
Size.Width = 297.000000000000000000
Size.Height = 149.000000000000000000
Size.PlatformDefault = False
TabOrder = 45
RowCount = 0
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
Viewport.Width = 293.000000000000000000
Viewport.Height = 124.000000000000000000
object scTFileName: TStringColumn
Header = #1053#1072#1079#1074#1072#1085#1080#1077
HeaderSettings.TextSettings.WordWrap = False
end end
object scTFileFile: TStringColumn inherited edtFileName: TEdit
Header = #1060#1072#1081#1083 Size.Width = 128.000000000000000000
HeaderSettings.TextSettings.WordWrap = False end
Size.Width = 170.000000000000000000 inherited btnOpen: TButton
Position.X = 258.000000000000000000
end end
end end
end end
@@ -580,77 +377,41 @@ object frCommands: TfrCommands
Top = 392 Top = 392
end end
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
Position.X = 717.000000000000000000 Padding.Left = 10.000000000000000000
Padding.Top = 20.000000000000000000
Padding.Right = 10.000000000000000000
Padding.Bottom = 10.000000000000000000
Position.X = 650.000000000000000000
Position.Y = 458.000000000000000000 Position.Y = 458.000000000000000000
Size.Width = 324.000000000000000000 Size.Width = 313.000000000000000000
Size.Height = 240.000000000000000000 Size.Height = 240.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
Text = #1053#1077#1081#1088#1086#1082#1086#1085#1089#1090#1088#1091#1082#1090#1086#1088 Text = #1053#1077#1081#1088#1086#1082#1086#1085#1089#1090#1088#1091#1082#1090#1086#1088
TabOrder = 8 TabOrder = 8
object sgAIGen: TStringGrid inline frsgNeiro: TfrSimpleGrid
CanFocus = True Align = Client
ClipChildren = True Hint = '<|'
Position.X = 8.000000000000000000 Size.Width = 293.000000000000000000
Position.Y = 24.000000000000000000 Size.Height = 210.000000000000000000
Size.Width = 305.000000000000000000
Size.Height = 149.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 38 inherited sg: TStringGrid
RowCount = 0 Size.Width = 293.000000000000000000
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement] TabOrder = 44
Viewport.Width = 301.000000000000000000 OnCellDblClick = frsgNeirosgCellDblClick
Viewport.Height = 124.000000000000000000 Viewport.Width = 289.000000000000000000
object StringColumn1: TStringColumn Viewport.Height = 124.000000000000000000
Header = #1053#1072#1079#1074#1072#1085#1080#1077 inherited sgR2: TStringColumn
HeaderSettings.TextSettings.WordWrap = False Header = #1047#1072#1087#1088#1086#1089
Size.Width = 170.000000000000000000
end
end end
object StringColumn2: TStringColumn inherited edtFileName: TEdit
Header = #1047#1072#1087#1088#1086#1089 Size.Width = 163.000000000000000000
HeaderSettings.TextSettings.WordWrap = False end
Size.Width = 180.000000000000000000 inherited btnOpen: TButton
Position.X = 258.000000000000000000
Visible = False
end end
end
object edtAIGenName: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 39
Position.X = 8.000000000000000000
Position.Y = 181.000000000000000000
Size.Width = 102.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object edtAIGenRequest: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 40
Position.X = 118.000000000000000000
Position.Y = 181.000000000000000000
Size.Width = 195.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object btnAIGenAdd: TButton
Position.X = 8.000000000000000000
Position.Y = 211.000000000000000000
TabOrder = 41
Text = #1044#1086#1073#1072#1074#1080#1090#1100
TextSettings.Trimming = None
end
object btnAIGenDel: TButton
Position.X = 96.000000000000000000
Position.Y = 211.000000000000000000
TabOrder = 42
Text = #1059#1076#1072#1083#1080#1090#1100
TextSettings.Trimming = None
end
object btnAIGetTextUser: TButton
Position.X = 184.000000000000000000
Position.Y = 211.000000000000000000
Size.Width = 129.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 43
Text = #1058#1077#1082#1089#1090' '#1087#1086#1083#1100#1079#1086#1074#1072#1090#1077#1083#1103
TextSettings.Trimming = None
end end
end end
end end
+166 -62
View File
@@ -3,10 +3,12 @@ unit fCommands;
interface interface
uses 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, FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
System.Rtti, FMX.Grid.Style, FMX.Memo.Types, FMX.Grid, FMX.Layouts, uRecords, System.Rtti, FMX.Grid.Style, FMX.Memo.Types, FMX.Grid, FMX.Layouts, uRecords,
FMX.ListBox, FMX.Memo, FMX.Edit, FMX.Controls.Presentation, FMX.ScrollBox; FMX.ListBox, FMX.Memo, FMX.Edit, FMX.Controls.Presentation, FMX.ScrollBox,
fSimpleGrid, fContruct;
type type
TfrCommands = class(TFrame) TfrCommands = class(TFrame)
@@ -14,24 +16,6 @@ type
scCommand: TStringColumn; scCommand: TStringColumn;
scResponse: TStringColumn; scResponse: TStringColumn;
GroupBox1: TGroupBox; GroupBox1: TGroupBox;
Label12: TLabel;
edtCommand: TEdit;
mResponse: TMemo;
Label14: TLabel;
GroupBox7: TGroupBox;
btnAddUserName: TButton;
btnGetDateFollow: TButton;
btnGetAgeAccaunt: TButton;
btnCounterAddtoText: TButton;
cbCounterName: TComboBox;
btnGPT: TButton;
btnRandomUserName: TButton;
btnGetChannelStat: TButton;
btnAIPic: TButton;
btnAddCommand: TButton;
btnEditCommand: TButton;
btnRmCommand: TButton;
cbTextToSpeech: TCheckBox;
GroupBox9: TGroupBox; GroupBox9: TGroupBox;
lbRandomGroup: TListBox; lbRandomGroup: TListBox;
lbRandomRespons: TListBox; lbRandomRespons: TListBox;
@@ -53,43 +37,40 @@ type
IntegerColumn1: TIntegerColumn; IntegerColumn1: TIntegerColumn;
scRIntTo: TIntegerColumn; scRIntTo: TIntegerColumn;
GroupBox11: TGroupBox; GroupBox11: TGroupBox;
btnSoundAdd: TButton;
btnSoundDel: TButton;
edtSoundName: TEdit;
edtSoundFileName: TEdit;
btnSoundOpen: TButton;
tbSoundVolume: TTrackBar;
btnSoundTest: TButton;
sgSAFiles: TStringGrid;
sgSAName: TStringColumn;
sgSAFile: TStringColumn;
GroupBox24: TGroupBox; GroupBox24: TGroupBox;
btnTextAdd: TButton;
btnTextDel: TButton;
edtTextName: TEdit;
edtTextFileName: TEdit;
btnTextOpen: TButton;
sgTFiles: TStringGrid;
scTFileName: TStringColumn;
scTFileFile: TStringColumn;
OpenDialog1: TOpenDialog; OpenDialog1: TOpenDialog;
GroupBox2: TGroupBox; GroupBox2: TGroupBox;
sgAIGen: TStringGrid; frsgSounds: TfrSimpleGrid;
StringColumn1: TStringColumn; frsgFiles: TfrSimpleGrid;
StringColumn2: TStringColumn; frsgNeiro: TfrSimpleGrid;
edtAIGenName: TEdit; frContruct1: TfrContruct;
edtAIGenRequest: TEdit;
btnAIGenAdd: TButton;
btnAIGenDel: TButton;
btnAIGetTextUser: TButton;
procedure btnRandAddClick(Sender: TObject); procedure btnRandAddClick(Sender: TObject);
procedure btnRandDelClick(Sender: TObject); procedure btnRandDelClick(Sender: TObject);
procedure frsgSoundsbtnSoundDelClick(Sender: TObject);
procedure frsgSoundssgCellDblClick(const Column: TColumn;
const Row: Integer);
procedure frsgFilessgCellDblClick(const Column: TColumn;
const Row: Integer);
procedure frsgNeirosgCellDblClick(const Column: TColumn;
const Row: Integer);
procedure frContruct1btnAddCommandClick(Sender: TObject);
procedure frContruct1btnEditCommandClick(Sender: TObject);
procedure frContruct1btnRmCommandClick(Sender: TObject);
procedure sgCommandsCellClick(const Column: TColumn; const Row: Integer);
procedure sgRandomIntCellDblClick(const Column: TColumn;
const Row: Integer);
private private
{ Private declarations } { Private declarations }
procedure UpdateGridFromArray;
public public
{ Public declarations } { Public declarations }
RandomCounters: TArray<TRandomCounters>; RandomCounters: TArray<TRandomCounters>;
listSounds: TArray<TListCommands>;
listFiles: TArray<TListCommands>;
listNeiro: TArray<TListCommands>;
listCommands: TArray<TListCommands>;
procedure UpdateGridFromArray;
end; end;
implementation implementation
@@ -103,16 +84,126 @@ var
i, RowIndex: Integer; i, RowIndex: Integer;
begin begin
RowIndex := sgRandomInt.Row; RowIndex := sgRandomInt.Row;
if (RowIndex < 0) or (RowIndex > High(RandomCounters)) then Exit; if (RowIndex < 0) or (RowIndex > High(RandomCounters)) then
Exit;
// Ñäâèãàåì ýëåìåíòû ìàññèâà // Ñäâèãàåì ýëåìåíòû ìàññèâà
for i := RowIndex to High(RandomCounters)-1 do for i := RowIndex to High(RandomCounters) - 1 do
RandomCounters[i] := RandomCounters[i+1]; RandomCounters[i] := RandomCounters[i + 1];
SetLength(RandomCounters, Length(RandomCounters) - 1); SetLength(RandomCounters, Length(RandomCounters) - 1);
UpdateGridFromArray;
DB.SaveRecordArray<TRandomCounters>('RandomCounters', RandomCounters);
end;
procedure TfrCommands.frContruct1btnAddCommandClick(Sender: TObject);
var
sCommand: string;
NewRec: TListCommands;
begin
sCommand := frContruct1.edtCommand.text;
if (sCommand = '') or (sCommand = '!') or (frContruct1.mResponse.text = '') then
exit;
if (sCommand <> '') and (sCommand[1] = '!') then
begin
Delete(sCommand, 1, 1);
end;
NewRec.R1 := sCommand;
NewRec.R2 := frContruct1.mResponse.text;
SetLength(listCommands, Length(listCommands) + 1);
listCommands[High(listCommands)] := NewRec;
UpdateGridFromArray;
DB.SaveRecordArray<TListCommands>('listCommands', listCommands);
end;
procedure TfrCommands.frContruct1btnEditCommandClick(Sender: TObject);
var RowIndex: integer; sCommand:string;
begin
RowIndex := sgCommands.Row;
sCommand := frContruct1.edtCommand.text;
if (sCommand = '') or (sCommand = '!') or (frContruct1.mResponse.text = '') then
exit;
if (sCommand <> '') and (sCommand[1] = '!') then
begin
Delete(sCommand, 1, 1);
end;
if (RowIndex < 0) or (RowIndex > High(listCommands)) then
exit;
listCommands[RowIndex].R1 := sCommand;
listCommands[RowIndex].R2 := frContruct1.mResponse.text;
UpdateGridFromArray; UpdateGridFromArray;
DB.SaveGridToTable('sgRandomInt', sgRandomInt); DB.SaveRecordArray<TListCommands>('listCommands', listCommands);
end;
procedure TfrCommands.frContruct1btnRmCommandClick(Sender: TObject);
var
i, RowIndex: Integer;
begin
RowIndex := sgCommands.Row;
if (RowIndex < 0) or (RowIndex > High(listCommands)) then
exit;
for i := RowIndex to High(listCommands) - 1 do
listCommands[i] := listCommands[i + 1];
SetLength(listCommands, Length(listCommands) - 1);
UpdateGridFromArray;
DB.SaveRecordArray<TListCommands>('listCommands', listCommands);
end;
procedure TfrCommands.frsgFilessgCellDblClick(const Column: TColumn;
const Row: Integer);
begin
frContruct1.mResponse.Lines.text := frContruct1.mResponse.Lines.text + ' ' +
frsgFiles.Hint + frsgFiles.sg.Cells[0, Row] + frsgFiles.Hint;
end;
procedure TfrCommands.frsgNeirosgCellDblClick(const Column: TColumn;
const Row: Integer);
begin
frContruct1.mResponse.Lines.text := frContruct1.mResponse.Lines.text + ' ' +
frsgNeiro.Hint + frsgNeiro.sg.Cells[0, Row] + frsgNeiro.Hint;
end;
procedure TfrCommands.frsgSoundsbtnSoundDelClick(Sender: TObject);
var
i, RowIndex: Integer;
begin
RowIndex := frsgSounds.sg.Row;
if (RowIndex < 0) or (RowIndex > High(listSounds)) then
Exit;
// Ñäâèãàåì ýëåìåíòû ìàññèâà
for i := RowIndex to High(listSounds) - 1 do
listSounds[i] := listSounds[i + 1];
SetLength(listSounds, Length(listSounds) - 1);
UpdateGridFromArray;
DB.SaveRecordArray<TListCommands>('listSounds', listSounds);
end;
procedure TfrCommands.frsgSoundssgCellDblClick(const Column: TColumn;
const Row: Integer);
begin
frContruct1.mResponse.Lines.text := frContruct1.mResponse.Lines.text + ' ' +
frsgSounds.Hint + frsgSounds.sg.Cells[0, Row] + frsgSounds.Hint;
end;
procedure TfrCommands.sgCommandsCellClick(const Column: TColumn;
const Row: Integer);
begin
frContruct1.edtCommand.text := sgCommands.Cells[0, Row];
frContruct1.mResponse.text := sgCommands.Cells[1, Row];
end;
procedure TfrCommands.sgRandomIntCellDblClick(const Column: TColumn;
const Row: Integer);
begin
frContruct1.mResponse.Lines.text := frContruct1.mResponse.Lines.text + ' [[' + sgRandomInt.Cells
[0, Row] + ']]';
end; end;
procedure TfrCommands.UpdateGridFromArray; procedure TfrCommands.UpdateGridFromArray;
@@ -121,37 +212,50 @@ var
begin begin
sgRandomInt.BeginUpdate; sgRandomInt.BeginUpdate;
try try
sgRandomInt.RowCount := 1; // Ñáðàñûâàåì ñòðîêè (îñòàâëÿåì òîëüêî çàãîëîâêè) sgRandomInt.RowCount := 0; // Ñáðàñûâàåì ñòðîêè (îñòàâëÿåì òîëüêî çàãîëîâêè)
for i := 0 to High(RandomCounters) do for i := 0 to High(RandomCounters) do
begin begin
sgRandomInt.RowCount := i + 1; sgRandomInt.RowCount := i +1;
sgRandomInt.Cells[0, i] := RandomCounters[i].Name; sgRandomInt.Cells[0, i] := RandomCounters[i].rndName;
sgRandomInt.Cells[1, i] := IntToStr(RandomCounters[i].Ot); sgRandomInt.Cells[1, i] := IntToStr(RandomCounters[i].Ot);
sgRandomInt.Cells[2, i] := IntToStr(RandomCounters[i].ToValue); sgRandomInt.Cells[2, i] := IntToStr(RandomCounters[i].ToValue);
end; end;
finally finally
sgRandomInt.EndUpdate; sgRandomInt.EndUpdate;
end; end;
sgCommands.BeginUpdate;
try
sgCommands.RowCount := 0; // Ñáðàñûâàåì ñòðîêè (îñòàâëÿåì òîëüêî çàãîëîâêè)
for i := 0 to High(listCommands) do
begin
sgCommands.RowCount := i+1 ;
sgCommands.Cells[0, i] := listCommands[i].R1;
sgCommands.Cells[1, i] := listCommands[i].R2; //9067254178
end;
finally
sgCommands.EndUpdate;
end;
end; end;
procedure TfrCommands.btnRandAddClick(Sender: TObject); procedure TfrCommands.btnRandAddClick(Sender: TObject);
var var
NewRec: TRandomCounters; NewRec: TRandomCounters;
begin begin
NewRec.Name := edtRandomName.Text; NewRec.rndName := edtRandomName.text;
NewRec.Ot := StrToIntDef(edtOt.Text, 0); NewRec.Ot := StrToIntDef(edtOt.text, 0);
NewRec.ToValue := StrToIntDef(edtTo.Text, 100); NewRec.ToValue := StrToIntDef(edtTo.text, 100);
SetLength(RandomCounters, Length(RandomCounters) + 1); SetLength(RandomCounters, Length(RandomCounters) + 1);
RandomCounters[High(RandomCounters)] := NewRec; RandomCounters[High(RandomCounters)] := NewRec;
UpdateGridFromArray; UpdateGridFromArray;
// DB.SaveGridToTable('sgRandomInt', sgRandomInt); // DB.SaveGridToTable('sgRandomInt', sgRandomInt);
DB.SaveRecordArray<TRandomCounters>('RandomCounters', RandomCounters); DB.SaveRecordArray<TRandomCounters>('RandomCounters', RandomCounters);
edtRandomName.Text := ''; edtRandomName.text := '';
edtOt.Text := '0'; edtOt.text := '0';
edtTo.Text := '100'; edtTo.text := '100';
end; end;
end. end.
+167
View File
@@ -0,0 +1,167 @@
object frContruct: TfrContruct
Size.Width = 406.000000000000000000
Size.Height = 417.000000000000000000
Size.PlatformDefault = False
object Label12: TLabel
Position.X = 8.000000000000000000
Position.Y = 8.000000000000000000
TextSettings.Trimming = None
Text = #1050#1086#1084#1072#1085#1076#1072
TabOrder = 38
end
object edtCommand: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 39
Position.X = 8.000000000000000000
Position.Y = 33.000000000000000000
Size.Width = 208.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object mResponse: TMemo
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
DataDetectorTypes = []
TextSettings.WordWrap = True
Position.X = 8.000000000000000000
Position.Y = 88.000000000000000000
Size.Width = 392.000000000000000000
Size.Height = 161.000000000000000000
Size.PlatformDefault = False
TabOrder = 40
Viewport.Width = 388.000000000000000000
Viewport.Height = 157.000000000000000000
end
object Label14: TLabel
Position.X = 8.000000000000000000
Position.Y = 63.000000000000000000
TextSettings.Trimming = None
Text = #1054#1090#1074#1077#1090
TabOrder = 41
end
object GroupBox7: TGroupBox
Padding.Left = 5.000000000000000000
Padding.Top = 20.000000000000000000
Padding.Right = 5.000000000000000000
Padding.Bottom = 5.000000000000000000
Position.X = 8.000000000000000000
Position.Y = 257.000000000000000000
Size.Width = 392.000000000000000000
Size.Height = 120.000000000000000000
Size.PlatformDefault = False
Text = #1042#1089#1090#1072#1074#1082#1080
TabOrder = 42
object btnAddUserName: TButton
Position.X = 9.000000000000000000
Position.Y = 24.000000000000000000
Size.Width = 94.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 38
Text = #1054#1073#1088#1072#1097#1077#1085#1080#1077
TextSettings.Trimming = None
OnClick = btnAddUserNameClick
end
object btnGetDateFollow: TButton
Position.X = 111.000000000000000000
Position.Y = 24.000000000000000000
TabOrder = 39
Text = 'Follow'
TextSettings.Trimming = None
OnClick = btnGetDateFollowClick
end
object btnGetAgeAccaunt: TButton
Position.X = 199.000000000000000000
Position.Y = 24.000000000000000000
TabOrder = 40
Text = 'Age'
TextSettings.Trimming = None
OnClick = btnGetAgeAccauntClick
end
object btnCounterAddtoText: TButton
Position.X = 9.000000000000000000
Position.Y = 54.000000000000000000
Size.Width = 94.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 41
Text = #1057#1095#1077#1090#1095#1080#1082
TextSettings.Trimming = None
end
object cbCounterName: TComboBox
Position.X = 111.000000000000000000
Position.Y = 54.000000000000000000
Size.Width = 168.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 42
end
object btnGPT: TButton
Position.X = 287.000000000000000000
Position.Y = 24.000000000000000000
TabOrder = 43
Text = #1053#1077#1081#1088#1086#1085#1082#1072
TextSettings.Trimming = None
OnClick = btnGPTClick
end
object btnRandomUserName: TButton
Position.X = 9.000000000000000000
Position.Y = 84.000000000000000000
Size.Width = 168.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 44
Text = #1056#1072#1085#1076#1086#1084#1085#1099#1081' '#1087#1086#1083#1100#1079#1086#1074#1072#1090#1077#1083#1100
TextSettings.Trimming = None
OnClick = btnRandomUserNameClick
end
object btnGetChannelStat: TButton
Position.X = 185.000000000000000000
Position.Y = 84.000000000000000000
Size.Width = 122.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 45
Text = #1057#1090#1072#1090#1080#1089#1090#1080#1082#1072' '#1082#1072#1085#1072#1083#1072
TextSettings.Trimming = None
OnClick = btnGetChannelStatClick
end
object btnAIPic: TButton
Position.X = 287.000000000000000000
Position.Y = 54.000000000000000000
TabOrder = 46
Text = #1050#1072#1088#1090#1080#1085#1082#1072
TextSettings.Trimming = None
OnClick = btnAIPicClick
end
end
object btnAddCommand: TButton
Position.X = 8.000000000000000000
Position.Y = 385.000000000000000000
TabOrder = 43
Text = #1044#1086#1073#1072#1074#1080#1090#1100
TextSettings.Trimming = None
end
object btnEditCommand: TButton
Position.X = 96.000000000000000000
Position.Y = 385.000000000000000000
TabOrder = 44
Text = #1048#1079#1084#1077#1085#1080#1090#1100
TextSettings.Trimming = None
end
object btnRmCommand: TButton
Position.X = 184.000000000000000000
Position.Y = 385.000000000000000000
TabOrder = 45
Text = #1059#1076#1072#1083#1080#1090#1100
TextSettings.Trimming = None
end
object cbTextToSpeech: TCheckBox
Position.X = 167.000000000000000000
Size.Width = 217.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 46
Text = #1054#1079#1074#1091#1095#1080#1074#1072#1090#1100' '#1089#1086#1086#1073#1097#1077#1085#1080#1103' '#1087#1086#1089#1083#1077' "!!!"'
Visible = False
end
end
+83
View File
@@ -0,0 +1,83 @@
unit fContruct;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
FMX.Memo.Types, FMX.ListBox, FMX.ScrollBox, FMX.Memo, FMX.Edit,
FMX.Controls.Presentation;
type
TfrContruct = class(TFrame)
Label12: TLabel;
edtCommand: TEdit;
mResponse: TMemo;
Label14: TLabel;
GroupBox7: TGroupBox;
btnAddUserName: TButton;
btnGetDateFollow: TButton;
btnGetAgeAccaunt: TButton;
btnCounterAddtoText: TButton;
cbCounterName: TComboBox;
btnGPT: TButton;
btnRandomUserName: TButton;
btnGetChannelStat: TButton;
btnAIPic: TButton;
btnAddCommand: TButton;
btnEditCommand: TButton;
btnRmCommand: TButton;
cbTextToSpeech: TCheckBox;
procedure btnAddUserNameClick(Sender: TObject);
procedure btnGetDateFollowClick(Sender: TObject);
procedure btnGetAgeAccauntClick(Sender: TObject);
procedure btnGetChannelStatClick(Sender: TObject);
procedure btnGPTClick(Sender: TObject);
procedure btnAIPicClick(Sender: TObject);
procedure btnRandomUserNameClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.fmx}
procedure TfrContruct.btnAddUserNameClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + '[USERNAME]';
end;
procedure TfrContruct.btnAIPicClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + ' [Kandinsky]';
end;
procedure TfrContruct.btnGetAgeAccauntClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + ' [AGE]';
end;
procedure TfrContruct.btnGetChannelStatClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + ' [STAT]';
end;
procedure TfrContruct.btnGetDateFollowClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + ' [FOLLOW]';
end;
procedure TfrContruct.btnGPTClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + ' [AI]';
end;
procedure TfrContruct.btnRandomUserNameClick(Sender: TObject);
begin
mResponse.Lines.text := mResponse.Lines.text + ' [RANDOMUSER]';
end;
end.
+90
View File
@@ -0,0 +1,90 @@
object frSimpleGrid: TfrSimpleGrid
Size.Width = 339.000000000000000000
Size.Height = 223.000000000000000000
Size.PlatformDefault = False
object sg: TStringGrid
Align = Top
CanFocus = True
ClipChildren = True
Size.Width = 339.000000000000000000
Size.Height = 149.000000000000000000
Size.PlatformDefault = False
TabOrder = 45
RowCount = 0
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
OnCellClick = sgCellClick
Viewport.Width = 335.000000000000000000
Viewport.Height = 124.000000000000000000
object sgR1: TStringColumn
Header = #1053#1072#1079#1074#1072#1085#1080#1077
HeaderSettings.TextSettings.WordWrap = False
end
object sgR2: TStringColumn
Header = #1060#1072#1081#1083
HeaderSettings.TextSettings.WordWrap = False
Size.Width = 220.000000000000000000
end
end
object edtName: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
TabOrder = 40
Position.X = 8.000000000000000000
Position.Y = 155.000000000000000000
Size.Width = 106.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object edtFileName: TEdit
Touch.InteractiveGestures = [LongTap, DoubleTap]
Anchors = [akLeft, akTop, akRight]
TabOrder = 41
Position.X = 122.000000000000000000
Position.Y = 155.000000000000000000
Size.Width = 174.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
end
object btnOpen: TButton
Anchors = [akTop, akRight]
Position.X = 304.000000000000000000
Position.Y = 157.000000000000000000
Size.Width = 27.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 42
Text = '...'
TextSettings.Trimming = None
OnClick = btnOpenClick
end
object btnAdd: TButton
Position.X = 8.000000000000000000
Position.Y = 185.000000000000000000
TabOrder = 38
Text = #1044#1086#1073#1072#1074#1080#1090#1100
TextSettings.Trimming = None
OnClick = btnAddClick
end
object btnDel: TButton
Position.X = 184.000000000000000000
Position.Y = 185.000000000000000000
Size.Width = 70.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 39
Text = #1059#1076#1072#1083#1080#1090#1100
TextSettings.Trimming = None
OnClick = btnDelClick
end
object btnEdt: TButton
Position.X = 96.000000000000000000
Position.Y = 185.000000000000000000
TabOrder = 46
Text = #1048#1079#1084#1077#1085#1080#1090#1100
TextSettings.Trimming = None
OnClick = btnEdtClick
end
object od: TOpenDialog
Left = 152
Top = 96
end
end
+143
View File
@@ -0,0 +1,143 @@
unit fSimpleGrid;
interface
uses
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.Edit, FMX.Grid, FMX.Controls.Presentation,
FMX.ScrollBox, uRecords;
type
TfrSimpleGrid = class(TFrame)
sg: TStringGrid;
sgR2: TStringColumn;
sgR1: TStringColumn;
edtName: TEdit;
edtFileName: TEdit;
btnOpen: TButton;
btnAdd: TButton;
btnDel: TButton;
btnEdt: TButton;
od: TOpenDialog;
procedure btnAddClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure sgCellClick(const Column: TColumn; const Row: Integer);
procedure btnOpenClick(Sender: TObject);
procedure btnEdtClick(Sender: TObject);
private
{ Private declarations }
FMyRecord: TArray<TListCommands>;
FTableName: string;
procedure SetMyArray(const Value: TArray<TListCommands>);
procedure SetTableName(const Value: string);
public
{ Public declarations }
procedure UpdateGrid;
published
property ObjectRecord: TArray<TListCommands> read FMyRecord
write SetMyArray;
property TableName: string read FTableName write SetTableName;
end;
implementation
{$R *.fmx}
uses ugeneral;
{ TfrSimpleGrid }
procedure TfrSimpleGrid.btnAddClick(Sender: TObject);
var
NewRec: TListCommands;
begin
if (edtName.Text = '') or (edtFileName.Text = '') then
exit;
NewRec.R1 := edtName.Text;
NewRec.R2 := edtFileName.Text;
SetLength(FMyRecord, Length(FMyRecord) + 1);
FMyRecord[High(FMyRecord)] := NewRec;
DB.SaveRecordArray<TListCommands>(FTableName, FMyRecord);
edtName.Text := '';
edtFileName.Text := '';
UpdateGrid;
end;
procedure TfrSimpleGrid.btnDelClick(Sender: TObject);
var
i, RowIndex: Integer;
begin
RowIndex := sg.Row;
if (RowIndex < 0) or (RowIndex > High(FMyRecord)) then
exit;
for i := RowIndex to High(FMyRecord) - 1 do
FMyRecord[i] := FMyRecord[i + 1];
SetLength(FMyRecord, Length(FMyRecord) - 1);
DB.SaveRecordArray<TListCommands>(FTableName, FMyRecord);
UpdateGrid;
end;
procedure TfrSimpleGrid.btnEdtClick(Sender: TObject);
var RowIndex:integer;
begin
if (edtName.Text = '') or (edtFileName.Text = '') then
exit;
RowIndex := sg.Row;
if (RowIndex < 0) or (RowIndex > High(FMyRecord)) then
exit;
FMyRecord[RowIndex].R1 := edtName.Text;
FMyRecord[RowIndex].R2 := edtFileName.Text;
DB.SaveRecordArray<TListCommands>(FTableName, FMyRecord);
edtName.Text := '';
edtFileName.Text := '';
UpdateGrid;
end;
procedure TfrSimpleGrid.btnOpenClick(Sender: TObject);
var
i, RowIndex: Integer;
begin
if od.Execute then
edtFileName.Text := od.FileName;
end;
procedure TfrSimpleGrid.SetMyArray(const Value: TArray<TListCommands>);
begin
FMyRecord := Value;
end;
procedure TfrSimpleGrid.SetTableName(const Value: string);
begin
FTableName := Value;
end;
procedure TfrSimpleGrid.sgCellClick(const Column: TColumn; const Row: Integer);
begin
edtName.Text := sg.Cells[0, Row];
edtFileName.Text := sg.Cells[1, Row];
end;
procedure TfrSimpleGrid.UpdateGrid;
var
i: Integer;
begin
sg.BeginUpdate;
try
sg.RowCount := 1; // Ñáðàñûâàåì ñòðîêè (îñòàâëÿåì òîëüêî çàãîëîâêè)
for i := 0 to High(FMyRecord) do
begin
sg.RowCount := i + 1;
sg.Cells[0, i] := FMyRecord[i].R1;
sg.Cells[1, i] := FMyRecord[i].R2;
end;
finally
sg.EndUpdate;
end;
end;
end.
+73 -13
View File
@@ -484,6 +484,7 @@ begin
end; end;
end; end;
procedure TSettingsDatabase.SaveRecordArray<T>(const TableName: string; const Items: array of T); procedure TSettingsDatabase.SaveRecordArray<T>(const TableName: string; const Items: array of T);
var var
Context: TRttiContext; Context: TRttiContext;
@@ -493,12 +494,13 @@ var
Rec: T; Rec: T;
Field: TRttiField; Field: TRttiField;
FieldNames, Placeholders: string; FieldNames, Placeholders: string;
i: Integer; i, j: Integer;
Value: TValue;
Param: TFDParam;
begin begin
if Length(Items) = 0 then Exit; if Length(Items) = 0 then Exit;
EnsureTableForRecord(TableName, TypeInfo(T)); EnsureTableForRecord(TableName, TypeInfo(T));
FConnection.ExecSQL(Format('DELETE FROM %s', [TableName]));
Context := TRttiContext.Create; Context := TRttiContext.Create;
try try
@@ -509,28 +511,85 @@ begin
try try
Query.Connection := FConnection; Query.Connection := FConnection;
// Ïîñòðîåíèå ñïèñêà ïîëåé è ïëåéñõîëäåðîâ
FieldNames := ''; FieldNames := '';
Placeholders := ''; Placeholders := '';
for i := 0 to High(Fields) do for j := 0 to High(Fields) do
begin begin
if i > 0 then if j > 0 then
begin begin
FieldNames := FieldNames + ', '; FieldNames := FieldNames + ', ';
Placeholders := Placeholders + ', '; Placeholders := Placeholders + ', ';
end; end;
FieldNames := FieldNames + Fields[i].Name; FieldNames := FieldNames + Fields[j].Name;
Placeholders := Placeholders + ':p_' + Fields[i].Name; Placeholders := Placeholders + ':' + Fields[j].Name;
end; end;
Query.SQL.Text := 'INSERT INTO '+TableName+' ('+FieldNames+') VALUES ('+Placeholders+')'; Query.SQL.Text := 'INSERT INTO ' + TableName + ' (' + FieldNames + ') VALUES (' + Placeholders + ')';
// Ïîäãîòàâëèâàåì çàïðîñ (ñîçäàåò ïàðàìåòðû)
//Query.Prepare;
for Rec in Items do // Óñòàíàâëèâàåì ðàçìåð ìàññèâà ïàðàìåòðîâ
begin Query.Params.ArraySize := Length(Items);
Query.Params.Clear;
for Field in Fields do // Íà÷àëî òðàíçàêöèè
Query.ParamByName('p_'+Field.Name).Value := Field.GetValue(@Rec).AsVariant; FConnection.StartTransaction;
Query.ExecSQL; try
// Î÷èñòêà òàáëèöû ïåðåä âñòàâêîé íîâûõ äàííûõ
FConnection.ExecSQL('DELETE FROM ' + TableName);
i := 0;
for Rec in Items do
begin
for Field in Fields do
begin
Value := Field.GetValue(@Rec);
// Íàõîäèì ïàðàìåòð
Param := Query.FindParam(Field.Name);
if not Assigned(Param) then
raise Exception.CreateFmt('Parameter "%s" not found in query', [Field.Name]);
// Îáðàáîòêà NULL-çíà÷åíèé
if Value.IsEmpty then
begin
Param.Clear(i);
end
else
begin
// Îáðàáîòêà ïî òèïó
case Field.FieldType.TypeKind of
tkInteger, tkInt64:
Param.AsIntegers[i] := Value.AsInteger;
tkFloat:
if (Field.FieldType = TypeInfo(TDateTime)) or
(Field.FieldType = TypeInfo(TDate)) or
(Field.FieldType = TypeInfo(TTime)) then
Param.AsDateTimes[i] := Value.AsExtended
else
Param.AsFloats[i] := Value.AsExtended;
tkEnumeration:
if Field.FieldType = TypeInfo(Boolean) then
Param.AsBooleans[i] := Value.AsBoolean
else
Param.AsIntegers[i] := Value.AsOrdinal;
tkUString, tkString, tkWString, tkLString:
Param.AsStrings[i] := Value.AsString;
else
Param.AsStrings[i] := Value.ToString;
end;
end;
end;
Inc(i);
end;
// Ïàêåòíîå âûïîëíåíèå
Query.Execute(Length(Items), 0);
FConnection.Commit;
except
FConnection.Rollback;
raise;
end; end;
finally finally
Query.Free; Query.Free;
@@ -540,6 +599,7 @@ begin
end; end;
end; end;
procedure TSettingsDatabase.LoadRecordArray<T>(const TableName: string; var Items: TArray<T>); procedure TSettingsDatabase.LoadRecordArray<T>(const TableName: string; var Items: TArray<T>);
var var
Context: TRttiContext; Context: TRttiContext;
+188 -228
View File
@@ -3,7 +3,7 @@ object TTW_Bot: TTTW_Bot
Top = 0 Top = 0
Caption = 'Form1' Caption = 'Form1'
ClientHeight = 886 ClientHeight = 886
ClientWidth = 1042 ClientWidth = 970
Position = Designed Position = Designed
FormFactor.Width = 320 FormFactor.Width = 320
FormFactor.Height = 480 FormFactor.Height = 480
@@ -14,30 +14,30 @@ object TTW_Bot: TTTW_Bot
object V: TTabControl object V: TTabControl
Align = Client Align = Client
Images = ImageList1 Images = ImageList1
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 744.000000000000000000 Size.Height = 744.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabIndex = 2 TabIndex = 2
TabOrder = 0 TabOrder = 0
TabPosition = PlatformDefault TabPosition = PlatformDefault
Sizes = ( Sizes = (
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s 718s
1042s 970s
718s) 718s)
object TabItem1: TTabItem object TabItem1: TTabItem
CustomIcon = < CustomIcon = <
@@ -56,7 +56,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frSettings1: TfrSettings inline frSettings1: TfrSettings
Align = Client Align = Client
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 718.000000000000000000 Size.Height = 718.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited GroupBox3: TGroupBox inherited GroupBox3: TGroupBox
@@ -71,51 +71,50 @@ object TTW_Bot: TTTW_Bot
inherited btnOpenStream: TButton inherited btnOpenStream: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 17 ImageIndex = 17
TabOrder = 33 TabOrder = 32
end end
inherited btnGetTokenStreamer: TButton inherited btnGetTokenStreamer: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 10 ImageIndex = 10
TabOrder = 34 TabOrder = 33
end end
inherited edtBotTokenStreamer: TEdit inherited Label53: TLabel
TabOrder = 35 TabOrder = 36
end end
end end
inherited GroupBox22: TGroupBox inherited GroupBox22: TGroupBox
inherited btnDAGetCode: TButton inherited btnDAGetCode: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 10 ImageIndex = 10
TabOrder = 43
end end
inherited Label63: TLabel inherited Label63: TLabel
TabOrder = 35 TabOrder = 34
end end
inherited edtDAClientID: TEdit inherited edtDAClientID: TEdit
TabOrder = 38
end
inherited Label64: TLabel
TabOrder = 36
end
inherited edtDAClientSecret: TEdit
TabOrder = 37 TabOrder = 37
end end
inherited Label64: TLabel
TabOrder = 35
end
inherited edtDAClientSecret: TEdit
TabOrder = 36
end
inherited Label65: TLabel inherited Label65: TLabel
TabOrder = 39 TabOrder = 38
end end
inherited edtDARedirectURL: TEdit inherited edtDARedirectURL: TEdit
TabOrder = 40 TabOrder = 39
end end
inherited edtDACode: TEdit inherited edtDACode: TEdit
TabOrder = 41 TabOrder = 40
end end
inherited Label66: TLabel inherited Label66: TLabel
TabOrder = 42 TabOrder = 41
end end
inherited btnDAStart: TButton inherited btnDAStart: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 18 ImageIndex = 18
TabOrder = 44 TabOrder = 43
OnClick = frSettings1btnDAStartClick OnClick = frSettings1btnDAStartClick
end end
inherited btnGetDADef: TButton inherited btnGetDADef: TButton
@@ -168,7 +167,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frAI1: TfrAI inline frAI1: TfrAI
Align = Client Align = Client
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 718.000000000000000000 Size.Height = 718.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited btnGetAIDef: TButton inherited btnGetAIDef: TButton
@@ -201,12 +200,12 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frCommands1: TfrCommands inline frCommands1: TfrCommands
Align = Client Align = Client
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 718.000000000000000000 Size.Height = 718.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited sgCommands: TStringGrid inherited sgCommands: TStringGrid
Viewport.Width = 606.000000000000000000 Viewport.Width = 536.000000000000000000
Viewport.Height = 193.000000000000000000 Viewport.Height = 168.000000000000000000
inherited scCommand: TStringColumn inherited scCommand: TStringColumn
Size.Width = 134.000000000000000000 Size.Width = 134.000000000000000000
end end
@@ -215,84 +214,70 @@ object TTW_Bot: TTTW_Bot
end end
end end
inherited GroupBox1: TGroupBox inherited GroupBox1: TGroupBox
inherited Label12: TLabel inherited frContruct1: TfrContruct
TabOrder = 37 inherited mResponse: TMemo
end Size.Width = 384.000000000000000000
inherited edtCommand: TEdit Viewport.Width = 380.000000000000000000
TabOrder = 38 Viewport.Height = 157.000000000000000000
end
inherited mResponse: TMemo
TabOrder = 39
Viewport.Width = 376.000000000000000000
Viewport.Height = 177.000000000000000000
end
inherited Label14: TLabel
TabOrder = 40
end
inherited GroupBox7: TGroupBox
TabOrder = 41
inherited btnAddUserName: TButton
Images = ImageList1
ImageIndex = 11
TabOrder = 37
end end
inherited btnGetDateFollow: TButton inherited GroupBox7: TGroupBox
Images = ImageList1 inherited btnAddUserName: TButton
ImageIndex = 15 Images = ImageList1
TabOrder = 38 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 = 46
end
end end
inherited btnGetAgeAccaunt: TButton inherited btnAddCommand: TButton
Images = ImageList1
ImageIndex = 15
TabOrder = 39
end
inherited btnCounterAddtoText: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 0 ImageIndex = 0
TabOrder = 40
end end
inherited cbCounterName: TComboBox inherited btnEditCommand: TButton
TabOrder = 41
end
inherited btnGPT: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 19 ImageIndex = 3
TabOrder = 42
end end
inherited btnRandomUserName: TButton inherited btnRmCommand: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 11 ImageIndex = 12
TabOrder = 43
end end
inherited btnGetChannelStat: TButton
Images = ImageList1
ImageIndex = 20
Size.Width = 128.000000000000000000
TabOrder = 44
end
inherited btnAIPic: TButton
Images = ImageList1
ImageIndex = 5
TabOrder = 45
end
end
inherited btnAddCommand: TButton
Images = ImageList1
ImageIndex = 0
TabOrder = 42
end
inherited btnEditCommand: TButton
Images = ImageList1
ImageIndex = 3
TabOrder = 43
end
inherited btnRmCommand: TButton
Images = ImageList1
ImageIndex = 4
TabOrder = 44
end
inherited cbTextToSpeech: TCheckBox
TabOrder = 45
end end
end end
inherited GroupBox9: TGroupBox inherited GroupBox9: TGroupBox
@@ -301,7 +286,7 @@ object TTW_Bot: TTTW_Bot
Viewport.Height = 116.000000000000000000 Viewport.Height = 116.000000000000000000
end end
inherited lbRandomRespons: TListBox inherited lbRandomRespons: TListBox
Viewport.Width = 270.000000000000000000 Viewport.Width = 214.000000000000000000
Viewport.Height = 116.000000000000000000 Viewport.Height = 116.000000000000000000
end end
inherited btnRandomAdd: TButton inherited btnRandomAdd: TButton
@@ -312,25 +297,19 @@ object TTW_Bot: TTTW_Bot
inherited btnRandomDel: TButton inherited btnRandomDel: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 12 ImageIndex = 12
TabOrder = 37
end end
inherited btnRmGroup: TButton inherited btnRmGroup: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 4 ImageIndex = 4
TabOrder = 38
end
inherited Label4: TLabel
TabOrder = 39
end end
inherited Label5: TLabel inherited Label5: TLabel
TabOrder = 41 TabOrder = 42
end end
end end
inherited GroupBox8: TGroupBox inherited GroupBox8: TGroupBox
inherited btnRandAdd: TButton inherited btnRandAdd: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 0 ImageIndex = 0
TabOrder = 32
OnClick = frCommands1btnRandAddClick OnClick = frCommands1btnRandAddClick
end end
inherited btnRandDel: TButton inherited btnRandDel: TButton
@@ -339,8 +318,8 @@ object TTW_Bot: TTTW_Bot
end end
inherited sgRandomInt: TStringGrid inherited sgRandomInt: TStringGrid
TabOrder = 35 TabOrder = 35
Viewport.Width = 157.000000000000000000 Viewport.Width = 153.000000000000000000
Viewport.Height = 144.000000000000000000 Viewport.Height = 119.000000000000000000
inherited scRIntName: TStringColumn inherited scRIntName: TStringColumn
Size.Width = 70.000000000000000000 Size.Width = 70.000000000000000000
end end
@@ -353,74 +332,61 @@ object TTW_Bot: TTTW_Bot
end end
end end
inherited GroupBox11: TGroupBox inherited GroupBox11: TGroupBox
inherited btnSoundAdd: TButton Margins.Top = 200.000000000000000000
Images = ImageList1 inherited frsgSounds: TfrSimpleGrid
ImageIndex = 0 inherited sg: TStringGrid
TabOrder = 37 Viewport.Width = 289.000000000000000000
end Viewport.Height = 124.000000000000000000
inherited btnSoundDel: TButton inherited sgR2: TStringColumn
Images = ImageList1 Size.Width = 170.000000000000000000
ImageIndex = 12 end
TabOrder = 38 end
end inherited btnOpen: TButton
inherited edtSoundName: TEdit Images = ImageList1
TabOrder = 39 ImageIndex = 14
end Text = ''
inherited edtSoundFileName: TEdit end
TabOrder = 40 inherited btnAdd: TButton
end Images = ImageList1
inherited btnSoundOpen: TButton ImageIndex = 0
Images = ImageList1 end
ImageIndex = 14 inherited btnDel: TButton
TabOrder = 41 Images = ImageList1
Text = '' ImageIndex = 12
end end
inherited tbSoundVolume: TTrackBar inherited btnEdt: TButton
TabOrder = 42 Images = ImageList1
end ImageIndex = 3
inherited btnSoundTest: TButton TabOrder = 45
Images = ImageList1
ImageIndex = 25
TabOrder = 43
end
inherited sgSAFiles: TStringGrid
TabOrder = 44
Viewport.Width = 345.000000000000000000
Viewport.Height = 149.000000000000000000
inherited sgSAFile: TStringColumn
Size.Width = 220.000000000000000000
end end
end end
end end
inherited GroupBox24: TGroupBox inherited GroupBox24: TGroupBox
inherited btnTextAdd: TButton inherited frsgFiles: TfrSimpleGrid
Images = ImageList1 inherited sg: TStringGrid
ImageIndex = 0 Viewport.Width = 289.000000000000000000
TabOrder = 37 Viewport.Height = 124.000000000000000000
end inherited sgR2: TStringColumn
inherited btnTextDel: TButton Size.Width = 170.000000000000000000
Images = ImageList1 end
ImageIndex = 12 end
TabOrder = 38 inherited btnOpen: TButton
end Images = ImageList1
inherited edtTextName: TEdit ImageIndex = 14
TabOrder = 39 Text = ''
end end
inherited edtTextFileName: TEdit inherited btnAdd: TButton
TabOrder = 40 Images = ImageList1
end ImageIndex = 0
inherited btnTextOpen: TButton end
Images = ImageList1 inherited btnDel: TButton
ImageIndex = 14 Images = ImageList1
TabOrder = 41 ImageIndex = 12
Text = '' end
end inherited btnEdt: TButton
inherited sgTFiles: TStringGrid Images = ImageList1
TabOrder = 44 ImageIndex = 3
Viewport.Width = 297.000000000000000000 TabOrder = 45
Viewport.Height = 149.000000000000000000
inherited scTFileFile: TStringColumn
Size.Width = 170.000000000000000000
end end
end end
end end
@@ -430,34 +396,27 @@ object TTW_Bot: TTTW_Bot
end end
inherited GroupBox2: TGroupBox inherited GroupBox2: TGroupBox
TabOrder = 7 TabOrder = 7
inherited sgAIGen: TStringGrid inherited frsgNeiro: TfrSimpleGrid
TabOrder = 37 inherited sg: TStringGrid
Viewport.Width = 305.000000000000000000 Viewport.Width = 289.000000000000000000
Viewport.Height = 149.000000000000000000 Viewport.Height = 124.000000000000000000
inherited StringColumn2: TStringColumn inherited sgR2: TStringColumn
Size.Width = 180.000000000000000000 Size.Width = 170.000000000000000000
end
end
inherited btnAdd: TButton
Images = ImageList1
ImageIndex = 0
end
inherited btnDel: TButton
Images = ImageList1
ImageIndex = 12
end
inherited btnEdt: TButton
Images = ImageList1
ImageIndex = 3
TabOrder = 45
end end
end
inherited edtAIGenName: TEdit
TabOrder = 38
end
inherited edtAIGenRequest: TEdit
TabOrder = 39
end
inherited btnAIGenAdd: TButton
Images = ImageList1
ImageIndex = 0
TabOrder = 40
end
inherited btnAIGenDel: TButton
Images = ImageList1
ImageIndex = 12
TabOrder = 41
end
inherited btnAIGetTextUser: TButton
Images = ImageList1
ImageIndex = 11
TabOrder = 42
end end
end end
end end
@@ -495,13 +454,13 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frOBS1: TfrOBS inline frOBS1: TfrOBS
Align = Top Align = Top
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 345.000000000000000000 Size.Height = 345.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited sgWebChats: TStringGrid inherited sgWebChats: TStringGrid
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 282.000000000000000000 Size.Height = 282.000000000000000000
Viewport.Width = 1042.000000000000000000 Viewport.Width = 970.000000000000000000
Viewport.Height = 282.000000000000000000 Viewport.Height = 282.000000000000000000
inherited StringColumn2: TStringColumn inherited StringColumn2: TStringColumn
Size.Width = 200.000000000000000000 Size.Width = 200.000000000000000000
@@ -516,26 +475,14 @@ object TTW_Bot: TTTW_Bot
OnClick = frChatOBS1btnCreateChatClick OnClick = frChatOBS1btnCreateChatClick
end end
inherited btnDeleteeChat: TButton inherited btnDeleteeChat: TButton
Anchors = [akTop, akRight]
Images = ImageList1 Images = ImageList1
ImageIndex = 4 ImageIndex = 4
Position.X = 954.000000000000000000 Position.X = 882.000000000000000000
TabOrder = 3 TabOrder = 3
end end
inherited Label1: TLabel inherited Label1: TLabel
TabOrder = 6 TabOrder = 7
end
object btnCreateChat: TButton [4]
Images = ImageList1
ImageIndex = 5
Position.X = 406.000000000000000000
Position.Y = -80.000000000000000000
Size.Width = 153.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
TextSettings.Trimming = None
OnClick = frChatOBS1btnCreateChatClick
end end
inherited btnCreateOBSNotify: TButton inherited btnCreateOBSNotify: TButton
Images = ImageList1 Images = ImageList1
@@ -549,6 +496,19 @@ object TTW_Bot: TTTW_Bot
Position.X = 264.000000000000000000 Position.X = 264.000000000000000000
OnClick = frOBS1btnCreateOBSKandinskyClick OnClick = frOBS1btnCreateOBSKandinskyClick
end end
object btnCreateChat: TButton
Images = ImageList1
ImageIndex = 5
Position.X = 406.000000000000000000
Position.Y = -80.000000000000000000
Size.Width = 153.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
TextSettings.Trimming = None
OnClick = frChatOBS1btnCreateChatClick
end
end end
end end
object TabItem6: TTabItem object TabItem6: TTabItem
@@ -568,7 +528,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frNotify1: TfrNotify inline frNotify1: TfrNotify
Align = Client Align = Client
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 718.000000000000000000 Size.Height = 718.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited btnNotifyOpen: TButton inherited btnNotifyOpen: TButton
@@ -649,7 +609,7 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frAutoActions1: TfrAutoActions inline frAutoActions1: TfrAutoActions
Align = Client Align = Client
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 718.000000000000000000 Size.Height = 718.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited GroupBox20: TGroupBox inherited GroupBox20: TGroupBox
@@ -768,20 +728,20 @@ object TTW_Bot: TTTW_Bot
ExplicitSize.cy = 26.000000000000000000 ExplicitSize.cy = 26.000000000000000000
inline frLog1: TfrLog inline frLog1: TfrLog
Align = Client Align = Client
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 718.000000000000000000 Size.Height = 718.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
inherited Panel1: TPanel inherited Panel1: TPanel
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
inherited btnClear: TButton inherited btnClear: TButton
Images = ImageList1 Images = ImageList1
ImageIndex = 4 ImageIndex = 4
end end
end end
inherited sgLog: TStringGrid inherited sgLog: TStringGrid
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 685.000000000000000000 Size.Height = 685.000000000000000000
Viewport.Width = 1042.000000000000000000 Viewport.Width = 970.000000000000000000
Viewport.Height = 685.000000000000000000 Viewport.Height = 685.000000000000000000
inherited StringColumn2: TStringColumn inherited StringColumn2: TStringColumn
Size.Width = 170.000000000000000000 Size.Width = 170.000000000000000000
@@ -799,7 +759,7 @@ object TTW_Bot: TTTW_Bot
object Panel1: TPanel object Panel1: TPanel
Align = Bottom Align = Bottom
Position.Y = 744.000000000000000000 Position.Y = 744.000000000000000000
Size.Width = 1042.000000000000000000 Size.Width = 970.000000000000000000
Size.Height = 142.000000000000000000 Size.Height = 142.000000000000000000
Size.PlatformDefault = False Size.PlatformDefault = False
TabOrder = 10 TabOrder = 10
+17 -1
View File
@@ -135,8 +135,18 @@ begin
myConst.cfg1 := myConst.GeneralPath + 'botapp.cfg'; myConst.cfg1 := myConst.GeneralPath + 'botapp.cfg';
db := TSettingsDatabase.Create(myConst.DBPath); db := TSettingsDatabase.Create(myConst.DBPath);
ReadDB; ReadDB;
frCommands1.frsgSounds.ObjectRecord:=frCommands1.listSounds;
frCommands1.frsgSounds.TableName:='listSounds';
frCommands1.frsgSounds.UpdateGrid;
frCommands1.frsgFiles.ObjectRecord:=frCommands1.listFiles;
frCommands1.frsgFiles.TableName:='listFiles';
frCommands1.frsgFiles.UpdateGrid;
frCommands1.frsgNeiro.ObjectRecord:=frCommands1.listNeiro;
frCommands1.frsgNeiro.TableName:='listNeiro';
frCommands1.frsgNeiro.UpdateGrid;
for Path in TDirectory.GetFiles(myConst.stlPath) do for Path in TDirectory.GetFiles(myConst.stlPath) do
cbTheme.Items.Add(ExtractFileName(Path)); cbTheme.Items.Add(ExtractFileName(Path));
@@ -260,6 +270,12 @@ var
procedure LoadGridsData; procedure LoadGridsData;
begin begin
DB.LoadRecordArray<TRandomCounters>('RandomCounters', frCommands1.RandomCounters); DB.LoadRecordArray<TRandomCounters>('RandomCounters', frCommands1.RandomCounters);
DB.LoadRecordArray<TListCommands>('listSounds', frCommands1.listSounds);
DB.LoadRecordArray<TListCommands>('listFiles', frCommands1.listFiles);
DB.LoadRecordArray<TListCommands>('listNeiro', frCommands1.listNeiro);
DB.LoadRecordArray<TListCommands>('listCommands', frCommands1.listCommands);
frCommands1.UpdateGridFromArray;
{ db.LoadGridFromTable('sgRandomInt', frCommands1.sgRandomInt); { db.LoadGridFromTable('sgRandomInt', frCommands1.sgRandomInt);
db.LoadGridFromTable('sgCommands', frCommands1.sgCommands); db.LoadGridFromTable('sgCommands', frCommands1.sgCommands);
db.LoadGridFromTable('sgSAFiles', frCommands1.sgSAFiles); db.LoadGridFromTable('sgSAFiles', frCommands1.sgSAFiles);
+8 -1
View File
@@ -5,11 +5,18 @@ interface
type type
TRandomCounters = record TRandomCounters = record
Name: string; rndName: string;
Ot: Integer; Ot: Integer;
ToValue: Integer; ToValue: Integer;
end; end;
type
TListCommands = record
R1: string;
R2: string;
end;
type type
TConst = record TConst = record
GeneralPath: string; GeneralPath: string;