ايران ويج

نسخه‌ی کامل: اشکال در تبدیل نوع سی به دلفی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
قسمتی از سورس به زبان سی به این شکل هست :
کد:
return (DeviceIoControl(

                Handle,

  1230848,



                (LPVOID)&wNdisDeviceName[0],

                wNameLength*sizeof(WCHAR),

                NULL,

                0,

                &BytesReturned,

                NULL));

این تکه کد را توی دلفی به چه صورت تبدیل کنم ؟
NdisDeviceName = یک رشته هست ، آیا باید تا تابع خاصی اول تبدیلش کنم؟

فکر میکنم باید در نوع WideChar تبدیل کنم ( خودش قبل از صدا زدن این تابع به این صورت عمل کرده بود :
کد:
WCHAR   wNdisDeviceName[MAX_NDIS_DEVICE_NAME_LEN];

    INT     wNameLength;

    INT     NameLength = (INT) strlen(pDeviceName);

    DWORD   BytesReturned;

    INT     i;
-------------------
کد:
//

    // Convert to unicode string - non-localized...

    //

    wNameLength = 0;

    for (i = 0; i < NameLength && i < MAX_NDIS_DEVICE_NAME_LEN-1; i++)

    {

        wNdisDeviceName[i] = (WCHAR)pDeviceName[i];

        wNameLength++;

    }
وقتی آدم اسم دلفی رو میشنوه یاده داش مبین میوفته ! :)
(۱۲-اسفند-۱۳۸۹, ۱۵:۳۴:۰۶)joker نوشته است: [ -> ]قسمتی از سورس به زبان سی به این شکل هست :
کد:
return (DeviceIoControl(

Handle,

1230848,



(LPVOID)&wNdisDeviceName[0],

wNameLength*sizeof(WCHAR),

NULL,

0,

&BytesReturned,

NULL));

این تکه کد را توی دلفی به چه صورت تبدیل کنم ؟
NdisDeviceName = یک رشته هست ، آیا باید تا تابع خاصی اول تبدیلش کنم؟

فکر میکنم باید در نوع WideChar تبدیل کنم ( خودش قبل از صدا زدن این تابع به این صورت عمل کرده بود :
کد:
WCHAR wNdisDeviceName[MAX_NDIS_DEVICE_NAME_LEN];

INT wNameLength;

INT NameLength = (INT) strlen(pDeviceName);

DWORD BytesReturned;

INT i;
-------------------
کد:
//

// Convert to unicode string - non-localized...

//

wNameLength = 0;

for (i = 0; i < NameLength && i < MAX_NDIS_DEVICE_NAME_LEN-1; i++)

{

wNdisDeviceName[i] = (WCHAR)pDeviceName[i];

wNameLength++;

}

edited: حل شد :) هشت امتیاز + برای olly میزارم کنار Clap