פרק 13 - הוראות מיוחדות לעריכת הדפסה.

א. קידום שורות בהדפסה.

בכתיבה רגילה של הוראת : (שם רשומה)WRITE, המופנה למדפסת, מודפסת שורה אחת של הדפסה. לאחר סיום ההדפסה מתבצע קידום של הנייר בשורה אחת. אולם, לא ניתן בקידום ההדפסה בשורה בודדת, בכל פעם, לכתוב דוחות מורכבים, המופקים מתכנית המחשב. קיים צורך, בדרך כלל, לתת את השליטה לקצב קידום שורות ההדפסה בידי התכנית. כך שניתן יהיה מתוך התכנית לקבוע קצב זה. ניתן להתגבר על מצב זה על ידי שימוש באפשרויות מיוחדות, הקיימות במסגרת הוראת WRITE. ניתן להשתמש במסגרת ההוראה במשפטים AFTER ADVANCING (לאחר קידום) או BEFORE ADVANCING (לפני קידום), תוך ציון מספר שורות. תבנית ההוראה, במקרה זה, תהיה כדלקמן:

 LINES] {משתנה}{AFTERADVANCING   [(שם רשומה) WRITE

           {קבוע נומרי}{BEFORE}                    

אם נשתמש בקבוע נומרי בתבנית ההוראה, עליו להיות מספר חיובי, שלם וקטן מ-100 . ערכו של המשתנה, גם הוא חייב להיות מספר שלם INTEGER, חיובי וקטן מ-100 .

אם נרצה לכתוב שורת הדפסה בדו"ח, לאחר שבוצע קידום שורות, נשתמש בתבנית  AFTER ADVANCING. אפשרות אחרת - אם נרצה, ראשית, לכתוב שורת הדפסה, ורק לאחר מכן לבצע קידום שורות בהדפסה, נשתמש במשפט BEFORE ADVANCING.

לדוגמא: אם רוצים לקדם שתי שורות הדפסה, ורק לאחר מכן לבצע את ההדפסה, יש לכתוב:

WRITE PRINT-REC AFTER-ADVANCING 2 LINES.

ואם רוצים לכתוב שורת הדפסה, ורק לאחר מכן לקדם את ההדפסה בשלוש שורות, יש לכתוב:

WRITE  PRINT-REC  BEFORE  ADVANCING  3  LINES.

שים לב: המילים ADVANCING ו-LINES הינן רשות, כלומר, המחשב יבצע את אותה ההוראה בשתי תבניות הכתיבה השונות על פי הדוגמא הבאה:

WRITE  PRINT-REC  AFTER  ADVANCING  2  LINES

WRITE  PRINT-REC  AFTER  2

זכור: אין להשתמש במשפט BEFORE  ADVANCING לאחר השימוש במשפט AFTER  ADVANCING. כפי שמראה הדוגמא הבאה:

WRITE  HDR-REC  AFTER  ADVANCING  2  LINES.

WRITE   REPORT-REC  BEFORE  ADVANCING  2  LINES.

על פי דוגמא זו, תירשם הרשומה HDR-REC לאחר דילוג על שתי שורות הדפסה, והשורה REPORT-REC תירשם באותה שורה, שבה הודפסה הרשומה HDR-REC; ברור שלא זאת היתה כוונת התכנית. כדי למנוע טעויות מסוג זה, יש להשתמש בתכנית בהוראות הכתיבה במשפט BEFORE ADVANCING או AFTER  ADVANCING, אך לא בשניהם יחד. בהרבה מערכות מחשב, אין אפשרות לבצע דילוג על יותר מ-100 שורות. בדוק במערכת המחשב, שבה אתה מתרגל, את כמות השורות המותרת לדילוג. לשם קידום נייר ההדפסה בשורה אחת, ולאחר מכן - הדפסת שורה אחת, יש להשתמש בתבנית ההוראה הבאה:

WRITE  PRINT-1  AFTER  ADVANCING 1 LINES.

שים לב: למרות העובדה, שקידום השורות הוא שורה בודדת אחת, משתמשים במלה LINES, המבטאת באנגלית שורות רבות. למרות חוסר ההתאמה לדקדוק האנגלי, יש להשתמש במלה זו. השימוש במשפט ADVANCING גורם לתכנית להשתמש בתו הראשון אשר ברשומת ההדפסה, כתו המשרת את הפעלת המדפסת, ולא תו הדפסה רגיל אשר הופק בתכנית. תו זה נקרא תו פיקוח - CARRIAGE  CONTROL. מאחר שבשיטת רישום זו מנוצל התו הראשון כתו פיקוח, יש להוסיף תו אחד נוסף לרשומת הפלט אשר נכתבת למדפסת, שהיא, בדרך כלל, באורך של 132 תווים, יבמקרה זה יש לרשום רשומה באורך של 133 תווים. אין להשתמש בתו זה לצורכי עיבוד בתכנית, ויש להשאירו לשימוש המערכת. שטח ההדפסה, במקרה זה, יכול להיבנות על פי התבנית:

FD PRINT-FILE  LABEL RECORDS ARE OMITTED,

RECORD  CONTAINS  133  CHARACTERS,

DATA RECORD  IS  PRINTOUT.

01  PRINTOUT.

02  FILLER  PIC  X.

02  REAL-REC.

יש לזכור: הכנת רשומה באורך של 132 תווים והשימוש במשפט ADVANCING יגרמו למדפסת להדפיס 131 תווים בלבד. התו הראשון ברשומה לא יודפס. בנוסף לזאת, יש לציין:

בתכנית, אשר נעשה בה שימוש במשפט ADVANCING, חובה להמשיך ולהשתמש בכל הוראות ההדפסה במשפט זה. ברור, כי אם יש לכתוב שורת הדפסה וניתן להסתפק בהוראת WRITE פשוטה, ללא קידום שורות הדפסה, אין חובה להשתמש במשפט ADVANCING, אולם בשאר המקרים - יש לכתוב ADVANCING בכל הוראות WRITE.

קודם | תחילת הדף | הבא

 

נושאים

פרק 3 - חטיבת הזיהוי                               (IDENTIFICATION DIVISION)
פרק 6 - חטיבת הביצוע                               (PROCEDURE DIVISION)
פרק 14 - הוראת DISPLAY ו-ACCEPT

.איתן 2002. כל הזכויות שמורות למערכת המידע איתן ©