واضح آرشیو وب فارسی:سایت ریسک: چاپ کاراکترها در پاسکال - جدول ASCII - جدول ANSI - Unicode mohammad rasool 11 آذر 1386, 19:58با سلام خدمت دوستان من میخوام در برنامه پاسکال تحت ویندوز کاراکتر دلخواهم رو چاپ کنم ولی وقتی تو پاسکال اون کاراکترو پیست میکنم علامت سوال رو چاپ میکنه . میخوام بدونم ایراد از برنامه ی منه یا اینکه قسمت خاصی تو برنامه هست (تاکید میکنم من این کاراکترها رو در پاسکال تحت داس چاپ کردم و در اون هیچ مشکلی ندارم ) لطفا کامل جوابم را بدهید چون یه برنامه جدول ضرب نوشتم فقط جدولش مونده و بدجوری توش گیر کردم حتی ویندوز هم عوض کردم درست نشد . پاسکال جدید از مجموعه کینگ 2007 نصب کردم بازم درست نشد هر کسی جواب میده لطف میکنه فقط کامل توضح بده ببخشید دوباره گفتم چون خیلی مهم است من برنامه رو نمیخوام حروفو میخوام البته فکر کنم اسمشون حروف ازکی است و در منوی استارت . اُل پروگرم. اکسسوریس. سیستم تولز . کاراکتر مپ وجود دارند فقط طریقه ی کپی کردن اونها تو برنامه پاسکال تحت ویندوز را بگویید شرمنده که یه جمله را چند بار گفتم خیلی تشکر میکنم از اینکه جواب من را بدهید. the_king 12 آذر 1386, 00:53اون جدولی که ویندوز استفاده می کنه خیلی با جدول ASCII تحت DOS فرق داره، مخصوصا کاراکترهای نیمه دوم جدول (128 الی 255). برای همین کاراکترهایی که قابل نمایش نیستند به ? تبدیل می شوند، همین قضیه وقتی رشته های ANSI و Unicode بجای همدیگر بکار بروند هم اتفاق می افتد. با توجه به codepage ای که برای font های ویندوز استفاده می شه، این جدول هم تغییر می کنه، برای همین اگه کاراکترهای غیر استاندارد ویندوز استفاده نکنید بهتره، متاسفانه کامپایلر Turbo Pascal for Windows بر اساس کاراکتر های تک بایتی طراحی شده و با سیستم Unicode سازگار نیست. وگرنه این چنین مشکلاتی در سیستم Unicode وجود ندارند. یک نمونه از جدول کاراکترهای ANSI ویندوز را ضمیمه این پست کردم، دو فایل html که نیمه اول و دوم این جدول را نشان می دهند. mohammad rasool 12 آذر 1386, 07:57سلام ممنون از اینکه جواب منو دادید ولی من این اعداد رو در ویندوز امتحان کردم و متاسفانه اون کاراکتر دلخواه رو نتونستم به دست بیارم چون من میخوام یه جدول ضرب چاپ کنم و خودتون میدونید چه کاراکترهایی مورد نیاز است اگه این کار در توربو پاسکال تحت ویندوز انجام نمیشه پس شما یه لطفی کن من این برنامه رو تو پاسکال تحت داس نوشتم ولی خوب وقتی اجراش میکنم ارورهای عجیب غریب میده مثلا البته من نمیدونم که برنامه رو کامل نصب کردم یا نه چون پس از نصب وقتی وارد شاخه میشم یه گزینه ی instal ولی من اون گزینه ای که روش نوشته توربو رو روش کلیک راست کردم و extract here رو زدم و یه فایل اجرایی توربو اومد و روش دوبار کلیک کردم و برنامه اجرا شد حالا میخواستم بپرسم آیا کار درستی کردم یا نه؟ the_king 12 آذر 1386, 18:30سلام ممنون از اینکه جواب منو دادید ولی من این اعداد رو در ویندوز امتحان کردم و متاسفانه اون کاراکتر دلخواه رو نتونستم به دست بیارم چون من میخوام یه جدول ضرب چاپ کنم و خودتون میدونید چه کاراکترهایی مورد نیاز است اگه این کار در توربو پاسکال تحت ویندوز انجام نمیشه پس شما یه لطفی کن من این برنامه رو تو پاسکال تحت داس نوشتم ولی خوب وقتی اجراش میکنم ارورهای عجیب غریب میده مثلا البته من نمیدونم که برنامه رو کامل نصب کردم یا نه چون پس از نصب وقتی وارد شاخه میشم یه گزینه ی instal ولی من اون گزینه ای که روش نوشته توربو رو روش کلیک راست کردم و extract here رو زدم و یه فایل اجرایی توربو اومد و روش دوبار کلیک کردم و برنامه اجرا شد حالا میخواستم بپرسم آیا کار درستی کردم یا نه؟ بعید می دونم که اشکال از نوع نصب و اجرا کردن کامپایلر باشه، همونطور که گفتم کاراکترهایی مثل کاراکترهای جدول ساز در جدول ANSI ویندوز قابل چاپ نیستند مگر با یک codepage خاص و یا بصورت unicode. متاسفانه Turbo Pascal با رشته های Unicode کار نمی کنه و فقط بوسیله codepage میشه چنین کاراکترهایی را چاپ کرد. اگه چاپ جدول اینقدر مهمه بهتره در حالت گرافیکی برنامه را بنویسید تا چنین مشکلی پیش نیاد.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 845]