تقسیم یک فایل ورودی به چند فایل جداگانه
فرض کنید یک فایل ورودی با تعداد خطوط بالا دارید که مثلا بخش زیادی از آن مربوط به تعریف سلولهاست.
آیا میتوان بخش سلولها را از فایل ورودی اصلی جدا و در یک فایل جداگانه ذخیره کرد؟ آیا در این شرایط فایل ورودی اصلی اجرا میشود؟
پاسخ این دو سوال "بله" است.
کاربر میتواند بخشهای مختلفی از فایل ورودی را در فایلهای دیگری ذخیره کند و با اضافه کردن دستور read به فایل اصلی آنها را بخواند. به مثال زیر دقت کنید:
1 11 -1.2 -20 21 -22
Read file=cell.txt
20 0 -99
این مثال بخشی از یک فایل ورودی را نشان میدهد. در اینجا تمام سلولها به جز سلول شماره 1 و 20 از فایل دیگری که نام آن cell.txt است خوانده میشود. در فایل cell.txt سایر سلول ها طبق فرمت کد نوشته شدهاند.
این قابلیت کمک میکند که کاربر تسلط بهتری روی محتوای فایل ورودی و انجام تغییرات لازم داشته باشد.
یکی دیگر از کاربردهای این روش، امکان رمزگذاری روی فایلهاست (در این مثال میتوانیم روی فایل cell.txt رمز گذاری کنیم).
برای انجام این کار از دستور زیر در فایل ورودی اصلی استفاده میکنیم:
READ ENCODE password FILE= cell.txt
که در آن به جای عبارت password رمز دلخواه خود را درج میکنیم. سپس برنامه را اجرا میکنیم. با اجرای برنامه، فایل رمزگذاری شده تولید میشود. اکنون برای استفاده از این فایل باید از دستور زیر استفاده کنیم:
READ DECODE password FILE= cell.txt
و به جای عبارت password رمزی که تعریف کرده بودیم را درج میکنیم.
افراد با تجربه میدانند که فایل ورودی عینا در فایل خروجی چاپ میشود لذا ممکن است تصور شود که این رمزگذاری کارایی لازم را ندارد. اما اینطور نیست. با اضافه کردن دستور زیر میتوانیم از کد بخواهیم که آن بخش از فایل ورودی را که از فایل دیگری خوانده است را در فایل خروجی چاپ نکند:
READ DECODE password FILE= cell.txt NOECHO
درج عبارت NOECHO به معنای عدم چاپ محتویات فایل cell.txt در فایل خروجی است.
مثال زیر را ببینید:
C example
Read file=cell.txt
Read file=sur.txt
Read file=mat.txt
Read file=source.txt
Read file=data.txt
F4:n 99
NPS 1e7
در این مثال، اطلاعات فایل وروی از فایلهای مختلف داده شده خوانده میشود.
دقت کنید که این روش در ویژوال ادیتور تعریف نشده است.