مشاهدة النسخة كاملة : دالة GetPrivateProfileString
yanes
25-07-2010, 12:21 AM
بسم الله الرحمن الرحيم
سوالي حول الدالة GetPrivateProfileString
المشكلة تحديدا في تحويل البارامترات من String الى PChar وحقيقة اتعبني
هذا الموصوع حتى مع دوال اخري
انا لم افهم تحديدا ضفات هذا النوع Type
ربما سبب هذا هو عدم فهمي للمؤشرات
لاسهل عليكم انا مبرمج VB6 & vb.net و لي برامج صغيرة بالاسمبلي
انا ممارس هندسة عكسية اساسا و تواجد اساتذة هذا العلم هنا هو ما حببني في دلفي
اشكركم جميعا
kachwahed
25-07-2010, 01:59 AM
السلام عليكم ورحمة الله
الأخ yanes أهلا ومرحبا بك في المنتدى :)
لنشاهد تعريف التابع GetPrivateProfileString من Win32 SDK
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // points to section name
LPCTSTR lpKeyName, // points to key name
LPCTSTR lpDefault, // points to default string
LPTSTR lpReturnedString, // points to destination buffer
DWORD nSize, // size of destination buffer
LPCTSTR lpFileName // points to initialization filename
);
من خلال التعريف يمكن أن نصيغ تابع بلغة دلفي بهذا الشكل:
function GetKeyValue(const Root, sValue: string; aFileName: string): string;
begin
SetLength(Result, MAX_PATH);
SetLength(Result,
GetPrivateProfileString(
PChar(Root), //اسم الجذر
PChar(sValue), //اسم المفتاح
'', //القيمة الافتراضية
@Result[1], //قيمة المفتاح
Length(Result), //حجم
PChar(aFileName))); //اسم الملف
end;
//مثال لقراءة محتوى ملف INI
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetKeyValue('Root', 'DelphiRoot', ExtractFilePath(ParamStr(0)) + 'Delphi.ini'));
end;
المشكلة تحديدا في تحويل البارامترات من String الى PChar وحقيقة اتعبني
معك حق،هناك لبس بخصوص ذلك
ربما سبب هذا هو عدم فهمي للمؤشرا
سأكتب موضوع حول ذلك خلال هذه الأيام بشيء من التفصيل إن شاء الله :)
بالتوفيق.
الداله GetPrivateProfileString مستعمله مع TIniFileلتسهيل المهمه
الداله GetPrivateProfileString مستعمله مع TIniFileلتسهيل المهمه
ممكن توضيح أكثر أخي User , أي مهمة ؟
yanes
30-08-2010, 04:38 AM
بسم الله الرحمان الرحيم
شكرا جزيلا على تفاعلكم , كانت نيتي بالفعل هي الكتابة في ملف ini
و لعدم معرفتي التامة بدلفي لكن بالبحث في ملفات الHelp و صلت الى TIniFile
و سأحضر مثالا صغيرا للاخوة لعله يفيد الاخوة المبتدئين مثلي
vBulletin® , Copyright ©2008-2012