سلام به همه ی دوستان
اگر بخواهیم کیبوردی طراحی کنیم که مثل کیبورد موبایل باشد و وقتی دکمه ی ستاره را نگه میداریم دکمه های عدد به دکمه های حروف تبدیل شود و بتوان هر کلمه ای نوشت،به عنوان مثال دکمه ی 1 به ای بی سی تبدیل شود. کد سورسش به چه صورت میشود؟
ممنون میشم اگر کسی بتونه کمکم کنه!
سلام دوست عزیز
برنامه نویسی موبایل تحت سیستم عامل واکثراگرافیکی است برنامه نویسی آن بامیکروالگوریتم پیچیده پیدامیکنه ولی بازبراتون توضیح میدم.
درحالت عادی خب کلیدهابهشون یه شماره نسبت داده شده.برای فعال سازی حال دوم آن یعنی حروف شمابایدبرنامه ی حرف رودریک تابع جداگانه بنویسین
که بافشاردادن یک کلیداین تابع فراخوانی شود.مثل ماشین حساب که درحالت پیش فرض یک کارخاص روانجام میدن ولی وقتی کلید shift یا algha رومیگیری کاربردهای دیگری پیدامیکنن
پس برنامه کیپددرروتین اصلی برنامه وحروف دریک تابع نوشته وفراخوانی میشود.
خب حالابرنامه ی تابع:برای هرکلیدمثلا4 حرف اختصاص میدین برای هرکلیدهم یه تابع یابرچسب مینویسین به این ترتیب که دائمادرحال اجراباشدورفرش کند.
این تابع به رفرش آن یه مدت زمان میدیم یعنی برای فشرده شدن هربارکلید.نیم ثانیه درنتیجه چون 4 حرف وجوددارد 2 ثانیه کل تابع رارفرش کندوحالت کلیدهارابه پیش فرض ببرد.
سپس میتوانیم الگوریتم آن رابنویسیم که اگردرنیم ثانیه اول کلیدفشرده شده مثلاحرف aرانمایش.درنیم ثانیه دوم bو.....به همین خاطراگرمامیخواهیم حرف چهارم رابنویسیم باید4 بارفشاردهیم کلیدراوقبل ازآن حرف قبلی چون فشرده شده نمایش داده میشوددرکسری ازثانیه.
اگرهم کلیدی فشرده نشودبرنامه درحال رفرش است وپس ازگذشت 2 ثانیه مقادیری که پایه هاگرفته 0 میشود.یعنی اگرماکلیدی رافشاردهیم آن پایه مقدار1 منطقی رابه خودمیگیردواین مقدارمیماندپس بایدباز0 شودتادوباره دررفرش بعدی فشرده شدن کلید راتشخیص دهد.
دریک تابع میتوانیدیک تابع بنویسید.اگریکی ازتابع هارابنویسیدبقیه تابع هابه راحتی نوشته میشود.همچنین دریک تابع میتوان یک تابع راcallکرد.