unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.Buttons,
Vcl.ExtCtrls,IniFiles,Vcl.Themes,unit2;
type
TForm1 = class(TForm)
Image1: TImage;
BitBtn1: TBitBtn;
RichEdit1: TRichEdit;
ComboBox1: TComboBox;
ListBox1: TListBox;
procedure ComboBoxEx1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
TStyleIniVCL=Record
PathStyleName:String;
NameStyle,TextStyle:String;
BmpPathNameStyle:String;
End;
Procedure LoadIniStyleData;
Function LoadStyleReadIni(TextOkno:String;TextButton1:String;TextMemo:String):Boolean;
var
Form1: TForm1;
STL:Array[1..9] of String;
StyleIniVCL:Array of TStyleIniVCL;
Strsi:String;
StyleManager:TStyleManager;
implementation
uses un2;
{$R *.dfm}
Procedure LoadIniStyleData;
var tyhjk:Integer;
begin
IniStyleData:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'LibxEditFiles\Style\cfgStyle.StyleData');
SetLength(StyleIniVCL,IniStyleData.ReadInteger('Style','MaxStyle',8));
for tyhjk := 0 to IniStyleData.ReadInteger('Style','MaxStyle',8) do
begin
Form1.ComboBox1.Items.Add(IniStyleData.ReadString('Style','Text'+inttostr(tyhjk),''));
StyleIniVCL[tyhjk].PathStyleName:=ExtractFilePath(Application.ExeName)+IniStyleData.ReadString('Style','StylePath'+inttostr(tyhjk),'');
StyleIniVCL[tyhjk].NameStyle:=IniStyleData.ReadString('Style','Name'+inttostr(tyhjk),'');
StyleIniVCL[tyhjk].TextStyle:=IniStyleData.ReadString('Style','Text'+inttostr(tyhjk),'');
StyleIniVCL[tyhjk].BmpPathNameStyle:=ExtractFilePath(Application.ExeName)+IniStyleData.ReadString('Style','BmpStyle'+inttostr(tyhjk),'');
end;
IniStyleData.Free;
Lang:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'LibxEditFiles\Lang\'+Language+'.data');
for tyhjk := 1 to 9 do begin
STL[tyhjk]:=Lang.ReadString('Текст-->Style','STL'+Inttostr(tyhjk),'');
end;
StyleDLG3:=Lang.ReadString('Текст-->Dialog','StyleDLG3','');
Lang.Free;
end;
Function LoadStyleReadIni(TextOkno:String;TextButton1:String;TextMemo:String):Boolean;
begin
LoadIniStyleData;
Form2.ImageList1.GetBitmap(6,Form1.BitBtn1.Glyph);
Form1.Caption:=TextOkno;
Form1.RichEdit1.Lines.Text:=TextMemo;
Form1.BitBtn1.Caption:=TextButton1;
Form1.BitBtn1.ModalResult:=mrOk;
Result:=Form1.ShowModal=mrOk;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form1.Close;
StyleManager.TrySetStyle(form1.ListBox1.Items.Strings[Form1.ListBox1.ItemIndex],True);
StyleManager.Free;
end;
procedure TForm1.ComboBoxEx1Change(Sender: TObject);
var si : TStyleInfo;
i:Integer;
begin
StyleManager:=TStyleManager.Create;
if StyleManager.IsValidStyle(StyleIniVCL[Form1.ComboBox1.ItemIndex].PathStyleName,si) then
begin
Form1.RichEdit1.Clear;
AddColorText(STL[1]+' ',ClBlue,Form1.RichEdit1);
AddColorText(si.Name,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[2]+' ',ClBlue,Form1.RichEdit1);
AddColorText(StyleIniVCL[Form1.ComboBox1.ItemIndex].NameStyle,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[3]+' ',ClBlue,Form1.RichEdit1);
AddColorText(StyleIniVCL[Form1.ComboBox1.ItemIndex].PathStyleName,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[4]+' ',ClBlue,Form1.RichEdit1);
AddColorText(StyleIniVCL[Form1.ComboBox1.ItemIndex].BmpPathNameStyle,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[5]+' ',ClBlue,Form1.RichEdit1);
AddColorText(si.Author,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[6]+' ',ClBlue,Form1.RichEdit1);
AddColorText(si.AuthorEMail,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[7]+' ',ClBlue,Form1.RichEdit1);
AddColorText(si.AuthorURL,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[8]+' ',ClBlue,Form1.RichEdit1);
AddColorText(si.Version,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
AddColorText(STL[4]+' ',ClBlue,Form1.RichEdit1);
AddColorText(StyleIniVCL[Form1.ComboBox1.ItemIndex].TextStyle,clPurple,Form1.RichEdit1);
Form1.RichEdit1.Lines.Add('');
Form1.Image1.Picture.LoadFromFile(StyleIniVCL[Form1.ComboBox1.ItemIndex].BmpPathNameStyle);
if StyleManager.Style[si.Name]=nil then
begin
StyleManager.LoadFromFile(StyleIniVCL[Form1.ComboBox1.ItemIndex].PathStyleName);
ListBox1.Items.Clear;
for i := 0 to Length(StyleManager.StyleNames)-1 do begin
ListBox1.Items.Add(StyleManager.StyleNames[i]);
end;
end;
end else begin
ShowMessage(StyleDLG3);
end;
end;
end.