מהו זרם? TStream?
זרם הוא מה ששמו מרמז עליו: "נהר נתונים" זורם. לזרם יש התחלה, סוף, ואתה תמיד איפשהו בין שתי הנקודות הללו.
באמצעות דלפי חפצי TStream שתוכלו לקרוא מהם או לכתוב לסוגים שונים של אמצעי אחסון, כגון קבצי דיסק, זיכרון דינמי וכן הלאה.
אילו נתונים יכול להכיל זרם?
זרם יכול להכיל כל דבר שתרצה, בסדר שאתה אוהב. בפרויקט הדוגמא המלווה מאמר זה, רשומות בגודל קבוע משמשות למטרות פשטות, אך אתה יכול לכתוב כל תמהיל של נתונים בגודל משתנה לזרם. עם זאת זכור כי אתה אחראי על משק הבית. אין מצב שדלפי יכולה "לזכור" איזה סוג נתונים נמצאים בזרם, או באיזה סדר!
זרמים לעומת מערכים
למערכים החיסרון הוא שיש גודל קבוע שחייב להיות ידוע בזמן ההרכבה. אוקיי, אתה יכול להשתמש במערכים דינמיים.
זרם לעומת זאת, יכול לגדול לגודל הזיכרון הזמין, שהוא גדול במידה ניכרת במערכות של ימינו, ללא מטלות "משק בית".
לא ניתן להוסיף לאינדקס זרם, כפי שמערך יכול. אך כפי שתראו בהמשך, "ללכת" על נחל ונחל הוא קל מאוד.
ניתן לשמור / לטעון זרמים לקבצים בפעולה אחת פשוטה.
טעמים של נחלים
TStream הוא סוג הכיתה הבסיסי (המופשט) עבור אובייקטים בזרם. להיות מופשט פירושו שלעולם אסור להשתמש ב- TStream ככאלה, אלא רק בצורות צאצאים. לצורך הזרמת כל סוג של מידע, בחר כיתת צאצאים בהתאם לצרכים ולנתוני האחסון הספציפיים. לדוגמה:
- TFileStream (לעבודה עם קבצים)
- TMemoryStream (לעבודה עם מאגר זיכרון)
- TStringStream (לתמרון מחרוזות בזיכרון)
- TBlobStream (לעבודה עם שדות BLOB)
- TWinSocketStream (לקריאה וכתיבה בחיבור שקע)
- TOleStream (לשימוש בממשק COM לקריאה וכתיבה)
כפי שתראו, TmemoryStream ו- TFileStream ניתנים להחלפה להפליא ותואמים.
הורד פרויקט לדוגמא!