سلام.
من یک روش کدنویسی را مثال می زنم، ببینید همون چیزی هست که دنبالش هستید یا نه. همچنین باید از تابع double استفاده کنید تا کلیدهای جهت، تبدیل به عدد معادلشان بشوند و سپس بر اساس آنها، کدنویسی می کنید. براتون مثال می زنم :
این یک کد معمولی است که پنجره ای باز شده و اگر دکمه های کیبورد را بزنیم، آنها را در خروجی نمایش می دهد (به جز دکمه های جهت که برای آنها مشکل دارد)(هنگام آزمایش آن، کیبورد در حالت زبان انگلیسی باشد) :
حالا ما قصد داریم که هنگام زده شدن کلیدهای جهت، یک سری کد اجرا شود (مثلا پیامی نمایش داده شود). تابع double را به کار می بریم و سپس بر اساس عدد معادل کلیدهای جهت، کدنویسی می کنیم. ابتدا یک تابع با نام myKey می سازیم (یک m-file با نام myKey.m) که کدهای زیر در آن نوشته شده :
سپس در یک m-file دیگر که حاوی برنامه اصلی است، کد زیر را اجرا می کنیم :
با زدن کلیدهای جهت، نام جهت در خروجی نمایش داده می شود. اکنون شما می توانید عملیات های دلخواه خود را برای آنها بنویسید (به جای نمایش پیام در خروجی).
من یک روش کدنویسی را مثال می زنم، ببینید همون چیزی هست که دنبالش هستید یا نه. همچنین باید از تابع double استفاده کنید تا کلیدهای جهت، تبدیل به عدد معادلشان بشوند و سپس بر اساس آنها، کدنویسی می کنید. براتون مثال می زنم :
این یک کد معمولی است که پنجره ای باز شده و اگر دکمه های کیبورد را بزنیم، آنها را در خروجی نمایش می دهد (به جز دکمه های جهت که برای آنها مشکل دارد)(هنگام آزمایش آن، کیبورد در حالت زبان انگلیسی باشد) :
کد پیاچپی:
clear all
close all
clc
f = figure;
set(f, 'KeyPressFcn', @(x,y)disp(get(f,'CurrentCharacter')))
حالا ما قصد داریم که هنگام زده شدن کلیدهای جهت، یک سری کد اجرا شود (مثلا پیامی نمایش داده شود). تابع double را به کار می بریم و سپس بر اساس عدد معادل کلیدهای جهت، کدنویسی می کنیم. ابتدا یک تابع با نام myKey می سازیم (یک m-file با نام myKey.m) که کدهای زیر در آن نوشته شده :
کد پیاچپی:
function [message] = myKey(key)
message = key;
if(key==28)
message = 'left';
elseif(key==29)
message = 'right';
elseif(key==30)
message = 'up';
elseif(key==31)
message = 'down';
end
disp(message);
سپس در یک m-file دیگر که حاوی برنامه اصلی است، کد زیر را اجرا می کنیم :
کد پیاچپی:
clear all
close all
clc
f = figure;
set(f, 'KeyPressFcn', @(x,y)myKey(double(get(f,'CurrentCharacter'))))
با زدن کلیدهای جهت، نام جهت در خروجی نمایش داده می شود. اکنون شما می توانید عملیات های دلخواه خود را برای آنها بنویسید (به جای نمایش پیام در خروجی).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.