פורסם 2005 במאי 2220 שנים לדוגמא אני כותב משחק טריוויה עם מערך שאלות ומערך תשובות.וכל פעם שמפעילים את התוכנית היא תשלוף/תקרא נתונים מקובץ (רשימת שאלות ותשובות) ותכניס אותם למערך המתאים.ואז השחקן מקבל שאלה ומכניס תשובה (שאלות אמרקאיות), והתוכנית משווה בין התשובות שלו לנכונות ונותנת נק' בהתאם.השאלה שלי היא בעצם האם זה אפשרי לעשות דבר שכזה בפסקל (שליפת/קריאת נתונים מקובץ)? ואם כן, כיצד אני כותב את הקובץ ופונה אליו?כיוון שהשנה כמעט הסתיימה (כיתה י' - מדעי המחשב א'), וסיימנו את כל החומר (כולל רשומות - שלא נכלל בבגרות - לכן נלמד אחרי),ולא למדנו על שיטה כזאת לשליפת/קריאת נתונים מקובץ. אני בספק אם זה אפשרי.מחכה לתשובה, תודה.
פורסם 2005 במאי 2320 שנים בוודאי שאפשר.כדי להשתמש בקובץ שמכיל טקסט מה שאתה צריך לעשות זה ליצור משתנה בצורה הבאה:var myfile: textלאחר מכן "לשייך" את משתנה-הקובץ הזה לקובץ אמיתי במחשב:Assign(myfile, 'C:\myfile.txt');כעת עליך לפתוח את הקובץ. אם אתה רוצה לפתוח את הקובץ לקריאה בלבד השתמש ב:Reset(filevar);אם אתה רוצה למחוק את התוכן הקודם שלו ולפתוח אותו לכתיבה בלבד השתמש ב:Rewrite(filevar);ואם אתה רוצה לפתוח את הקובץ לכתיבה בלבד ללא מחיקת התוכן הקודם:append(myfile);כדי לקרוא מן הקובץ או לכתוב אליו אתה אמור להשתמש ב read ו write (וכמובן גם readln ו writeln), כאילו אתה קורא/פולט למסך. ההבדל הוא שכאן, הפרמטר הראשון אמור להיות משתנה-הקובץ:read(myfile, mychar);כדי לדעת אם הגעת לסוף הקובץ השתמש בeof(myfile)הפונקציה תחזיר true אם הגעת לסוף הקובץ.כדי לדעת אם הגעת לסוף השורה השתמש בeofln(myfile)גם כאן, הפונקציה תחזיר true או false בהתאם למצב. לדעתי אין לך צורך בפונקציה הזאת כי אני מניח שתשתמש ב readln, שיקרא את כל השורה אוטומטית...חשוב לסגור את הקובץ כשאתה מסיים להשתמש בו:close(myfile);
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.