نمایش مقدارها در emWin جلسه اول
در آموزش قبل چگونگی نمایش دادن رشته متنی را توضیح دادیم. در این آموزش قصد ما چگونگی نمایش مقدارها بر روی صفحه نمایش می باشد.البته ممکن است شما برای نمایش مقادیر از توابع کتابخانه استاندارد سی استفاده نمایید. با این حال ، گاهی اوقات کار دشواری است. بنابر این ، این توابع بسیار ساده تر و کارآمدتر برای نمایش مقدارهایی که شما می خواهید آنرا نمایش دهید می باشند.
توابع emwin خروجی های مختلفی از جمله دسیمال ، هگزادسیمال و باینری را پشتیبانی می کند.
همه ی توابع بدون استفاده از کتابخانه ی floating-point کار می کنند و توابع برای سرعت و سایز بهینه شده اند. البته ممکن است در روی سیستمی از sprint استفاده شود. با استفاده از این توابع که توضیح داده خواهد شد می توان در رام و زمان اجرا صرفه جویی کرد.
در ادامه توابع مربوطه و جزییات آنرا ، مورد بررسی قرار خواهیم داد.
۱:
void GUI_DispDec(I32 v, U8 Len);
تابع فوق یک مقدار دهدهی را با تعداد کاراکتر مشخص شده در موقعیت متن و فونت فعلی نمایش می دهد.
حداقل مقدار نمایش : -۲۱۴۷۴۸۳۶۴۸
حداکثر مقدار نمایش : ۲۱۴۷۴۸۳۶۴۷
len : تعداد کاراکتر برای نمایش مقدار. (حداکثر ۱۰)
مثال :
// Display time as minutes and seconds GUI_DispString("Min:"); GUI_DispDec(Min, 2); GUI_DispString(" Sec:"); GUI_DispDec(Sec, 2);
۲:
void GUI_DispDecAt(I32 v, I16P x, I16P y, U8 Len);
این تابع همانند تابع فوق عمل می کند با این تفاوت که در این تابع موقعیت متن را توسط تابع تعیین می کنیم.
۳:
void GUI_DispDecMin(I32 v);
یک مقدار دهدهی را در موقعیت متن ، پنجره و فونت فعلی نمایش می دهد. طول کاراکتر های مقدار تعیین نمی شوند و حداقل طول به صورت اتوماتیک برای آن در نظر گرفته می شود.
۴:
void GUI_DispDecShift(I32 v, U8 Len, U8 Shift);
تابع فوق یک مقدار long را به صورت اعشاری و با تعداد مشخصی از کاراکتر ها در موقعیت متن و پنجره ی جاری نمایش می دهد.
v : مقدار برای نمایش
Len: تعداد دیجیت برای نمایش (حداکثر ۱۰)
Shift: تعداد دیجیت برای نمایش اعداد اعشاری
توجه داشته باشید در صورتیکه از اعشاری و علامت منفی استفاده می کنید حداکثر ۹ دیجیت می باشد.
۵:
void DispDecSpace(I32 v, U8 MaxDigits);
تابع فوق یک مقدار دهدهی را با تعداد کاراکتر مشخص شده در موقعیت متن و فونت فعلی نمایش می دهد. و صفر های بی اهمیت حذف می شوند (به جای آنها space قرار می گیرد)
۶:
void GUI_DispSDec(I32 v, U8 Len);
تابع فوق یک مقدار دهدهی را با تعداد کاراکتر مشخص شده و به همراه علامت ، در موقعیت متن و فونت فعلی نمایش می دهد.
۷:
void GUI_DispSDecShift(I32 v, U8 Len, U8 Shift);
تابع فوق یک مقدار دهدهی را با تعداد کاراکتر مشخص شده ، به صورت اعشاری و به همراه علامت ، در موقعیت متن و فونت فعلی نمایش می دهد.