реструктуризация файлов, добавление вебчатов
This commit is contained in:
@@ -0,0 +1,312 @@
|
||||
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, uRecords;
|
||||
|
||||
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);
|
||||
procedure btnCreateEventClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure cbEventsTypeChange(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
function GetColorFromColorPanel(aColor: TAlphaColor): string;
|
||||
public
|
||||
{ Public declarations }
|
||||
isEdit: boolean;
|
||||
oldPort: integer;
|
||||
procedure setRecord(aRec: TOBSNotify);
|
||||
end;
|
||||
|
||||
var
|
||||
fCreateNotify: TfCreateNotify;
|
||||
|
||||
implementation
|
||||
|
||||
uses uGeneral;
|
||||
|
||||
{$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.setRecord(aRec: TOBSNotify);
|
||||
var
|
||||
SavedColor: TAlphaColor;
|
||||
begin
|
||||
with aRec do
|
||||
begin
|
||||
fCreateNotify.edtESImage.Text := Picture;
|
||||
fCreateNotify.edtESSound.Text := Sound;
|
||||
|
||||
if TryStrToUInt('$' + ColorBlock, Cardinal(SavedColor)) then
|
||||
fCreateNotify.frColorSettings1.cpStyleBlockColor.Color := SavedColor
|
||||
else
|
||||
fCreateNotify.frColorSettings1.cpStyleBlockColor.Color :=
|
||||
TAlphaColorRec.Black;
|
||||
|
||||
fCreateNotify.frColorSettings1.sbStyleBlockBorderSize.Value := SolidBorder;
|
||||
fCreateNotify.frColorSettings1.sbStyleBlockPadding.Value := Paddings;
|
||||
fCreateNotify.frColorSettings1.ccbStyleBorderColor.ItemIndex := ColorBorder;
|
||||
fCreateNotify.frColorSettings1.ccbBColor.ItemIndex := ColorBackground;
|
||||
|
||||
fCreateNotify.edtESTitle.Text := HeaderText;
|
||||
fCreateNotify.frFontSettings2.ccbFontColor.ItemIndex := HeaderColorFont;
|
||||
fCreateNotify.frFontSettings2.sbFontSize.Value := HeaderSizeFont;
|
||||
fCreateNotify.frFontSettings2.cbFontStyleDefault.ItemIndex :=
|
||||
HeaderStyleFont;
|
||||
|
||||
fCreateNotify.edtESMessage.Text := MessText;
|
||||
fCreateNotify.frFontSettings3.ccbFontColor.ItemIndex := MessColorFont;
|
||||
fCreateNotify.frFontSettings3.sbFontSize.Value := MessSizeFont;
|
||||
fCreateNotify.frFontSettings3.cbFontStyleDefault.ItemIndex := MessStyleFont;
|
||||
|
||||
fCreateNotify.sbTimeMsg.Value := TimeMess;
|
||||
fCreateNotify.cbEventsType.ItemIndex := TypeEvent;
|
||||
fCreateNotify.edtIF.Text := TypeEdit;
|
||||
fCreateNotify.sbWebServerPort.Value := port;
|
||||
oldPort:=port;
|
||||
end;
|
||||
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;
|
||||
if isEdit then
|
||||
TTW_Bot.frOBS1.EdtNotify(OBSNotify, oldPort)
|
||||
else
|
||||
TTW_Bot.frOBS1.AddNotify(OBSNotify);
|
||||
close;
|
||||
end;
|
||||
|
||||
procedure TfCreateNotify.cbEventsTypeChange(Sender: TObject);
|
||||
begin
|
||||
Label3.Visible := cbEventsType.ItemIndex = 4;
|
||||
edtIF.Visible := cbEventsType.ItemIndex = 4;
|
||||
end;
|
||||
|
||||
procedure TfCreateNotify.FormCreate(Sender: TObject);
|
||||
var
|
||||
i: integer;
|
||||
SavedColor: TAlphaColor;
|
||||
c: TComponent;
|
||||
ColorStr: string;
|
||||
begin
|
||||
isEdit := false;
|
||||
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
|
||||
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);
|
||||
|
||||
|
||||
end;
|
||||
until FindNext(SearchRec) <> 0;
|
||||
ChDir('..');
|
||||
|
||||
end;
|
||||
|
||||
procedure TfCreateNotify.FormShow(Sender: TObject);
|
||||
begin
|
||||
if isEdit then
|
||||
begin
|
||||
btnCreateEvent.Text := 'Èçìåíèòü îïîâåùåíèå';
|
||||
end
|
||||
else
|
||||
begin
|
||||
btnCreateEvent.Text := 'Ñîçäàòü îïîâåùåíèå';
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user