كيفية الحصول على بنية وحدة النمط بواسطة Toolsapi في Delphi؟
سؤال
أرغب في الحصول على معلومات بنية الوحدة النمطية (وحدة Pascal) بواسطة Toolsapi. تماما مثل عرض هيكل IDE.
الفئات والسجلات والواجهات والمتغيرات/الثوابت ، إلخ ، المعلمات ، إلخ.
هل هناك بالفعل طريقة سهلة وفعالة للحصول على هذه البيانات الأولية؟
المحلول
ربما باستخدام محلل ليست فكرة سيئة للغاية؟
نصائح أخرى
AFAIK لا توجد طريقة للاستعلام عن معلومات منظمة خاصة لملف معين.
ما يمكنك فعله هو الوصول إلى المعلومات في جزء الهيكل. بهذه الطريقة تتطلب أن يكون الملف هو الوحدة النشطة (يمكن تحقيقها بواسطة OTA) ، ويعتمد الإخراج على إعدادات جزء الهيكل (أدوات | خيارات ...> خيارات البيئة | المستكشف) وإذا كانت العقدة هي حقل ، أ الإجراء أو أي شيء يجب تحديده على فهرس الصورة ، الوالد ...
هذا الرمز يمشي من خلال جزء الهيكل.
procedure StructureViewToSL(ASL: TStringList);
procedure TreeToSL(ANode: IOTAStructureNode; ASL: TStringList; const APrefix: string);
var
I: Integer;
begin
ASL.Add(APrefix + ANode.Caption);
for I := 0 to ANode.ChildCount - 1 do
TreeToSL(ANode.Child[I], ASL, APrefix + ' ');
end;
var
StructureView: IOTAStructureView;
StructureContext: IOTAStructureContext;
Node: IOTAStructureNode;
I: Integer;
begin
StructureView := BorlandIDEServices as IOTAStructureView;
StructureContext := StructureView.GetStructureContext;
for I := 0 to StructureContext.RootNodeCount - 1 do
begin
Node := StructureContext.GetRootStructureNode(I);
TreeToSL(Node, ASL, '');
end;
end;
لا تنتمي إلى StackOverflow