שליפת/קריאת נתונים מקובץ (בפסקל) - אפשרי? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שליפת/קריאת נתונים מקובץ (בפסקל) - אפשרי?


GNU

Recommended Posts

לדוגמא אני כותב משחק טריוויה עם מערך שאלות ומערך תשובות.

וכל פעם שמפעילים את התוכנית היא תשלוף/תקרא נתונים מקובץ (רשימת שאלות ותשובות) ותכניס אותם למערך המתאים.

ואז השחקן מקבל שאלה ומכניס תשובה (שאלות אמרקאיות), והתוכנית משווה בין התשובות שלו לנכונות ונותנת נק' בהתאם.

השאלה שלי היא בעצם האם זה אפשרי לעשות דבר שכזה בפסקל (שליפת/קריאת נתונים מקובץ)? ואם כן, כיצד אני כותב את הקובץ ופונה אליו?

כיוון שהשנה כמעט הסתיימה (כיתה י' - מדעי המחשב א'), וסיימנו את כל החומר (כולל רשומות - שלא נכלל בבגרות - לכן נלמד אחרי),

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

מחכה לתשובה, תודה.

קישור לתוכן
שתף באתרים אחרים

בוודאי שאפשר.

כדי להשתמש בקובץ שמכיל טקסט מה שאתה צריך לעשות זה ליצור משתנה בצורה הבאה:

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);

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...