الموضوع السابق   الموضوع التالي 

بيانات نسخة ملف

Procedure: GetFileVersionData

الغرض
الحصول على بيانات النسخة لملف (خاصة الملفات التنفيذية - EXE).


الصيغة

procedure GetFileVersionData(APath, Locale_CodePage: string; VersionData: TStrings);


الوسائط (Parameters)

APath المسار الكامل للملف.
Locale_CodePage نص (string) يتكون من جزأين متلاصقين: معرف اللغة (LocalID) و صفحة الشفرة (CodePage) للغة المحددة للملف.
أمثلة:
    '040904E4' الإنجليزية.
    '040104E8' العربية.
VersionData كائن من النوع TStrings حيث ستخزن البيانات بصيغة Key=Value، حيث Key اسم خاصية من خصائص النسخة كما هو مبين فيما بعد، و Value هي قيمة تلك الخاصية.

الشرح
يقوم هذا الإجراء بالوصول إلى بيانات النسخة للملف التنفيذي و تخزينها في البارامتر VersionData، و البيانات (Keys) التي يتم الوصول إليها هي:

لاحظ أن هذه البيانات هي البيانات التي تظهر في صفحة الإصدار (Version) في نافذة خصائص الملف (انقر على الملف بالزر الأيمن و اختر الأمر خصائص - Properties).

بعد تعبئة البيانات في البارامتر VersionData يمكن استعمال مناهج الكائن TStrings للحصول على البيانات، كما في المثال التالي:

var
    VD: TStringList;
begin
    VD := TStringList.Create();
    GetFileVersionData('C:\Windows\Notepad.exe', '040904E4', VD);
    if VD.Count > 0 then begin
        Edit1.Text := VD.Values['CompanyName'];
        Edit2.Text := VD.Values['FileVersion'];
    end;
    VD.Free;

يمكنك بالطبع تمرير الخصائص من النوع TStrings لهذا الإجراء لتعبئة أحد المكونات (مثل Memo أو ListBox) بشكل مباشر، مثلاً:

GetFileVersionData(Application.ExeName, '040904E4', List1.Items);

أو

GetFileVersionData(Application.ExeName, '040904E4', Memo1.Lines);

ملاحظة مهمة
الإجراء GetFileVersionData يقوم بحذف أية بنود موجودة سابقاً في البارامتر VersionData.


 أعلى الصفحة
 الموضوع السابق   الموضوع التالي