چند سوال در مورد يكي از مقالات

Bijan

New Member
سلام

من اون قسمت آموزشي جديد كه مربوط به ساخت input هاييه كه ميشه توشون فارسي نوشت را ديدم. در مورد كدش يك چند تا سوال داشتم:

1- تابع storeCaret(textE)l كه اون بالا بالا تعريف شده در هيچ جا استفاده نميشه! اين تابع اصلا به چه درد ميخوره؟

2- در بالاي اون آرايه Unicode ها نوشته شده كه اين آرايه بر اساس ISIRI-2901 نوشته شده، آيا اين يك استاندارده؟ و اگر آره من از كجا ميتونم بيشتر در موردش بخونم؟ اصلا اون آرايه و عناصرش از كجا اومدن و از اين جور حرفا.
3- توابع FKeydown و FKeypress هر دو آرگومانهاي ورودي txtFrm را ميخوان كه اين آرگومانها هيچ جاي اين 2 تابع استفاده نشدند! اصلا چه لزومي داره كه اونها اونجا باشن؟! اگر هم دقت كني ميبيني كه اين تابع فقط روي event ها كار ميكنه و event يك شيئ مشتركه، يعني اينكه هيچ وقت نميشه در آن واحد در 2 تا input تايپ كرد! پس اين يك شيئي هست كه فقط به window برميگرده و فرزند هيچ شيي ديگه اي نيست، يعني هميشه ميگيم window.event و نه هيچ چيز ديگه. پس ميشه گفت كه هيچ نيازي به وارد كردن نام هر input نداري، چون كار خواصي روي اونها انجام نميدي.

4- در تابع FKeypress يك قسمتي هست به اين صورت:

if (key == 0x0020 && window.event.shiftKey)
window.event.keyCode = 0x200C;

من منظور از اين شرط را نميفهمم، ميشه لطفا يك كم در بارش توضيح بدين؟
5- در تابع FKeypress يك شرط اومده به اين صورت:
if (key == 13)
{
window.event.keyCode = 13; //This line is not necessary
return true;
}

من فكر ميكنم كه خط اول داخل if اضافه است و بدون اون هم هيچ مشكلي پيش نمي ياد! آيا درسته؟


يك مساله ديگه هم هست كه بد نيست گفته بشه: اين كدي كه نوشته شده خيلي قشنگه، مخصوصا اون آرايه Unicode ها، منتها اصلا از هيچ اصل OOP پيروي نشده و اين يعني اينكه كد شما فقط در مورد يك input عمل ميكنه و در صورتي كه نياز داشته باشيم در چند جا از اون استفاده كنيم به هيچ كاري نمي ياد، چون شما از يك متغير جهاني lang استفاده ميكني كه نميتونه به همه object ها جواب بده. براي اين چه فكري كردي؟
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام آقا بيژن

بايد عرض كنم كه من خودم اون برنامه رو ننوشتم و البته الان يادم نيست از كدوم سايت گرفتم..اما سايتش همون سايت پروژه فارسي سازي و يونيكد كه كار دانشگاه شريف هستش فكر ميكنم بودش.. من اون رو فقط بنا به در خواست يكي از كاربران با يك سري توضيحات در قسمت مقالات قرار دادم...
حالا آقا بيژن ميشه اون رو اونطوري كه ميگيد اصلاح كنيد و اصلاح شدشو به من بدين كه بذارم جاي اون؟!

ممنونم
مجيد
 

Bijan

New Member
سلام مجيد جان، چطوري؟

راستشو بخواي چند روز بود كه داشتم روي يك mailer كار ميكردم كه حالا بماند قراره چيكار كنه و اينها، ولي به همين مشكل برخورده بودم كه طرف بتونه بينهايت فيلد فارسي داشته باشه. براي همين بود كه اصلا به كل مسير كار عوض شد و به دنبال روشي ميگشتم كه براي اولين و آخرين بار يك چيزي بنويسم كه هر كس بتونه به راحتي باهاش كار كنه و هيچ محدوديتي نداشته باشه. وسطهاي كار بودم كه نامه شما رسيد و ديدم قسمت فارسي سازي اين اسكريپت خوشگل تره و تنها چند تا مشكل جزيي داره كه بايد رفع بشه. من امكانات زير را به اين برنامه اضافه كردم:

