![]() |
|
كيف يمكن استخراج functions List مع المعرفات (parameters) - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف يمكن استخراج functions List مع المعرفات (parameters) (/showthread.php?tid=3348) |
كيف يمكن استخراج functions List مع المعرفات (parameters) - cargem - 15-08-2011 السلام عليكم مثال لاستخراج functions List من dlls كيف يمكن استخراج functions List مع المعرفات (parameters) ![]() مثلا هذا التعريف كود : DWORD GetNamedSecurityInfo(
LPTSTR pObjectName, // name of the object
SE_OBJECT_TYPE ObjectType, // type of object
SECURITY_INFORMATION SecurityInfo, // type of security information to retrieve
PSID *ppsidOwner, // receives a pointer to the owner SID
PSID *ppsidGroup, // receives a pointer to the primary group SID
PACL *ppDacl, // receives a pointer to the DACL
PACL *ppSacl, // receives a pointer to the SACL
PSECURITY_DESCRIPTOR *ppSecurityDescriptor // receives a pointer to the security descriptor
);وليس فقط GetNamedSecurityInfo كي اعمل برنامج يحول التعريف من لغة السي ++ الى الدلفي لكن اين نجد كل المعرفات وما يقابلها بالدلفي ![]() ان استخراج الدوال والتوابع مع معرفاتها سيكون دو فائدة رائعة في المستقبل بحيث تكون كل Windows API معرفة بالدلفي اتمنى لكم كل التوفيق تحياتي كيف يمكن استخراج functions List مع المعرفات (parameters) - محمد عبد العزيز - 16-08-2011 وعليكم السلام ورحمة الله تقصد استخراج تعاريف دوال مكتبة DLL ان كان كذلك فهو غير ممكن دون تنقيح! بالنسبة للتحويل من c/c++الى pascal/delphi تحتاج لمعرفة اللغتين على الأقل الاساس كيف يمكن استخراج functions List مع المعرفات (parameters) - cargem - 16-08-2011 شكرا ولكن اين اجد بقية المعرفات وما يقابلها ب الدلفي كيف يمكن استخراج functions List مع المعرفات (parameters) - cargem - 16-08-2011 التحويل بسيط جدا ولا يحتاج للتعمق باللغة المهم هو المعرفات كيف يمكن استخراج functions List مع المعرفات (parameters) - محمد عبد العزيز - 17-08-2011 إقتباس : اين اجد بقية المعرفاتغالبا من عند صاحبها في حالة جهاز او شيئ ما تجدها ضمن الSDK الذي معه وغالبا تكون بلغة السي/c++ بالنسبة للتحويل يمكن الاستفادة من اداة Dr.Bob's HeadConv كود : http://www.drbob42.com/headconv/
http://www.drbob42.com/delphi/headconv.htmكيف يمكن استخراج functions List مع المعرفات (parameters) - cargem - 19-08-2011 كود : غالبا من عند صاحبهاكود : في حالة جهاز او شيئ ما تجدها ضمن الSDK الذي معه وغالبا تكون بلغة السي/c++نعم اشهر المعرفات الموجودة في c++ كود : لتستخدمها تحتاج لملف .hانت تقصد .h الوجود في السورس PHP كود : C/C++ Type ObjectPascal Typeكيف يمكن استخراج functions List مع المعرفات (parameters) - cargem - 19-08-2011 file.h إقتباس : bool closeNT(); file.pas إقتباس :var هذا خطا ايضا class كود : class VDFileStream : public VDFile, public IVDRandomAccessStream {
private:
VDFileStream(const VDFile&);
const VDFileStream& operator=(const VDFileStream& f);
public:
VDFileStream() {}
VDFileStream(const char *pszFileName, uint32 flags = nsVDFile::kRead | nsVDFile::kDenyWrite | nsVDFile::kOpenExisting)
: VDFile(pszFileName, flags) {}
VDFileStream(const wchar_t *pwszFileName, uint32 flags = nsVDFile::kRead | nsVDFile::kDenyWrite | nsVDFile::kOpenExisting)
: VDFile(pwszFileName, flags) {}
VDFileStream(VDFileHandle h) : VDFile(h) {}
~VDFileStream();
const wchar_t *GetNameForError();
sint64 Pos();
void Read(void *buffer, sint32 bytes);
sint32 ReadData(void *buffer, sint32 bytes);
void Write(const void *buffer, sint32 bytes);
sint64 Length();
void Seek(sint64 offset);
};كود : var
VDFileStream: function(const _1: VDFILE&): PRIVATE: cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
operator=: function(const f: VDFILESTREAM&): CONST cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
VDFileStream: var function: UBLIC: cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
VDFileStream: function(const pszFileName: PChar;
VDFile(pszFileName: UINT32 FLAGS = NSVDFILE::KREAD | NSVDFILE::KDENYWRITE | NSVDFILE::KOPENEXISTING) :;
_3: FLAGS): Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
VDFileStream: function(const pwszFileName: PWCHAR_T;
VDFile(pwszFileName: UINT32 FLAGS = NSVDFILE::KREAD | NSVDFILE::KDENYWRITE | NSVDFILE::KOPENEXISTING) :;
_3: FLAGS): Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
VDFileStream: function(h: VDFILEHANDLE): Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
~VDFileStream: function: Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
GetNameForError: var function: CONST WCHAR_T cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
Pos: function: SINT64 cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
Read: procedure(buffer: Pointer;
bytes: SINT32) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
ReadData: function(buffer: Pointer;
bytes: SINT32): SINT32 cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
Write: procedure(const buffer: Pointer;
bytes: SINT32) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
Length: function: SINT64 cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
Seek: procedure(offset: SINT64) cdecl {$IFDEF WIN32} stdcall {$ENDIF};كيف يمكن استخراج functions List مع المعرفات (parameters) - cargem - 19-08-2011 implicit كود : function VDFileStream(const _1: VDFILE&): PRIVATE: cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function operator=(const f: VDFILESTREAM&): CONST cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function var VDFileStream: UBLIC: cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function VDFileStream(const pszFileName: PChar;
VDFile(pszFileName: UINT32 FLAGS = NSVDFILE::KREAD | NSVDFILE::KDENYWRITE | NSVDFILE::KOPENEXISTING) :;
_3: FLAGS): Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function VDFileStream(const pwszFileName: PWCHAR_T;
VDFile(pwszFileName: UINT32 FLAGS = NSVDFILE::KREAD | NSVDFILE::KDENYWRITE | NSVDFILE::KOPENEXISTING) :;
_3: FLAGS): Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function VDFileStream(h: VDFILEHANDLE): Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function ~VDFileStream: Integer cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function var GetNameForError: CONST WCHAR_T cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function Pos: SINT64 cdecl {$IFDEF WIN32} stdcall {$ENDIF};
procedure Read(buffer: Pointer;
bytes: SINT32) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function ReadData(buffer: Pointer;
bytes: SINT32): SINT32 cdecl {$IFDEF WIN32} stdcall {$ENDIF};
procedure Write(const buffer: Pointer;
bytes: SINT32) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
function Length: SINT64 cdecl {$IFDEF WIN32} stdcall {$ENDIF};
procedure Seek(offset: SINT64) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
implementation
function VDFileStream; external 'X.DLL';
function operator=; external 'X.DLL';
function VDFileStream; external 'X.DLL';
function VDFileStream; external 'X.DLL';
function VDFileStream; external 'X.DLL';
function VDFileStream; external 'X.DLL';
function ~VDFileStream; external 'X.DLL';
function GetNameForError; external 'X.DLL';
function Pos; external 'X.DLL';
procedure Read; external 'X.DLL';
function ReadData; external 'X.DLL';
procedure Write; external 'X.DLL';
function Length; external 'X.DLL';
procedure Seek; external 'X.DLL';
end. |