אני רוצה להתחיל לבנות

quawax

New member
אני רוצה להתחיל לבנות

EDIT קטן בשפת C הבעיה היא שאין לי ממש מושג מאיפה להתחיל בכלל אני חושב שיש לי מספיק ידע או שאולי לא כי אם היה לי הייתי יודע מישהו יכול לתת לי כיון מאיפה להתחיל או איזה קוד מקור בסיסי ביותר שאני יוכל רק להסתכל ולקחת משם רעיונות? תודה
 

jolp

New member
בניית עורך בשפת C-

עליך להתחיל ביצירת ממשק בסיסי למשתמש. הפונקציות setcolor ו- setbkcolor יכולות לבוא לעזר. יצירת ממשק זהה ל- EDIT של דוס היא פעולה פשוטה, שלוקחת מעט זמן לתכנות. במהלך כתיבת התוכנית, תוכל להשתמש בפונקציה window בכדי להגדיר חלון טקסט על המסך (לא הכרחי). תוכל להשתמש בפונקציה sprintf בכדי להציב פלט במערך במקום על המסך (אם זה נחוץ לך..) אחרי שיש לך צורה של ממשק בסיסי, עליך להגיב לקלט מהמשתמש. הצב את הסמן במקום ההתחלתי בעזרת פונקציית gotoxy ושמור מיקום זה במשתני x,y בכדי שתדע היכן ממוקם הסמן בכל עת. כעת, קרא את הקלט תו אחר תו ולא כמחרוזת תווים. זאת בכדי להגיב באופן אחר עבור תווים ספציפיים, שהמשתמש מזין, כמו לחיצה על ESC (תו 27), לחיצה על מקשים מיוחדים כמו: מקשי החיצים, אחד ממקשי ה- F-ים, INS, HOME, DEL וכו´. את המידע המוכנס, שמור במערך (רק לבינתיים, כיוון שמערך מגביל אותך לגודל קבוע של מידע. מאוחר יותר, תוכל להשתמש במצביע למערך תווים ולבצע הקצאה דינמית בעזרת realloc מתי שתצטרך). לאחר שיש בידך ממשק נורמלי (אפילו אם התפריטים עדיין לא מתפקדים ועדיין יש הרבה להוסיף), עליך להוסיף אופציה לשמירה וטעינה של קבצים. בחר בצירוף כמו ALT-S עבור שמירת הקובץ, צור תיבת דיאלוג זמנית על המסך, לצורך קבלת שם הקובץ מהמשתמש (שוב, בעזרת setcolor ו- setbkcolor ניתן לממש זאת בקלות). כעת, השתמש בפונקציות הרלוונטיות לעבודה עם קבצים (אלו הן: fopen, fwrite, fclose יחד עם מבנה הנתונים FILE). צור תיבת דיאלוג מתאימה גם עבור טעינת קובץ. מאוחר יותר תוכל להוסיף תמיכה בתפריטים, שהיא קצת יותר בעייתית עבור מתחילים, אבל למעשה, מאוד קלה למימוש ורק מצריכה עבודה טכנית. תוכל להוסיף גם תמיכה בעכבר באמצעות פונקציות משלך או שימוש באחת מספריות קוד הניתנות להורדה חינם באינטרנט. אני ממליץ לך לנסות לתכנת הכל לבדך כי כך תלמד הכי הרבה. מעולם לא חיבבתי את השיטה של קריאת קבצי-מקור של מתכנתים אחרים לפני כתיבת יישום דומה. אם אתה זקוק לעזרה נוספת, אל תהסס לשאול בפורום ואעשה את המיטב בכדי להשיב לך. מקווה שסייעתי!
 

yair24

Member
אני מצרף פה משהו שיכול לעזור לך...

או לחילופין לייאש אותך... תלוי מה הידע שלך אני מקווה שזה לא ייאש אותך. זאת מחלקה שהתפקיד שלה הוא לצבוע מילים שמורות בC. (לא אני בניתי אותה) המימוש פה יחסית מאוד מסובך, אבל יעיל. לי לקח בערך יומיים להבין מה הוא עשה שם. (אני הייתי צריך את זה לפרוייקט שהיה לי להגשה בVC++ היינו צריכים לקחת את הדבר הזה ולעשות עורך שאתה כותב לו תוכנית והוא צובע אותה (הצביעה נמצאת פה) ואז כשתה לוחץ לו "קומפייל" אז בחלון אחר הוא מצייר לך תרשים זרימה של התוכנית שכתבת. (את זה אנחנו היינו צריכים לממש) למעשה לא הייתי צריך להבין איך עובדת המחלקה שצובעת את המילים אבל בכל זאת ניסיתי להבין את זה ולקח לי להבין את זה משהו כמו יום - יום וחצי (בסביבות ה12 שעות נטו)) יאיר תשנה את הסיומת לZIP
 
למעלה