1- ديگه هيچ لزومي نداره كه براي صدا زدن اين تابع اسمش را بنويسي. فقط ميتوني در همون input اي كه ميخواي فارسي بشه از تگ زير استفاده كني:
کد:
<input type="text" usefarsi="true<
2- ديگه به اين محدود نيستي كه براي عوض كردن زبون تنها از يك عكس و يا دگمه استفاده كني، بلكه ميتوني از radio button ها هم كمك بگيري.
3- بجاي دگمه Scroll Lock كه براي عوض كردن زبون استفاده ميشد از تركيب Alt+Ctrl استفاده كردم كه هم خيلي راحت تره و هم اينكه دقيقا مثل همون Scroll Lock اين خصوصيتو داره كه با Alt+Shift قاطي نميشه.
4- حالا فرض كن يكي از اينها ( يا يك radio button، يك عكس و يا دگمه ) را براي فيلدت انتخاب كردي و ميتوني كاري كني كه فيلدهاي ديگه هم ( چه input و چه textarea ) از اون پيروي كنن! يعني اگر مثلا radio button را انتخاب كردي و الان گزينه فارسي فعاله، و مثلا 50 تا ديگه textarea هم به همين radio button متصل باشن و وقتي كه رو گزينه انگليسي كليك كردي و يا Alt+Ctrl را زدي، همه اين 50 تا textarea هم زبونشون و dirشون و alignmentشون عوض بشه! ناگفته نماند كه اين اختياريه، يعني هنوز هم ميتوني براي هر فيلدت يك دگمه، عكس و يا دگمه راديويي جدا بزاري!
5- لازمه بگم كه اگر مثلا از يك عكس داري براي عوض كردن زبون استفاده ميكني، تو برنامه من بايد از 2 تا استفاده كني: يكي براي فارسي و يكي براي انگليسي. چون من اصلا اون effect اي كه وقتي رو عكس كليك ميشه ثابت ميمونه را دوست ندارم! يعني اگر در حالت تايپ فارسي بودي، عكست بايد انگليسي را نشون بده، يعني اينكه اگر روي من كليك كنيد زبون به انگليسي عوض ميشه و بالعكس. حالا بزار بهت بگم كه اگر Alt+Ctrl را هم بزني، نه تنها زبون عوض ميشه، بلكه عكس و يا Radio Button و يا متن دگمت هم عوض ميشه!
6- ميتوني ميليونها فيلد تو صفحت داشته باشي، بدون هيچ محدوديتي، حتي لازم نيست كه براي هيچ كدوم name هم تعريف كني! فقط اگر ميخواي يك فيلدت يك نشانگر مثل عكس، دگمه و يا دگمه راديويي داشته باشه كه نشون بده زبونش در حالت جاري چيه، بايد اون نشانگر را تعريف كني و اسمشو به همون فيلدت بدي. نحوه انجامشم خيلي سادست، تنها بايد اونو مثل تگ به قسمت جلوي فيلدت اضافه كني.


چيزهايي كه گفتم تقريا تموم شده و يك سري چيزهاي ديگه بايد روش انجام بشه كه كاملا به پايان برسه. من چون اين چند روزه نميرسم كه روش كار كنم، فكر ميكنم كه شنبه، يكشنبه هفته بعد تموم بشه. شما فقط يك لطفي بكن و آدرس اين سايتي كه اينو ازش گرفتي پيدا كن كه من باهاشون تماس بگيرم و بگم اين كارا را رو برنامشون كردم و مسايل copy right و از اين جور چيزها را ازشون بپرسم، چون همونطور كه ديدي هيچ اسمي روي برنامه نيست.

اگر اين لطف بكني ممنون ميشم و تا هفته ديگه برنامه كامل و آمادست!

قربانت،
بيژن
[/code]
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام

خوبي آقا؟
خيلي توپ شده :wink: هر وقت تموم شد اگر ممكنه براي من هم بفرست كه ازش هم در سايت استفاده كنم و هم اينكه تو قسمت آموزش بذارمش..

در مورد آدرس چشم من پيدا ميكنم اينجا اعلام ميكنمش ولي تا جايي كه يادمه اوپن سورس بودش..


فعلا باي

مجيد
 

Bijan

New Member
سلام مجيد جان

ممنون، حتي اگر open source هم باشه باز بايد GPL Licence را اون بالاي كد داشته باشه و خب اسم و email نويسنده هم بايد حاضر باشه.

فعلا كه كل برنامه تو IE براحتي كار ميكنه و فقط اين NS كه گير ميده يك كم! اينم را كامل درست كردم حتما برات ميفرستم. گفتم، شما براي وسطهاي هفته بعد روش حساب كن، لطف كن اين آدرس هم يادت نره!

ممنون،
بيژن
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام
خوبيد؟


ببخشيد فراموش كرده بودم :oops:

ميخواستم يك چيزي رو بگم و اينكه من اين كد رو گلچين كردم ... يكمشو ار احسان گرفتم يكمشو هم از همون جايي كه گفتم دارن روي پروژه فارسي كار ميكنن (ابته فكر ميكنم) گرفتم كه آدرس اونجا رو پيدا كردم و اينجا نوشتم:
http://sourceforge.net/projects/farsitools

فكر كنم همين بودش...


مجيد
 

Bijan

New Member
مجيد جان دمت گرم! بنطر كه خيلي باحال مياد، بايد كارهاشونو بيشتر ببينم، چون بنظر مياد كه بيشتر روي كارهاي سيستم عاملي كار ميكنن تا جاوا اسكريپت و از اين جور حرفا. لطف كردي، ممنون
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام

بله اينها دارن روي پروژه يونيكد فارسي كار ميكنند...و اين برنامه ها يك سري خدماتي هستش كه ميدن..

آقا مارو بي خبر از اسكريپتت نذار

مجيد
 

Bijan

New Member
چشم، من گفتم تا وسط هفته، ولي بزار بكنيمش آخرهاي هفته ( پنچشنبه جمعه )، خوب؟ ميدوني كه كارها چجوريه؟! من نسخه آزمايشيش را برات ميفرستم و چند روز بعد هم كه خودم توضيحاتش را نوشتم ميدم بهت كه بزاري تو سايت اگر دوست داشتي.
 

Bijan

New Member
سلام
چيزي كه گفتم الان كامل آمادست. بك نامه هم به [email protected] زدم كه كسي هنوز جواب نداده. من چون هنوز با نويسنده اصلي اين برنامه صحبت نكردم (وقت نكردم طي هفته!) نميتونم برنامه كامل را اينجا آدرسش را بدم. ولي اگر مايلي كه فعلا به صورت شخصي برنامه را داشته باشي، بهم email بزن تا برات بفرستم.
 

جدیدترین ارسال ها

بالا