امروز ...

صفحه بعدصفحه قبللیست مطالب فرترنبخش آموزش

 

- دسترسي به فايل

ابتدا بايد نکاتي در مورد نام فايل ها در سيستم عامل هاي مختلف گفته شود . همانطور که مي دانيد نام فايل متشکل از دو قسمت نام و پسوند است که توسط . از هم جدا مي شوند وجود نام ضروري و وجود پسوند اختياري است . بايد توجه داشت که در نام فايلها بايد قوانين مربوط به سيستم عامل موجود بر روي سيستم را رعايت کرد . به عنوان مثال در DOS 4.5 و قبل از آن نام فايل تنها 8 حرف مي تواند باشد . در ويندوزها نام فايل مي تواند تا 256 کاراکتر را به خود اختصاص دهد . نبايد از حر.ف غير مجاز در نام فايل ها استفاده کرد .

اکنون که با نام فايل آشنا شديم ، مي خواهيم دستورات باز کردن فايل ها را بيان کنيم :

(مشخصات باز کردن فايل ) OPEN

(مشخصات بستن فايل ) CLOSE

منظور از مشخصات ، يک سري از کليد واژه ها هستند که به دستور OPEN جهت باز کردن فايل کمک مي کنند . اکنون به بررسي تک تک آنها مي پردازيم .

- ACCESS

فرض کنيد ليستي از اسامي دانشجويان را در اختيار داريد . به دانشجويان گفته مي شود که به ترتيب ليست و به طور پشت سرهم بر روي صندلي ها بنشينند . اينک شما براي پيدا کردن نفر بيستم مي توانيد مستقيما به صندلي شماره 20 برويد زيرا ترتيبي بين ليست و نحوه نشستن دانشجويان وجود دارد . اما اگر به آنها اين اجازه داده شود که هر شخص بتواند با هر فاصله دلخواهي از نفر قبل بر روي يک صندلي بنشيند آنگاه براي پيدا کردن نفر بيستم بايد به ترتيب از نفر اول شروع کرده و تا پيدا کردن نفر بيستم به جستجوي خود ادامه دهيم . اين مثال عينا در مورد فايل ها نيز صادق است . اگر طول هر رکورد کاملا مشخص باشد براي دسترسي به رکورد n ام مي توانيد با پشت سر گذاشتن طول رکورد * (n-1) حرف به اول رکورد مورد نظر مي رسيم اما اگر طول هر رکورد با رکورد هاي ديگر متفاوت باشد مي بايست تک تک رکوردها را تا رسيدن به رکورد مورد نظر بخوانيم . اگر شيوه اول را دسترسي مستقيم بناميم و دومي را ترتيبي مي توان با نوشتن يکي از دو عبارت “Direct” براي مستقيم و يا “Sequential” براي ترتيبي در مقابل Access= مي توانيم نحوه دسترسي به فايل را مشخص کنيم .چنانچه هيچ عبارتي نوشته نشود دسترسي پيش فرض ترتيبي خواهد بود .

- Action

 يکي ديگر از اختياراتي که وجود دارد اين است که ما مي توانيم فايل را صرفا جهت انجام عمل خواندن و يا فقط نوشتن باز کنيم . کليدواژه Action داراي سه حالت  “Read”  ،  “Write”  ، “ReadWrite” مي باشد . که حالت اول براي حالت فقط خواندن و حالت دوم براي حالت فقط نوشتن و حالت سوم براي انجام هر دو عمل است . پيش فرض اين دستور حالت سوم در نظر گرفته مي شود .

- ERR

چنانچه در حين باز کردن فايل با پيغام خطا مواجه شويم در صورت وجود کليدواژه ERR ادامه برنامه به شماره Label نوشته شده در جلوي آن مي رود .

- File

در مقابل اين کلمه بايد يک متن که مسير دقيق فايل را بيان مي کند قرار داد . چنانچه بخواهيم يک فايل موجود را باز کنيم بايد حتما پسوند آنرا در صورت وجود بنويسيم . اگر تنها نام فايل ذکر شود مسير پيش فرض مسير قرار گيري برنامه خواهد بود .

- Position

که يکي از سه حالت “ASIS”  ، “Rewind”  ، “Append”  مي باشد و محل اشاره گر هارد براي باز کردن و جستو را به ترتيب موقعيت فعلي ، از اول و از آخر را تعيين مي کند .حالت اول پيش فرض در نظر گرفته مي شود

- Status

اگر مقدار آن “Old” باشد فايل تنها زماني باز خواهد شد که وجود داشته باشد . اگر فايل مورد نظر وجود نداشته باشد ، خطا رخ خواهد داد . اگر مقدار آن “New” باشد فايل ايجاد خواهد شد و در صورتي که وجود داشته باشد پيغام خطا ظاهر خواهد شد .

اگر مقدار آن “Unknown” باشد در صورت وجود آنرا باز مي کند و در صورت عدم وجود آنرا ساخته و بعد باز مي کند . اين حالت پيش فرض در نظر گرفته مي شود . مقدار بعدي “Replace” است که فايل را ساخته و باز ميکند حتي اگر فايل بر روي هارد موجود باشد . مقدار “Scratch” براي زماني است که بايد فايل ساخته شده با بسته شدن برنامه بسته شود است . بنابراين يک فايل موقت در مسير temp مي سازد .

- Unit

حال زماني که تمام مشخصات بالا نوشته شد بايد يک عدد به عنوان unit به فايل ساخته شده اختصاص داد تا در هنگام خواندن و نوشتن با اين عدد کار کرد . به عبارت ديگر براي جلوگيري از نوشتن مجدد همه موارد بالا از يک عدد استفاده مي شود .پ

به مثال زير توجه کنيد . 10 خط اطلاعات فايل اول دو بار در فايل دوم نوشته مي شوند :

Character *(*) A

Open(Unit=2,File=”C:\data.dat”,ERR=23,Action=”Read”,Status=”Old”)

Open(Unit=3,File=”C:\data.out”,ERR=24,Action=”Write”,Status=”New”)

Do i= 1, 10

              Read (2,*)A

    Write(3,*) (A,j=1,2)

End do

Close(2)

Close(3)

End

همانطور که مي بينيدپس از پايان کار فايل هاي باز شده را بستيم . چنانچه اين کار را انجام ندهيد برنامه خود به خود فايل ها را مي بندد .

 

صفحه بعد

صفحه قبل

لیست مطالب فرترن

بخش آموزش

 

 

قوانین حقوق مولفان 2008 ، گروه نرم افزاری سی سی ،شرایط و ضوابط سایت را مطالعه نمایید