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

📄 tcheckoutfrmunit.pas

📁 CVS IDE plugin for Borland Delphi this is a good program,i like this kind of practise
💻 PAS
字号:
(* $Id: TCheckoutFrmunit.pas,v 1.3 2002/12/27 16:22:43 turbo Exp $
 *
 * Form for checking out a module (cvs checkout)
 *
 * Copyright 2001 by Thomas Bleier
 * For license details see LICENSE.txt
 *)

unit TCheckoutFrmunit;
{$I BORCVS.inc}
interface
//---------------------------------------------------------------------------
uses
  Classes,
  Controls,
  StdCtrls,
  Forms,
  ComCtrls,
  TCvsBaseFrmunit,
  TStickyOptionsFrameunit,
  TRunCvsFrmunit,
  TCvsrootFrameunit;
//---------------------------------------------------------------------------
type
  TCheckoutFrm = class(TCvsBaseFrm)
    PPageControl: TPageControl;
    PModuleTab: TTabSheet;
    POptionsTab: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    PWorkdirBtn: TButton;
    PModule: TComboBox;
    PWorkdir: TComboBox;
    PCvsrootFrame: TCvsrootFrame;
    PStickyOptionsFrame: TStickyOptionsFrame;
    procedure FormShow(Sender: TObject);
    procedure PWorkdirBtnClick(Sender: TObject);
    procedure POkBtnClick(Sender: TObject);
  private // Anwender-Deklarationen
  protected
    procedure GetDirectories(Dirs: TStrings); override;
    procedure ApplyParameters(runcvs: TRunCvsFrm; InDirectory: string = ''); override;
  public // Anwender-Deklarationen
    constructor create(Owner: TComponent); override;

  end;
//---------------------------------------------------------------------------
var
  CheckoutFrm: TCheckoutFrm;
//---------------------------------------------------------------------------

implementation
uses
  FileCtrl,
  dialogs,
  sysutils,
  SettingsStorage;
{$R *.dfm}

constructor TCheckoutFrm.create(Owner: TComponent);
begin
  inherited create(owner);
end;
//---------------------------------------------------------------------------

procedure TCheckoutFrm.FormShow(Sender: TObject);
begin
  PPageControl.ActivePage := PModuleTab;
  ActiveControl := PModule;
  // load settings
  try
    BEGIN_LOAD_SETTINGS('Checkout');
    LOAD_STRINGS_SETTING('ModuleName', PModule.Items, '');
    LOAD_COMBOLIST_SETTING('WorkDir', PWorkdir, '');
    PStickyOptionsFrame.LoadSettings(reg);
    END_LOAD_SETTINGS;
  except
  end;
  PCvsrootFrame.LoadSettings;
end;
//---------------------------------------------------------------------------

procedure TCheckoutFrm.PWorkdirBtnClick(Sender: TObject);
var
  dir: string;
begin
  dir := PWorkdir.Text;
  if (SelectDirectory('Select checkout folder', '', dir)) then
  begin
    PWorkdir.Text := dir;
  end;
end;
//---------------------------------------------------------------------------

procedure TCheckoutFrm.POkBtnClick(Sender: TObject);
begin
  if (PModule.Text = '') then
  begin
    ShowMessage('You have to enter a module name!');
    PPageControl.ActivePage := PModuleTab;
    ActiveControl := PModule;
    exit;
  end;
  if (PWorkdir.Text = '') then
  begin
    ShowMessage('You have to enter a local folder for checkout!');
    PPageControl.ActivePage := PModuleTab;
    ActiveControl := PWorkdir;
    exit;
  end;
  if (not DirectoryExists(PWorkdir.Text)) then
  begin
    ShowMessage('The specified local folder does not exist!');
    PPageControl.ActivePage := PModuleTab;
    ActiveControl := PWorkdir;
    exit;
  end;
  if (not PCvsrootFrame.IsValid) then
  begin
    ShowMessage('You have to enter the CVSROOT!');
    PPageControl.ActivePage := PModuleTab;
    ActiveControl := PCvsrootFrame;
    exit;
  end;
  if (not PStickyOptionsFrame.IsValid) then
  begin
    ShowMessage('You have to set the sticky options correctly!');
    PPageControl.ActivePage := POptionsTab;
    ActiveControl := PStickyOptionsFrame;
    exit;
  end;
  // handle MRU lists
  ADD_COMBO_MRU_ENTRY_MAX(PModule, DEFAULT_MRU_ENTRIES);
  ADD_COMBO_MRU_ENTRY_MAX(PWorkdir, DEFAULT_MRU_ENTRIES);
//  // save settings
  BEGIN_SAVE_SETTINGS('Checkout');
  SAVE_STRINGS_SETTING('ModuleName', PModule.Items);
  SAVE_COMBOLIST_SETTING('WorkDir', PWorkdir);
  PStickyOptionsFrame.SaveSettings(reg);
  END_SAVE_SETTINGS;
  PCvsrootFrame.SaveSettings;
  ModalResult := mrOk;
end;
//---------------------------------------------------------------------------

procedure TCheckoutFrm.ApplyParameters(runcvs: TRunCvsFrm; InDirectory: string = '');
begin
  runcvs.Command := CVSCMD_CHECKOUT;
  runcvs.Arguments.Add(PModule.Text);
  runcvs.WorkingDirectory := PWorkdir.Text;
  PCvsrootFrame.ApplyParameters(runcvs);
  PStickyOptionsFrame.ApplyParameters(runcvs);
end;
//---------------------------------------------------------------------------

procedure TCheckoutFrm.GetDirectories(Dirs: TStrings);
begin

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -