Добавил интеграции с ОБС
This commit is contained in:
+10
-36
@@ -48,35 +48,6 @@ object frCommands: TfrCommands
|
|||||||
Viewport.Width = 388.000000000000000000
|
Viewport.Width = 388.000000000000000000
|
||||||
Viewport.Height = 157.000000000000000000
|
Viewport.Height = 157.000000000000000000
|
||||||
end
|
end
|
||||||
inherited GroupBox7: TGroupBox
|
|
||||||
inherited btnAddUserName: TButton
|
|
||||||
TabOrder = 38
|
|
||||||
end
|
|
||||||
inherited btnGetDateFollow: TButton
|
|
||||||
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
|
|
||||||
inherited btnAddCommand: TButton
|
inherited btnAddCommand: TButton
|
||||||
OnClick = frContruct1btnAddCommandClick
|
OnClick = frContruct1btnAddCommandClick
|
||||||
end
|
end
|
||||||
@@ -115,13 +86,16 @@ object frCommands: TfrCommands
|
|||||||
Viewport.Height = 116.000000000000000000
|
Viewport.Height = 116.000000000000000000
|
||||||
end
|
end
|
||||||
inherited btnRandomAdd: TButton
|
inherited btnRandomAdd: TButton
|
||||||
TabOrder = 37
|
TabOrder = 35
|
||||||
end
|
end
|
||||||
inherited btnRandomDel: TButton
|
inherited btnRandomDel: TButton
|
||||||
TabOrder = 38
|
TabOrder = 36
|
||||||
end
|
end
|
||||||
inherited btnRmGroup: TButton
|
inherited btnRmGroup: TButton
|
||||||
TabOrder = 39
|
TabOrder = 38
|
||||||
|
end
|
||||||
|
inherited Label4: TLabel
|
||||||
|
TabOrder = 40
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -176,7 +150,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 = 32
|
TabOrder = 31
|
||||||
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
|
||||||
@@ -243,7 +217,7 @@ object frCommands: TfrCommands
|
|||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited sg: TStringGrid
|
inherited sg: TStringGrid
|
||||||
Size.Width = 293.000000000000000000
|
Size.Width = 293.000000000000000000
|
||||||
TabOrder = 44
|
TabOrder = 43
|
||||||
OnCellDblClick = frsgSoundssgCellDblClick
|
OnCellDblClick = frsgSoundssgCellDblClick
|
||||||
Viewport.Width = 289.000000000000000000
|
Viewport.Width = 289.000000000000000000
|
||||||
Viewport.Height = 124.000000000000000000
|
Viewport.Height = 124.000000000000000000
|
||||||
@@ -279,7 +253,7 @@ object frCommands: TfrCommands
|
|||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited sg: TStringGrid
|
inherited sg: TStringGrid
|
||||||
Size.Width = 293.000000000000000000
|
Size.Width = 293.000000000000000000
|
||||||
TabOrder = 44
|
TabOrder = 43
|
||||||
OnCellDblClick = frsgFilessgCellDblClick
|
OnCellDblClick = frsgFilessgCellDblClick
|
||||||
Viewport.Width = 289.000000000000000000
|
Viewport.Width = 289.000000000000000000
|
||||||
Viewport.Height = 124.000000000000000000
|
Viewport.Height = 124.000000000000000000
|
||||||
@@ -319,7 +293,7 @@ object frCommands: TfrCommands
|
|||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited sg: TStringGrid
|
inherited sg: TStringGrid
|
||||||
Size.Width = 293.000000000000000000
|
Size.Width = 293.000000000000000000
|
||||||
TabOrder = 44
|
TabOrder = 43
|
||||||
OnCellDblClick = frsgNeirosgCellDblClick
|
OnCellDblClick = frsgNeirosgCellDblClick
|
||||||
Viewport.Width = 289.000000000000000000
|
Viewport.Width = 289.000000000000000000
|
||||||
Viewport.Height = 124.000000000000000000
|
Viewport.Height = 124.000000000000000000
|
||||||
|
|||||||
+3
-3
@@ -10,7 +10,7 @@ object frFontSettings: TfrFontSettings
|
|||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
Text = #1056#1072#1079#1084#1077#1088' '#1096#1088#1080#1092#1090#1072
|
Text = #1056#1072#1079#1084#1077#1088' '#1096#1088#1080#1092#1090#1072
|
||||||
TabOrder = 9
|
TabOrder = 8
|
||||||
end
|
end
|
||||||
object sbFontSize: TSpinBox
|
object sbFontSize: TSpinBox
|
||||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||||
@@ -30,14 +30,14 @@ object frFontSettings: TfrFontSettings
|
|||||||
Size.Width = 120.000000000000000000
|
Size.Width = 120.000000000000000000
|
||||||
Size.Height = 22.000000000000000000
|
Size.Height = 22.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TabOrder = 39
|
TabOrder = 38
|
||||||
end
|
end
|
||||||
object Label49: TLabel
|
object Label49: TLabel
|
||||||
Position.X = 116.000000000000000000
|
Position.X = 116.000000000000000000
|
||||||
Position.Y = 63.000000000000000000
|
Position.Y = 63.000000000000000000
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
Text = #1062#1074#1077#1090' '#1096#1088#1080#1092#1090#1072
|
Text = #1062#1074#1077#1090' '#1096#1088#1080#1092#1090#1072
|
||||||
TabOrder = 38
|
TabOrder = 37
|
||||||
end
|
end
|
||||||
object cbFontStyleDefault: TComboBox
|
object cbFontStyleDefault: TComboBox
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ object frOBS: TfrOBS
|
|||||||
Size.Height = 252.000000000000000000
|
Size.Height = 252.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
object sgWebChats: TStringGrid
|
object sgWebChats: TStringGrid
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
|
||||||
Align = Bottom
|
Align = Bottom
|
||||||
CanFocus = True
|
CanFocus = True
|
||||||
ClipChildren = True
|
ClipChildren = True
|
||||||
@@ -14,8 +13,8 @@ object frOBS: TfrOBS
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
RowCount = 0
|
RowCount = 0
|
||||||
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
|
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
|
||||||
Viewport.Width = 689.000000000000000000
|
Viewport.Width = 685.000000000000000000
|
||||||
Viewport.Height = 189.000000000000000000
|
Viewport.Height = 164.000000000000000000
|
||||||
object IntegerColumn1: TIntegerColumn
|
object IntegerColumn1: TIntegerColumn
|
||||||
Header = #1055#1086#1088#1090
|
Header = #1055#1086#1088#1090
|
||||||
HeaderSettings.TextSettings.WordWrap = False
|
HeaderSettings.TextSettings.WordWrap = False
|
||||||
@@ -36,6 +35,7 @@ object frOBS: TfrOBS
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
|
Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
|
OnClick = btnCreateOBSChatClick
|
||||||
end
|
end
|
||||||
object btnDeleteeChat: TButton
|
object btnDeleteeChat: TButton
|
||||||
Position.X = 601.000000000000000000
|
Position.X = 601.000000000000000000
|
||||||
@@ -43,6 +43,7 @@ object frOBS: TfrOBS
|
|||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
Text = #1059#1076#1072#1083#1080#1090#1100
|
Text = #1059#1076#1072#1083#1080#1090#1100
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
|
OnClick = btnDeleteeChatClick
|
||||||
end
|
end
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Position.X = 8.000000000000000000
|
Position.X = 8.000000000000000000
|
||||||
@@ -59,6 +60,7 @@ object frOBS: TfrOBS
|
|||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
|
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
|
OnClick = btnCreateOBSNotifyClick
|
||||||
end
|
end
|
||||||
object btnCreateOBSKandinsky: TButton
|
object btnCreateOBSKandinsky: TButton
|
||||||
Position.X = 257.000000000000000000
|
Position.X = 257.000000000000000000
|
||||||
@@ -69,5 +71,6 @@ object frOBS: TfrOBS
|
|||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1050#1072#1085#1076#1080#1085#1089#1082#1080#1081
|
Text = #1057#1086#1079#1076#1072#1090#1100' '#1050#1072#1085#1076#1080#1085#1089#1082#1080#1081
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
|
OnClick = btnCreateOBSKandinskyClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,10 +3,11 @@ unit fOBS;
|
|||||||
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.Grid, FMX.ScrollBox, FMX.Edit, FMX.Colors,
|
System.Rtti, FMX.Grid.Style, FMX.Grid, FMX.ScrollBox, FMX.Edit, FMX.Colors,
|
||||||
FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Controls.Presentation;
|
FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Controls.Presentation, uRecords;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfrOBS = class(TFrame)
|
TfrOBS = class(TFrame)
|
||||||
@@ -19,14 +20,233 @@ type
|
|||||||
StringColumn2: TStringColumn;
|
StringColumn2: TStringColumn;
|
||||||
btnCreateOBSNotify: TButton;
|
btnCreateOBSNotify: TButton;
|
||||||
btnCreateOBSKandinsky: TButton;
|
btnCreateOBSKandinsky: TButton;
|
||||||
|
procedure btnDeleteeChatClick(Sender: TObject);
|
||||||
|
procedure btnCreateOBSKandinskyClick(Sender: TObject);
|
||||||
|
procedure btnCreateOBSChatClick(Sender: TObject);
|
||||||
|
procedure btnCreateOBSNotifyClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
public
|
public
|
||||||
{ Public declarations }
|
{ Public declarations }
|
||||||
|
listChats: TArray<TOBSChat>;
|
||||||
|
listNotify: TArray<TOBSNotify>;
|
||||||
|
listKandinsky: TArray<TOBSKandinsky>;
|
||||||
|
|
||||||
|
procedure UpdateGridFromArray;
|
||||||
|
procedure AddChat(newRecord: TOBSChat);
|
||||||
|
procedure DelChat(aPort: integer);
|
||||||
|
|
||||||
|
procedure AddNotify(newRecord: TOBSNotify);
|
||||||
|
procedure DelNotify(aPort: integer);
|
||||||
|
|
||||||
|
procedure AddKandinsky(newRecord: TOBSKandinsky);
|
||||||
|
procedure DelKandinsky(aPort: integer);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$R *.fmx}
|
{$R *.fmx}
|
||||||
|
|
||||||
|
uses uGeneral, uCreateChat, uCreateNotify;
|
||||||
|
|
||||||
|
{ TfrOBS }
|
||||||
|
|
||||||
|
procedure TfrOBS.AddChat(newRecord: TOBSChat);
|
||||||
|
begin
|
||||||
|
SetLength(listChats, Length(listChats) + 1);
|
||||||
|
listChats[High(listChats)] := newRecord;
|
||||||
|
UpdateGridFromArray;
|
||||||
|
db.SaveRecordArray<TOBSChat>('listChats', listChats);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.AddKandinsky(newRecord: TOBSKandinsky);
|
||||||
|
begin
|
||||||
|
SetLength(listKandinsky, Length(listKandinsky) + 1);
|
||||||
|
listKandinsky[High(listKandinsky)] := newRecord;
|
||||||
|
UpdateGridFromArray;
|
||||||
|
db.SaveRecordArray<TOBSKandinsky>('listKandinsky', listKandinsky);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.AddNotify(newRecord: TOBSNotify);
|
||||||
|
begin
|
||||||
|
SetLength(listNotify, Length(listNotify) + 1);
|
||||||
|
listNotify[High(listNotify)] := newRecord;
|
||||||
|
UpdateGridFromArray;
|
||||||
|
db.SaveRecordArray<TOBSNotify>('listNotify', listNotify);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.btnCreateOBSChatClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
dport, i: integer;
|
||||||
|
begin
|
||||||
|
dport := 8080;
|
||||||
|
for I := 0 to sgWebChats.RowCount - 1 do
|
||||||
|
begin
|
||||||
|
if strtoint(sgWebChats.Cells[0, I]) >= dport then
|
||||||
|
dport := strtoint(sgWebChats.Cells[0, I]) + 1;
|
||||||
|
end;
|
||||||
|
fCreateChat.sbWebServerPort.Value:=dport;
|
||||||
|
fCreateChat.Show;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.btnCreateOBSKandinskyClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
dport: integer;
|
||||||
|
I: integer;
|
||||||
|
rk: TOBSKandinsky;
|
||||||
|
begin
|
||||||
|
dport := 8080;
|
||||||
|
for I := 0 to sgWebChats.RowCount - 1 do
|
||||||
|
begin
|
||||||
|
if strtoint(sgWebChats.Cells[0, I]) >= dport then
|
||||||
|
dport := strtoint(sgWebChats.Cells[0, I]) + 1;
|
||||||
|
end;
|
||||||
|
rk.port := dport;
|
||||||
|
AddKandinsky(rk);
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.btnCreateOBSNotifyClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
dport, i: integer;
|
||||||
|
begin
|
||||||
|
dport := 8080;
|
||||||
|
for I := 0 to sgWebChats.RowCount - 1 do
|
||||||
|
begin
|
||||||
|
if strtoint(sgWebChats.Cells[0, I]) >= dport then
|
||||||
|
dport := strtoint(sgWebChats.Cells[0, I]) + 1;
|
||||||
|
end;
|
||||||
|
fCreateNotify.sbWebServerPort.Value:=dport;
|
||||||
|
fCreateNotify.Show;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.btnDeleteeChatClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if sgWebChats.Cells[1, sgWebChats.Row] = '×àò' then
|
||||||
|
begin
|
||||||
|
DelChat(strtoint(sgWebChats.Cells[0, sgWebChats.Row]));
|
||||||
|
end;
|
||||||
|
if sgWebChats.Cells[1, sgWebChats.Row] = 'Kandinsky' then
|
||||||
|
begin
|
||||||
|
DelKandinsky(strtoint(sgWebChats.Cells[0, sgWebChats.Row]));
|
||||||
|
end;
|
||||||
|
if sgWebChats.Cells[1, sgWebChats.Row] = 'Îïîâåùåíèå' then
|
||||||
|
begin
|
||||||
|
DelNotify(strtoint(sgWebChats.Cells[0, sgWebChats.Row]));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.DelChat(aPort: integer);
|
||||||
|
var
|
||||||
|
I, j: integer;
|
||||||
|
begin
|
||||||
|
// Èùåì â îáðàòíîì ïîðÿäêå äëÿ áåçîïàñíîãî óäàëåíèÿ
|
||||||
|
for I := High(listChats) downto 0 do
|
||||||
|
begin
|
||||||
|
if listChats[I].port = aPort then
|
||||||
|
begin
|
||||||
|
// Ñäâèãàåì ýëåìåíòû ìàññèâà
|
||||||
|
for j := I to High(listChats) - 1 do
|
||||||
|
listChats[j] := listChats[j + 1];
|
||||||
|
// Óìåíüøàåì ðàçìåð ìàññèâà
|
||||||
|
SetLength(listChats, Length(listChats) - 1);
|
||||||
|
// Âûõîäèì ïîñëå ïåðâîãî íàéäåííîãî ñîâïàäåíèÿ (ïðåäïîëàãàåì óíèêàëüíîñòü ïîðòîâ)
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
db.SaveRecordArray<TOBSChat>('listChats', listChats);
|
||||||
|
UpdateGridFromArray;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.DelKandinsky(aPort: integer);
|
||||||
|
var
|
||||||
|
I, j: integer;
|
||||||
|
begin
|
||||||
|
// Èùåì â îáðàòíîì ïîðÿäêå äëÿ áåçîïàñíîãî óäàëåíèÿ
|
||||||
|
for I := High(listKandinsky) downto 0 do
|
||||||
|
begin
|
||||||
|
if listKandinsky[I].port = aPort then
|
||||||
|
begin
|
||||||
|
// Ñäâèãàåì ýëåìåíòû ìàññèâà
|
||||||
|
for j := I to High(listKandinsky) - 1 do
|
||||||
|
listKandinsky[j] := listKandinsky[j + 1];
|
||||||
|
// Óìåíüøàåì ðàçìåð ìàññèâà
|
||||||
|
SetLength(listKandinsky, Length(listKandinsky) - 1);
|
||||||
|
// Âûõîäèì ïîñëå ïåðâîãî íàéäåííîãî ñîâïàäåíèÿ (ïðåäïîëàãàåì óíèêàëüíîñòü ïîðòîâ)
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
UpdateGridFromArray;
|
||||||
|
db.SaveRecordArray<TOBSKandinsky>('listKandinsky', listKandinsky);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.DelNotify(aPort: integer);
|
||||||
|
var
|
||||||
|
I, j: integer;
|
||||||
|
begin
|
||||||
|
// Èùåì â îáðàòíîì ïîðÿäêå äëÿ áåçîïàñíîãî óäàëåíèÿ
|
||||||
|
for I := High(listNotify) downto 0 do
|
||||||
|
begin
|
||||||
|
if listNotify[I].port = aPort then
|
||||||
|
begin
|
||||||
|
// Ñäâèãàåì ýëåìåíòû ìàññèâà
|
||||||
|
for j := I to High(listNotify) - 1 do
|
||||||
|
listNotify[j] := listNotify[j + 1];
|
||||||
|
// Óìåíüøàåì ðàçìåð ìàññèâà
|
||||||
|
SetLength(listNotify, Length(listNotify) - 1);
|
||||||
|
// Âûõîäèì ïîñëå ïåðâîãî íàéäåííîãî ñîâïàäåíèÿ (ïðåäïîëàãàåì óíèêàëüíîñòü ïîðòîâ)
|
||||||
|
Break;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
UpdateGridFromArray;
|
||||||
|
db.SaveRecordArray<TOBSNotify>('listNotify', listNotify);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrOBS.UpdateGridFromArray;
|
||||||
|
var
|
||||||
|
I, rowIndex: integer;
|
||||||
|
begin
|
||||||
|
sgWebChats.BeginUpdate;
|
||||||
|
try
|
||||||
|
sgWebChats.RowCount := 0; // Ñáðàñûâàåì ñòðîêè
|
||||||
|
|
||||||
|
rowIndex := 0; // Îòäåëüíûé ñ÷åò÷èê äëÿ ñòðîê ñåòêè
|
||||||
|
|
||||||
|
// listChats
|
||||||
|
for I := 0 to High(listChats) do
|
||||||
|
begin
|
||||||
|
sgWebChats.RowCount := rowIndex + 1;
|
||||||
|
sgWebChats.Cells[0, rowIndex] := inttostr(listChats[I].port);
|
||||||
|
sgWebChats.Cells[1, rowIndex] := '×àò';
|
||||||
|
sgWebChats.Cells[2, rowIndex] := 'http://127.0.0.1:' + inttostr(listChats[I].port);
|
||||||
|
Inc(rowIndex); // Óâåëè÷èâàåì ñ÷åò÷èê ñòðîê
|
||||||
|
end;
|
||||||
|
|
||||||
|
// listNotify
|
||||||
|
for I := 0 to High(listNotify) do
|
||||||
|
begin
|
||||||
|
sgWebChats.RowCount := rowIndex + 1;
|
||||||
|
sgWebChats.Cells[0, rowIndex] := inttostr(listNotify[I].port);
|
||||||
|
sgWebChats.Cells[1, rowIndex] := 'Îïîâåùåíèå';
|
||||||
|
sgWebChats.Cells[2, rowIndex] := 'http://127.0.0.1:' + inttostr(listNotify[I].port);
|
||||||
|
Inc(rowIndex); // Óâåëè÷èâàåì ñ÷åò÷èê ñòðîê
|
||||||
|
end;
|
||||||
|
|
||||||
|
// listKandinsky
|
||||||
|
for I := 0 to High(listKandinsky) do
|
||||||
|
begin
|
||||||
|
sgWebChats.RowCount := rowIndex + 1;
|
||||||
|
sgWebChats.Cells[0, rowIndex] := inttostr(listKandinsky[I].port);
|
||||||
|
sgWebChats.Cells[1, rowIndex] := 'Kandinsky';
|
||||||
|
sgWebChats.Cells[2, rowIndex] := 'http://127.0.0.1:' + inttostr(listKandinsky[I].port);
|
||||||
|
Inc(rowIndex); // Óâåëè÷èâàåì ñ÷åò÷èê ñòðîê
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
sgWebChats.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ object frSimpleGrid: TfrSimpleGrid
|
|||||||
Size.Width = 339.000000000000000000
|
Size.Width = 339.000000000000000000
|
||||||
Size.Height = 149.000000000000000000
|
Size.Height = 149.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TabOrder = 45
|
TabOrder = 44
|
||||||
RowCount = 0
|
RowCount = 0
|
||||||
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
|
Options = [ColumnResize, ColumnMove, ColLines, RowLines, Tabs, Header, HeaderClick, AutoDisplacement]
|
||||||
OnCellClick = sgCellClick
|
OnCellClick = sgCellClick
|
||||||
|
|||||||
+1
-1
@@ -127,7 +127,7 @@ var
|
|||||||
begin
|
begin
|
||||||
sg.BeginUpdate;
|
sg.BeginUpdate;
|
||||||
try
|
try
|
||||||
sg.RowCount := 1; // Ñáðàñûâàåì ñòðîêè (îñòàâëÿåì òîëüêî çàãîëîâêè)
|
sg.RowCount := 0; // Ñáðàñûâàåì ñòðîêè (îñòàâëÿåì òîëüêî çàãîëîâêè)
|
||||||
|
|
||||||
for i := 0 to High(FMyRecord) do
|
for i := 0 to High(FMyRecord) do
|
||||||
begin
|
begin
|
||||||
|
|||||||
+18
-24
@@ -24,28 +24,34 @@ object fCreateChat: TfCreateChat
|
|||||||
Size.Height = 251.000000000000000000
|
Size.Height = 251.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited ccbStyleBorderColor: TColorComboBox
|
inherited ccbStyleBorderColor: TColorComboBox
|
||||||
TabOrder = 35
|
TabOrder = 33
|
||||||
end
|
|
||||||
inherited cpStyleBlockColor: TColorPanel
|
|
||||||
TabOrder = 7
|
|
||||||
end
|
end
|
||||||
inherited Label40: TLabel
|
inherited Label40: TLabel
|
||||||
TabOrder = 8
|
TabOrder = 8
|
||||||
end
|
end
|
||||||
inherited Label42: TLabel
|
inherited Label42: TLabel
|
||||||
TabOrder = 36
|
TabOrder = 35
|
||||||
end
|
end
|
||||||
inherited Label44: TLabel
|
inherited Label44: TLabel
|
||||||
TabOrder = 39
|
TabOrder = 38
|
||||||
end
|
end
|
||||||
inherited Label48: TLabel
|
inherited Label48: TLabel
|
||||||
TabOrder = 41
|
TabOrder = 40
|
||||||
|
end
|
||||||
|
inherited sbStyleBlockBorderSize: TSpinBox
|
||||||
|
TabOrder = 37
|
||||||
end
|
end
|
||||||
inherited sbStyleBlockPadding: TSpinBox
|
inherited sbStyleBlockPadding: TSpinBox
|
||||||
TabOrder = 46
|
TabOrder = 46
|
||||||
end
|
end
|
||||||
|
inherited Label1: TLabel
|
||||||
|
TabOrder = 34
|
||||||
|
end
|
||||||
inherited ccbBColor: TColorComboBox
|
inherited ccbBColor: TColorComboBox
|
||||||
OnChange = nil
|
TabOrder = 36
|
||||||
|
end
|
||||||
|
inherited btnChangeBGColor: TButton
|
||||||
|
TabOrder = 39
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -63,21 +69,8 @@ object fCreateChat: TfCreateChat
|
|||||||
Size.Width = 240.000000000000000000
|
Size.Width = 240.000000000000000000
|
||||||
Size.Height = 125.000000000000000000
|
Size.Height = 125.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited Label41: TLabel
|
inherited Label46: TLabel
|
||||||
TabOrder = 8
|
TabOrder = 39
|
||||||
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
|
end
|
||||||
end
|
end
|
||||||
@@ -141,7 +134,7 @@ object fCreateChat: TfCreateChat
|
|||||||
Size.Width = 112.000000000000000000
|
Size.Width = 112.000000000000000000
|
||||||
Size.Height = 19.000000000000000000
|
Size.Height = 19.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TabOrder = 38
|
TabOrder = 37
|
||||||
Text = #1042#1077#1095#1085#1086
|
Text = #1042#1077#1095#1085#1086
|
||||||
end
|
end
|
||||||
object sbWebServerPort: TSpinBox
|
object sbWebServerPort: TSpinBox
|
||||||
@@ -180,5 +173,6 @@ object fCreateChat: TfCreateChat
|
|||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
|
Text = #1057#1086#1079#1076#1072#1090#1100' '#1095#1072#1090
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
|
OnClick = btnCreateWebChatClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+46
-1
@@ -7,7 +7,7 @@ uses
|
|||||||
System.Variants, FMX.ListBox, FMX.Colors, FMX.SpinBox,
|
System.Variants, FMX.ListBox, FMX.Colors, FMX.SpinBox,
|
||||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
|
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
|
||||||
fColorSettings, fFontSettings, FMX.Controls.Presentation, FMX.StdCtrls,
|
fColorSettings, fFontSettings, FMX.Controls.Presentation, FMX.StdCtrls,
|
||||||
FMX.Edit, FMX.EditBox, StrUtils;
|
FMX.Edit, FMX.EditBox, StrUtils, uRecords;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfCreateChat = class(TForm)
|
TfCreateChat = class(TForm)
|
||||||
@@ -27,8 +27,10 @@ type
|
|||||||
btnWebChatTest: TButton;
|
btnWebChatTest: TButton;
|
||||||
btnCreateWebChat: TButton;
|
btnCreateWebChat: TButton;
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure btnCreateWebChatClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
|
function GetColorFromColorPanel(aColor: TAlphaColor): string;
|
||||||
public
|
public
|
||||||
{ Public declarations }
|
{ Public declarations }
|
||||||
end;
|
end;
|
||||||
@@ -42,6 +44,49 @@ uses uGeneral;
|
|||||||
|
|
||||||
{$R *.fmx}
|
{$R *.fmx}
|
||||||
|
|
||||||
|
function TfCreateChat.GetColorFromColorPanel(aColor: TAlphaColor): string;
|
||||||
|
var
|
||||||
|
Color: TAlphaColor;
|
||||||
|
r, G, B: Byte;
|
||||||
|
A: Real;
|
||||||
|
FS: TFormatSettings;
|
||||||
|
begin
|
||||||
|
Color := aColor;
|
||||||
|
r := TAlphaColorRec(Color).r;
|
||||||
|
G := TAlphaColorRec(Color).G;
|
||||||
|
B := TAlphaColorRec(Color).B;
|
||||||
|
A := TAlphaColorRec(Color).A / 255; // Ïðåîáðàçóåì àëüôà-êàíàë â äèàïàçîí 0..1
|
||||||
|
|
||||||
|
// Óñòàíàâëèâàåì òî÷êó â êà÷åñòâå äåñÿòè÷íîãî ðàçäåëèòåëÿ
|
||||||
|
FS := TFormatSettings.Create;
|
||||||
|
FS.DecimalSeparator := '.';
|
||||||
|
|
||||||
|
result := Format('rgba(%d, %d, %d, %.2f)', [r, G, B, A], FS);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfCreateChat.btnCreateWebChatClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
OBSChat: TOBSChat;
|
||||||
|
begin
|
||||||
|
OBSChat.ColorBlock := GetColorFromColorPanel
|
||||||
|
(frChatSettings1.cpStyleBlockColor.Color);
|
||||||
|
OBSChat.ColorBorder := frChatSettings1.ccbStyleBorderColor.ItemIndex;
|
||||||
|
OBSChat.ColorBackground := frChatSettings1.ccbBColor.ItemIndex;
|
||||||
|
OBSChat.SolidBorder := round(frChatSettings1.sbStyleBlockBorderSize.Value);
|
||||||
|
OBSChat.Paddings := round(frChatSettings1.sbStyleBlockPadding.Value);
|
||||||
|
|
||||||
|
OBSChat.ColorFont := frFontSettings1.ccbFontColor.ItemIndex;
|
||||||
|
OBSChat.SizeFont := round(frFontSettings1.sbFontSize.Value);
|
||||||
|
OBSChat.StyleFont := frFontSettings1.cbFontStyleDefault.ItemIndex;
|
||||||
|
|
||||||
|
OBSChat.MaxCountMess := round(sbMaxMsg.Value);
|
||||||
|
OBSChat.TimeMess := round(sbTimeMsg.Value);
|
||||||
|
OBSChat.Port := round(sbWebServerPort.Value);
|
||||||
|
|
||||||
|
TTW_Bot.frOBS1.AddChat(OBSChat);
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfCreateChat.FormCreate(Sender: TObject);
|
procedure TfCreateChat.FormCreate(Sender: TObject);
|
||||||
procedure LoadFontList;
|
procedure LoadFontList;
|
||||||
var
|
var
|
||||||
|
|||||||
+16
-44
@@ -73,26 +73,20 @@ object fCreateNotify: TfCreateNotify
|
|||||||
Size.Width = 311.000000000000000000
|
Size.Width = 311.000000000000000000
|
||||||
Size.Height = 258.000000000000000000
|
Size.Height = 258.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited ccbStyleBorderColor: TColorComboBox
|
|
||||||
TabOrder = 37
|
|
||||||
end
|
|
||||||
inherited Label42: TLabel
|
|
||||||
TabOrder = 36
|
|
||||||
end
|
|
||||||
inherited Label44: TLabel
|
inherited Label44: TLabel
|
||||||
TabOrder = 39
|
TabOrder = 38
|
||||||
end
|
end
|
||||||
inherited Label48: TLabel
|
inherited Label48: TLabel
|
||||||
TabOrder = 41
|
TabOrder = 40
|
||||||
end
|
end
|
||||||
inherited sbStyleBlockBorderSize: TSpinBox
|
inherited Label1: TLabel
|
||||||
TabOrder = 42
|
TabOrder = 35
|
||||||
end
|
|
||||||
inherited sbStyleBlockPadding: TSpinBox
|
|
||||||
TabOrder = 44
|
|
||||||
end
|
end
|
||||||
inherited ccbBColor: TColorComboBox
|
inherited ccbBColor: TColorComboBox
|
||||||
OnChange = nil
|
TabOrder = 39
|
||||||
|
end
|
||||||
|
inherited btnChangeBGColor: TButton
|
||||||
|
TabOrder = 41
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox10: TGroupBox
|
object GroupBox10: TGroupBox
|
||||||
@@ -145,7 +139,7 @@ object fCreateNotify: TfCreateNotify
|
|||||||
Position.X = 8.000000000000000000
|
Position.X = 8.000000000000000000
|
||||||
Position.Y = 135.000000000000000000
|
Position.Y = 135.000000000000000000
|
||||||
Text = #1057#1086#1073#1099#1090#1080#1077
|
Text = #1057#1086#1073#1099#1090#1080#1077
|
||||||
TabOrder = 68
|
TabOrder = 60
|
||||||
end
|
end
|
||||||
object cbEventsType: TComboBox
|
object cbEventsType: TComboBox
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
@@ -159,17 +153,17 @@ object fCreateNotify: TfCreateNotify
|
|||||||
Size.Width = 192.000000000000000000
|
Size.Width = 192.000000000000000000
|
||||||
Size.Height = 22.000000000000000000
|
Size.Height = 22.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TabOrder = 69
|
TabOrder = 61
|
||||||
end
|
end
|
||||||
object Label3: TLabel
|
object Label3: TLabel
|
||||||
Position.X = 8.000000000000000000
|
Position.X = 8.000000000000000000
|
||||||
Position.Y = 190.000000000000000000
|
Position.Y = 190.000000000000000000
|
||||||
Text = #1059#1089#1083#1086#1074#1080#1077' '#1089#1091#1084#1084#1099
|
Text = #1059#1089#1083#1086#1074#1080#1077' '#1089#1091#1084#1084#1099
|
||||||
TabOrder = 70
|
TabOrder = 62
|
||||||
end
|
end
|
||||||
object edtIF: TEdit
|
object edtIF: TEdit
|
||||||
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
Touch.InteractiveGestures = [LongTap, DoubleTap]
|
||||||
TabOrder = 71
|
TabOrder = 63
|
||||||
Position.X = 8.000000000000000000
|
Position.X = 8.000000000000000000
|
||||||
Position.Y = 215.000000000000000000
|
Position.Y = 215.000000000000000000
|
||||||
Size.Width = 192.000000000000000000
|
Size.Width = 192.000000000000000000
|
||||||
@@ -186,6 +180,7 @@ object fCreateNotify: TfCreateNotify
|
|||||||
TabOrder = 64
|
TabOrder = 64
|
||||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
|
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
|
OnClick = btnCreateEventClick
|
||||||
end
|
end
|
||||||
object btnESTest: TButton
|
object btnESTest: TButton
|
||||||
Position.X = 596.000000000000000000
|
Position.X = 596.000000000000000000
|
||||||
@@ -222,21 +217,8 @@ object fCreateNotify: TfCreateNotify
|
|||||||
Size.Width = 241.000000000000000000
|
Size.Width = 241.000000000000000000
|
||||||
Size.Height = 115.000000000000000000
|
Size.Height = 115.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited Label41: TLabel
|
inherited Label46: TLabel
|
||||||
TabOrder = 8
|
TabOrder = 39
|
||||||
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
|
end
|
||||||
end
|
end
|
||||||
@@ -250,29 +232,19 @@ object fCreateNotify: TfCreateNotify
|
|||||||
Size.Width = 261.000000000000000000
|
Size.Width = 261.000000000000000000
|
||||||
Size.Height = 167.000000000000000000
|
Size.Height = 167.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
Text = #1047#1072#1075#1086#1083#1086#1074#1086#1082
|
Text = #1057#1086#1086#1073#1097#1077#1085#1080#1077
|
||||||
TabOrder = 65
|
TabOrder = 65
|
||||||
inline frFontSettings3: TfrFontSettings
|
inline frFontSettings3: TfrFontSettings
|
||||||
Align = Client
|
Align = Client
|
||||||
Size.Width = 241.000000000000000000
|
Size.Width = 241.000000000000000000
|
||||||
Size.Height = 115.000000000000000000
|
Size.Height = 115.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
inherited Label41: TLabel
|
|
||||||
TabOrder = 8
|
|
||||||
end
|
|
||||||
inherited sbFontSize: TSpinBox
|
|
||||||
OnChange = nil
|
|
||||||
end
|
|
||||||
inherited ccbFontColor: TColorComboBox
|
inherited ccbFontColor: TColorComboBox
|
||||||
TabOrder = 37
|
TabOrder = 37
|
||||||
OnChange = nil
|
|
||||||
end
|
end
|
||||||
inherited Label49: TLabel
|
inherited Label49: TLabel
|
||||||
TabOrder = 36
|
TabOrder = 36
|
||||||
end
|
end
|
||||||
inherited cbFontStyleDefault: TComboBox
|
|
||||||
OnChange = nil
|
|
||||||
end
|
|
||||||
inherited Label46: TLabel
|
inherited Label46: TLabel
|
||||||
TabOrder = 38
|
TabOrder = 38
|
||||||
end
|
end
|
||||||
|
|||||||
+58
-1
@@ -6,7 +6,7 @@ uses
|
|||||||
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
|
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
|
||||||
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, fFontSettings,
|
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, fFontSettings,
|
||||||
fColorSettings, FMX.StdCtrls, FMX.Edit, FMX.Controls.Presentation,
|
fColorSettings, FMX.StdCtrls, FMX.Edit, FMX.Controls.Presentation,
|
||||||
FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Colors;
|
FMX.ListBox, FMX.EditBox, FMX.SpinBox, FMX.Colors,uRecords;
|
||||||
|
|
||||||
type
|
type
|
||||||
TfCreateNotify = class(TForm)
|
TfCreateNotify = class(TForm)
|
||||||
@@ -35,8 +35,10 @@ type
|
|||||||
frFontSettings3: TfrFontSettings;
|
frFontSettings3: TfrFontSettings;
|
||||||
edtESMessage: TEdit;
|
edtESMessage: TEdit;
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure btnCreateEventClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
|
function GetColorFromColorPanel(aColor: TAlphaColor): string;
|
||||||
public
|
public
|
||||||
{ Public declarations }
|
{ Public declarations }
|
||||||
end;
|
end;
|
||||||
@@ -50,6 +52,61 @@ uses uGeneral;
|
|||||||
|
|
||||||
{$R *.fmx}
|
{$R *.fmx}
|
||||||
|
|
||||||
|
function TfCreateNotify.GetColorFromColorPanel(aColor: TAlphaColor): string;
|
||||||
|
var
|
||||||
|
Color: TAlphaColor;
|
||||||
|
r, G, B: Byte;
|
||||||
|
A: Real;
|
||||||
|
FS: TFormatSettings;
|
||||||
|
begin
|
||||||
|
Color := aColor;
|
||||||
|
r := TAlphaColorRec(Color).r;
|
||||||
|
G := TAlphaColorRec(Color).G;
|
||||||
|
B := TAlphaColorRec(Color).B;
|
||||||
|
A := TAlphaColorRec(Color).A / 255; // Ïðåîáðàçóåì àëüôà-êàíàë â äèàïàçîí 0..1
|
||||||
|
|
||||||
|
// Óñòàíàâëèâàåì òî÷êó â êà÷åñòâå äåñÿòè÷íîãî ðàçäåëèòåëÿ
|
||||||
|
FS := TFormatSettings.Create;
|
||||||
|
FS.DecimalSeparator := '.';
|
||||||
|
|
||||||
|
result := Format('rgba(%d, %d, %d, %.2f)', [r, G, B, A], FS);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfCreateNotify.btnCreateEventClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
OBSNotify: TOBSNotify;
|
||||||
|
begin
|
||||||
|
with OBSNotify do
|
||||||
|
begin
|
||||||
|
Picture:=edtESImage.Text;
|
||||||
|
Sound:=edtESSound.Text;
|
||||||
|
|
||||||
|
ColorBlock:= GetColorFromColorPanel(frColorSettings1.cpStyleBlockColor.Color);
|
||||||
|
SolidBorder:=round(frColorSettings1.sbStyleBlockBorderSize.Value);
|
||||||
|
Paddings:=round(frColorSettings1.sbStyleBlockPadding.Value);
|
||||||
|
ColorBorder:=frColorSettings1.ccbStyleBorderColor.ItemIndex;
|
||||||
|
ColorBackground:=frColorSettings1.ccbBColor.ItemIndex;
|
||||||
|
|
||||||
|
HeaderText:=edtESTitle.text;
|
||||||
|
HeaderColorFont:=frFontSettings2.ccbFontColor.ItemIndex;
|
||||||
|
HeaderSizeFont:=round(frFontSettings2.sbFontSize.Value);
|
||||||
|
HeaderStyleFont:=frFontSettings2.cbFontStyleDefault.ItemIndex;
|
||||||
|
|
||||||
|
MessText:=edtESMessage.text;
|
||||||
|
MessColorFont:=frFontSettings3.ccbFontColor.ItemIndex;
|
||||||
|
MessSizeFont:=round(frFontSettings3.sbFontSize.Value);
|
||||||
|
MessStyleFont:=frFontSettings3.cbFontStyleDefault.ItemIndex;
|
||||||
|
|
||||||
|
TimeMess:=round(sbTimeMsg.Value);
|
||||||
|
TypeEvent:=cbEventsType.ItemIndex;
|
||||||
|
TypeEdit:=edtIF.Text;
|
||||||
|
Port:=round(sbWebServerPort.Value);;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TTW_Bot.frOBS1.AddNotify(OBSNotify);
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfCreateNotify.FormCreate(Sender: TObject);
|
procedure TfCreateNotify.FormCreate(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
|
|||||||
+5
-1
@@ -498,7 +498,11 @@ var
|
|||||||
Value: TValue;
|
Value: TValue;
|
||||||
Param: TFDParam;
|
Param: TFDParam;
|
||||||
begin
|
begin
|
||||||
if Length(Items) = 0 then Exit;
|
if Length(Items) = 0 then
|
||||||
|
begin
|
||||||
|
FConnection.ExecSQL('DELETE FROM ' + TableName);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
EnsureTableForRecord(TableName, TypeInfo(T));
|
EnsureTableForRecord(TableName, TypeInfo(T));
|
||||||
|
|
||||||
|
|||||||
+29
-10
@@ -17,7 +17,7 @@ object TTW_Bot: TTTW_Bot
|
|||||||
Size.Width = 970.000000000000000000
|
Size.Width = 970.000000000000000000
|
||||||
Size.Height = 744.000000000000000000
|
Size.Height = 744.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TabIndex = 2
|
TabIndex = 4
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
TabPosition = PlatformDefault
|
TabPosition = PlatformDefault
|
||||||
Sizes = (
|
Sizes = (
|
||||||
@@ -78,6 +78,9 @@ object TTW_Bot: TTTW_Bot
|
|||||||
ImageIndex = 10
|
ImageIndex = 10
|
||||||
TabOrder = 33
|
TabOrder = 33
|
||||||
end
|
end
|
||||||
|
inherited edtBotTokenStreamer: TEdit
|
||||||
|
TabOrder = 34
|
||||||
|
end
|
||||||
inherited Label53: TLabel
|
inherited Label53: TLabel
|
||||||
TabOrder = 36
|
TabOrder = 36
|
||||||
end
|
end
|
||||||
@@ -188,7 +191,7 @@ object TTW_Bot: TTTW_Bot
|
|||||||
item
|
item
|
||||||
end>
|
end>
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
IsSelected = True
|
IsSelected = False
|
||||||
ImageIndex = 13
|
ImageIndex = 13
|
||||||
Size.Width = 78.000000000000000000
|
Size.Width = 78.000000000000000000
|
||||||
Size.Height = 26.000000000000000000
|
Size.Height = 26.000000000000000000
|
||||||
@@ -279,8 +282,14 @@ object TTW_Bot: TTTW_Bot
|
|||||||
Viewport.Width = 207.000000000000000000
|
Viewport.Width = 207.000000000000000000
|
||||||
Viewport.Height = 116.000000000000000000
|
Viewport.Height = 116.000000000000000000
|
||||||
end
|
end
|
||||||
inherited Label4: TLabel
|
inherited btnRandomAdd: TButton
|
||||||
TabOrder = 40
|
TabOrder = 34
|
||||||
|
end
|
||||||
|
inherited btnRandomDel: TButton
|
||||||
|
TabOrder = 35
|
||||||
|
end
|
||||||
|
inherited btnRmGroup: TButton
|
||||||
|
TabOrder = 37
|
||||||
end
|
end
|
||||||
inherited Label5: TLabel
|
inherited Label5: TLabel
|
||||||
TabOrder = 43
|
TabOrder = 43
|
||||||
@@ -423,7 +432,7 @@ object TTW_Bot: TTTW_Bot
|
|||||||
item
|
item
|
||||||
end>
|
end>
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
IsSelected = False
|
IsSelected = True
|
||||||
ImageIndex = 10
|
ImageIndex = 10
|
||||||
Size.Width = 136.000000000000000000
|
Size.Width = 136.000000000000000000
|
||||||
Size.Height = 26.000000000000000000
|
Size.Height = 26.000000000000000000
|
||||||
@@ -453,7 +462,6 @@ object TTW_Bot: TTTW_Bot
|
|||||||
Size.Width = 94.000000000000000000
|
Size.Width = 94.000000000000000000
|
||||||
Size.PlatformDefault = False
|
Size.PlatformDefault = False
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnClick = frChatOBS1btnCreateChatClick
|
|
||||||
end
|
end
|
||||||
inherited btnDeleteeChat: TButton
|
inherited btnDeleteeChat: TButton
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -461,21 +469,20 @@ object TTW_Bot: TTTW_Bot
|
|||||||
ImageIndex = 4
|
ImageIndex = 4
|
||||||
Position.X = 882.000000000000000000
|
Position.X = 882.000000000000000000
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
|
OnClick = frOBS1btnDeleteeChatClick
|
||||||
end
|
end
|
||||||
inherited Label1: TLabel
|
inherited Label1: TLabel
|
||||||
TabOrder = 7
|
TabOrder = 8
|
||||||
end
|
end
|
||||||
inherited btnCreateOBSNotify: TButton
|
inherited btnCreateOBSNotify: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
ImageIndex = 24
|
ImageIndex = 24
|
||||||
Position.X = 110.000000000000000000
|
Position.X = 110.000000000000000000
|
||||||
OnClick = frOBS1btnCreateOBSNotifyClick
|
|
||||||
end
|
end
|
||||||
inherited btnCreateOBSKandinsky: TButton
|
inherited btnCreateOBSKandinsky: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
ImageIndex = 5
|
ImageIndex = 5
|
||||||
Position.X = 264.000000000000000000
|
Position.X = 264.000000000000000000
|
||||||
OnClick = frOBS1btnCreateOBSKandinskyClick
|
|
||||||
end
|
end
|
||||||
object btnCreateChat: TButton
|
object btnCreateChat: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
@@ -488,7 +495,6 @@ object TTW_Bot: TTTW_Bot
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
|
Text = #1057#1086#1079#1076#1072#1090#1100' '#1086#1087#1086#1074#1077#1097#1077#1085#1080#1077
|
||||||
TextSettings.Trimming = None
|
TextSettings.Trimming = None
|
||||||
OnClick = frChatOBS1btnCreateChatClick
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -553,6 +559,7 @@ object TTW_Bot: TTTW_Bot
|
|||||||
Text = ''
|
Text = ''
|
||||||
end
|
end
|
||||||
inherited OpenDialog1: TOpenDialog
|
inherited OpenDialog1: TOpenDialog
|
||||||
|
Left = 472
|
||||||
Top = 32
|
Top = 32
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -653,19 +660,28 @@ object TTW_Bot: TTTW_Bot
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
inherited GroupBox17: TGroupBox
|
inherited GroupBox17: TGroupBox
|
||||||
|
inherited edtCounterTrigger: TEdit
|
||||||
|
TabOrder = 38
|
||||||
|
end
|
||||||
|
inherited edtCounterCount: TEdit
|
||||||
|
TabOrder = 37
|
||||||
|
end
|
||||||
inherited btnCounterAdd: TButton
|
inherited btnCounterAdd: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
ImageIndex = 0
|
ImageIndex = 0
|
||||||
|
TabOrder = 39
|
||||||
end
|
end
|
||||||
inherited btnCounterDelete: TButton
|
inherited btnCounterDelete: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
ImageIndex = 4
|
ImageIndex = 4
|
||||||
|
TabOrder = 40
|
||||||
end
|
end
|
||||||
inherited btnCounterP: TButton
|
inherited btnCounterP: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
ImageIndex = 0
|
ImageIndex = 0
|
||||||
Position.X = 416.000000000000000000
|
Position.X = 416.000000000000000000
|
||||||
Size.Width = 22.000000000000000000
|
Size.Width = 22.000000000000000000
|
||||||
|
TabOrder = 42
|
||||||
Text = ''
|
Text = ''
|
||||||
end
|
end
|
||||||
inherited btnCounterM: TButton
|
inherited btnCounterM: TButton
|
||||||
@@ -673,13 +689,16 @@ object TTW_Bot: TTTW_Bot
|
|||||||
ImageIndex = 12
|
ImageIndex = 12
|
||||||
Position.X = 449.000000000000000000
|
Position.X = 449.000000000000000000
|
||||||
Size.Width = 22.000000000000000000
|
Size.Width = 22.000000000000000000
|
||||||
|
TabOrder = 43
|
||||||
Text = ''
|
Text = ''
|
||||||
end
|
end
|
||||||
inherited btnCounterEdit: TButton
|
inherited btnCounterEdit: TButton
|
||||||
Images = ImageList1
|
Images = ImageList1
|
||||||
ImageIndex = 3
|
ImageIndex = 3
|
||||||
|
TabOrder = 44
|
||||||
end
|
end
|
||||||
inherited sgCounter: TStringGrid
|
inherited sgCounter: TStringGrid
|
||||||
|
TabOrder = 45
|
||||||
Viewport.Width = 463.000000000000000000
|
Viewport.Width = 463.000000000000000000
|
||||||
Viewport.Height = 121.000000000000000000
|
Viewport.Height = 121.000000000000000000
|
||||||
inherited scCounterTrigger: TStringColumn
|
inherited scCounterTrigger: TStringColumn
|
||||||
|
|||||||
+16
-42
@@ -57,11 +57,9 @@ type
|
|||||||
procedure SpeedButton1Click(Sender: TObject);
|
procedure SpeedButton1Click(Sender: TObject);
|
||||||
procedure SpeedButton3Click(Sender: TObject);
|
procedure SpeedButton3Click(Sender: TObject);
|
||||||
procedure SpeedButton2Click(Sender: TObject);
|
procedure SpeedButton2Click(Sender: TObject);
|
||||||
procedure frChatOBS1btnCreateChatClick(Sender: TObject);
|
|
||||||
procedure frOBS1btnCreateOBSNotifyClick(Sender: TObject);
|
|
||||||
procedure frOBS1btnCreateOBSKandinskyClick(Sender: TObject);
|
|
||||||
procedure frSettings1btnDAStartClick(Sender: TObject);
|
procedure frSettings1btnDAStartClick(Sender: TObject);
|
||||||
procedure frCommands1btnRandAddClick(Sender: TObject);
|
procedure frCommands1btnRandAddClick(Sender: TObject);
|
||||||
|
procedure frOBS1btnDeleteeChatClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
procedure ReadDB();
|
procedure ReadDB();
|
||||||
@@ -146,47 +144,24 @@ begin
|
|||||||
frCommands1.frsgNeiro.TableName := 'listNeiro';
|
frCommands1.frsgNeiro.TableName := 'listNeiro';
|
||||||
frCommands1.frsgNeiro.UpdateGrid;
|
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));
|
||||||
cbTheme.ItemIndex := strtoint(db.ReadSetting('cbTheme', '-1'));
|
cbTheme.ItemIndex := strtoint(db.ReadSetting('cbTheme', '-1'));
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTTW_Bot.frChatOBS1btnCreateChatClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
fCreateChat.Show;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TTTW_Bot.frCommands1btnRandAddClick(Sender: TObject);
|
procedure TTTW_Bot.frCommands1btnRandAddClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
frCommands1.btnRandAddClick(Sender);
|
frCommands1.btnRandAddClick(Sender);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTTW_Bot.frOBS1btnCreateOBSKandinskyClick(Sender: TObject);
|
procedure TTTW_Bot.frOBS1btnDeleteeChatClick(Sender: TObject);
|
||||||
var dport:integer;
|
|
||||||
I: Integer;
|
|
||||||
begin
|
begin
|
||||||
dport:=8080;
|
frOBS1.btnDeleteeChatClick(Sender);
|
||||||
for I := 0 to frOBS1.sgWebChats.RowCount-1 do
|
|
||||||
begin
|
|
||||||
if strtoint(frOBS1.sgWebChats.Cells[0,i]) >= dport then
|
|
||||||
dport:=strtoint(frOBS1.sgWebChats.Cells[0,i])+1;
|
|
||||||
end;
|
|
||||||
frOBS1.sgWebChats.RowCount:=frOBS1.sgWebChats.RowCount+1;
|
|
||||||
frOBS1.sgWebChats.Cells[0,frOBS1.sgWebChats.RowCount-1]:=inttostr(dport);
|
|
||||||
frOBS1.sgWebChats.Cells[1,frOBS1.sgWebChats.RowCount-1]:='Kandinsky';
|
|
||||||
frOBS1.sgWebChats.Cells[2,frOBS1.sgWebChats.RowCount-1]:='http://127.0.0.1:'+inttostr(dport);
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TTTW_Bot.frOBS1btnCreateOBSNotifyClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
fCreateNotify.Show;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TTTW_Bot.frSettings1btnDAStartClick(Sender: TObject);
|
procedure TTTW_Bot.frSettings1btnDAStartClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
frSettings1.btnDAStartClick(Sender);
|
frSettings1.btnDAStartClick(Sender);
|
||||||
@@ -269,18 +244,19 @@ var
|
|||||||
// Çàãðóçêà äàííûõ â ãðèäû êîìàíä
|
// Çàãðóçêà äàííûõ â ãðèäû êîìàíä
|
||||||
procedure LoadGridsData;
|
procedure LoadGridsData;
|
||||||
begin
|
begin
|
||||||
DB.LoadRecordArray<TRandomCounters>('RandomCounters', frCommands1.RandomCounters);
|
db.LoadRecordArray<TRandomCounters>('RandomCounters',
|
||||||
DB.LoadRecordArray<TListCommands>('listSounds', frCommands1.listSounds);
|
frCommands1.RandomCounters);
|
||||||
DB.LoadRecordArray<TListCommands>('listFiles', frCommands1.listFiles);
|
db.LoadRecordArray<TListCommands>('listSounds', frCommands1.listSounds);
|
||||||
DB.LoadRecordArray<TListCommands>('listNeiro', frCommands1.listNeiro);
|
db.LoadRecordArray<TListCommands>('listFiles', frCommands1.listFiles);
|
||||||
DB.LoadRecordArray<TListCommands>('listCommands', frCommands1.listCommands);
|
db.LoadRecordArray<TListCommands>('listNeiro', frCommands1.listNeiro);
|
||||||
|
db.LoadRecordArray<TListCommands>('listCommands', frCommands1.listCommands);
|
||||||
frCommands1.UpdateGridFromArray;
|
frCommands1.UpdateGridFromArray;
|
||||||
{ db.LoadGridFromTable('sgRandomInt', frCommands1.sgRandomInt);
|
|
||||||
db.LoadGridFromTable('sgCommands', frCommands1.sgCommands);
|
db.LoadRecordArray<TOBSChat>('listChats', frOBS1.listChats);
|
||||||
db.LoadGridFromTable('sgSAFiles', frCommands1.sgSAFiles);
|
db.LoadRecordArray<TOBSNotify>('listNotify', frOBS1.listNotify);
|
||||||
db.LoadGridFromTable('sgTFiles', frCommands1.sgTFiles);
|
db.LoadRecordArray<TOBSKandinsky>('listKandinsky', frOBS1.listKandinsky);
|
||||||
db.LoadGridFromTable('sgAIGen', frCommands1.sgAIGen); }
|
frOBS1.UpdateGridFromArray;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Çàãðóçêà ñïèñêà ãðóïï
|
// Çàãðóçêà ñïèñêà ãðóïï
|
||||||
@@ -420,6 +396,7 @@ var
|
|||||||
frAI1.cbOllama.Visible := True;
|
frAI1.cbOllama.Visible := True;
|
||||||
frAI1.cbOllama.IsChecked := db.ReadSetting(frAI1.cbOllama.Name) = '1';
|
frAI1.cbOllama.IsChecked := db.ReadSetting(frAI1.cbOllama.Name) = '1';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
for I := 0 to frAI1.ComponentCount - 1 do
|
for I := 0 to frAI1.ComponentCount - 1 do
|
||||||
begin
|
begin
|
||||||
@@ -445,8 +422,6 @@ var
|
|||||||
frSettings1.init;
|
frSettings1.init;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Çàãðóçêà ãðèäîâ àâòîìàòè÷åñêèõ äåéñòâèé
|
// Çàãðóçêà ãðèäîâ àâòîìàòè÷åñêèõ äåéñòâèé
|
||||||
procedure LoadAutoActionsGrids;
|
procedure LoadAutoActionsGrids;
|
||||||
begin
|
begin
|
||||||
@@ -461,7 +436,6 @@ begin
|
|||||||
LoadGroupNames;
|
LoadGroupNames;
|
||||||
LoadEncryptedConfig;
|
LoadEncryptedConfig;
|
||||||
|
|
||||||
|
|
||||||
LoadNotifySettings;
|
LoadNotifySettings;
|
||||||
LoadAISettings;
|
LoadAISettings;
|
||||||
LoadAutoActionsGrids;
|
LoadAutoActionsGrids;
|
||||||
|
|||||||
+49
-6
@@ -2,12 +2,59 @@ unit uRecords;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
type
|
||||||
|
TOBSKandinsky = record
|
||||||
|
port: integer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
type
|
||||||
|
TOBSNotify = record
|
||||||
|
Picture: string;
|
||||||
|
Sound: string;
|
||||||
|
|
||||||
|
ColorBlock: string;
|
||||||
|
SolidBorder: integer;
|
||||||
|
Paddings: integer;
|
||||||
|
ColorBorder: integer;
|
||||||
|
ColorBackground: integer;
|
||||||
|
|
||||||
|
HeaderText: string;
|
||||||
|
HeaderColorFont: integer;
|
||||||
|
HeaderSizeFont: integer;
|
||||||
|
HeaderStyleFont: integer;
|
||||||
|
|
||||||
|
MessText: string;
|
||||||
|
MessColorFont: integer;
|
||||||
|
MessSizeFont: integer;
|
||||||
|
MessStyleFont: integer;
|
||||||
|
|
||||||
|
TimeMess: integer;
|
||||||
|
TypeEvent: integer;
|
||||||
|
TypeEdit: string;
|
||||||
|
port: integer;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
type
|
||||||
|
TOBSChat = record
|
||||||
|
ColorBlock: string;
|
||||||
|
ColorBorder: integer;
|
||||||
|
ColorBackground: integer;
|
||||||
|
ColorFont: integer;
|
||||||
|
SolidBorder: integer;
|
||||||
|
Paddings: integer;
|
||||||
|
SizeFont: integer;
|
||||||
|
MaxCountMess: integer;
|
||||||
|
TimeMess: integer;
|
||||||
|
port: integer;
|
||||||
|
StyleFont: integer;
|
||||||
|
end;
|
||||||
|
|
||||||
type
|
type
|
||||||
TRandomCounters = record
|
TRandomCounters = record
|
||||||
rndName: string;
|
rndName: string;
|
||||||
Ot: Integer;
|
Ot: integer;
|
||||||
ToValue: Integer;
|
ToValue: integer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
type
|
type
|
||||||
@@ -16,7 +63,6 @@ type
|
|||||||
R2: string;
|
R2: string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
type
|
type
|
||||||
TConst = record
|
TConst = record
|
||||||
GeneralPath: string;
|
GeneralPath: string;
|
||||||
@@ -398,9 +444,6 @@ type
|
|||||||
DA_URL: string;
|
DA_URL: string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Reference in New Issue
Block a user