PDA

View Full Version : مشكل URLEncoding در دلفي 2010



A.Nemati
سه شنبه 06 اردیبهشت 1390, 10:12 صبح
سلام
من كدي براي urlencode , urldecode‌ دارم كه در دلفي 7 به خوبي كار مي كنند. وقتي اين كد را در دلفي 2010 استفاده مي‌كنم، در حروف فارسي اشكال دارد.
حالت‌هاي مختلفي رو امتحان كردم. هنگام decode كردن از UTF8Decode هم استفاده كردم. ضمنا تمام مقادير String‌ رو در توابع به AnsiString‌ تبديل كردم. هنگام نقل و انتقال با كنترل‌ها هم از StringToWideString و WideStringToString‌ كه براي تبديل AnsiString‌ به WideString‌ و برعكس هست استفاده كردم ولي نتيجه‌‌اي نگرفتم.
از آنجاييكه لازمه برنامه در Delphi 2010‌ كامپايل بشه، نياز به اصلاح اين مورد دارم.

نمونه كدي كه در Delphi 7 دارم را در اينجا قرار مي‌دهم.

A.Nemati
سه شنبه 06 اردیبهشت 1390, 13:53 عصر
مشكل حل شد
من همه كار كردم كه دلفي 2010، در متدهاي Encode و Decode‌ مقادير String رو AnsiString در نظر بگيره بلكه با اين كار، كد من مثل دلفي 7 كار كنه اما نشد. دليل در يك نكته ظريف بود كه من موقع كامپايل در Hintهاي دلفي پيدا كردم.
در متد UrlDecode بجاي Char در كد Result := Result + Char(HexToInt(EncodedStr بايد AnsiChar بكار مي‌بردم كه از قلم افتاده بود و من مدتي سركار بودم.
به هر حال با اين تغيير، مشكل حل شد و به خوبي در 2010 جواب داد.