1 | UNIT Unit8_binedit;
|
---|
2 | INTERFACE
|
---|
3 | USES
|
---|
4 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
---|
5 | Dialogs, Wrapgrid, StdCtrls, Grids, StrUtils, MPHexEditor, Unit3_data, Unit2_functions,
|
---|
6 | ExtCtrls;
|
---|
7 |
|
---|
8 | TYPE
|
---|
9 | TForm8 = Class(TForm)
|
---|
10 | list: TListBox;
|
---|
11 | hex: TMPHexEditor;
|
---|
12 | Splitter1: TSplitter;
|
---|
13 | PROCEDURE listClick(Sender: TObject);
|
---|
14 | PROCEDURE FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
---|
15 | PROCEDURE FormCreate(Sender: TObject);
|
---|
16 | PROCEDURE Recreatelist;
|
---|
17 | PRIVATE
|
---|
18 | PUBLIC
|
---|
19 | END;
|
---|
20 |
|
---|
21 | VAR
|
---|
22 | Form8: TForm8;
|
---|
23 |
|
---|
24 | IMPLEMENTATION
|
---|
25 | {$R *.dfm}
|
---|
26 | VAR
|
---|
27 | fileid:LongWord;
|
---|
28 |
|
---|
29 | PROCEDURE TForm8.Recreatelist;
|
---|
30 | VAR
|
---|
31 | i:LongWord;
|
---|
32 | BEGIN
|
---|
33 | Form8.list.Items.Clear;
|
---|
34 | FOR i:=0 TO dat_header.Files-1 DO BEGIN
|
---|
35 | IF (dat_files[i].FileType AND $02)=0 THEN
|
---|
36 | Form8.list.Items.Add(dat_files[i].FileName);
|
---|
37 | END;
|
---|
38 | END;
|
---|
39 |
|
---|
40 | PROCEDURE TForm8.FormCreate(Sender: TObject);
|
---|
41 | BEGIN
|
---|
42 | Form8.Caption:='';
|
---|
43 | fileid:=0;
|
---|
44 | END;
|
---|
45 |
|
---|
46 | PROCEDURE TForm8.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
---|
47 | BEGIN
|
---|
48 | CanClose:=False;
|
---|
49 | Form8.Visible:=False;
|
---|
50 | END;
|
---|
51 |
|
---|
52 | PROCEDURE TForm8.listClick(Sender: TObject);
|
---|
53 | VAR
|
---|
54 | mem:TMemoryStream;
|
---|
55 | data:Tdata;
|
---|
56 | BEGIN
|
---|
57 | IF hex.Modified THEN BEGIN
|
---|
58 | IF MessageBox(Form8.Handle,PChar('Save changes to file '+dat_files[fileid].FileName+'?'),PChar('Data changed...'),MB_YESNO)=IDYES THEN BEGIN
|
---|
59 | mem:=TMemoryStream.Create;
|
---|
60 | hex.SaveToStream(mem);
|
---|
61 | mem.Seek(0,soFromBeginning);
|
---|
62 | SetLength(data,mem.Size);
|
---|
63 | mem.Read(data[0],mem.Size);
|
---|
64 | mem.Free;
|
---|
65 | SaveDatFile(fileid,data);
|
---|
66 | ShowMessage('Changes saved...');
|
---|
67 | END;
|
---|
68 | END;
|
---|
69 | fileid:=StrToInt(MidStr(list.Items.Strings[list.ItemIndex],1,5));
|
---|
70 | data:=LoadDatFile(fileid);
|
---|
71 | mem:=TMemoryStream.Create;
|
---|
72 | mem.Write(data[0],Length(data));
|
---|
73 | hex.LoadFromStream(mem);
|
---|
74 | mem.Free;
|
---|
75 | END;
|
---|
76 |
|
---|
77 | END.
|
---|