[21] | 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.
|
---|