ABA


"איך בודקים אם המקש F1 נלחץ בסי?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #8003 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 8003
Hell-Boy

   21:38   22.02.04   
אל הפורום  
  איך בודקים אם המקש F1 נלחץ בסי?  
 
   זאתי נגיד תוכנית לבדיקה אם המקש a נלחץ:

#include <stdio.h>

int main()
{
char ch;
ch = getchar();
if (ch==1)
printf("F1");
}

איך עושים ככה רק שהתוכנית תבדוק אם המקש F1 במקלדת נלחץ?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אני לא יודע אבל לפי הגיון Vidi 23.02.04 01:24 1
  F1 הוא מסדרת המקשים ה''מיוחדים''... Dudenland 23.02.04 14:35 2

       
Vidi
חבר מתאריך 1.10.17
591 הודעות
   01:24   23.02.04   
אל הפורום  
  1. אני לא יודע אבל לפי הגיון  
בתגובה להודעה מספר 0
 
פשוט תעשה

bla = true
char ch;
ch=getchar();
printf("%c",ch);

ואז פשוט תלחץ על F1 וככה תדע מה להציק בתנאי...
בכל מקרה אני לא בטוח שזה התחביר של PRINTF
אבל בעקרון אם אתה יודע C++ אז זה אמור להיות
cout<<ch;
או בעקרון פשוט תדפיס את CH L


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

   14:35   23.02.04   
אל הפורום  
  2. F1 הוא מסדרת המקשים ה''מיוחדים''...  
בתגובה להודעה מספר 0
 
   לכן, כשאתה לוחץ על F1, המקלדת שולחת ל-Buffer ב-BIOS שני בתים, כאשר הראשון הוא 0, והשני הוא קוד האסקי של F1.

לכן, אתה צריך לבצע שתי בדיקות:


#include <stdio.h>
#include <conio.h>

int main(void)
{
char ch;

if(!(ch = getch()))
ch = getch();
printf("F1");

return 0;
}

אני מזהיר מראש שהספרייה conio.h (ואיתה גם הפונקציה ()getch) אינה כלולה בתקן ANSI-C.
אם אתה רוצה ללכת בדיוק לפי ה-ANSI-C, אז או שתחפש פונקציה תואמת, או שתממש ע"י אסמבלי (באמצעות פסיקת BIOS... אני חושב ש-16h)...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net