1 |
UNIT Unit11_extractor; |
2 |
INTERFACE |
3 |
USES |
4 |
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
5 |
Dialogs, StdCtrls, ExtCtrls, StrUtils, ComCtrls; |
6 |
TYPE |
7 |
TForm11 = Class(TForm) |
8 |
group_select: TGroupBox; |
9 |
panel_extension: TPanel; |
10 |
combo_extension: TComboBox; |
11 |
list: TListBox; |
12 |
group_extract: TGroupBox; |
13 |
group_singlefiles: TGroupBox; |
14 |
btn_sel_dat: TButton; |
15 |
btn_sel_datraw: TButton; |
16 |
btn_sel_datraw_convert: TButton; |
17 |
btn_all_dat: TButton; |
18 |
btn_all_datraw: TButton; |
19 |
btn_all_datraw_convert: TButton; |
20 |
group_onefile: TGroupBox; |
21 |
btn_sel_files_toone: TButton; |
22 |
btn_all_files_toone: TButton; |
23 |
group_progress: TGroupBox; |
24 |
progress: TProgressBar; |
25 |
Label1: TLabel; |
26 |
Label2: TLabel; |
27 |
PROCEDURE FormCreate(Sender: TObject); |
28 |
PROCEDURE FormActivate(Sender: TObject); |
29 |
PROCEDURE FormClose(Sender: TObject; var Action: TCloseAction); |
30 |
PROCEDURE FormResize(Sender: TObject); |
31 |
PROCEDURE combo_extensionClick(Sender: TObject); |
32 |
PROCEDURE panel_extensionResize(Sender: TObject); |
33 |
PROCEDURE Extract(Sender: TObject); |
34 |
PRIVATE |
35 |
PUBLIC |
36 |
PROCEDURE Recreatelist; |
37 |
END; |
38 |
|
39 |
VAR |
40 |
Form11: TForm11; |
41 |
|
42 |
IMPLEMENTATION |
43 |
{$R *.dfm} |
44 |
USES Unit1_main, Unit2_functions, Unit3_data; |
45 |
|
46 |
PROCEDURE TForm11.Recreatelist; |
47 |
VAR |
48 |
i:LongWord; |
49 |
BEGIN |
50 |
combo_extension.Items.Clear; |
51 |
combo_extension.Items.Add('_All files_ ('+IntToStr(dat_header.Files)+')'); |
52 |
FOR i:=0 TO dat_header.Extensions-1 DO BEGIN |
53 |
WITH dat_extensionsmap[i] DO BEGIN |
54 |
combo_extension.Items.Add( |
55 |
Extension[3]+Extension[2]+Extension[1]+Extension[0]+' ('+ |
56 |
IntToStr(ExtCount)+')'); |
57 |
END; |
58 |
END; |
59 |
combo_extension.ItemIndex:=0; |
60 |
combo_extensionClick(Self); |
61 |
END; |
62 |
|
63 |
PROCEDURE TForm11.panel_extensionResize(Sender: TObject); |
64 |
BEGIN |
65 |
combo_extension.Width:=panel_extension.Width-5; |
66 |
END; |
67 |
|
68 |
PROCEDURE TForm11.combo_extensionClick(Sender: TObject); |
69 |
VAR |
70 |
Extension:String[4]; |
71 |
i:LongWord; |
72 |
BEGIN |
73 |
Extension:=MidStr(combo_extension.Items.Strings[combo_extension.ItemIndex],1,4); |
74 |
list.Items.Clear; |
75 |
IF Extension='_All' THEN BEGIN |
76 |
FOR i:=0 TO dat_header.Files-1 DO |
77 |
IF (dat_files[i].FileType AND $02)=0 THEN |
78 |
list.Items.Add(dat_files[i].FileName); |
79 |
END ELSE BEGIN |
80 |
FOR i:=0 TO dat_header.Files-1 DO |
81 |
IF dat_files[i].Extension=Extension THEN |
82 |
IF (dat_files[i].FileType AND $02)=0 THEN |
83 |
list.Items.Add(dat_files[i].FileName); |
84 |
END; |
85 |
END; |
86 |
|
87 |
PROCEDURE TForm11.FormResize(Sender: TObject); |
88 |
BEGIN |
89 |
IF Self.Width>=450 THEN BEGIN |
90 |
END ELSE Self.Width:=450; |
91 |
IF Self.Height>=400 THEN BEGIN |
92 |
group_progress.Height:=group_extract.Height-293; |
93 |
END ELSE Self.Height:=400; |
94 |
END; |
95 |
|
96 |
PROCEDURE TForm11.FormClose(Sender: TObject; var Action: TCloseAction); |
97 |
BEGIN |
98 |
Action:=caFree; |
99 |
Form1.close_window(Self.Name); |
100 |
END; |
101 |
|
102 |
PROCEDURE TForm11.FormActivate(Sender: TObject); |
103 |
BEGIN |
104 |
Form1.SetActiveWindow(Self.Name); |
105 |
END; |
106 |
|
107 |
PROCEDURE TForm11.FormCreate(Sender: TObject); |
108 |
BEGIN |
109 |
btn_sel_dat.Caption:= 'Selected files'+CrLf+'(dat contents only)'; |
110 |
btn_sel_datraw.Caption:= 'Selected files'+CrLf+'(dat+raw contents)'; |
111 |
btn_sel_datraw_convert.Caption:='Selected files'+CrLf+'(dat+raw contents)'+CrLf+'(with convert if possible)'; |
112 |
btn_all_dat.Caption:= 'All files in list'+CrLf+'(dat contents only)'; |
113 |
btn_all_datraw.Caption:= 'All files in list'+CrLf+'(dat+raw contents)'; |
114 |
btn_all_datraw_convert.Caption:='All files in list'+CrLf+'(dat+raw contents)'+CrLf+'(with convert if possible)'; |
115 |
btn_sel_files_toone.Caption:= 'Selected files'+CrLf+'(dat contents only)'; |
116 |
btn_all_files_toone.Caption:= 'All files in list'+CrLf+'(dat contents only)'; |
117 |
END; |
118 |
|
119 |
PROCEDURE TForm11.Extract(Sender: TObject); |
120 |
VAR |
121 |
sel_only:Boolean; |
122 |
dat_only:Boolean; |
123 |
convert:Boolean; |
124 |
one_file:Boolean; |
125 |
files:LongWord; |
126 |
i:LongWord; |
127 |
fs:TFileStream; |
128 |
ms:TMemoryStream; |
129 |
BEGIN |
130 |
sel_only:=Pos('sel',TButton(Sender).Name)>0; |
131 |
dat_only:=NOT (Pos('datraw',TButton(Sender).Name)>0); |
132 |
convert:=Pos('convert',TButton(Sender).Name)>0; |
133 |
one_file:=Pos('toone',TButton(Sender).Name)>0; |
134 |
|
135 |
IF sel_only THEN BEGIN |
136 |
files:=list.SelCount; |
137 |
FOR i:=0 TO list.Count-1 DO BEGIN |
138 |
IF list.Selected[i] THEN BEGIN |
139 |
BEGIN END; |
140 |
END; |
141 |
END; |
142 |
END ELSE BEGIN |
143 |
END; |
144 |
END; |
145 |
|
146 |
END. |