home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 21 / IOPROG_21.ISO / SOFT / DFMTOOLS.ZIP / Delphi_DFM / Source / fTranslateDFM.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-11-09  |  5.0 KB  |  140 lines

  1. unit fTranslateDFM;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   fMDIChild, cShape, Buttons, StdCtrls, ExtCtrls, cdcDelphiTools;
  8.  
  9. type
  10.   TFormTranslate = class(TChild)
  11.     Panel1: TPanel;
  12.     Label1: TLabel;
  13.     RootEdit: TEdit;
  14.     SBRoot: TSpeedButton;
  15.     Label2: TLabel;
  16.     TargetEdit: TEdit;
  17.     SBTarget: TSpeedButton;
  18.     TargetCheckBox: TCheckBox;
  19.     RecurseCheckBox: TCheckBox;
  20.     Memo: TMemo;
  21.     OpenDialog: TOpenDialog;
  22.     CounterLabel: TLabel;
  23.     CurrentLabel: TLabel;
  24.     TestCheckBox: TCheckBox;
  25.     SkipCheckBox: TCheckBox;
  26.     SBTranslate: TSpeedButton;
  27.     TranslateDFM: TTranslateDFM;
  28.     DeleteBakChekBox: TCheckBox;
  29.     DeleteDCUChekBox: TCheckBox;
  30.     procedure SBRootClick(Sender: TObject);
  31.     procedure SBTargetClick(Sender: TObject);
  32.     procedure SBTranslateClick(Sender: TObject);
  33.     procedure TranslateDFMMyEventPrepare(Sender: TObject; const Path,FileName: String; const Count: Integer);
  34.     procedure TranslateDFMMyEventOK(Sender: TObject; const Path,FileName: String; const Count: Integer);
  35.     procedure TranslateDFMMyEventError(Sender: TObject; const Path,FileName: String; const Count: Integer; var Cancel: Boolean);
  36.     procedure TranslateDFMMyEventStart(Sender: TObject; const Path,FileName: String; const Count: Integer);
  37.     procedure TranslateDFMMyEventDone(Sender: TObject; const Titre,Caption: String; const Count: Integer);
  38.   private
  39.     { Private declarations }
  40.   public
  41.     { Public declarations }
  42.   end;
  43.  
  44. implementation
  45.  
  46. Uses FileCtrl;
  47.  
  48. {$R *.DFM}
  49.  
  50. //-----------------------------------------------------------------------------}
  51. procedure TFormTranslate.SBRootClick(Sender: TObject);
  52. var s:String;
  53. begin
  54. s:=RootEdit.Text;
  55. if FileCtrl.SelectDirectory(s ,[sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
  56.    RootEdit.Text:=s;
  57. end;
  58.  
  59. //-----------------------------------------------------------------------------}
  60. procedure TFormTranslate.SBTargetClick(Sender: TObject);
  61. var s:String;
  62. begin
  63. s:=TargetEdit.Text;
  64. if FileCtrl.SelectDirectory(s ,[sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
  65.    TargetEdit.Text:=s;
  66. end;
  67.  
  68. //------------------------------------------------------------------------------
  69. procedure TFormTranslate.TranslateDFMMyEventStart(Sender: TObject;const Path, FileName: String; const Count: Integer);
  70. begin
  71.   inherited;
  72.   Assert(Self=(Sender as TTranslateDFM).Owner);
  73.   Self.Memo.Clear;
  74.   Self.Memo.Lines.Add(format('Start at %s',[DateTimeToStr(now)]));
  75. end;
  76.  
  77. //------------------------------------------------------------------------------
  78. procedure TFormTranslate.TranslateDFMMyEventPrepare(Sender: TObject;Const Path, FileName: String; const Count: Integer);
  79. Begin
  80.   inherited;
  81.   Assert(Self=(Sender as TTranslateDFM).Owner);
  82.   Self.CounterLabel.Caption:=IntToStr(Count);
  83.   Self.CurrentLabel.Caption:=ExtractFileName(FileName);
  84. end;
  85.  
  86. //------------------------------------------------------------------------------
  87. procedure TFormTranslate.TranslateDFMMyEventOK(Sender: TObject; const Path,FileName: String; const Count: Integer);
  88. begin
  89.   inherited;
  90.   Assert(Self=(Sender as TTranslateDFM).Owner);
  91.   Self.Memo.Lines.Add(format('Processed:%s%s',[Path,FileName]));
  92. end;
  93.  
  94. //------------------------------------------------------------------------------
  95. procedure TFormTranslate.TranslateDFMMyEventError(Sender: TObject;const Path, FileName: String; const Count: Integer; var Cancel: Boolean);
  96. begin
  97.   inherited;
  98.   Assert(Self=(Sender as TTranslateDFM).Owner);
  99.   Self.Memo.Lines.Add(format('Error in :%s%s',[Path,FileName]));
  100. end;
  101.  
  102. //------------------------------------------------------------------------------
  103. procedure TFormTranslate.TranslateDFMMyEventDone(Sender: TObject;const Titre, Caption: String; const Count: Integer);
  104. begin
  105.   inherited;
  106.   Assert(Self=(Sender as TTranslateDFM).Owner);
  107.   Self.Memo.Lines.Add(format('Done  at %s : %d Found',[DateTimeToStr(now),Count]));
  108.   Self.SBTranslate.Caption:='Translate';
  109.   Self.SBTranslate.Tag:=0;
  110. end;
  111.  
  112. //------------------------------------------------------------------------------
  113. procedure TFormTranslate.SBTranslateClick(Sender: TObject);
  114. begin
  115.   inherited;
  116.   Case Self.SBTranslate.Tag of
  117.      0   :Begin //Starting;
  118.           Self.SBTranslate.Tag:=1;
  119.           Self.SBTranslate.Caption:='Stop';
  120.           Self.TranslateDFM.Root:=RootEdit.Text;
  121.           Self.TranslateDFM.Target:=TargetEdit.Text;
  122.           Self.TranslateDFM.SkipError:=SkipCheckBox.Checked;
  123.           Self.TranslateDFM.UseTargetFolder:=TargetCheckBox.Checked;
  124.           Self.TranslateDFM.DeleteBakFiles:=DeleteBakChekBox.Checked;
  125.           Self.TranslateDFM.DeleteDCUFiles:=DeleteDCUChekBox.Checked;
  126.           Self.TranslateDFM.Recurse:=RecurseCheckBox.Checked;
  127.           Self.TranslateDFM.OnlyTest:=TestCheckBox.Checked;
  128.           Self.TranslateDFM.Execute
  129.           End;
  130.      999 :Begin //Stopping
  131.           Beep;
  132.           End;
  133.      else Begin
  134.           Self.SBTranslate.Tag:=999;
  135.           Self.TranslateDFM.Stop
  136.      end  end;
  137. end;
  138.  
  139. end.
  140.