PackForm.pas
资源名称:delphi.rar [点击查看]
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:
Delphi控件源码
开发平台:
Delphi
- unit PackForm;
- interface
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, ComCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Mask,
- DBCtrls;
- type
- TForm1 = class(TForm)
- TreeView1: TTreeView;
- DBEdit1: TDBEdit;
- Chart1: TChart;
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.DFM}
- var
- ContNode, ReqNode: TTreeNode;
- procedure ShowInfoProc (const Name: string;
- NameType: TNameType; Flags: Byte; Param: Pointer);
- var
- FlagStr: string;
- begin
- FlagStr := ' ';
- if Flags and ufMainUnit <> 0 then
- FlagStr := FlagStr + 'Main Unit ';
- if Flags and ufPackageUnit <> 0 then
- FlagStr := FlagStr + 'Package Unit ';
- if Flags and ufWeakUnit <> 0 then
- FlagStr := FlagStr + 'Weak Unit ';
- if FlagStr <> ' ' then
- FlagStr := ' (' + FlagStr + ')';
- with Form1.TreeView1.Items do
- case NameType of
- ntContainsUnit:
- AddChild (ContNode, Name + FlagStr);
- ntRequiresPackage:
- AddChild (ReqNode, Name);
- end;
- end;
- function ForEachModule (HInstance: Longint;
- Data: Pointer): Boolean;
- var
- Flags: Integer;
- ModuleName, ModuleDesc: string;
- ModuleNode: TTreeNode;
- begin
- with Form1.TreeView1.Items do
- begin
- SetLength (ModuleName, 200);
- GetModuleFileName (HInstance,
- PChar (ModuleName), Length (ModuleName));
- ModuleName := PChar (ModuleName); // fixup
- ModuleNode := Add (nil, ModuleName);
- // get description and add fixed nodes
- ModuleDesc := GetPackageDescription (PChar (ModuleName));
- ContNode := AddChild (ModuleNode, 'Contains');
- ReqNode := AddChild (ModuleNode, 'Requires');
- // add information if the module is a package
- GetPackageInfo (HInstance, nil,
- Flags, ShowInfoProc);
- if ModuleDesc <> '' then
- begin
- AddChild (ModuleNode,
- 'Description: ' + ModuleDesc);
- if Flags and pfDesignOnly = pfDesignOnly then
- AddChild (ModuleNode, 'Design Only');
- if Flags and pfRunOnly = pfRunOnly then
- AddChild (ModuleNode, 'Run Only');
- end;
- end;
- Result := True;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- EnumModules(ForEachModule, nil);
- end;
- end.