|
|
مقدمه 1 - فايلهای متنی Text File : اين فايلها فقط شامل کاراکترهای اسکی وبرخی کاراکترهای خاص مانند انتهای خط و انتهای فايل هستند . ۲ - فايلهای باينریBinary File : شامل هر نوع کاراکتری می توانند باشند و کاربردهای گسترده ای دارندمانند بانک های اطلاعاتی ، فايلهای اجرائی ، فايلهای گرافيکی و غيره ويژوال بيسيک می تواند با هر دو نوع فايل کار کند . قبل از اينکه بتوان عمليات ورودی/خروجی را روی يک فايل انجام داد ابتدابايستی آنرا باز کرد . باز کردن فايلها در ويژوال بيسيک توسط دستور Open انجام میشود . فرمت کلی اين دستور بصورت زير است : Open filename [For mode] [Access access][lock] As [#]filenumber [Len=reclen] [ پارامترهای داخل کروشه اختياری هستند . ] filename نام فايلی است که می خواهيم آنرا باز کنيم . - Input : فايل بعنوان ورودی بازمی شود . filenumber عددی است که ويژوال بيسيک از آن برای دسترسی به فايل استفاده می کند .اين عدد بايستی برای هر فايل منحصر بفرد و بين ۱ تا ۵۱۱ باشد . برای بدست آوردن اولين شماره آزاد می توان از تابع FreeFile استفاده کرد . چگونگی بستن فايل پس از پايان کار با فايل برای بستن آن از دستور Close استفاده می کنيم . فرمت اين دستور بصورت زير است : Close #filenumber دستورClose بدون هيچ پارامتری تمام فايلهای باز را می بندد . Myfile=Dir$("c:\text\*.txt)" دستور فوق نام اولين فايل موجود دردايرکتوری C:\TEXT را که پسوند آنها txt باشد در متغير Myfile قرار می دهد . اگردستور فوق رابدون پارامتر مجدداً اجرا کنيم نام دومين فايل برگرداننده میشد و الی آخر Myfile=Dir$("c:\text\*.txt",vbNormal) مقادير ممکن اين پارامتر عبارتند از : vbNormal، vbHidden ، vbSystem ، vbDirectory ۲ - تغيير دايرکتوری : برای تغيير دايرکتوری از دستور ChDir استفاده می شود مثال : ChDir "c:\windows\system32" ۳ - تغيير درايو : برای تغيير درايو از دستور ChDrive استفاده می شود مثال : ChDrive "E:" ۴- ساخت دايرکتوری : برای ايجاد دايرکتوری جديد از دستور MKDir استفاده می شود مثال : MKDir "c:\MyFolder" ۵ - حذف دايرکتوری : برای حذف دايرکتوری از دستور RmDir استفاده می شود مثال : RmDir "C:\MyFoler" خواندن از فايل :
Input #Filenumber,ReadData دستور اول کل يک فايل را خوانده و درمتغير ReadData قرار می دهد . دستور دوم ، تعداد Charnum بايت از فايلی با شماره Filenumber را خوانده و در متغير ReadData قرار می دهد . Line Input #Filenumber,ReadData البته از دستور Line Input بيشتر برای خواندن فايلهای متنی استفاده می شود زيراممکنست در فايل باينری هيچ کاراکتر انتهای خط ( CRLF ) وجود نداشته باشد و يکباره کل فايل خوانده شود . Get #Filenumber,[Recordnum%],ReadData اين دستور رکورد شماره Recordnum را ازفايلی با شماره Filenumber می خواند و در متغير ReadDataقرار می دهد . علامت کروشه نشان می دهد که پارامتر Recordnum اختياری است و در صورتيکه ذکر نشود داده ها ازرکورد بعدی فايل ( جائيکه اشاره گر فايل آنجا قرار دارد ) خوانده می شوند . ۱ - دستور Print : توسط اين دستور می توان اطلاعاتی را در فايل قرار داد : Print #FileNumber,WriteData دستور فوق محتويات متغير WriteData را در فايلی با شماره FileNumber می نويسد . بوسيله دستورPrint می توان اطلاعات را بصورت خط به خط در فايل نوشت برای مثال : Print #1,"Hello Visual Basic"+Vbcrlf عبارت Vbcrlf نشان دهنده کاراکتر انتهای خط ( CRLF ) در ويژوال بيسيک می باشد . Put #FileNumber,[Recordnum],WriteData اين دستور محتويات متغير WriteData را دررکورد شماره Recordnum قرار می دهد . Seek #FileNumber,RecordNumber تشخيص انتهای فايل : برای اينکه متوجه شويم به انتهای يکفايل رسيده ايم از دستور EOF استفاده می کنيم . اين دستور يکی از مقادير True يا False را بر می گرداند که نشان می دهد به انتهای فايلرسيده ايم يا نه . از اين تابعدر حلقه های Do-While استفاده می شود : Do While Not (EOF(FileNumer)) حلقه فوق تا زمانيکه فايل موردنظر به انتها نرسيده باشداجرا خواهد شد . بوسيله دستور LOF می توان طول محتويات يک فايل را بدست آورد : FileSize=LOF(FileNumber) بدست آوردن محل اشاره گر فايل : FilePosition=Loc(FileNumber) ساير عمليات کار با فايل : ۱ - حذف فايل : برای حذف يک يا چند فايل از دستور Kill استفاده می شود : Kill "C:\Temp\MyFile.txt" ۲ - انتقال فايل: برای انتقال يک فايل از يک دايرکتوری به دايرکتوری ديگر از دستور Name استفاده میشود . مبدا و مقصد بايستی روی يک درايو باشند . اگر دايرکتوری مبدا و مقصد يکی باشدفايل تغيير نام داده می شود : Name "C:\Temp\File1.txt" To "C:\Temp2\File2.txt"x ۳- کپی کردن فايل : برای کپی کردن يک فايل از يکدايرکتوری به دايرکتوری ديگر از دستور FileCopy استفاده می شود : FileCopy "\File1.txt\ To "C:\Temp\File2.txt" ۴ - بدست آوردن تاريخ و زمان آخرين تغيير فايل و يا زمان ايجاد فايل : برای اين کار از دستور FileDateTimeاستفاده میشود . ابتدا بايستی يک متغير از نوع Variant تعريف کرده و سپس توسط اين دستور تاريخو زمان موردنظر را استخراج کنيم : Dim FileInfo As Variant ۵ - استخراج طول فايل : برای بدست آوردن طول يک فايل بر حسب بايت از دستور FileLen استفاده می شود : FileSize=FileLen("C:\MyFile.txt") ۶ - تغيير صفت يک فايل : برای تغيير صفت يک فايل از دستور SetAttr استفاده می شود . پارامترهای اين دستور عبارتنداز :
مقابله با خطاهای کار با فايل : درزمان کار با فايلهای احتمال زيادی وجود دارد که خطا بوجود آيد . بنابراين بايستی درزمان کار با فايلها در صورت ممکن از روتينهای مقابله با خطا استفاده کنيم . شايعترين خطاهای کار با فايل عبارتند از :
در هنگام مقابله با خطا بهتراست از يک ساختار Select-Case استفاده کنيد : Select Case Err نوشته شده در جمعه پنجم بهمن 1386 ساعت 11:29 توسط محمد سعيدوسجاد عبدی |