-
Notifications
You must be signed in to change notification settings - Fork 20
/
LogViewer.RawData.View.pas
87 lines (70 loc) · 1.81 KB
/
LogViewer.RawData.View.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{
Copyright (C) 2013-2022 Tim Sinaeve [email protected]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
}
unit LogViewer.RawData.View;
interface
uses
Winapi.Windows, Winapi.Messages,
System.SysUtils, System.Variants, System.Classes, System.Actions,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Clipbrd, Vcl.Menus,
Vcl.ActnList,
kcontrols, khexeditor;
type
TfrmRawDataView = class(TForm)
heMain : TKHexEditor;
ppmMain : TPopupMenu;
mniCopy : TMenuItem;
aclMain : TActionList;
actCopy : TAction;
procedure actCopyExecute(Sender: TObject);
public
procedure Clear;
procedure LoadFromStream(AStream: TStream);
end;
implementation
{$R *.dfm}
uses
Spring;
{$REGION 'action handlers'}
procedure TfrmRawDataView.actCopyExecute(Sender: TObject);
var
SS : TStringStream;
begin
SS := TStringStream.Create;
try
heMain.SaveToStream(SS);
Clipboard.AsText := SS.DataString;
finally
SS.Free;
end;
end;
{$ENDREGION}
{$REGION 'public methods'}
procedure TfrmRawDataView.Clear;
begin
heMain.Clear;
end;
procedure TfrmRawDataView.LoadFromStream(AStream: TStream);
begin
if Assigned(AStream) then
begin
Guard.CheckNotNull(AStream, 'AStream');
AStream.Position := 0;
heMain.LoadFromStream(AStream);
end
else
begin
Clear;
end;
end;
{$ENDREGION}
end.