PDA

View Full Version : بدست آوردن كد يونيكد كاراكتر



Majid-Sh
چهارشنبه 01 آبان 1387, 17:11 عصر
با سلام خدمت دوستان برنامه نويس
من مي‌خواهم كد يونيكد كاراكترهاي يك رشته را به شكلي كه نمايش داده مي‌شوند بدست بيارم
به عنوان مثال در رشته 'تست' كد كاراكتر 'ت‍' اول با كد كاراكتر 'ت' آخر را به طور جداگانه بدست بيارم
اگر كسي راهنمايي بكنه ممنون مي‌شم.

vcldeveloper
پنج شنبه 02 آبان 1387, 00:27 صبح
با چه نسخه ایی از دلفی؟ اگر دلفی 2009 هست، با همون تابع Ord به راحتی به دست میاد.

Majid-Sh
جمعه 03 آبان 1387, 10:54 صبح
با چه نسخه ایی از دلفی؟ اگر دلفی 2009 هست، با همون تابع Ord به راحتی به دست میاد.

من با دلفي 7 كار مي‌كنم ولي گمان كنم تابع Ord كد اسكي كاراكتر رو برمي‌گرداند. من احتياج به كد يونيكد كاراكترهاي فارسي دارم

ghabil
جمعه 03 آبان 1387, 13:58 عصر
وقتی دلفی محیطش یونیکد نیست ، چطوری میحوای یک مقدار یونیکد رو بهش بدی که برات کد یو نیکدش رو برگردونه ؟ مگر اینکه از کامپونتهای یونیکدی جانبی استفاده کنی....
به هر حال بعید میدونم دلفی تابع Built In برای اینکار داشته باشه(تا قبل از دلفی 2009).

Majid-Sh
شنبه 04 آبان 1387, 00:04 صبح
با تشكر از پاسخ دوستان
سوال خودم رو به شكل ديگه‌اي مطرح مي‌كنم
با توجه به اينكه كاراكتر 'ت' در رشته 'تست' به دو شكل متصل به چپ و متصل به راست ديده مي‌شود و هر كدام از اين دوحالت،‌ دو كد يونيكد متفاوت دارند، من يك تابع مي‌خوام كه كد اين دو كاراكتر رو از يك رشته كه مثلاً از يك فايل متني خوانده مي‌شود رو به صورت مجزا برگرداند.
اكثر توابعي كه كد يونيكد كاركتر رو برمي‌گردانند، در هردوحالت كد كاراكتر 'ت' منفصل رو بر‌ميگردانند.
در اين رابطه اگر دوستان بتونن كمك كنن خيلي عاليه

ghabil
شنبه 04 آبان 1387, 12:24 عصر
چه خوب شد سوالت رو اینطوری پرسیدی: تا جایی که من اطلاع دارم کد یویکد ت در هیچ حالتی فرقی نداره و همیشه 1578 هست، این نزم افزار Complex Scripting سیستم عامل هست که تشخیص میده کی باید به شکل کوچیک یا بزرگ نشونش بده...

اگر هم میخوای خودت تست کنی برو اینجا (http://code.cside.com/3rdpage/us/unicode/converter.html) ببین

Majid-Sh
شنبه 04 آبان 1387, 16:13 عصر
ضمن عرض تشكر مجدد از راهنمايي دوستان
من مي‌خواهم يك رشته را بهمراه رنگ‌هاي مختلف كاراكترها بر روي يك Canvas‌ (بدون استفاده از RichEdit) مثل نمونه زير، رسم كنم:
"رشته با كاراكترهاي رنگي"
يك راه اين است كه اين رشته را به صورت كاراكتر به كاراكتر بر روي Canvas‌ رسم كنم و در مواقع لازم رنگ Brush‌ يا فونت Canvas‌ را تغيير بدهم. مشكلي كه در اين روش است اين است كه شكل كاراكترهاي فارسي برخلاف كاراكترهاي لاتين، متأثر از حروف ماقبل و مابعد خود است و به قول دوستان در هنگام نمايش، سيستم عامل خود تصميم‌گيري مي‌كند كه كدام شكل مربوط به كاراكتر را نمايش بدهد. ولي چنانچه من بخواهم بصورت كاراكتر به كاراكتر رشته را ترسيم كنم بايد موقعيت هر كاراكتر را در رشته بررسي كنم و شكل كاراكتر مورد نظر را از جدول كاراكترهاي Unicode‌ استخراج كنم كه يك كم كار دشواري است.
اگر دوستان راه حل مناسب‌تري دارند راهنمايي بفرمايند.

vcldeveloper
شنبه 04 آبان 1387, 16:59 عصر
اگر فقط رنگی شدن کارکترها براتون مهم هست، نه چگونگی انجام آن، TMS در مجموعه خودش Label و ComboBoxایی با قابلیت قبول کد HTML داره که می تونید از اون استفاده کنید.