PDA

View Full Version : سوال: تبدیل پیغام های خطا به زبان فارسی



rkhabbazi
سه شنبه 28 دی 1389, 12:19 عصر
سلام
یه سوال.
چطوری میشه با استفاده از بلوک Try...Except پیغام های خطا را تشخیص داد و متناسب با آن، پیغام ی را به زبان فارسی به کاربر نمایش داد؟:متفکر:
من می دونم که در این بلوک می توان دستور ی مانند زیر نوشت اما نم دانم چه شکلی می توان بروز یک خطا را بطور دقیق متوجه شد.
Try .......
Except
on E:EOleException do
همینطور برای پیغام هایی که هنگام اجرای برنامه ممکن است رخ دهد.
ممنون می شوم اگر کسی بتواند کمک کند.:بوس:
خدانگهدار

vcldeveloper
سه شنبه 28 دی 1389, 14:00 عصر
یک سری از متن خطاهای متداول رو می تونید با ترجمه کردن رشته های موجود در Const.pas فارسی کنید. این فایل جزو فایل های سورس دلفی هست. یک کپی ازش تهیه کنید، و نسخه کپی شده را ترجمه کنید و در مسیر پروژه تان قرار بدید.

برای سایر خطاها، باید با توجه به کلاس Exception یا پیام خطای Exception، متن خطای مناسبی به زبان فارسی تولید کنید، و به کاربر نمایش بدید. مثلا اگر کلاس مربوطه EDivByZero بود، یک پیام نمایش بدید که "تقسیم بر صفر مجاز نیست". البته بسیاری از کلاس های Exception مثل همون EOleException در شرایط مختلف خطاهای مختلفی را نمایش میدند. اگر لازم باشه شما مجبورید متن خطا را از طریق خصوصیت Message اون Exception به دست بیارید، و متناسب با آن یک پیام فارسی نمایش بدید. بعضی Exception ها اطلاعات اضافه تری ارائه می کنند (مثلا کد خطا) که می تونید با استفاده از آنها راحتر نوع خطا را تشخیص بدید و خطای مناسبی نمایش بدید.

بعضی نرم افزارهایی که در برنامه معمولا با اونها ارتباط دارید، مثل سیستم عامل یا بانک اطلاعاتی، می تونند Exception هایی تولید کنند، و ممکنه به شما امکان ترجمه پیام های خطای ارسالی را بدند. مثلا MS SQL Server این اجازه را به شما میده که متن پیام های خطا را ترجمه کنید. در این حالت، وقتی برنامه شما درخواستی از MS SQL Server میکنه، و درخواست منجر به خطا میشه، MS SQL Server متن خطای ترجمه شده شما را به برنامه برگشت میده. ویندوز هم برای زبان های مختلف پیام هایی به همان زبان نمایش میده. البته به شرطی که ویندوز مربوط به همان زبان را نصب کرده باشید.

rkhabbazi
سه شنبه 28 دی 1389, 14:55 عصر
سلام
با تشکر از آقای کشاورز.:بوس:

مثلا MS SQL Server این اجازه را به شما میده که متن پیام های خطا را ترجمه کنید. در این حالت، وقتی برنامه شما درخواستی از MS SQL Server میکنه، و درخواست منجر به خطا میشه، MS SQL Server متن خطای ترجمه شده شما را به برنامه برگشت میده.
در اس کیو ال چگونه می توان اینکار را انجام داد؟
ممنون می شوم اگر توضیح دهید.
خدانگهدار:قلب:

vcldeveloper
سه شنبه 28 دی 1389, 17:29 عصر
در اس کیو ال چگونه می توان اینکار را انجام داد؟
این رو باید در تالار SQL Server سایت بپرسید. از اینجا به بعدش دیگه مربوط به دلفی نمیشه.