summaryrefslogtreecommitdiff
path: root/docview/src/docdump/readcontrols.pas
diff options
context:
space:
mode:
Diffstat (limited to 'docview/src/docdump/readcontrols.pas')
-rw-r--r--docview/src/docdump/readcontrols.pas44
1 files changed, 44 insertions, 0 deletions
diff --git a/docview/src/docdump/readcontrols.pas b/docview/src/docdump/readcontrols.pas
new file mode 100644
index 00000000..395a36db
--- /dev/null
+++ b/docview/src/docdump/readcontrols.pas
@@ -0,0 +1,44 @@
+{
+ Dump the controls data
+}
+unit readcontrols;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, filestreamhelper;
+
+procedure ProcessControls(AIn: TFileStream; AOut: TFileTextStream);
+
+
+implementation
+
+uses
+ readheader, IPFFileFormatUnit;
+
+procedure ProcessControls(AIn: TFileStream; AOut: TFileTextStream);
+var
+ ctrls: TPanelControls;
+ i: integer;
+begin
+ AOut.WriteLn('');
+ AOut.WriteLn('Panel Controls (Buttons)');
+ if eHdr.CtrlOffset > 0 then
+ begin
+ AIn.Seek(eHdr.CtrlOffset, soBeginning);
+ AIn.Read(ctrls, SizeOf(TControlDef));
+ AOut.WriteLn(Format(' PanelControls.ControlCount: %4.4x (%0:d)', [ctrls.ControlCount]));
+ AOut.WriteLn(Format(' PanelControls.GroupCount: %4.4x (%0:d)', [ctrls.GroupCount]));
+ AOut.WriteLn(Format(' PanelControls.GroupIndex: %4.4x (%0:d)', [ctrls.GroupIndex]));
+ AOut.WriteLn(Format(' PanelControls.Reserved: %4.4x (%0:d)', [ctrls.Reserved]));
+ AOut.WriteLn(' *****');
+ AOut.WriteLn(' <todo - process CountrolCount and GroupCount data>');
+ end
+ else
+ AOut.WriteLn(' No panel control found');
+end;
+
+end.
+