diff --git a/TTW_Bot_app.dpr b/TTW_Bot_app.dpr
index ac77652..5abd894 100644
--- a/TTW_Bot_app.dpr
+++ b/TTW_Bot_app.dpr
@@ -8,16 +8,22 @@ uses
fAI in 'fAI.pas' {frAI: TFrame},
fNotify in 'fNotify.pas' {frNotify: TFrame},
fAutoActions in 'fAutoActions.pas' {frAutoActions: TFrame},
- fChatOBS in 'fChatOBS.pas' {frChatOBS: TFrame},
+ fOBS in 'fOBS.pas' {frOBS: TFrame},
fLog in 'fLog.pas' {frLog: TFrame},
uRecords in 'uRecords.pas',
fCommands in 'fCommands.pas' {frCommands: TFrame},
- uDataBase in 'uDataBase.pas';
+ uDataBase in 'uDataBase.pas',
+ fColorSettings in 'fColorSettings.pas' {frColorSettings: TFrame},
+ uCreateChat in 'uCreateChat.pas' {fCreateChat},
+ fFontSettings in 'fFontSettings.pas' {frFontSettings: TFrame},
+ uCreateNotify in 'uCreateNotify.pas' {fCreateNotify};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
+ Application.CreateForm(TfCreateChat, fCreateChat);
+ Application.CreateForm(TfCreateNotify, fCreateNotify);
Application.Run;
end.
diff --git a/TTW_Bot_app.dproj b/TTW_Bot_app.dproj
index f1ca5bf..b0a77b9 100644
--- a/TTW_Bot_app.dproj
+++ b/TTW_Bot_app.dproj
@@ -330,8 +330,8 @@
fmx
TFrame
-
-
+
+
fmx
TFrame
@@ -347,6 +347,25 @@
TFrame
+
+
+ fmx
+ TFrame
+
+
+
+ fmx
+
+
+
+ fmx
+ TFrame
+
+
+
+ fmx
+
+
Base
@@ -384,6 +403,12 @@
true
+
+
+ .\
+ true
+
+
TTW_Bot_app.exe
@@ -1344,11 +1369,9 @@
True
True
- False
True
True
True
- False
True
True
True
diff --git a/fChatOBS.fmx b/fChatOBS.fmx
deleted file mode 100644
index 3f52831..0000000
--- a/fChatOBS.fmx
+++ /dev/null
@@ -1,393 +0,0 @@
-object frChatOBS: TfrChatOBS
- Size.Width = 922.000000000000000000
- Size.Height = 408.000000000000000000
- Size.PlatformDefault = False
- object GroupBox13: TGroupBox
- Position.X = 562.000000000000000000
- Position.Y = 8.000000000000000000
- Size.Width = 351.000000000000000000
- Size.Height = 203.000000000000000000
- Size.PlatformDefault = False
- Text = #1064#1088#1080#1092#1090
- TabOrder = 2
- object Label41: TLabel
- Position.X = 8.000000000000000000
- Position.Y = 22.000000000000000000
- Size.Width = 100.000000000000000000
- Size.Height = 17.000000000000000000
- Size.PlatformDefault = False
- TextSettings.Trimming = None
- Text = #1056#1072#1079#1084#1077#1088' '#1096#1088#1080#1092#1090#1072
- TabOrder = 9
- end
- object sbFontSize: TSpinBox
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 1
- Cursor = crIBeam
- Value = 14.000000000000000000
- Position.X = 8.000000000000000000
- Position.Y = 47.000000000000000000
- end
- object ccbFontColor: TColorComboBox
- DropDownKind = Custom
- Color = claNull
- DisableFocusEffect = False
- ItemIndex = 147
- Position.X = 8.000000000000000000
- Position.Y = 102.000000000000000000
- Size.Width = 120.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 41
- end
- object Label49: TLabel
- Position.X = 8.000000000000000000
- Position.Y = 77.000000000000000000
- TextSettings.Trimming = None
- Text = #1062#1074#1077#1090' '#1096#1088#1080#1092#1090#1072
- TabOrder = 39
- end
- object cbFontStyleDefault: TComboBox
- Items.Strings = (
- 'Arial'
- 'Arial Cyr'
- 'Arial Black'
- 'Book antiqua'
- 'Bookman old style'
- 'Calibri'
- 'Cambria'
- 'Candara'
- 'Century'
- 'Century gothic'
- 'Comic Sans Ms'
- 'Consolas'
- 'Constantia'
- 'Corbel'
- 'Courier'
- 'Courier New'
- 'Courier, monospace'
- 'Cursive'
- 'Franklin Gothic'
- 'Gabriola'
- 'Garamond'
- 'Georgia'
- 'Helvetica'
- 'Impact'
- 'Lucida console'
- 'Lucida Sans Unicode'
- 'Mistral (Mistral)'
- 'monospace'
- 'Monotype Corsiva'
- 'MS Sans Serif'
- 'MS Serif'
- 'Palatino Linotype'
- 'Roboto'
- 'Sans-serif'
- 'Segoe print'
- 'Segoe script'
- 'Sylfaen'
- 'Tahoma'
- 'Times New Roman'
- 'Trebuchet ms'
- 'Verdana')
- ItemIndex = 0
- Position.X = 136.000000000000000000
- Position.Y = 47.000000000000000000
- Size.Width = 206.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 0
- end
- object Label46: TLabel
- Position.X = 136.000000000000000000
- Position.Y = 22.000000000000000000
- TextSettings.Trimming = None
- Text = #1064#1088#1080#1092#1090
- TabOrder = 42
- end
- object ccbBColor: TColorComboBox
- DropDownKind = Custom
- Color = claLime
- DisableFocusEffect = False
- ItemIndex = 82
- Position.X = 8.000000000000000000
- Position.Y = 157.000000000000000000
- Size.Width = 120.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 40
- end
- object Label1: TLabel
- Position.X = 8.000000000000000000
- Position.Y = 132.000000000000000000
- TextSettings.Trimming = None
- Text = #1062#1074#1077#1090' '#1092#1086#1085#1072
- TabOrder = 38
- end
- object btnChangeBGColor: TButton
- Position.X = 136.000000000000000000
- Position.Y = 157.000000000000000000
- Size.Width = 145.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 43
- Text = #1055#1088#1080#1084#1077#1085#1080#1090#1100' '#1094#1074#1077#1090' '#1092#1086#1085#1072
- TextSettings.Trimming = None
- end
- end
- object GroupBox12: TGroupBox
- Position.X = 241.000000000000000000
- Position.Y = 8.000000000000000000
- Size.Width = 313.000000000000000000
- Size.Height = 203.000000000000000000
- Size.PlatformDefault = False
- Text = #1041#1083#1086#1082' '#1089#1086#1086#1073#1097#1077#1085#1080#1103
- TabOrder = 1
- object cpStyleBlockColor: TColorPanel
- Color = claWhite
- Position.X = 16.000000000000000000
- Position.Y = 45.000000000000000000
- Size.Width = 161.000000000000000000
- Size.Height = 150.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 7
- end
- object Label40: TLabel
- Position.X = 16.000000000000000000
- Position.Y = 20.000000000000000000
- Size.Width = 161.000000000000000000
- Size.Height = 17.000000000000000000
- Size.PlatformDefault = False
- TextSettings.Trimming = None
- Text = #1062#1074#1077#1090' '#1080' '#1087#1088#1086#1079#1088#1072#1095#1085#1086#1089#1090#1100' '#1073#1083#1086#1082#1072
- TabOrder = 8
- end
- object Label42: TLabel
- Position.X = 185.000000000000000000
- Position.Y = 22.000000000000000000
- TextSettings.Trimming = None
- Text = #1062#1074#1077#1090' '#1088#1072#1084#1082#1080
- TabOrder = 38
- end
- object ccbStyleBorderColor: TColorComboBox
- DropDownKind = Custom
- Color = claNull
- DisableFocusEffect = False
- ItemIndex = 147
- Position.X = 185.000000000000000000
- Position.Y = 47.000000000000000000
- Size.Width = 120.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 39
- end
- object Label44: TLabel
- Position.X = 185.000000000000000000
- Position.Y = 132.000000000000000000
- TextSettings.Trimming = None
- Text = #1054#1090#1089#1090#1091#1087#1099
- TabOrder = 41
- end
- object sbStyleBlockPadding: TSpinBox
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 43
- Cursor = crIBeam
- Value = 10.000000000000000000
- Position.X = 185.000000000000000000
- Position.Y = 157.000000000000000000
- Size.Width = 120.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- end
- object sbStyleBlockBorderSize: TSpinBox
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 42
- Cursor = crIBeam
- Value = 2.000000000000000000
- Position.X = 185.000000000000000000
- Position.Y = 102.000000000000000000
- Size.Width = 120.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- end
- object Label48: TLabel
- Position.X = 185.000000000000000000
- Position.Y = 77.000000000000000000
- TextSettings.Trimming = None
- Text = #1058#1086#1083#1097#1080#1085#1072' '#1088#1072#1084#1082#1080
- TabOrder = 40
- end
- end
- object GroupBox10: TGroupBox
- Position.X = 1.000000000000000000
- Position.Y = 8.000000000000000000
- Size.Width = 232.000000000000000000
- Size.Height = 203.000000000000000000
- Size.PlatformDefault = False
- Text = #1053#1072#1089#1090#1088#1086#1081#1082#1080
- TabOrder = 0
- object Label27: TLabel
- Position.X = 8.000000000000000000
- Position.Y = 22.000000000000000000
- Size.Width = 249.000000000000000000
- Size.Height = 17.000000000000000000
- Size.PlatformDefault = False
- TextSettings.Trimming = None
- Text = #1052#1072#1082#1089#1080#1084#1072#1083#1100#1085#1086#1077' '#1082#1086#1083#1080#1095#1077#1089#1090#1074#1086' '#1089#1086#1086#1073#1097#1077#1085#1080#1081
- TabOrder = 3
- end
- object Label38: TLabel
- Position.X = 8.000000000000000000
- Position.Y = 77.000000000000000000
- Size.Width = 249.000000000000000000
- Size.Height = 17.000000000000000000
- Size.PlatformDefault = False
- TextSettings.Trimming = None
- Text = #1042#1088#1077#1084#1103' '#1086#1090#1086#1073#1088#1072#1078#1077#1085#1080#1103' '#1089#1086#1086#1073#1097#1077#1085#1080#1103
- TabOrder = 0
- end
- object sbMaxMsg: TSpinBox
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 5
- Cursor = crIBeam
- Value = 5.000000000000000000
- Position.X = 8.000000000000000000
- Position.Y = 47.000000000000000000
- end
- object sbTimeMsg: TSpinBox
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 2
- Cursor = crIBeam
- Value = 10.000000000000000000
- Position.X = 8.000000000000000000
- Position.Y = 102.000000000000000000
- end
- object Label39: TLabel
- Position.X = 8.000000000000000000
- Position.Y = 132.000000000000000000
- Size.Width = 193.000000000000000000
- Size.Height = 17.000000000000000000
- Size.PlatformDefault = False
- TextSettings.Trimming = None
- Text = #1055#1086#1088#1090' '#1042#1077#1073' '#1057#1077#1088#1074#1077#1088#1072
- TabOrder = 6
- end
- object cbFreez: TCheckBox
- Position.X = 112.000000000000000000
- Position.Y = 105.000000000000000000
- Size.Width = 112.000000000000000000
- Size.Height = 19.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 38
- Text = #1042#1077#1095#1085#1086
- end
- object sbWebServerPort: TSpinBox
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 4
- Cursor = crIBeam
- Min = 8080.000000000000000000
- Max = 65000.000000000000000000
- Value = 8085.000000000000000000
- Position.X = 8.000000000000000000
- Position.Y = 157.000000000000000000
- end
- end
- object btnWebChatTest: TButton
- Position.X = 8.000000000000000000
- Position.Y = 249.000000000000000000
- Size.Width = 152.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 3
- Text = #1058#1077#1089#1090#1086#1074#1086#1077' '#1089#1086#1086#1073#1097#1077#1085#1080#1077
- TextSettings.Trimming = None
- end
- object edtWebChatTest: TEdit
- Touch.InteractiveGestures = [LongTap, DoubleTap]
- TabOrder = 4
- Position.X = 8.000000000000000000
- Position.Y = 219.000000000000000000
- Size.Width = 225.000000000000000000
- Size.Height = 22.000000000000000000
- Size.PlatformDefault = False
- end
- object btnCreateWebChat: TButton
- Position.X = 241.000000000000000000
- Position.Y = 219.000000000000000000
- TabOrder = 5
- Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
- TextSettings.Trimming = None
- end
- object btnDeleteWebChat: TButton
- Position.X = 329.000000000000000000
- Position.Y = 219.000000000000000000
- TabOrder = 6
- Text = #1059#1076#1072#1083#1080#1090#1100' '#1095#1072#1090
- TextSettings.Trimming = None
- end
- object sgWebChats: TStringGrid
- Align = Bottom
- CanFocus = True
- ClipChildren = True
- Position.Y = 288.000000000000000000
- Size.Width = 922.000000000000000000
- Size.Height = 120.000000000000000000
- Size.PlatformDefault = False
- TabOrder = 7
- RowCount = 0
- Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
- Viewport.Width = 918.000000000000000000
- Viewport.Height = 95.000000000000000000
- object StringColumn1: TStringColumn
- Header = #1055#1086#1088#1090
- HeaderSettings.TextSettings.WordWrap = False
- end
- object IntegerColumn1: TIntegerColumn
- Header = #1052#1072#1082#1089' '#1089#1086#1086#1073#1097
- HeaderSettings.TextSettings.WordWrap = False
- Size.Width = 80.000000000000000000
- end
- object IntegerColumn2: TIntegerColumn
- Header = #1042#1088#1077#1084#1103' '#1089#1086#1086#1073#1097
- HeaderSettings.TextSettings.WordWrap = False
- Size.Width = 82.000000000000000000
- end
- object CheckColumn1: TCheckColumn
- Header = #1042#1077#1095#1085#1086
- HeaderSettings.TextSettings.WordWrap = False
- end
- object StringColumn2: TStringColumn
- Header = #1062#1074#1077#1090' '#1088#1072#1084#1082#1080
- HeaderSettings.TextSettings.WordWrap = False
- end
- object StringColumn3: TStringColumn
- Header = #1062#1074#1077#1090' '#1073#1083#1086#1082#1072
- HeaderSettings.TextSettings.WordWrap = False
- end
- object IntegerColumn5: TIntegerColumn
- Header = #1058#1086#1083#1097#1080#1085#1072
- HeaderSettings.TextSettings.WordWrap = False
- Size.Width = 80.000000000000000000
- end
- object IntegerColumn4: TIntegerColumn
- Header = #1054#1090#1089#1090#1091#1087#1099
- HeaderSettings.TextSettings.WordWrap = False
- end
- object StringColumn4: TStringColumn
- Header = #1064#1088#1080#1092#1090
- HeaderSettings.TextSettings.WordWrap = False
- end
- object StringColumn5: TStringColumn
- Header = #1062#1074#1077#1090' '#1096#1088#1080#1092#1090#1072
- HeaderSettings.TextSettings.WordWrap = False
- end
- object StringColumn6: TStringColumn
- Header = #1062#1074#1077#1090' '#1092#1086#1085#1072
- HeaderSettings.TextSettings.WordWrap = False
- end
- object IntegerColumn3: TIntegerColumn
- Header = #1056#1072#1079#1084#1077#1088' '#1096#1088#1080#1092#1090#1072
- HeaderSettings.TextSettings.WordWrap = False
- end
- end
-end
diff --git a/fChatOBS.pas b/fChatOBS.pas
deleted file mode 100644
index bb0d166..0000000
--- a/fChatOBS.pas
+++ /dev/null
@@ -1,67 +0,0 @@
-unit fChatOBS;
-
-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.Grid, FMX.ScrollBox, FMX.Edit, FMX.Colors,
- FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Controls.Presentation;
-
-type
- TfrChatOBS = class(TFrame)
- GroupBox13: TGroupBox;
- Label41: TLabel;
- sbFontSize: TSpinBox;
- ccbFontColor: TColorComboBox;
- Label49: TLabel;
- cbFontStyleDefault: TComboBox;
- Label46: TLabel;
- ccbBColor: TColorComboBox;
- Label1: TLabel;
- btnChangeBGColor: TButton;
- GroupBox12: TGroupBox;
- cpStyleBlockColor: TColorPanel;
- Label40: TLabel;
- Label42: TLabel;
- ccbStyleBorderColor: TColorComboBox;
- Label44: TLabel;
- sbStyleBlockPadding: TSpinBox;
- sbStyleBlockBorderSize: TSpinBox;
- Label48: TLabel;
- GroupBox10: TGroupBox;
- Label27: TLabel;
- Label38: TLabel;
- sbMaxMsg: TSpinBox;
- sbTimeMsg: TSpinBox;
- Label39: TLabel;
- cbFreez: TCheckBox;
- sbWebServerPort: TSpinBox;
- btnWebChatTest: TButton;
- edtWebChatTest: TEdit;
- btnCreateWebChat: TButton;
- btnDeleteWebChat: TButton;
- sgWebChats: TStringGrid;
- StringColumn1: TStringColumn;
- IntegerColumn1: TIntegerColumn;
- IntegerColumn2: TIntegerColumn;
- CheckColumn1: TCheckColumn;
- StringColumn2: TStringColumn;
- StringColumn3: TStringColumn;
- IntegerColumn5: TIntegerColumn;
- IntegerColumn4: TIntegerColumn;
- StringColumn4: TStringColumn;
- StringColumn5: TStringColumn;
- StringColumn6: TStringColumn;
- IntegerColumn3: TIntegerColumn;
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
-implementation
-
-{$R *.fmx}
-
-end.
diff --git a/fColorSettings.fmx b/fColorSettings.fmx
new file mode 100644
index 0000000..7dd200a
--- /dev/null
+++ b/fColorSettings.fmx
@@ -0,0 +1,108 @@
+object frColorSettings: TfrColorSettings
+ Size.Width = 311.000000000000000000
+ Size.Height = 253.000000000000000000
+ Size.PlatformDefault = False
+ object ccbStyleBorderColor: TColorComboBox
+ DropDownKind = Custom
+ Color = claNull
+ DisableFocusEffect = False
+ ItemIndex = 147
+ Position.X = 177.000000000000000000
+ Position.Y = 35.000000000000000000
+ Size.Width = 120.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 39
+ end
+ object cpStyleBlockColor: TColorPanel
+ Color = claWhite
+ Position.X = 8.000000000000000000
+ Position.Y = 33.000000000000000000
+ Size.Width = 161.000000000000000000
+ Size.Height = 150.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 6
+ end
+ object Label40: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 161.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1062#1074#1077#1090' '#1080' '#1087#1088#1086#1079#1088#1072#1095#1085#1086#1089#1090#1100' '#1073#1083#1086#1082#1072
+ TabOrder = 7
+ end
+ object Label42: TLabel
+ Position.X = 177.000000000000000000
+ Position.Y = 10.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1062#1074#1077#1090' '#1088#1072#1084#1082#1080
+ TabOrder = 37
+ end
+ object Label44: TLabel
+ Position.X = 177.000000000000000000
+ Position.Y = 120.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1054#1090#1089#1090#1091#1087#1099
+ TabOrder = 41
+ end
+ object Label48: TLabel
+ Position.X = 177.000000000000000000
+ Position.Y = 65.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1058#1086#1083#1097#1080#1085#1072' '#1088#1072#1084#1082#1080
+ TabOrder = 42
+ end
+ object sbStyleBlockBorderSize: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 44
+ Cursor = crIBeam
+ Value = 2.000000000000000000
+ Position.X = 177.000000000000000000
+ Position.Y = 90.000000000000000000
+ Size.Width = 120.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ object sbStyleBlockPadding: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 45
+ Cursor = crIBeam
+ Value = 10.000000000000000000
+ Position.X = 177.000000000000000000
+ Position.Y = 145.000000000000000000
+ Size.Width = 120.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ object Label1: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 191.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1062#1074#1077#1090' '#1092#1086#1085#1072
+ TabOrder = 38
+ end
+ object ccbBColor: TColorComboBox
+ DropDownKind = Custom
+ Color = claLime
+ DisableFocusEffect = False
+ ItemIndex = 82
+ Position.X = 8.000000000000000000
+ Position.Y = 216.000000000000000000
+ Size.Width = 120.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 40
+ end
+ object btnChangeBGColor: TButton
+ Position.X = 136.000000000000000000
+ Position.Y = 216.000000000000000000
+ Size.Width = 145.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 43
+ Text = #1055#1088#1080#1084#1077#1085#1080#1090#1100' '#1094#1074#1077#1090' '#1092#1086#1085#1072
+ TextSettings.Trimming = None
+ end
+end
diff --git a/fColorSettings.pas b/fColorSettings.pas
new file mode 100644
index 0000000..00ae6d8
--- /dev/null
+++ b/fColorSettings.pas
@@ -0,0 +1,34 @@
+unit fColorSettings;
+
+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.Edit, FMX.Colors, FMX.ListBox, FMX.EditBox, FMX.SpinBox,
+ FMX.Controls.Presentation;
+
+type
+ TfrColorSettings = class(TFrame)
+ cpStyleBlockColor: TColorPanel;
+ Label40: TLabel;
+ Label42: TLabel;
+ ccbStyleBorderColor: TColorComboBox;
+ Label44: TLabel;
+ sbStyleBlockPadding: TSpinBox;
+ sbStyleBlockBorderSize: TSpinBox;
+ Label48: TLabel;
+ Label1: TLabel;
+ ccbBColor: TColorComboBox;
+ btnChangeBGColor: TButton;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+implementation
+
+{$R *.fmx}
+
+end.
diff --git a/fFontSettings.fmx b/fFontSettings.fmx
new file mode 100644
index 0000000..42592d6
--- /dev/null
+++ b/fFontSettings.fmx
@@ -0,0 +1,100 @@
+object frFontSettings: TfrFontSettings
+ Size.Width = 249.000000000000000000
+ Size.Height = 125.000000000000000000
+ Size.PlatformDefault = False
+ object Label41: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 63.000000000000000000
+ Size.Width = 100.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1056#1072#1079#1084#1077#1088' '#1096#1088#1080#1092#1090#1072
+ TabOrder = 9
+ end
+ object sbFontSize: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 1
+ Cursor = crIBeam
+ Value = 14.000000000000000000
+ Position.X = 8.000000000000000000
+ Position.Y = 88.000000000000000000
+ end
+ object ccbFontColor: TColorComboBox
+ DropDownKind = Custom
+ Color = claNull
+ DisableFocusEffect = False
+ ItemIndex = 147
+ Position.X = 116.000000000000000000
+ Position.Y = 88.000000000000000000
+ Size.Width = 120.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 39
+ end
+ object Label49: TLabel
+ Position.X = 116.000000000000000000
+ Position.Y = 63.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1062#1074#1077#1090' '#1096#1088#1080#1092#1090#1072
+ TabOrder = 38
+ end
+ object cbFontStyleDefault: TComboBox
+ Items.Strings = (
+ 'Arial'
+ 'Arial Cyr'
+ 'Arial Black'
+ 'Book antiqua'
+ 'Bookman old style'
+ 'Calibri'
+ 'Cambria'
+ 'Candara'
+ 'Century'
+ 'Century gothic'
+ 'Comic Sans Ms'
+ 'Consolas'
+ 'Constantia'
+ 'Corbel'
+ 'Courier'
+ 'Courier New'
+ 'Courier, monospace'
+ 'Cursive'
+ 'Franklin Gothic'
+ 'Gabriola'
+ 'Garamond'
+ 'Georgia'
+ 'Helvetica'
+ 'Impact'
+ 'Lucida console'
+ 'Lucida Sans Unicode'
+ 'Mistral (Mistral)'
+ 'monospace'
+ 'Monotype Corsiva'
+ 'MS Sans Serif'
+ 'MS Serif'
+ 'Palatino Linotype'
+ 'Roboto'
+ 'Sans-serif'
+ 'Segoe print'
+ 'Segoe script'
+ 'Sylfaen'
+ 'Tahoma'
+ 'Times New Roman'
+ 'Trebuchet ms'
+ 'Verdana')
+ ItemIndex = 0
+ Position.X = 8.000000000000000000
+ Position.Y = 33.000000000000000000
+ Size.Width = 228.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 0
+ end
+ object Label46: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 8.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1057#1090#1080#1083#1100
+ TabOrder = 40
+ end
+end
diff --git a/fFontSettings.pas b/fFontSettings.pas
new file mode 100644
index 0000000..fa2f0ca
--- /dev/null
+++ b/fFontSettings.pas
@@ -0,0 +1,29 @@
+unit fFontSettings;
+
+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.ListBox, FMX.Colors, FMX.Edit, FMX.EditBox, FMX.SpinBox,
+ FMX.Controls.Presentation;
+
+type
+ TfrFontSettings = class(TFrame)
+ Label41: TLabel;
+ sbFontSize: TSpinBox;
+ ccbFontColor: TColorComboBox;
+ Label49: TLabel;
+ cbFontStyleDefault: TComboBox;
+ Label46: TLabel;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+implementation
+
+{$R *.fmx}
+
+end.
diff --git a/fOBS.fmx b/fOBS.fmx
new file mode 100644
index 0000000..5679148
--- /dev/null
+++ b/fOBS.fmx
@@ -0,0 +1,63 @@
+object frOBS: TfrOBS
+ Size.Width = 689.000000000000000000
+ Size.Height = 252.000000000000000000
+ Size.PlatformDefault = False
+ object sgWebChats: TStringGrid
+ Anchors = [akLeft, akTop, akRight, akBottom]
+ Align = Bottom
+ CanFocus = True
+ ClipChildren = True
+ Position.Y = 63.000000000000000000
+ Size.Width = 689.000000000000000000
+ Size.Height = 189.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 0
+ RowCount = 0
+ Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
+ Viewport.Width = 689.000000000000000000
+ Viewport.Height = 189.000000000000000000
+ object IntegerColumn1: TIntegerColumn
+ Header = #1055#1086#1088#1090
+ HeaderSettings.TextSettings.WordWrap = False
+ end
+ object StringColumn1: TStringColumn
+ Header = #1058#1080#1087
+ HeaderSettings.TextSettings.WordWrap = False
+ end
+ object StringColumn2: TStringColumn
+ Header = #1057#1089#1099#1083#1082#1072' '#1076#1083#1103' OBS'
+ HeaderSettings.TextSettings.WordWrap = False
+ Size.Width = 200.000000000000000000
+ end
+ end
+ object btnCreateOBSChat: TButton
+ Position.X = 8.000000000000000000
+ Position.Y = 8.000000000000000000
+ TabOrder = 1
+ Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
+ TextSettings.Trimming = None
+ end
+ object btnDeleteeChat: TButton
+ Position.X = 601.000000000000000000
+ Position.Y = 8.000000000000000000
+ TabOrder = 2
+ Text = #1059#1076#1072#1083#1080#1090#1100
+ TextSettings.Trimming = None
+ end
+ object Label1: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 38.000000000000000000
+ Text = #1057#1086#1079#1076#1072#1085#1085#1099#1077' '#1095#1072#1090#1099':'
+ TabOrder = 3
+ end
+ object btnCreateOBSNotify: TButton
+ Position.X = 103.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 146.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 4
+ Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
+ TextSettings.Trimming = None
+ end
+end
diff --git a/fOBS.pas b/fOBS.pas
new file mode 100644
index 0000000..7c33c37
--- /dev/null
+++ b/fOBS.pas
@@ -0,0 +1,31 @@
+unit fOBS;
+
+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.Grid, FMX.ScrollBox, FMX.Edit, FMX.Colors,
+ FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Controls.Presentation;
+
+type
+ TfrOBS = class(TFrame)
+ sgWebChats: TStringGrid;
+ btnCreateOBSChat: TButton;
+ btnDeleteeChat: TButton;
+ Label1: TLabel;
+ IntegerColumn1: TIntegerColumn;
+ StringColumn1: TStringColumn;
+ StringColumn2: TStringColumn;
+ btnCreateOBSNotify: TButton;
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+implementation
+
+{$R *.fmx}
+
+end.
diff --git a/uCreateChat.fmx b/uCreateChat.fmx
new file mode 100644
index 0000000..5879ef5
--- /dev/null
+++ b/uCreateChat.fmx
@@ -0,0 +1,184 @@
+object fCreateChat: TfCreateChat
+ Left = 0
+ Top = 0
+ Caption = 'Form2'
+ ClientHeight = 287
+ ClientWidth = 810
+ FormFactor.Width = 320
+ FormFactor.Height = 480
+ FormFactor.Devices = [Desktop]
+ OnCreate = FormCreate
+ DesignerMasterStyle = 0
+ object GroupBox1: TGroupBox
+ Position.X = 8.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 305.000000000000000000
+ Size.Height = 271.000000000000000000
+ Size.PlatformDefault = False
+ Text = #1041#1083#1086#1082' '#1089#1086#1086#1073#1097#1077#1085#1080#1103
+ TabOrder = 1
+ inline frChatSettings1: TfrColorSettings
+ Align = Client
+ Margins.Top = 20.000000000000000000
+ Size.Width = 305.000000000000000000
+ Size.Height = 251.000000000000000000
+ Size.PlatformDefault = False
+ inherited ccbStyleBorderColor: TColorComboBox
+ TabOrder = 35
+ end
+ inherited cpStyleBlockColor: TColorPanel
+ TabOrder = 7
+ end
+ inherited Label40: TLabel
+ TabOrder = 8
+ end
+ inherited Label42: TLabel
+ TabOrder = 36
+ end
+ inherited Label44: TLabel
+ TabOrder = 39
+ end
+ inherited Label48: TLabel
+ TabOrder = 41
+ end
+ inherited sbStyleBlockPadding: TSpinBox
+ TabOrder = 46
+ end
+ inherited ccbBColor: TColorComboBox
+ OnChange = nil
+ end
+ end
+ end
+ object GroupBox2: TGroupBox
+ Position.X = 321.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 240.000000000000000000
+ Size.Height = 145.000000000000000000
+ Size.PlatformDefault = False
+ Text = #1064#1088#1080#1092#1090
+ TabOrder = 2
+ inline frFontSettings1: TfrFontSettings
+ Align = Client
+ Margins.Top = 20.000000000000000000
+ Size.Width = 240.000000000000000000
+ Size.Height = 125.000000000000000000
+ Size.PlatformDefault = False
+ inherited Label41: TLabel
+ TabOrder = 8
+ end
+ inherited sbFontSize: TSpinBox
+ OnChange = nil
+ end
+ inherited ccbFontColor: TColorComboBox
+ TabOrder = 38
+ OnChange = nil
+ end
+ inherited Label49: TLabel
+ TabOrder = 37
+ end
+ inherited cbFontStyleDefault: TComboBox
+ OnChange = nil
+ end
+ end
+ end
+ object GroupBox10: TGroupBox
+ Position.X = 569.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 232.000000000000000000
+ Size.Height = 203.000000000000000000
+ Size.PlatformDefault = False
+ Text = #1053#1072#1089#1090#1088#1086#1081#1082#1080
+ TabOrder = 0
+ object Label27: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 22.000000000000000000
+ Size.Width = 249.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1052#1072#1082#1089#1080#1084#1072#1083#1100#1085#1086#1077' '#1082#1086#1083#1080#1095#1077#1089#1090#1074#1086' '#1089#1086#1086#1073#1097#1077#1085#1080#1081
+ TabOrder = 3
+ end
+ object Label38: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 77.000000000000000000
+ Size.Width = 249.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1042#1088#1077#1084#1103' '#1086#1090#1086#1073#1088#1072#1078#1077#1085#1080#1103' '#1089#1086#1086#1073#1097#1077#1085#1080#1103
+ TabOrder = 0
+ end
+ object sbMaxMsg: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 5
+ Cursor = crIBeam
+ Value = 5.000000000000000000
+ Position.X = 8.000000000000000000
+ Position.Y = 47.000000000000000000
+ end
+ object sbTimeMsg: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 2
+ Cursor = crIBeam
+ Value = 10.000000000000000000
+ Position.X = 8.000000000000000000
+ Position.Y = 102.000000000000000000
+ end
+ object Label39: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 132.000000000000000000
+ Size.Width = 193.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1055#1086#1088#1090' '#1042#1077#1073' '#1057#1077#1088#1074#1077#1088#1072
+ TabOrder = 6
+ end
+ object cbFreez: TCheckBox
+ Position.X = 112.000000000000000000
+ Position.Y = 105.000000000000000000
+ Size.Width = 112.000000000000000000
+ Size.Height = 19.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 38
+ Text = #1042#1077#1095#1085#1086
+ end
+ object sbWebServerPort: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 4
+ Cursor = crIBeam
+ Min = 8080.000000000000000000
+ Max = 65000.000000000000000000
+ Value = 8085.000000000000000000
+ Position.X = 8.000000000000000000
+ Position.Y = 157.000000000000000000
+ end
+ end
+ object edtWebChatTest: TEdit
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 5
+ Position.X = 321.000000000000000000
+ Position.Y = 161.000000000000000000
+ Size.Width = 240.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ object btnWebChatTest: TButton
+ Position.X = 321.000000000000000000
+ Position.Y = 191.000000000000000000
+ Size.Width = 152.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 3
+ Text = #1058#1077#1089#1090#1086#1074#1086#1077' '#1089#1086#1086#1073#1097#1077#1085#1080#1077
+ TextSettings.Trimming = None
+ end
+ object btnCreateWebChat: TButton
+ Position.X = 721.000000000000000000
+ Position.Y = 257.000000000000000000
+ TabOrder = 4
+ Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
+ TextSettings.Trimming = None
+ end
+end
diff --git a/uCreateChat.pas b/uCreateChat.pas
new file mode 100644
index 0000000..f0e72a7
--- /dev/null
+++ b/uCreateChat.pas
@@ -0,0 +1,107 @@
+unit uCreateChat;
+
+interface
+
+uses
+ System.SysUtils, System.Types, System.UITypes, System.Classes,
+ System.Variants, FMX.ListBox, FMX.Colors, FMX.SpinBox,
+ FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
+ fColorSettings, fFontSettings, FMX.Controls.Presentation, FMX.StdCtrls,
+ FMX.Edit, FMX.EditBox, StrUtils;
+
+type
+ TfCreateChat = class(TForm)
+ frChatSettings1: TfrColorSettings;
+ GroupBox1: TGroupBox;
+ GroupBox2: TGroupBox;
+ frFontSettings1: TfrFontSettings;
+ GroupBox10: TGroupBox;
+ Label27: TLabel;
+ Label38: TLabel;
+ sbMaxMsg: TSpinBox;
+ sbTimeMsg: TSpinBox;
+ Label39: TLabel;
+ cbFreez: TCheckBox;
+ sbWebServerPort: TSpinBox;
+ edtWebChatTest: TEdit;
+ btnWebChatTest: TButton;
+ btnCreateWebChat: TButton;
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ fCreateChat: TfCreateChat;
+
+implementation
+
+uses uGeneral;
+
+{$R *.fmx}
+
+procedure TfCreateChat.FormCreate(Sender: TObject);
+ procedure LoadFontList;
+ var
+ SearchRec: TSearchRec;
+ n: Integer;
+ begin
+ if not DirectoryExists(myConst.fontsPath) then
+ CreateDir(myConst.fontsPath);
+
+ n := 1;
+ if FindFirst(IncludeTrailingPathDelimiter(myConst.fontsPath) + '*.*',
+ faArchive, SearchRec) = 0 then
+ try
+ repeat
+ if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then
+ begin
+ fCreateChat.frFontSettings1.cbFontStyleDefault.Items.Add
+ (SearchRec.Name);
+ Inc(n);
+ end;
+ until FindNext(SearchRec) <> 0;
+ finally
+ System.SysUtils.FindClose(SearchRec);
+ end;
+ end;
+
+ procedure LoadChatOBSSettings;
+ var
+ I: Integer;
+ c: TComponent;
+ ColorStr: string;
+ SavedColor: TAlphaColor;
+ begin
+ for I := 0 to frChatSettings1.ComponentCount - 1 do
+ begin
+ c := frChatSettings1.Components[I];
+ if c is TComboBox then
+ TComboBox(c).ItemIndex :=
+ strtoint(db.ReadSetting(TComboBox(c).Name, '0'))
+ else if c is TColorComboBox then
+ TColorComboBox(c).ItemIndex :=
+ strtoint(db.ReadSetting(TComboBox(c).Name, '147'))
+ else if c is TSpinBox then
+ TSpinBox(c).text := db.ReadSetting(TSpinBox(c).Name,
+ IfThen(TSpinBox(c).Name = 'sbWebServerPort', '8080', '1'))
+ else if c is TCheckBox then
+ TCheckBox(c).IsChecked := db.ReadSetting(TCheckBox(c).Name, '0') = '1';
+ end;
+
+ ColorStr := db.ReadSetting('cpStyleBlockColor', 'FF000000');
+ if TryStrToUInt('$' + ColorStr, Cardinal(SavedColor)) then
+ frChatSettings1.cpStyleBlockColor.Color := SavedColor
+ else
+ frChatSettings1.cpStyleBlockColor.Color := TAlphaColorRec.Black;
+ end;
+
+begin
+ LoadChatOBSSettings;
+ LoadFontList;
+
+end;
+
+end.
diff --git a/uCreateNotify.fmx b/uCreateNotify.fmx
new file mode 100644
index 0000000..8259811
--- /dev/null
+++ b/uCreateNotify.fmx
@@ -0,0 +1,292 @@
+object fCreateNotify: TfCreateNotify
+ Left = 0
+ Top = 0
+ Caption = 'Form2'
+ ClientHeight = 383
+ ClientWidth = 813
+ FormFactor.Width = 320
+ FormFactor.Height = 480
+ FormFactor.Devices = [Desktop]
+ OnCreate = FormCreate
+ DesignerMasterStyle = 0
+ object btnESImageOpen: TButton
+ Hint = #1050#1072#1088#1090#1080#1085#1082#1080'|*.jpg; *.jpeg; *.gif; *.webp'
+ Position.X = 297.000000000000000000
+ Position.Y = 33.000000000000000000
+ Size.Width = 22.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 45
+ Text = '...'
+ TextSettings.Trimming = None
+ end
+ object btnESSoundOpen: TButton
+ Hint = #1052#1091#1079#1099#1082#1072'|*.mp3'
+ Position.X = 297.000000000000000000
+ Position.Y = 88.000000000000000000
+ Size.Width = 22.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 42
+ Text = '...'
+ TextSettings.Trimming = None
+ end
+ object edtESImage: TEdit
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 36
+ ReadOnly = True
+ Text = '\imgs\follow.gif'
+ Position.X = 8.000000000000000000
+ Position.Y = 33.000000000000000000
+ Size.Width = 281.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ object edtESSound: TEdit
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 35
+ ReadOnly = True
+ Text = '\sounds\report_bobdyfound.mp3'
+ Position.X = 8.000000000000000000
+ Position.Y = 88.000000000000000000
+ Size.Width = 281.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ object Label58: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 8.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1050#1072#1088#1090#1080#1085#1082#1072
+ TabOrder = 49
+ end
+ object Label68: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 63.000000000000000000
+ TextSettings.Trimming = None
+ Text = #1047#1074#1091#1082
+ TabOrder = 37
+ end
+ inline frColorSettings1: TfrColorSettings
+ Position.X = 8.000000000000000000
+ Position.Y = 118.000000000000000000
+ Size.Width = 311.000000000000000000
+ Size.Height = 258.000000000000000000
+ Size.PlatformDefault = False
+ inherited ccbStyleBorderColor: TColorComboBox
+ TabOrder = 37
+ end
+ inherited Label42: TLabel
+ TabOrder = 36
+ end
+ inherited Label44: TLabel
+ TabOrder = 39
+ end
+ inherited Label48: TLabel
+ TabOrder = 41
+ end
+ inherited sbStyleBlockBorderSize: TSpinBox
+ TabOrder = 42
+ end
+ inherited sbStyleBlockPadding: TSpinBox
+ TabOrder = 44
+ end
+ inherited ccbBColor: TColorComboBox
+ OnChange = nil
+ end
+ end
+ object GroupBox10: TGroupBox
+ Position.X = 596.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 209.000000000000000000
+ Size.Height = 247.000000000000000000
+ Size.PlatformDefault = False
+ Text = #1053#1072#1089#1090#1088#1086#1081#1082#1080
+ TabOrder = 0
+ object Label38: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 25.000000000000000000
+ Size.Width = 216.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1042#1088#1077#1084#1103' '#1086#1090#1086#1073#1088#1072#1078#1077#1085#1080#1103' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1103
+ TabOrder = 0
+ end
+ object sbTimeMsg: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 2
+ Cursor = crIBeam
+ Value = 10.000000000000000000
+ Position.X = 8.000000000000000000
+ Position.Y = 50.000000000000000000
+ end
+ object Label39: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 80.000000000000000000
+ Size.Width = 193.000000000000000000
+ Size.Height = 17.000000000000000000
+ Size.PlatformDefault = False
+ TextSettings.Trimming = None
+ Text = #1055#1086#1088#1090' '#1042#1077#1073' '#1057#1077#1088#1074#1077#1088#1072
+ TabOrder = 4
+ end
+ object sbWebServerPort: TSpinBox
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 3
+ Cursor = crIBeam
+ Min = 8080.000000000000000000
+ Max = 65000.000000000000000000
+ Value = 8085.000000000000000000
+ Position.X = 8.000000000000000000
+ Position.Y = 105.000000000000000000
+ end
+ object Label2: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 135.000000000000000000
+ Text = #1057#1086#1073#1099#1090#1080#1077
+ TabOrder = 68
+ end
+ object cbEventsType: TComboBox
+ Items.Strings = (
+ #1054#1090#1089#1083#1077#1078#1080#1074#1072#1085#1080#1077
+ #1055#1086#1076#1087#1080#1089#1082#1072
+ #1055#1086#1076#1072#1088#1086#1095#1085#1072#1103' '#1087#1086#1076#1087#1080#1089#1082#1072
+ #1056#1077#1081#1076
+ #1044#1086#1085#1072#1090)
+ Position.X = 8.000000000000000000
+ Position.Y = 160.000000000000000000
+ Size.Width = 192.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 69
+ end
+ object Label3: TLabel
+ Position.X = 8.000000000000000000
+ Position.Y = 190.000000000000000000
+ Text = #1059#1089#1083#1086#1074#1080#1077' '#1089#1091#1084#1084#1099
+ TabOrder = 70
+ end
+ object edtIF: TEdit
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ TabOrder = 71
+ Position.X = 8.000000000000000000
+ Position.Y = 215.000000000000000000
+ Size.Width = 192.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ end
+ object btnCreateEvent: TButton
+ Position.X = 596.000000000000000000
+ Position.Y = 353.000000000000000000
+ Size.Width = 209.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 64
+ Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
+ TextSettings.Trimming = None
+ end
+ object btnESTest: TButton
+ Position.X = 596.000000000000000000
+ Position.Y = 263.000000000000000000
+ TabOrder = 59
+ Text = #1058#1077#1089#1090
+ TextSettings.Trimming = None
+ end
+ object GroupBox1: TGroupBox
+ Padding.Left = 10.000000000000000000
+ Padding.Top = 20.000000000000000000
+ Padding.Right = 10.000000000000000000
+ Padding.Bottom = 10.000000000000000000
+ Position.X = 327.000000000000000000
+ Position.Y = 8.000000000000000000
+ Size.Width = 261.000000000000000000
+ Size.Height = 167.000000000000000000
+ Size.PlatformDefault = False
+ Text = #1047#1072#1075#1086#1083#1086#1074#1086#1082
+ TabOrder = 66
+ object edtESTitle: TEdit
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ Align = Top
+ TabOrder = 38
+ Text = '[NICK] '#1085#1072#1095#1072#1083' '#1086#1090#1089#1083#1077#1078#1080#1074#1072#1090#1100' '#1074#1072#1089
+ Position.X = 10.000000000000000000
+ Position.Y = 20.000000000000000000
+ Size.Width = 241.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ inline frFontSettings2: TfrFontSettings
+ Align = Client
+ Size.Width = 241.000000000000000000
+ Size.Height = 115.000000000000000000
+ Size.PlatformDefault = False
+ inherited Label41: TLabel
+ TabOrder = 8
+ end
+ inherited sbFontSize: TSpinBox
+ OnChange = nil
+ end
+ inherited ccbFontColor: TColorComboBox
+ TabOrder = 38
+ OnChange = nil
+ end
+ inherited Label49: TLabel
+ TabOrder = 37
+ end
+ inherited cbFontStyleDefault: TComboBox
+ OnChange = nil
+ end
+ end
+ end
+ object GroupBox2: TGroupBox
+ Padding.Left = 10.000000000000000000
+ Padding.Top = 20.000000000000000000
+ Padding.Right = 10.000000000000000000
+ Padding.Bottom = 10.000000000000000000
+ Position.X = 327.000000000000000000
+ Position.Y = 183.000000000000000000
+ Size.Width = 261.000000000000000000
+ Size.Height = 167.000000000000000000
+ Size.PlatformDefault = False
+ Text = #1047#1072#1075#1086#1083#1086#1074#1086#1082
+ TabOrder = 65
+ inline frFontSettings3: TfrFontSettings
+ Align = Client
+ Size.Width = 241.000000000000000000
+ Size.Height = 115.000000000000000000
+ Size.PlatformDefault = False
+ inherited Label41: TLabel
+ TabOrder = 8
+ end
+ inherited sbFontSize: TSpinBox
+ OnChange = nil
+ end
+ inherited ccbFontColor: TColorComboBox
+ TabOrder = 37
+ OnChange = nil
+ end
+ inherited Label49: TLabel
+ TabOrder = 36
+ end
+ inherited cbFontStyleDefault: TComboBox
+ OnChange = nil
+ end
+ inherited Label46: TLabel
+ TabOrder = 38
+ end
+ end
+ object edtESMessage: TEdit
+ Touch.InteractiveGestures = [LongTap, DoubleTap]
+ Align = Top
+ TabOrder = 35
+ Text = #1044#1086#1073#1088#1086' '#1087#1086#1078#1072#1083#1086#1074#1072#1090#1100
+ Position.X = 10.000000000000000000
+ Position.Y = 20.000000000000000000
+ Size.Width = 241.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ end
+ end
+end
diff --git a/uCreateNotify.pas b/uCreateNotify.pas
new file mode 100644
index 0000000..4eed545
--- /dev/null
+++ b/uCreateNotify.pas
@@ -0,0 +1,190 @@
+unit uCreateNotify;
+
+interface
+
+uses
+ System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
+ FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, fFontSettings,
+ fColorSettings, FMX.StdCtrls, FMX.Edit, FMX.Controls.Presentation,
+ FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Colors;
+
+type
+ TfCreateNotify = class(TForm)
+ btnESImageOpen: TButton;
+ btnESSoundOpen: TButton;
+ edtESImage: TEdit;
+ edtESSound: TEdit;
+ edtESTitle: TEdit;
+ Label58: TLabel;
+ Label68: TLabel;
+ frColorSettings1: TfrColorSettings;
+ frFontSettings2: TfrFontSettings;
+ GroupBox10: TGroupBox;
+ Label38: TLabel;
+ sbTimeMsg: TSpinBox;
+ Label39: TLabel;
+ sbWebServerPort: TSpinBox;
+ Label2: TLabel;
+ cbEventsType: TComboBox;
+ Label3: TLabel;
+ edtIF: TEdit;
+ btnCreateEvent: TButton;
+ btnESTest: TButton;
+ GroupBox1: TGroupBox;
+ GroupBox2: TGroupBox;
+ frFontSettings3: TfrFontSettings;
+ edtESMessage: TEdit;
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ fCreateNotify: TfCreateNotify;
+
+implementation
+
+uses uGeneral;
+
+{$R *.fmx}
+
+procedure TfCreateNotify.FormCreate(Sender: TObject);
+var
+ i: Integer;
+ SavedColor: TAlphaColor;
+ c: TComponent;
+ ColorStr: string;
+begin
+ for i := 0 to frColorSettings1.ComponentCount - 1 do
+ begin
+ c := frColorSettings1.Components[i];
+ if c is TComboBox then
+ begin
+ TComboBox(c).ItemIndex :=
+ strtoint(DB.ReadSetting(TComboBox(c).Name, '0'));
+ end;
+ if c is TColorComboBox then
+ begin
+ TColorComboBox(c).ItemIndex :=
+ strtoint(DB.ReadSetting(TComboBox(c).Name, '147'));
+ end;
+ if c is TSpinBox then
+ begin
+ TSpinBox(c).text := DB.ReadSetting(TSpinBox(c).Name, '1');
+ end;
+ if c is TColorPanel then
+ begin
+ ColorStr := DB.ReadSetting(TColorPanel(c).Name, 'FF000000');
+ if TryStrToUInt('$' + ColorStr, Cardinal(SavedColor)) then
+ TColorPanel(c).Color := SavedColor
+ else
+ TColorPanel(c).Color := TAlphaColorRec.Black;
+ end;
+ if c is TEdit then
+ begin
+ if TEdit(c).Name <> 'edtPortServer' then
+ TEdit(c).text := DB.ReadSetting(TEdit(c).Name, '0');
+ end;
+ if c is TCheckBox then
+ begin
+ TCheckBox(c).IsChecked := DB.ReadSetting(TCheckBox(c).Name) = '1';
+ end;
+ end;
+ for i := 0 to frFontSettings2.ComponentCount - 1 do
+ begin
+ c := frFontSettings2.Components[i];
+ if c is TComboBox then
+ begin
+ TComboBox(c).ItemIndex :=
+ strtoint(DB.ReadSetting(TComboBox(c).Name, '0'));
+ end;
+ if c is TColorComboBox then
+ begin
+ TColorComboBox(c).ItemIndex :=
+ strtoint(DB.ReadSetting(TComboBox(c).Name, '147'));
+ end;
+ if c is TSpinBox then
+ begin
+ TSpinBox(c).text := DB.ReadSetting(TSpinBox(c).Name, '1');
+ end;
+ if c is TColorPanel then
+ begin
+ ColorStr := DB.ReadSetting(TColorPanel(c).Name, 'FF000000');
+ if TryStrToUInt('$' + ColorStr, Cardinal(SavedColor)) then
+ TColorPanel(c).Color := SavedColor
+ else
+ TColorPanel(c).Color := TAlphaColorRec.Black;
+ end;
+ if c is TEdit then
+ begin
+ if TEdit(c).Name <> 'edtPortServer' then
+ TEdit(c).text := DB.ReadSetting(TEdit(c).Name, '0');
+ end;
+ if c is TCheckBox then
+ begin
+ TCheckBox(c).IsChecked := DB.ReadSetting(TCheckBox(c).Name) = '1';
+ end;
+ end;
+
+ for i := 0 to frFontSettings3.ComponentCount - 1 do
+ begin
+ c := frFontSettings3.Components[i];
+ if c is TComboBox then
+ begin
+ TComboBox(c).ItemIndex :=
+ strtoint(DB.ReadSetting(TComboBox(c).Name, '0'));
+ end;
+ if c is TColorComboBox then
+ begin
+ TColorComboBox(c).ItemIndex :=
+ strtoint(DB.ReadSetting(TComboBox(c).Name, '147'));
+ end;
+ if c is TSpinBox then
+ begin
+ TSpinBox(c).text := DB.ReadSetting(TSpinBox(c).Name, '1');
+ end;
+ if c is TColorPanel then
+ begin
+ ColorStr := DB.ReadSetting(TColorPanel(c).Name, 'FF000000');
+ if TryStrToUInt('$' + ColorStr, Cardinal(SavedColor)) then
+ TColorPanel(c).Color := SavedColor
+ else
+ TColorPanel(c).Color := TAlphaColorRec.Black;
+ end;
+ if c is TEdit then
+ begin
+ if TEdit(c).Name <> 'edtPortServer' then
+ TEdit(c).text := DB.ReadSetting(TEdit(c).Name, '0');
+ end;
+ if c is TCheckBox then
+ begin
+ TCheckBox(c).IsChecked := DB.ReadSetting(TCheckBox(c).Name) = '1';
+ end;
+ end;
+ var
+ n := 1;
+ var
+ cDir := myconst.fontsPath; // Искать в папке с программой
+ var
+ FileName := '*.*'; // Ищем все файлы
+ ChDir(cDir); // войти в каталог
+ var
+ SearchRec: TSearchRec;
+ if FindFirst(FileName, faArchive, SearchRec) = 0 then
+ repeat
+ if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then
+ begin
+ frFontSettings2.cbFontStyleDefault.Items.Add(SearchRec.Name);
+ frFontSettings3.cbFontStyleDefault.Items.Add(SearchRec.Name);
+
+ Inc(n);
+ end;
+ until FindNext(SearchRec) <> 0;
+ ChDir('..');
+
+
+end;
+
+end.
diff --git a/uGeneral.fmx b/uGeneral.fmx
index 03efa7a..6c94cf4 100644
--- a/uGeneral.fmx
+++ b/uGeneral.fmx
@@ -1,13 +1,15 @@
object Form1: TForm1
- Left = 0
+ Left = 480
Top = 0
Caption = 'Form1'
ClientHeight = 886
ClientWidth = 1042
+ Position = Designed
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
OnCreate = FormCreate
+ Left = 480
DesignerMasterStyle = 0
object V: TTabControl
Align = Client
@@ -15,7 +17,7 @@ object Form1: TForm1
Size.Width = 1042.000000000000000000
Size.Height = 744.000000000000000000
Size.PlatformDefault = False
- TabIndex = 4
+ TabIndex = 2
TabOrder = 0
TabPosition = PlatformDefault
Sizes = (
@@ -50,76 +52,78 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1053#1072#1089#1090#1088#1086#1081#1082#1080
+ ExplicitSize.cx = 96.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
inline fSettings: TfrSettings
Align = Client
Size.Width = 1042.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited GroupBox3: TGroupBox
- inherited edtBotName: TEdit
- OnExit = nil
- end
- inherited edtBotToken: TEdit
- OnExit = nil
- end
- inherited edtChannel: TEdit
- OnExit = nil
- end
inherited btnGetToken: TButton
Images = ImageList1
ImageIndex = 10
end
- inherited edtBotClientID: TEdit
- OnExit = nil
- end
- inherited btnGetClientID: TButton
- OnClick = nil
- end
inherited btnOpenStream: TButton
Images = ImageList1
ImageIndex = 17
- OnClick = nil
+ TabOrder = 33
end
inherited btnGetTokenStreamer: TButton
Images = ImageList1
ImageIndex = 10
+ TabOrder = 34
end
inherited edtBotTokenStreamer: TEdit
- OnExit = nil
+ TabOrder = 35
+ end
+ inherited Label53: TLabel
+ TabOrder = 37
end
end
inherited GroupBox22: TGroupBox
inherited btnDAGetCode: TButton
Images = ImageList1
ImageIndex = 10
- OnClick = nil
+ TabOrder = 43
+ end
+ inherited Label63: TLabel
+ TabOrder = 35
end
inherited edtDAClientID: TEdit
- OnExit = nil
+ TabOrder = 38
+ end
+ inherited Label64: TLabel
+ TabOrder = 36
end
inherited edtDAClientSecret: TEdit
- OnExit = nil
+ TabOrder = 37
+ end
+ inherited Label65: TLabel
+ TabOrder = 39
end
inherited edtDARedirectURL: TEdit
- OnExit = nil
+ TabOrder = 40
end
inherited edtDACode: TEdit
- OnExit = nil
+ TabOrder = 41
+ end
+ inherited Label66: TLabel
+ TabOrder = 42
end
inherited btnDAStart: TButton
Images = ImageList1
ImageIndex = 18
- OnClick = nil
+ TabOrder = 44
end
inherited btnGetDADef: TButton
- OnClick = nil
+ TabOrder = 45
end
end
inherited btnOpenRomaning: TButton
Images = ImageList1
ImageIndex = 14
Size.Width = 201.000000000000000000
- OnClick = nil
end
inherited btnImportSettings: TButton
Images = ImageList1
@@ -127,7 +131,6 @@ object Form1: TForm1
Position.X = 8.000000000000000000
Position.Y = 351.000000000000000000
Size.Width = 201.000000000000000000
- OnClick = nil
end
inherited btnExportSettings: TButton
Images = ImageList1
@@ -135,7 +138,6 @@ object Form1: TForm1
Position.X = 8.000000000000000000
Position.Y = 381.000000000000000000
Size.Width = 201.000000000000000000
- OnClick = nil
end
inherited btnMaster: TButton
Images = ImageList1
@@ -143,7 +145,6 @@ object Form1: TForm1
Position.X = 8.000000000000000000
Position.Y = 411.000000000000000000
Size.Width = 201.000000000000000000
- OnClick = nil
end
end
end
@@ -160,6 +161,8 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1053#1077#1081#1088#1086#1089#1077#1090#1080
+ ExplicitSize.cx = 96.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
inline frAI1: TfrAI
Align = Client
Size.Width = 1042.000000000000000000
@@ -169,56 +172,11 @@ object Form1: TForm1
Images = ImageList1
ImageIndex = 10
Size.Width = 145.000000000000000000
- OnClick = nil
- end
- inherited edtAIP2: TEdit
- OnExit = nil
- end
- inherited edtAIP1: TEdit
- OnExit = nil
- end
- inherited edtGPTPrefix: TEdit
- OnExit = nil
- end
- inherited GroupBox1: TGroupBox
- inherited rbGC: TRadioButton
- TabOrder = 41
- OnChange = nil
- end
- inherited RBCustom: TRadioButton
- TabOrder = 40
- OnChange = nil
- end
- inherited rbDS: TRadioButton
- TabOrder = 39
- OnChange = nil
- end
- inherited rbCG: TRadioButton
- TabOrder = 38
- OnChange = nil
- end
- end
- inherited edtAIP3: TEdit
- OnExit = nil
- end
- inherited cbOllama: TCheckBox
- OnChange = nil
end
inherited GroupBox2: TGroupBox
Position.X = 462.000000000000000000
- inherited Label3: TLabel
- TabOrder = 38
- end
- inherited Label4: TLabel
- TabOrder = 39
- end
- inherited edtKandiKey: TEdit
- TabOrder = 40
- OnExit = nil
- end
inherited edtKandiSecret: TEdit
TabOrder = 41
- OnExit = nil
end
end
end
@@ -228,7 +186,7 @@ object Form1: TForm1
item
end>
TextSettings.Trimming = None
- IsSelected = False
+ IsSelected = True
ImageIndex = 13
Size.Width = 78.000000000000000000
Size.Height = 26.000000000000000000
@@ -236,16 +194,16 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1063#1072#1090' '#1073#1086#1090
+ ExplicitSize.cx = 78.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
inline frCommands1: TfrCommands
Align = Client
Size.Width = 1042.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
inherited sgCommands: TStringGrid
- TabOrder = 5
- OnCellClick = nil
- Viewport.Width = 606.000000000000000000
- Viewport.Height = 193.000000000000000000
+ Viewport.Width = 602.000000000000000000
+ Viewport.Height = 168.000000000000000000
inherited scCommand: TStringColumn
Size.Width = 134.000000000000000000
end
@@ -255,24 +213,21 @@ object Form1: TForm1
end
inherited GroupBox1: TGroupBox
inherited mResponse: TMemo
- Viewport.Width = 376.000000000000000000
- Viewport.Height = 177.000000000000000000
+ Viewport.Width = 372.000000000000000000
+ Viewport.Height = 173.000000000000000000
end
inherited GroupBox7: TGroupBox
inherited btnAddUserName: TButton
Images = ImageList1
ImageIndex = 11
- OnClick = nil
end
inherited btnGetDateFollow: TButton
Images = ImageList1
ImageIndex = 15
- OnClick = nil
end
inherited btnGetAgeAccaunt: TButton
Images = ImageList1
ImageIndex = 15
- OnClick = nil
end
inherited btnCounterAddtoText: TButton
Images = ImageList1
@@ -281,50 +236,40 @@ object Form1: TForm1
inherited btnGPT: TButton
Images = ImageList1
ImageIndex = 19
- OnClick = nil
end
inherited btnRandomUserName: TButton
Images = ImageList1
ImageIndex = 11
- OnClick = nil
end
inherited btnGetChannelStat: TButton
Images = ImageList1
ImageIndex = 20
Size.Width = 128.000000000000000000
- OnClick = nil
end
inherited btnAIPic: TButton
Images = ImageList1
ImageIndex = 5
- OnClick = nil
end
end
inherited btnAddCommand: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnEditCommand: TButton
Images = ImageList1
- ImageIndex = 0
- OnClick = nil
+ ImageIndex = 3
end
inherited btnRmCommand: TButton
Images = ImageList1
ImageIndex = 4
- OnClick = nil
end
end
inherited GroupBox9: TGroupBox
inherited lbRandomGroup: TListBox
- OnDblClick = nil
- OnChange = nil
Viewport.Width = 117.000000000000000000
Viewport.Height = 116.000000000000000000
end
inherited lbRandomRespons: TListBox
- OnClick = nil
Viewport.Width = 270.000000000000000000
Viewport.Height = 116.000000000000000000
end
@@ -332,42 +277,30 @@ object Form1: TForm1
Images = ImageList1
ImageIndex = 0
TabOrder = 36
- OnClick = nil
end
inherited btnRandomDel: TButton
Images = ImageList1
ImageIndex = 12
- TabOrder = 37
- OnClick = nil
end
inherited btnRmGroup: TButton
Images = ImageList1
ImageIndex = 4
- TabOrder = 38
- OnClick = nil
- end
- inherited Label4: TLabel
- TabOrder = 39
end
end
inherited GroupBox8: TGroupBox
inherited btnRandAdd: TButton
Images = ImageList1
ImageIndex = 0
- TabOrder = 33
- OnClick = nil
+ TabOrder = 32
end
inherited btnRandDel: TButton
Images = ImageList1
ImageIndex = 12
- TabOrder = 34
- OnClick = nil
end
inherited sgRandomInt: TStringGrid
- OnCellClick = nil
- OnCellDblClick = nil
- Viewport.Width = 157.000000000000000000
- Viewport.Height = 144.000000000000000000
+ TabOrder = 35
+ Viewport.Width = 153.000000000000000000
+ Viewport.Height = 119.000000000000000000
inherited scRIntName: TStringColumn
Size.Width = 70.000000000000000000
end
@@ -383,29 +316,23 @@ object Form1: TForm1
inherited btnSoundAdd: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnSoundDel: TButton
Images = ImageList1
ImageIndex = 12
- OnClick = nil
end
inherited btnSoundOpen: TButton
Images = ImageList1
ImageIndex = 14
Text = ''
- OnClick = nil
end
inherited btnSoundTest: TButton
Images = ImageList1
ImageIndex = 25
- OnClick = nil
end
inherited sgSAFiles: TStringGrid
- OnCellClick = nil
- OnCellDblClick = nil
- Viewport.Width = 345.000000000000000000
- Viewport.Height = 149.000000000000000000
+ Viewport.Width = 341.000000000000000000
+ Viewport.Height = 124.000000000000000000
inherited sgSAFile: TStringColumn
Size.Width = 220.000000000000000000
end
@@ -415,24 +342,19 @@ object Form1: TForm1
inherited btnTextAdd: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnTextDel: TButton
Images = ImageList1
ImageIndex = 12
- OnClick = nil
end
inherited btnTextOpen: TButton
Images = ImageList1
ImageIndex = 14
Text = ''
- OnClick = nil
end
inherited sgTFiles: TStringGrid
- OnCellClick = nil
- OnCellDblClick = nil
- Viewport.Width = 297.000000000000000000
- Viewport.Height = 149.000000000000000000
+ Viewport.Width = 293.000000000000000000
+ Viewport.Height = 124.000000000000000000
inherited scTFileFile: TStringColumn
Size.Width = 170.000000000000000000
end
@@ -443,11 +365,10 @@ object Form1: TForm1
Top = 368
end
inherited GroupBox2: TGroupBox
+ TabOrder = 7
inherited sgAIGen: TStringGrid
- OnCellClick = nil
- OnCellDblClick = nil
- Viewport.Width = 305.000000000000000000
- Viewport.Height = 149.000000000000000000
+ Viewport.Width = 301.000000000000000000
+ Viewport.Height = 124.000000000000000000
inherited StringColumn2: TStringColumn
Size.Width = 180.000000000000000000
end
@@ -455,17 +376,14 @@ object Form1: TForm1
inherited btnAIGenAdd: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnAIGenDel: TButton
Images = ImageList1
ImageIndex = 12
- OnClick = nil
end
inherited btnAIGetTextUser: TButton
Images = ImageList1
ImageIndex = 11
- OnClick = nil
end
end
end
@@ -483,13 +401,15 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1053#1072#1074#1099#1082#1080
+ ExplicitSize.cx = 79.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
end
object TabItem4: TTabItem
CustomIcon = <
item
end>
TextSettings.Trimming = None
- IsSelected = True
+ IsSelected = False
ImageIndex = 10
Size.Width = 136.000000000000000000
Size.Height = 26.000000000000000000
@@ -497,109 +417,58 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1048#1085#1090#1077#1075#1088#1072#1094#1080#1103' '#1089' OBS'
- inline frChatOBS1: TfrChatOBS
+ ExplicitSize.cx = 136.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
+ inline frOBS1: TfrOBS
Align = Top
Size.Width = 1042.000000000000000000
- Size.Height = 408.000000000000000000
+ Size.Height = 345.000000000000000000
Size.PlatformDefault = False
- inherited GroupBox13: TGroupBox
- inherited Label41: TLabel
- TabOrder = 8
- end
- inherited sbFontSize: TSpinBox
- OnChange = nil
- end
- inherited ccbFontColor: TColorComboBox
- TabOrder = 38
- OnChange = nil
- end
- inherited Label49: TLabel
- TabOrder = 35
- end
- inherited cbFontStyleDefault: TComboBox
- OnChange = nil
- end
- inherited Label46: TLabel
- TabOrder = 40
- end
- inherited ccbBColor: TColorComboBox
- OnChange = nil
- end
- inherited Label1: TLabel
- TabOrder = 36
- end
- inherited btnChangeBGColor: TButton
- TabOrder = 43
- end
- end
- inherited GroupBox12: TGroupBox
- inherited cpStyleBlockColor: TColorPanel
- OnChange = nil
- end
- inherited Label42: TLabel
- TabOrder = 36
- end
- inherited ccbStyleBorderColor: TColorComboBox
- OnChange = nil
- end
- inherited Label44: TLabel
- TabOrder = 39
- end
- inherited sbStyleBlockPadding: TSpinBox
- OnChange = nil
- end
- inherited sbStyleBlockBorderSize: TSpinBox
- OnChange = nil
- end
- inherited Label48: TLabel
- TabOrder = 40
- end
- end
- inherited GroupBox10: TGroupBox
- inherited Label27: TLabel
- TabOrder = 1
- end
- inherited sbMaxMsg: TSpinBox
- TabOrder = 3
- OnChange = nil
- end
- inherited sbTimeMsg: TSpinBox
- OnChange = nil
- end
- inherited Label39: TLabel
- TabOrder = 5
- end
- inherited cbFreez: TCheckBox
- TabOrder = 36
- OnChange = nil
- end
- inherited sbWebServerPort: TSpinBox
- OnChange = nil
- end
- end
- inherited btnWebChatTest: TButton
- OnClick = nil
- end
- inherited btnCreateWebChat: TButton
- OnClick = nil
- end
- inherited btnDeleteWebChat: TButton
- OnClick = nil
- end
inherited sgWebChats: TStringGrid
Size.Width = 1042.000000000000000000
+ Size.Height = 282.000000000000000000
Viewport.Width = 1038.000000000000000000
- Viewport.Height = 95.000000000000000000
- inherited IntegerColumn1: TIntegerColumn
- Size.Width = 80.000000000000000000
- end
- inherited IntegerColumn2: TIntegerColumn
- Size.Width = 82.000000000000000000
- end
- inherited IntegerColumn5: TIntegerColumn
- Size.Width = 80.000000000000000000
+ Viewport.Height = 257.000000000000000000
+ inherited StringColumn2: TStringColumn
+ Size.Width = 200.000000000000000000
end
end
+ inherited btnCreateOBSChat: TButton
+ Images = ImageList1
+ ImageIndex = 13
+ Size.Width = 94.000000000000000000
+ Size.PlatformDefault = False
+ TabOrder = 2
+ OnClick = frChatOBS1btnCreateChatClick
+ end
+ inherited btnDeleteeChat: TButton
+ Images = ImageList1
+ ImageIndex = 4
+ Position.X = 954.000000000000000000
+ TabOrder = 3
+ end
+ inherited Label1: TLabel
+ TabOrder = 5
+ 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
+ inherited btnCreateOBSNotify: TButton
+ Images = ImageList1
+ ImageIndex = 5
+ Position.X = 110.000000000000000000
+ OnClick = frOBS1btnCreateOBSNotifyClick
+ end
end
end
object TabItem6: TTabItem
@@ -615,106 +484,52 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1059#1074#1077#1076#1086#1084#1083#1077#1085#1080#1103
+ ExplicitSize.cx = 110.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
inline frNotify1: TfrNotify
Align = Client
Size.Width = 1042.000000000000000000
Size.Height = 718.000000000000000000
Size.PlatformDefault = False
- inherited chEnNotify: TSwitch
- OnSwitch = nil
- end
- inherited tbNotifyVolume: TTrackBar
- OnExit = nil
- end
- inherited edtNotifyFileName: TEdit
- OnExit = nil
- end
inherited btnNotifyOpen: TButton
Images = ImageList1
ImageIndex = 14
Text = ''
- OnClick = nil
end
inherited btnNotifyCheck: TButton
Images = ImageList1
ImageIndex = 25
Text = ''
- OnClick = nil
- end
- inherited cbNotifyFileAgain1: TCheckBox
- OnChange = nil
- OnExit = nil
end
inherited btnNotifyCheckMod: TButton
Images = ImageList1
ImageIndex = 25
Text = ''
- OnClick = nil
end
inherited btnNotifyOpenMod: TButton
Images = ImageList1
ImageIndex = 14
Text = ''
- OnClick = nil
- end
- inherited edtNotifyFileNameMod: TEdit
- OnExit = nil
- end
- inherited tbNotifyVolumeMod: TTrackBar
- OnExit = nil
- end
- inherited chEnNotifyMod: TSwitch
- OnSwitch = nil
- end
- inherited chEnNotifyVip: TSwitch
- OnSwitch = nil
- end
- inherited tbNotifyVolumeVip: TTrackBar
- OnExit = nil
- end
- inherited edtNotifyFileNameVip: TEdit
- OnExit = nil
end
inherited btnNotifyOpenVip: TButton
Images = ImageList1
ImageIndex = 14
Text = ''
- OnClick = nil
end
inherited btnNotifyCheckVip: TButton
Images = ImageList1
ImageIndex = 25
Text = ''
- OnClick = nil
- end
- inherited cbNotifyFileAgain2: TCheckBox
- OnChange = nil
- OnExit = nil
- end
- inherited cbNotifyFileAgain3: TCheckBox
- OnChange = nil
- OnExit = nil
end
inherited btnNotifyCheckSub: TButton
Images = ImageList1
ImageIndex = 25
Text = ''
- OnClick = nil
end
inherited btnNotifyOpenSub: TButton
Images = ImageList1
ImageIndex = 14
Text = ''
- OnClick = nil
- end
- inherited edtNotifyFileNameSub: TEdit
- OnExit = nil
- end
- inherited tbNotifyVolumeSub: TTrackBar
- OnExit = nil
- end
- inherited chEnNotifySub: TSwitch
- OnSwitch = nil
end
end
end
@@ -731,6 +546,8 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1047#1088#1080#1090#1077#1083#1080
+ ExplicitSize.cx = 81.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
end
object TabItem8: TTabItem
CustomIcon = <
@@ -745,6 +562,8 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1040#1074#1090#1086#1084#1072#1090#1080#1082#1072
+ ExplicitSize.cx = 101.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
inline frAutoActions1: TfrAutoActions
Align = Client
Size.Width = 1042.000000000000000000
@@ -754,25 +573,20 @@ object Form1: TForm1
inherited btnAddMessage: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnRmMessage: TButton
Images = ImageList1
ImageIndex = 4
- OnClick = nil
end
inherited btnEditMessage: TButton
Images = ImageList1
ImageIndex = 3
- OnClick = nil
end
inherited btnNotifyTest: TButton
Images = ImageList1
ImageIndex = 25
- OnClick = nil
end
inherited sgTimers: TStringGrid
- OnEditingDone = nil
Viewport.Width = 463.000000000000000000
Viewport.Height = 225.000000000000000000
inherited scTimerMessage: TStringColumn
@@ -787,17 +601,14 @@ object Form1: TForm1
inherited btnBanWordsAdd: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnBanWordsEdt: TButton
Images = ImageList1
ImageIndex = 3
- OnClick = nil
end
inherited btnBanWordsDel: TButton
Images = ImageList1
ImageIndex = 4
- OnClick = nil
end
inherited sgBanWords: TStringGrid
Viewport.Width = 297.000000000000000000
@@ -812,7 +623,6 @@ object Form1: TForm1
Position.X = 217.000000000000000000
Size.Width = 88.000000000000000000
Size.PlatformDefault = False
- OnClick = nil
end
inherited edtBanWordsCheck: TEdit
Size.Width = 201.000000000000000000
@@ -822,12 +632,10 @@ object Form1: TForm1
inherited btnCounterAdd: TButton
Images = ImageList1
ImageIndex = 0
- OnClick = nil
end
inherited btnCounterDelete: TButton
Images = ImageList1
ImageIndex = 4
- OnClick = nil
end
inherited btnCounterP: TButton
Images = ImageList1
@@ -835,7 +643,6 @@ object Form1: TForm1
Position.X = 416.000000000000000000
Size.Width = 22.000000000000000000
Text = ''
- OnClick = nil
end
inherited btnCounterM: TButton
Images = ImageList1
@@ -843,15 +650,12 @@ object Form1: TForm1
Position.X = 449.000000000000000000
Size.Width = 22.000000000000000000
Text = ''
- OnClick = nil
end
inherited btnCounterEdit: TButton
Images = ImageList1
ImageIndex = 3
- OnClick = nil
end
inherited sgCounter: TStringGrid
- OnEditingDone = nil
Viewport.Width = 463.000000000000000000
Viewport.Height = 121.000000000000000000
inherited scCounterTrigger: TStringColumn
@@ -877,6 +681,8 @@ object Form1: TForm1
StyleLookup = ''
TabOrder = 0
Text = #1051#1086#1075
+ ExplicitSize.cx = 56.000000000000000000
+ ExplicitSize.cy = 26.000000000000000000
inline frLog1: TfrLog
Align = Client
Size.Width = 1042.000000000000000000
@@ -887,19 +693,6 @@ object Form1: TForm1
inherited btnClear: TButton
Images = ImageList1
ImageIndex = 4
- OnClick = nil
- end
- inherited chkWARNING: TCheckBox
- OnChange = nil
- end
- inherited chkERROR: TCheckBox
- OnChange = nil
- end
- inherited chkDEBUG: TCheckBox
- OnChange = nil
- end
- inherited chkINFO: TCheckBox
- OnChange = nil
end
end
inherited sgLog: TStringGrid
@@ -1047,28 +840,7 @@ object Form1: TForm1
Position.X = 760.000000000000000000
Position.Y = 8.000000000000000000
Text = #1054#1090#1076#1077#1083#1100#1085#1086#1077' '#1089#1087#1072#1089#1080#1073#1086':'
- TabOrder = 15
- end
- object Label4: TLabel
- Position.X = 778.000000000000000000
- Position.Y = 33.000000000000000000
- Text = 'Incadence ('#1079#1072' '#1090#1077#1089#1090#1099')'
- TabOrder = 14
- OnDblClick = Label4DblClick
- end
- object Label13: TLabel
- Position.X = 778.000000000000000000
- Position.Y = 58.000000000000000000
- Text = 'KuznecOGR ('#1079#1072' '#1090#1077#1089#1090#1099')'
- TabOrder = 13
- OnDblClick = Label13DblClick
- end
- object Label14: TLabel
- Position.X = 778.000000000000000000
- Position.Y = 83.000000000000000000
- Text = 'Karacis ('#1079#1072' '#1080#1082#1086#1085#1082#1080')'
TabOrder = 12
- OnDblClick = Label14DblClick
end
object cbTheme: TComboBox
ItemIndex = 0
@@ -1081,7 +853,7 @@ object Form1: TForm1
Size.Width = 228.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
- TabOrder = 36
+ TabOrder = 33
OnChange = cbThemeChange
end
object Label15: TLabel
@@ -1098,6 +870,42 @@ object Form1: TForm1
Text = #1058#1077#1084#1072
TabOrder = 0
end
+ object SpeedButton1: TSpeedButton
+ Images = ImageList1
+ ImageIndex = 11
+ Position.X = 760.000000000000000000
+ Position.Y = 33.000000000000000000
+ Size.Width = 141.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ Text = 'Incadence ('#1079#1072' '#1090#1077#1089#1090#1099')'
+ TextSettings.Trimming = None
+ OnClick = SpeedButton1Click
+ end
+ object SpeedButton2: TSpeedButton
+ Images = ImageList1
+ ImageIndex = 11
+ Position.X = 760.000000000000000000
+ Position.Y = 63.000000000000000000
+ Size.Width = 141.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ Text = 'KuznecOGR ('#1079#1072' '#1090#1077#1089#1090#1099')'
+ TextSettings.Trimming = None
+ OnClick = SpeedButton2Click
+ end
+ object SpeedButton3: TSpeedButton
+ Images = ImageList1
+ ImageIndex = 11
+ Position.X = 760.000000000000000000
+ Position.Y = 93.000000000000000000
+ Size.Width = 141.000000000000000000
+ Size.Height = 22.000000000000000000
+ Size.PlatformDefault = False
+ Text = 'Karacis ('#1079#1072' '#1080#1082#1086#1085#1082#1080')'
+ TextSettings.Trimming = None
+ OnClick = SpeedButton3Click
+ end
end
object ImageList1: TImageList
Source = <
diff --git a/uGeneral.pas b/uGeneral.pas
index 76a88f0..e97ecf6 100644
--- a/uGeneral.pas
+++ b/uGeneral.pas
@@ -7,10 +7,10 @@ uses
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TabControl,
FMX.Controls.Presentation, FMX.StdCtrls, System.ImageList, FMX.ImgList,
- FMX.Styles,
- fSettings, fAI, fNotify, fAutoActions, fChatOBS, FMX.ListBox, fLog, uRecords,
+ FMX.Styles, ShellAPI, StrUtils,
+ fSettings, fAI, fNotify, fAutoActions, FMX.ListBox, fLog, uRecords,
System.IOUtils, fCommands, uDataBase, FMX.Edit, FMX.Colors, FMX.SpinBox,
- windows;
+ windows, System.Skia, FMX.Skia, uCreateChat, uCreateNotify, fOBS;
type
TForm1 = class(TForm)
@@ -42,20 +42,23 @@ type
TabItem9: TTabItem;
frNotify1: TfrNotify;
Label1: TLabel;
- Label4: TLabel;
- Label13: TLabel;
- Label14: TLabel;
frAutoActions1: TfrAutoActions;
- frChatOBS1: TfrChatOBS;
+ frOBS1: TfrOBS;
frLog1: TfrLog;
cbTheme: TComboBox;
Label15: TLabel;
frCommands1: TfrCommands;
- procedure Label14DblClick(Sender: TObject);
- procedure Label13DblClick(Sender: TObject);
- procedure Label4DblClick(Sender: TObject);
+ SpeedButton1: TSpeedButton;
+ SpeedButton2: TSpeedButton;
+ SpeedButton3: TSpeedButton;
+ btnCreateChat: TButton;
procedure cbThemeChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
+ procedure SpeedButton1Click(Sender: TObject);
+ procedure SpeedButton3Click(Sender: TObject);
+ procedure SpeedButton2Click(Sender: TObject);
+ procedure frChatOBS1btnCreateChatClick(Sender: TObject);
+ procedure frOBS1btnCreateOBSNotifyClick(Sender: TObject);
private
{ Private declarations }
procedure ReadDB();
@@ -138,20 +141,14 @@ begin
end;
-procedure TForm1.Label13DblClick(Sender: TObject);
+procedure TForm1.frChatOBS1btnCreateChatClick(Sender: TObject);
begin
- // https://www.twitch.tv/kuznecogr
+fCreateChat.Show;
end;
-procedure TForm1.Label14DblClick(Sender: TObject);
+procedure TForm1.frOBS1btnCreateOBSNotifyClick(Sender: TObject);
begin
- // https://www.flaticon.com/ru/authors/karacis
-
-end;
-
-procedure TForm1.Label4DblClick(Sender: TObject);
-begin
- // https://www.twitch.tv/incadence
+fCreateNotify.Show;
end;
procedure TForm1.ReadDB;
@@ -210,34 +207,49 @@ var
end;
end;
-begin
- for I := 0 to fSettings.ComponentCount - 1 do
+// Загрузка компонентов настроек (TEdit, TCheckBox)
+ procedure LoadSettingsComponents;
+ var
+ I: Integer;
+ c: TComponent;
begin
- c := fSettings.components[I];
- if c is TEdit then
+ for I := 0 to fSettings.ComponentCount - 1 do
begin
- TEdit(c).text := db.ReadSetting(TEdit(c).Name);
- end;
- if c is TCheckBox then
- begin
- TCheckBox(c).IsChecked := (db.ReadSetting(TCheckBox(c).Name) = 'True');
+ c := fSettings.Components[I];
+ if c is TEdit then
+ TEdit(c).text := db.ReadSetting(TEdit(c).Name)
+ else if c is TCheckBox then
+ TCheckBox(c).IsChecked := (db.ReadSetting(TCheckBox(c).Name) = 'True');
end;
+ db.FChannel := fSettings.edtChannel.text;
end;
- db.FChannel := fSettings.edtChannel.text;
- db.LoadGridFromTable('sgRandomInt', frCommands1.sgRandomInt);
- db.LoadGridFromTable('sgCommands', frCommands1.sgCommands);
- db.LoadGridFromTable('sgSAFiles', frCommands1.sgSAFiles);
- db.LoadGridFromTable('sgTFiles', frCommands1.sgTFiles);
- db.LoadGridFromTable('sgAIGen', frCommands1.sgAIGen);
-
- db.getGroupName(frCommands1.lbRandomGroup.Items);
-
- if FileExists(myConst.cfg1) then
+// Загрузка данных в гриды команд
+ procedure LoadGridsData;
begin
+ db.LoadGridFromTable('sgRandomInt', frCommands1.sgRandomInt);
+ db.LoadGridFromTable('sgCommands', frCommands1.sgCommands);
+ db.LoadGridFromTable('sgSAFiles', frCommands1.sgSAFiles);
+ db.LoadGridFromTable('sgTFiles', frCommands1.sgTFiles);
+ db.LoadGridFromTable('sgAIGen', frCommands1.sgAIGen);
+ end;
+
+// Загрузка списка групп
+ procedure LoadGroupNames;
+ begin
+ db.getGroupName(frCommands1.lbRandomGroup.Items);
+ end;
+
+// Загрузка зашифрованного конфига
+ procedure LoadEncryptedConfig;
+ var
+ sl: TStringList;
+ I: Integer;
+ begin
+ if not FileExists(myConst.cfg1) then
+ Exit;
sl := TStringList.Create;
-
try
sl.Assign(XorDecryptToStrings(myConst.cfg1, 'fgvasrgEFAXFAFAS'));
for I := 0 to sl.Count - 1 do
@@ -251,205 +263,184 @@ begin
var
Value := Trim(Copy(sl[I], eqPos + 1, MaxInt));
- // Распределяем значения по переменным
if Key = 'k1' then
- begin
- appconst.TTV_ClientID := Value;
- end
+ appconst.TTV_ClientID := Value
else if Key = 'k2' then
- begin
- appconst.AI_GigaChat_AC := Value;
- end
+ appconst.AI_GigaChat_AC := Value
else if Key = 'k3' then
- begin
- appconst.AI_GigaChat_ClientID := Value;
- end
+ appconst.AI_GigaChat_ClientID := Value
else if Key = 'k4' then
- begin
- appconst.AI_ChatGPT_Token := Value;
- end
+ appconst.AI_ChatGPT_Token := Value
else if Key = 'k5' then
- begin
- appconst.AI_DeepSeec_Token := Value;
- end
+ appconst.AI_DeepSeec_Token := Value
else if Key = 'k6' then
- begin
- appconst.DA_ClientID := Value;
- end
+ appconst.DA_ClientID := Value
else if Key = 'k7' then
- begin
- appconst.DA_Sicret := Value;
- end
+ appconst.DA_Sicret := Value
else if Key = 'k8' then
- begin
appconst.DA_URL := Value;
- end
end;
end;
- if appconst.TTV_ClientID <> '' then
- begin
- fSettings.btnGetClientID.Visible := True;
- end;
- if ((appconst.AI_GigaChat_AC <> '') and (appconst.AI_GigaChat_ClientID <>
- '')) or (appconst.AI_ChatGPT_Token <> '') or
- (appconst.AI_DeepSeec_Token <> '') then
- begin
- frAI1.btnGetAIDef.Visible := True;
- end;
- if ((appconst.DA_ClientID <> '') and (appconst.DA_Sicret <> '') and
- (appconst.DA_URL <> '')) then
- begin
- fSettings.btnGetDADef.Visible := True;
- end;
+ fSettings.btnGetClientID.Visible := (appconst.TTV_ClientID <> '');
+ frAI1.btnGetAIDef.Visible := ((appconst.AI_GigaChat_AC <> '') and
+ (appconst.AI_GigaChat_ClientID <> '')) or
+ (appconst.AI_ChatGPT_Token <> '') or (appconst.AI_DeepSeec_Token <> '');
+ fSettings.btnGetDADef.Visible := (appconst.DA_ClientID <> '') and
+ (appconst.DA_Sicret <> '') and (appconst.DA_URL <> '');
finally
sl.Free;
end;
end;
- for I := 0 to frChatOBS1.ComponentCount - 1 do
+
+
+
+
+// Загрузка настроек уведомлений
+ procedure LoadNotifySettings;
+ var
+ I: Integer;
+ c: TComponent;
begin
- c := frChatOBS1.components[I];
- if c is TComboBox then
+ for I := 0 to frNotify1.ComponentCount - 1 do
begin
- TComboBox(c).ItemIndex :=
- strtoint(db.ReadSetting(TComboBox(c).Name, '0'));
- end;
- if c is TColorComboBox then
- begin
- TColorComboBox(c).ItemIndex :=
- strtoint(db.ReadSetting(TComboBox(c).Name, '147'));
- end;
- if c is TSpinBox then
- begin
- if TSpinBox(c).Name = 'sbWebServerPort' then
- TSpinBox(c).text := db.ReadSetting(TSpinBox(c).Name, '8080');
- TSpinBox(c).text := db.ReadSetting(TSpinBox(c).Name, '1');
- end;
- if c is TCheckBox then
- begin
- TCheckBox(c).IsChecked := db.ReadSetting(TCheckBox(c).Name, '0') = '1';
+ c := frNotify1.Components[I];
+ if c is TEdit then
+ TEdit(c).text := db.ReadSetting(TEdit(c).Name)
+ else if c is TCheckBox then
+ TCheckBox(c).IsChecked := (db.ReadSetting(TCheckBox(c).Name) = 'True')
+ else if c is TSwitch then
+ TSwitch(c).IsChecked := (db.ReadSetting(TSwitch(c).Name) = 'True')
+ else if c is TTrackBar then
+ TTrackBar(c).Value :=
+ strtoint(db.ReadSetting(TTrackBar(c).Name, '100'));
end;
end;
- ColorStr := db.ReadSetting('cpStyleBlockColor', 'FF000000');
- if TryStrToUInt('$' + ColorStr, Cardinal(SavedColor)) then
- frChatOBS1.cpStyleBlockColor.Color := SavedColor
- else
- frChatOBS1.cpStyleBlockColor.Color := TAlphaColorRec.Black;
- if not DirectoryExists(myConst.fontsPath) then
- CreateDirectory(PChar(myConst.fontsPath), 0);
- var
- n := 1;
- var
- cDir := myConst.fontsPath; // Искать в папке с программой
- var
- FileName := '*.*'; // Ищем все файлы
- ChDir(cDir); // войти в каталог
- var
- SearchRec: TSearchRec;
- if FindFirst(FileName, faArchive, SearchRec) = 0 then
- repeat
- if (SearchRec.Attr and faAnyFile) = SearchRec.Attr then
- begin
- frChatOBS1.cbFontStyleDefault.Items.Add(SearchRec.Name);
- Inc(n);
- end;
- until FindNext(SearchRec) <> 0;
- ChDir('..');
- for I := 0 to frNotify1.ComponentCount - 1 do
- begin
- c := frNotify1.components[I];
- if c is TEdit then
- begin
- TEdit(c).text := db.ReadSetting(TEdit(c).Name);
- end;
- if c is TCheckBox then
- begin
- TCheckBox(c).IsChecked := (db.ReadSetting(TCheckBox(c).Name) = 'True');
- end;
- if c is TSwitch then
- begin
- TSwitch(c).IsChecked := (db.ReadSetting(TSwitch(c).Name) = 'True');
- end;
- if c is TTrackBar then
- begin
- TTrackBar(c).Value := strtoint(db.ReadSetting(TTrackBar(c).Name, '100'));
- end;
- end;
+
+
+// Загрузка настроек ИИ
+ procedure LoadAISettings;
var
+ I: Integer;
+ c: TComponent;
ii: Integer;
- for I := 0 to frAI1.ComponentCount - 1 do
+
+ // Настройки GigaChat
+ procedure SetupGigaChatSettings;
begin
- c := frAI1.components[I];
- if c is TEdit then
- begin
- TEdit(c).text := db.ReadSetting(TEdit(c).Name);
- end;
- if c is TCheckBox then
- begin
- TCheckBox(c).IsChecked := db.ReadSetting(TCheckBox(c).Name) = '1';
- end;
-
- end;
- ii := strtoint(db.ReadSetting('aiIndex', '0'));
-
- case ii of
- 0:
- begin
- frAI1.rbGC.IsChecked := True;
- frAI1.Label45.text := 'ClientID';
- frAI1.Label47.text := 'Autorization Code';
- frAI1.Label1.Visible := false;
- frAI1.edtAIP2.Visible := True;
- frAI1.edtAIP2.Password := True;
- frAI1.edtAIP3.Visible := false;
- frAI1.cbOllama.IsChecked := false;
- frAI1.cbOllama.Visible := false;
- end;
- 1:
- begin
- frAI1.rbDS.IsChecked := True;
- frAI1.Label45.text := 'API Token';
- frAI1.Label47.text := '';
- frAI1.Label1.Visible := false;
- frAI1.edtAIP2.Visible := false;
- frAI1.edtAIP2.Password := false;
- frAI1.edtAIP3.Visible := false;
- frAI1.cbOllama.IsChecked := false;
- frAI1.cbOllama.Visible := false;
- end;
- 2:
- begin
- frAI1.rbCG.IsChecked := True;
- frAI1.Label45.text := 'API Token';
- frAI1.Label47.text := '';
- frAI1.Label1.Visible := false;
- frAI1.edtAIP2.Visible := false;
- frAI1.edtAIP2.Password := false;
- frAI1.edtAIP3.Visible := false;
- frAI1.cbOllama.IsChecked := false;
- frAI1.cbOllama.Visible := false;
- end;
- 3:
- begin
- frAI1.RBCustom.IsChecked := True;
- frAI1.Label45.text := 'API Token';
- frAI1.Label47.text := 'URL';
- frAI1.Label1.Visible := True;
- frAI1.edtAIP2.Visible := True;
- frAI1.edtAIP2.Password := false;
- frAI1.edtAIP3.Visible := True;
- frAI1.cbOllama.IsChecked := db.ReadSetting(frAI1.cbOllama.Name) = '1';
- frAI1.cbOllama.Visible := True;
- end;
+ frAI1.rbGC.IsChecked := True;
+ frAI1.Label45.text := 'ClientID';
+ frAI1.Label47.text := 'Autorization Code';
+ frAI1.Label1.Visible := False;
+ frAI1.edtAIP2.Visible := True;
+ frAI1.edtAIP2.Password := True;
+ frAI1.edtAIP3.Visible := False;
+ frAI1.cbOllama.Visible := False;
end;
- db.LoadGridFromTable('sgTimers', frAutoActions1.sgTimers);
- db.LoadGridFromTable('sgCounter', frAutoActions1.sgCounter);
- db.LoadGridFromTable('sgBanWords', frAutoActions1.sgBanWords);
+// Настройки DeepSeek
+ procedure SetupDeepSeekSettings;
+ begin
+ frAI1.rbDS.IsChecked := True;
+ frAI1.Label45.text := 'API Token';
+ frAI1.Label47.text := '';
+ frAI1.Label1.Visible := False;
+ frAI1.edtAIP2.Visible := False;
+ frAI1.edtAIP3.Visible := False;
+ frAI1.cbOllama.Visible := False;
+ end;
+// Настройки ChatGPT
+ procedure SetupChatGPTSettings;
+ begin
+ frAI1.rbCG.IsChecked := True;
+ frAI1.Label45.text := 'API Token';
+ frAI1.Label47.text := '';
+ frAI1.Label1.Visible := False;
+ frAI1.edtAIP2.Visible := False;
+ frAI1.edtAIP3.Visible := False;
+ frAI1.cbOllama.Visible := False;
+ end;
+
+// Настройки кастомного ИИ
+ procedure SetupCustomAISettings;
+ begin
+ frAI1.RBCustom.IsChecked := True;
+ frAI1.Label45.text := 'API Token';
+ frAI1.Label47.text := 'URL';
+ frAI1.Label1.Visible := True;
+ frAI1.edtAIP2.Visible := True;
+ frAI1.edtAIP2.Password := False;
+ frAI1.edtAIP3.Visible := True;
+ frAI1.cbOllama.Visible := True;
+ frAI1.cbOllama.IsChecked := db.ReadSetting(frAI1.cbOllama.Name) = '1';
+ end;
+ begin
+ for I := 0 to frAI1.ComponentCount - 1 do
+ begin
+ c := frAI1.Components[I];
+ if c is TEdit then
+ TEdit(c).text := db.ReadSetting(TEdit(c).Name)
+ else if c is TCheckBox then
+ TCheckBox(c).IsChecked := db.ReadSetting(TCheckBox(c).Name) = '1';
+ end;
+
+ ii := strtoint(db.ReadSetting('aiIndex', '0'));
+ case ii of
+ 0:
+ SetupGigaChatSettings;
+ 1:
+ SetupDeepSeekSettings;
+ 2:
+ SetupChatGPTSettings;
+ 3:
+ SetupCustomAISettings;
+ end;
+ end;
+
+
+
+// Загрузка гридов автоматических действий
+ procedure LoadAutoActionsGrids;
+ begin
+ db.LoadGridFromTable('sgTimers', frAutoActions1.sgTimers);
+ db.LoadGridFromTable('sgCounter', frAutoActions1.sgCounter);
+ db.LoadGridFromTable('sgBanWords', frAutoActions1.sgBanWords);
+ end;
+
+begin
+ LoadSettingsComponents;
+ LoadGridsData;
+ LoadGroupNames;
+ LoadEncryptedConfig;
+
+
+ LoadNotifySettings;
+ LoadAISettings;
+ LoadAutoActionsGrids;
+end;
+
+procedure TForm1.SpeedButton1Click(Sender: TObject);
+begin
+ ShellExecute(0, 'open', pwidechar('https://www.twitch.tv/incadence'),
+ nil, nil, 1);
+end;
+
+procedure TForm1.SpeedButton2Click(Sender: TObject);
+begin
+ // https://www.twitch.tv/kuznecogr
+ ShellExecute(0, 'open', pwidechar('https://www.twitch.tv/kuznecogr'),
+ nil, nil, 1);
+end;
+
+procedure TForm1.SpeedButton3Click(Sender: TObject);
+begin
+ // https://www.flaticon.com/ru/authors/karacis
+ ShellExecute(0, 'open',
+ pwidechar('https://www.flaticon.com/ru/authors/karacis'), nil, nil, 1);
end;
end.