المشاركات : 6
المواضيع 2
:
: 0
الإنتساب : Jul 2010
بسم الله الرحمن الرحيم
سوالي حول الدالة GetPrivateProfileString
المشكلة تحديدا في تحويل البارامترات من String الى PChar وحقيقة اتعبني
هذا الموصوع حتى مع دوال اخري
انا لم افهم تحديدا ضفات هذا النوع Type
ربما سبب هذا هو عدم فهمي للمؤشرات
لاسهل عليكم انا مبرمج VB6 & vb.net و لي برامج صغيرة بالاسمبلي
انا ممارس هندسة عكسية اساسا و تواجد اساتذة هذا العلم هنا هو ما حببني في دلفي
اشكركم جميعا
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
السلام عليكم ورحمة الله
الأخ 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
);
من خلال التعريف يمكن أن نصيغ تابع بلغة دلفي بهذا الشكل:
PHP كود :
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 وحقيقة اتعبني
معك حق،هناك لبس بخصوص ذلك
إقتباس :ربما سبب هذا هو عدم فهمي للمؤشرا
سأكتب موضوع حول ذلك خلال هذه الأيام بشيء من التفصيل إن شاء الله 
بالتوفيق.
المشاركات : 4
المواضيع 0
:
: 0
الإنتساب : Jul 2010
الداله GetPrivateProfileString مستعمله مع TIniFileلتسهيل المهمه
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
User كتب :الداله GetPrivateProfileString مستعمله مع TIniFileلتسهيل المهمه
ممكن توضيح أكثر أخي User , أي مهمة ؟
المشاركات : 6
المواضيع 2
:
: 0
الإنتساب : Jul 2010
بسم الله الرحمان الرحيم
شكرا جزيلا على تفاعلكم , كانت نيتي بالفعل هي الكتابة في ملف ini
و لعدم معرفتي التامة بدلفي لكن بالبحث في ملفات الHelp و صلت الى TIniFile
و سأحضر مثالا صغيرا للاخوة لعله يفيد الاخوة المبتدئين مثلي