עזרה באתחול גרפיקה בC\C++

Secret0ne

New member
עזרה באתחול גרפיקה בC\C++

כאשר אני מנסה להתחל גרפיקה בעזרת הפקודה הבאה:
/* request auto detection */ int gdriver = DETECT, gmode, errorcode; int xmax, ymax; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); /* an error occurred */ if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); }​
יש מחשבים מסויימים ישנים שבהם הגרפיקה עובדת במחשבים אחרת מופיע הארור שמופיע בתנאי למעלה, מישהו יודע איך לסדר את זה או לתקן את זה? זה לא נראה לי בעיית קוד אלא הבדלים בין מחשבים, יש אפשרות שיעבוד גם במחשבים אחרים?
 

KKnDoIt

New member
כבר עבר זמן מאז שעבדתי בזה,

אבל אני יכול לנחש: השגיאה מופיע במחשבים שלא מוקנת בהם Borland C++. הסיבה: הדרייבר הגרפי (אם אני לא טועה: EGAVGA.BGI) אינו נמצא בהם. הפתרון: העתק אותו לספרייה שממנה אתה מריץ את התוכנה.
 

Secret0ne

New member
אממ במחשב שלי יש בורלנד C++

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

KKnDoIt

New member
אם כך הסיבה היא שלא רשמת את המסלול

שלו בפונקציה initgraph (זה הפרטמטר השלישי). יש שתי אפשרויות: או שתעתיק את הדרייבר אל הספרייה ממנה אתה מריץ את התוכנית ותשאיר את הפרמטר הזה כמחורזת ריקה, או שתרשום שם את המסלול המלא לקובץ: בספרייה בה התקנתה את התוכנה, הוא נמצא בספרייה BGI. אם אתה רושם מסלול, שים לב להשתמש ב- '\\' כמפרידי ספריות, ולא ב- '\' יחיד.
 

KKnDoIt

New member
עוד משהו:

אתה צריך לרשום את המסלול של הספרייה בה נמצא הקובץ, ולא לכלול שם את שם הקובץ. אני מציע שתבדוק בתיעוד, הם מסבירים את זה יפה.
 

g u y c o h e n

New member
בבורלנד

1.תלחץ על FILE - change dir (משמאל לימין ) שנה את התיקייה ל BGI ( נמצאת מתמחת ל BORLANDC ) 2. תלחץ על OPTIONS -linker וסמן את ה שורה GRAPHICS שיופיע X ליד זהו. תריץ את התכנית.
 

KKnDoIt

New member
עכשיו נזכרתי בעוד משהו:

אם הסימן X הזה לא מסומן, זה לא יעבור קישור, ולא יבצר קובץ EXE. כך שהשגיאה שהוא מתייחס אליה בכל מקרה נובעת מהדרייבר החסר. העובדה שהוא מצליח לקמפל מראה שזה מסומן אצלו.
 
למעלה