1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- unit Frm_CompressionRatio;
- interface
- uses
- Winapi.Windows, Winapi.Messages,
- System.SysUtils,
- System.Variants, System.Classes,
- Vcl.Graphics, Vcl.Controls, Vcl.Forms,
- Vcl.Dialogs,
- Vcl.StdCtrls,
- GLS.FileVfsPAK;
- type
- TFrmCompressionRatio = class(TForm)
- BtnForOk: TButton;
- BtnForCancel: TButton;
- CbForRatio: TComboBox;
- procedure FormCreate(Sender: TObject);
- procedure BtnForCancelClick(Sender: TObject);
- procedure BtnForOkClick(Sender: TObject);
- private
-
- FCompressionRatio: TZCompressedMode;
- FDefaultCbrMode: TZCompressedMode;
- procedure SetDefaultCbrMode(const Value: TZCompressedMode);
- public
-
- property CompressionRatio: TZCompressedMode read FCompressionRatio
- write FCompressionRatio;
- property DefaultCbrMode: TZCompressedMode read FDefaultCbrMode
- write SetDefaultCbrMode;
- end;
- var
- FrmCompressionRatio: TFrmCompressionRatio;
- function SelectCompressionRatio(const ADefaultCbrMode: TZCompressedMode = Auto): TZCompressedMode;
- implementation
- uses
- TypInfo;
- {$R *.dfm}
- // SelectCompressionRatio
- //
- function SelectCompressionRatio(const ADefaultCbrMode: TZCompressedMode = Auto): TZCompressedMode;
- begin
- if not Assigned(FrmCompressionRatio) then
- FrmCompressionRatio.Create(nil);
- FrmCompressionRatio.DefaultCbrMode := ADefaultCbrMode;
- FrmCompressionRatio.ShowModal;
- Result := FrmCompressionRatio.CompressionRatio;
- end;
- // TFrmCompressionRatio.FormCreate
- //
- procedure TFrmCompressionRatio.FormCreate(Sender: TObject);
- var
- I: TZCompressedMode;
- begin
- FCompressionRatio := Auto;
- FDefaultCbrMode := Auto;
- for I := Low(TZCompressedMode) to High(TZCompressedMode) do
- CbForRatio.Items.Add(GetEnumName(TypeInfo(TZCompressedMode), Ord(I)));
- end;
- procedure TFrmCompressionRatio.SetDefaultCbrMode(
- const Value: TZCompressedMode);
- begin
- FDefaultCbrMode := Value;
- CbForRatio.ItemIndex := ord(DefaultCbrMode);
- end;
- // TFrmCompressionRatio.BtnForCancelClick
- //
- procedure TFrmCompressionRatio.BtnForCancelClick(Sender: TObject);
- begin
- FCompressionRatio := None;
- end;
- // TFrmCompressionRatio.BtnForOkClick
- //
- procedure TFrmCompressionRatio.BtnForOkClick(Sender: TObject);
- begin
- FCompressionRatio := TZCompressedMode(CbForRatio.ItemIndex);
- end;
- end.
|