(אנחה) ניקוי המסך בסי.

(אנחה) ניקוי המסך בסי.

שלום. אני יודע שהשאלה הזו היא כנאה מאוד נפוצה ואני מאוד מצטער אבל בעיקרון הפתרונות שמצאתי עד עכשיו לא עובדים ובעיקר הפתאון הקל וההגיוני, הפעלת הפונקציה clrscl הבעיה איתה היא שאני משתמש בויזואל סי++, אשר אינו מכיר בפונקציה וגם מסתבר שהיא לא מתגוררת בconio.h כפי שהיא אמורה. ניסיתי למצוא פונקציות נוספות שיאפשרו את הפקודה הזו, באינטרנט, מצאתי משהו מאוד מבטיח בשם utildll, שלושה קבצים, הסיומות הן .h, .lib, .dll ניסיתי להוסיף את הפונקציה לפרויקט לפי ההוראות שניתנו בהמון אתרים שונים, כלומר להעביר את שלושת הקבצים למגירה של הפרויקט, לשנות כל מיני אופציות בהגדרות של הפרויקט ואז פשוט להוסיף את הקובץ utildll.h לפקרויקט ואז להשתמש בו באמצעות include הבעיה היא שהסטודיו טוען שהוא לא מוצא את הקובץ, למרות שניסיתי להעביר אותם כל שלושת הקבצים לכל תיקייה שהסטודיו עלול אפילו להציץ אליה, הן בפרויקט והן מחוצה לו. הדבר היחיד שאני לא יכול לעשות הוא להעביר את הקבצים לתוך תיקיות פונקציות העזר שנמצאות במחיצה של התוכנה עצמה, מפני שמדובר במחשב רשת ואין לי גישה לכונן הראשי. מקווה שתוכלו לעזור לי לפתור את בעיה הזו או למצוא פתרון אחר, הממ, חייו של הנסיך תלויים בזה (כל הצורך בפונקציה היא ליצירת משחק קטן שבו צריכים להעביר את הנסיך האסקיוס, שבשלב זה נראה כמו ריבוע כהה, דרך שדה של פרחים אוכלי-אדם, ריבועים כהים פחות, ולהימנע מכל מיני מלכודות, שטרודלים וסימני עצרת. בתודה מראש, גבי.
 

galh

New member
לא הכי יפה, אבל עובד.

כנראה שכחלק מהניסיון של מיקרוסופט להרוג את DOS הם צימצמו באופן ניכר את תכולת conio.h, אבל זה סתם ניחוש. הפתרון המהיר יהיה להשתמש ב- system("cls"); אחרי שעושים #include ל- stdlib.h.
 

nahsh

New member
חצי תשובה:

יש דרך לבצע רבות מהפעולות הגרפיות של דוס בחלון קונסול (ניקוי, gotoxy, החלפת צבע וכו´) פעם בניתי קובץ להוספה לפרוייקטים כדי לתמוך בכל אלה, אבל זה היה בIOL, ווואלה השמידו את כל ההיסטוריה של הפורומים האלו. בינתיים אני אחפש עותק על המחשב שלי.
 

galh

New member
חצי תשובה, אבל לפחות תשובה.

התשובה שלי היא פתרון, בניגוד לתשובה שלך שלא עוזרת. במאמר Q99261 שב- MSDN יש הסבר שנותן שני פתרונות לשאלה "איך לנקות את מסך הקונסול". דרך ראשונה היא התשובה שתוכל למצוא בהודעה הקודמת והדרך השניה ארוכה יותר ומיותרת למישהו שרוצה לכתוב משחק פשוט.
 

nahsh

New member
מצאתי!!

הקובץ המצורף אינו קובץ טקסט אלא זיפ, ויש לשנות את הסיומת שלו לzip יש כאן שלושה קבצים:
gotoxy.h gotoxy.cpp main.cpp​
הראשון הוא קובץ שיש להכליל אם אתה רוצה להשתמש בפונקציות. השני מממש את הפונקציות, וצריך להוסיף אותו לפרוייקט, והשלישי מדגים את השימוש. יש שלוש פונקציות: ניקוי מסך, שינוי מיקום המצביע, והשהייה של מספר אלפיות שנייה. בהצלחה!
 

darkstar

New member
למה להסתבך?

תבנה פונקציה שכותבת רווחים על כל המסך שתי לולאות וזה צ´יק צ´ק
 

nahsh

New member
הנה שתי סיבות למה זו שיטה גרועה:

1. איך אתה מחזיר את הסמן לראש העמוד? 2. מה אתה עושה בחלונות 2000, שם יש באפר של הקונסול ואפשר לגלול את המסך? השיטה שלי מועתקת מMSDN ודוגמאות שונות של מייקרוסופט, וגם אין צורך להסתבך כי הפונקציות בדוקות ועובדות - אפשר להשתמש בהן.
 
למעלה