|
آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic تهیه و آموزش نرم افزار دارک بیسیک |
|||
|
جمعه 23 فروردین 1392 :: 01:16 :: نويسنده : darkbasic
در این فصل یاد می گیریم تا بر روی فایل ها و پوشه های موجود در Hard کامپیوتر کار کنیم . مثلا فایل یا پوشه ای را کپی ، ایجاد ، حذف ، تغییر نام و ... را انجام دهیم .
دستور DIR این دستور اسامی تمامی فایل ها و پوشه هایی را که در مسیر جاری وجود دارند ، بر روی صفحه ی نمایشگر چاپ می کند . یعنی اگر مسیر جاری C:Example باشد ، اسامی فایل ها و پوشه های موجود در این مسیر چاپ خواهد شد . مانند مثال زیر :
Dir Do Loop
دستورات PERFORM CHECKLIST FOR FILES این سلسله از دستورات ، مانند دستور قبلی ( یعنی دستور DIR ) اسامی تمامی فایل ها و پوشه هایی را که در مسیر جاری وجود دارند را برمی گرداند . با این تفاوت که علاوه بر نمایش آنها ، توابع این دستورات کنترل بیشتری بر روی داده ها به ما خواهد داد . مانند مثال زیر :
Perform Checklist For Files ()For T = 1 to CheckList Quantity (Print "Files = " + CheckList String$(T Next T Wait Key
تابع GET DIR با استفاده از این تابع می توانیم مسیر جاری را پیدا کنیم . مانند مثال زیر :
()$Print "Current Dir = " + Get Dir Wait Key
دستور SET DIR با این دستور می توانیم مسیر جاری را تغییر دهیم . یعنی اگر مسیر بر روی /:C تنظیم شود ، با استفاده از دستور Dir می توانیم اسامی فایل ها و پوشه های موجود در این مسیر را نمایش دهیم . مانند مثال زیر :
"/:Set Dir "C Dir Wait Key
با اجرای این مثال اسامی تمامی فایل ها و پوشه های موجود در مسیر /:C نمایش داده خواهد شد .
تابع WINDIR این تابع مسیری که ویندوز در آن نصب شده باشد را برمی گرداند . مانند مثال زیر :
()$Print "Current Windows Directory = " + WinDir Wait Key
تابع APPNAME این تابع نام و مسیر برنامه ی ما را در حالت اجرا برمی گرداند . یعنی اگر برنامه ای که می نویسیم در هر مسیری وجود داشته باشد . موقع اجرای برنامه ، تابع APPNAME مسیر و نام برنامه ی ما را برمی گرداند . مانند مثال زیر :
()$Print "AppName = " + AppName Wait Key
دستور DRIVELIST این دستور اسامی درایو های موجود در HARD را چاپ می کند . مانند مثال زیر :
DriveList do loop
دستورات PERFORM CHECKLIST FOR DRIVES این تابع همانند دستور قبلی نام درایو های موجود را برمی گرداند . مانند مثال زیر :
Perform Checklist For Drives ()For T = 1 to CheckList Quantity (Print "Drives = " + Checklist String$(T Next T Wait Key
تفاوت این دستورات با دستور قبلی ( Drive List ) در توابع آن می باشد . یعنی با این دستورات و توابع می توانیم کنترل بیشتری بروی نام و تعداد درایو ها داشته باشیم .
دستور MAKE FILE با این دستور می توانیم فایل خالی با فرمت دلخواه در هر مسیری ایجاد کنیم . مانند دستورالعمل زیر :
MAKE FILE fileName
طبق این دستورالعمل به جای fileName نام درایو و مسیر موجود و نام فایل و فرمت آن را قرار می دهیم . مانند مثال زیر :
"Make File "C:MyDirectoryMyFile.txt
با اجرای این مثال فایلی با نام MyFile با فرمت txt در مسیر C:MyDirectory ایجاد می شود . نکته 1 : اگر فایلی قبلا با همین نام و فرمت در همین مسیر وجود داشته باشد . آن فایل پاک خواهد شد و یک فایل خالی جایگزین آن می شود .
نکته 2 : اگر مسیر انتخابی برای ایجاد فایل وجود نداشته باشد ، هیچ فایلی ایجاد نخواهد شد . در این مثال اگر دارکتوری MyDirectory در درایو C وجود نداشته باشد ، هیچ فایلی ایجاد نخواهد شد .
دستور MAKE DIRECTORY با این دستور می توانیم یک دایرکتوری خالی ( پوشه ای برای نگه داشتن پوشه ها و فایل ها ) ایجاد کنیم . مانند دستورالعمل زیر :
MAKE DIRECTORY DirectoryName
طبق این دستورالعمل به جای DirectoryName مسیر و نام دایرکتوری ( پوشه ) جدید را قرار می دهیم . مانند مثال زیر :
"Make Directory "C:/oldDirectory/NewDirectory
با اجرای این مثال دارکتوری NewDirectory در مسیر C:/oldDirectory ایجاد می شود . نکته : اگر مسیری برای ایجاد داریکتوری وجود نداشته باشد ، داریکتوری جدید ایجاد نخواهد شد .
دستور DELETE FILE با این دستور می توانیم فایلی را که از قبل ایجاد شده را ، حذف کنیم ( از بین ببریم ) . مانند دستورالعمل زیر :
DELETE FILE Filename
طبق این دستورالعمل به جای Filename مسیر و نام فایل مورد نظر را جهت پاک شدن قرار می دهیم . مانند مثال زیر :
"Delete File "C:/MyDirectory/File.dat با اجرای این مثال فایل File.dat موجود در مسیر C:/MyDirectory حذف می شود .
دستور COPY FILE این دستور فایلی که قبلا ایجاد شده باشد را ، در مسیری دلخواه کپی می کند . مانند دستوالعمل زیر :
COPY FILE SourceFilename,DestinationFilename
طبق این دستورالعمل به جای SourceFilename مسیر و نام فایلی که می خواهیم از روی آن کپی ایجاد کنیم را ، قرار می دهیم و به جای DestinationFilename مسیر و نام فایل جدید را قرار می دهیم . می توانیم در قسمت DestinationFilename نام جدیدی برای فایل جدید در نظر بگیریم ، منتهی مسیر مورد نظر برای فایل جدید باید وجود داشته باشد .
"Copy File "C:/data.dat","D:/MyDirextory/backupdata.dat
با اجرای این مثال فایلی جدید با نام backupdata.dat در مسیر D:/MyDirextory از روی فایل data.dat موجود در مسیر :C ایجاد خواهد شد .
دستور MOVE FILE با این دستور می توانیم فایل موجود را به مسیر جدید انتقال دهیم . همچنین می توانیم نام جدیدی را هم در نظر بگیریم . مانند دستورالعمل زیر :
MOVE FILE SourceFilename,DestinationFilename
طبق این دستورالعمل به جای SourceFilename مسیر و نام فایلی را که می خواهیم انتقال دهیم ، قرار می دهیم و به جای DestinationFilename مسیر و نام جدیدی را برای انتقال در نظر می گیریم .
نکته : مسیر مورد نظر برای انتقال فایل باید وجود داشته باشد .
"Move File "C:oldfile.txt","d:oldfile.txt
یا
"Move File "C:oldfile.txt","d: ewfile.txt
دستور RENAME FILE با استفاده این دستور می توانیم فایل مورد نظرمان را تغییر نام دهیم . مانند دستورالعمل زیر :
RENAME FILE SourceFilename,NewFilename
طبق این دستورالعمل به جای SourceFilename نام و مسیر فایل مورد نظرمان را قرار می دهیم و به جای NewFilename نام جدیدی را وارد می کنیم . مانند مثال زیر :
"Rename File "C:Data.txt","C: ewData.txt
نکته : طبق دستورالعمل اگر به جای NewFilename مسیر جدیدی را قرار دهیم ، فایل به مسیر جدید و با نام جدید نقل مکان خواهد کرد . مانند مثال زیر :
"Rename File "C:Data.txt","D: ewData.txt
در این مثال علاوه بر این که نام فایل از Data به newData تغییر پیدار کرد . خود فایل هم از مسیر :C به مسیر :D انتقال پیدا کرد .
دستور EXECUTE FILE از این دستور برای اجرای فایل ها استفاده می کنیم . مانند دستورالعمل زیر :
EXECUTE FILE Filename,Commandline,Directory
طبق این دستورالعمل به جای Filename نام و مسیر فایل اجرایی مورد نظرمان را قرار می دهیم . مانند مثال زیر :
"","","EXECUTE FILE "C:WINDOWSNotePad.exe Wait Key
با اجرای این مثال برنامه ی NotePad اجرا خواهد شد . این برنامه فایلی است با فرمت Exe و به تنهایی اجرا می شود . ولی فایل هایی هم هستند که اجرایی نیستند ؛ بلکه اطلاعاتی را برای برنامه های دیگر نگه می دارند . مانند فایل هایی با فرمت Doc که توسط برنامه ی Microsot Word ایجاد شده اند . پس برای استفاده و باز کردن این فایل باید به جای Directory نام و مسیر فایل برنامه ی Microsoft Word را هم قرار دهیم . مانند مثال زیر :
EXECUTE FILE "C:MyFile.Doc","","C:Program FilesMicrosoft "OfficeOffice10WinWord.Exe Wait Key
اگر برنامه ی Microsoft Word از قبل نصب شده باشد . می توانیم تنها نام و مسیر فایل را قرار دهیم . مانند مثال زیر :
"","","EXECUTE FILE "C:MyFile.Doc Wait Key
تابع FILE EXIST با استفاده از این تابع می توانیم بفهمیم که آیا فایل مورد نظرمان وجود دارد یا خیر . مانند دستورالعمل زیر :
(ReturnInteger = FILE EXIST(Filename
طبق این روش به جای Filename نام و مسیر فایل مورد نظرمان را قرار می دهیم . اگر فایل مورد نظر در مسیر وجود داشته باشد ، ReturnInteger برابر یک و اگر وجود نداشته باشد ، ReturnInteger برابر صفر خواهد بود . مانند مثال زیر :
"myFile$ = "C:MyDirectoryFile.exe "If File Exist(myFile$)=1 Then Print "Yes" Else Print "No Wait Key
با اجرای این مثال اگر فایل File با فرمت exe در مسیر C:MyDirectory ، وجود داشته باشد ، عبارت Yes و اگر وجود نداشته باشد ، عبارت No چاپ خواهد شد .
تابع PATH EXIST با این تابع می توانیم بررسی کنیم که آیا مسیر مورد نظرمان وجود دارد یا خیر . مانند دستورالعمل زیر :
(ReturnInteger = PATH EXIST(PATH
طبق این دستورالعمل به جای PATH مسیر مورد نظرمان را قرار می دهیم . اگر مسیر مورد نظر وجود داشته باشد ، ReturnInteger برابر یک و اگر وجود نداشته باشد ، ReturnInteger برابر صفر خواهد بود . مانند مثال زیر :
"myPath$ = "C:MyDirectoryDirect "If Path Exist(myPath$)=1 Then Print "Yes" Else Print "No Wait Key
با اجرای این مثال اگر مسیر C:MyDirectoryDirect وجود داشته باشد ، عبارت Yes و اگر وجود نداشته باشد ، عبارت No چاپ خواهد شد .
دستور OPEN TO WRITE و دستور ClOSE FILE با استفاده از این دستور می توانیم فایلی را جهت نوشتن اطلاعات در آن باز کنیم . مانند دستورالعمل زیر :
OPEN TO WRITE FileNumber,Filename
طبق این دستورالعمل به جای Filename نام و مسیر فایل مورد نظرمان را قرار می دهیم . و به جای FileNumber یک عدد بین 1 تا 32 قرار می دهیم و در برنامه توسط همین شاخص عددی می توانیم به فایل باز شده ، فرمان خواندن و یا نوشتن اطلاعات را بدهیم . در واقع برای هر فایل باز شده در برنامه ، باید یک عدد به آن فایل اختصاص پیدا کند . مانند مثال زیر :
"Open To Write 1,"C:Data.dat Close File 1
با اجرای این مثال فایل Data.dat را با هدف نوشتن اطلاعات در آن باز کردیم و عدد یک را به آن اختصال دادیم . و در خط بعدی با توجه به عددی که به فایل باز شده اختصاص داده بودیم ، فایل را بستیم . فایل باز شده بعد از اتمام کار باید بسته شود تا از آسیب دیدگی آن جلوگیری بعمل آید .
تابع FILE OPEN این تابع باز و یا بسته بود فایل را بررسی می کند . یعنی طبق عددی را که در برنامه به هر فایل اختصاص داده بودیم ، آن عدد در این تابع وارد شود ، اگر فایل مورد نظر باز بوده باشد ، مقدار این تابع عدد یک و در غیر اینصورت اگر فایل بسته باشد ، عدد صفر توسط این تابع برگردانده خواهد شد . یعنی اگر از دستور Close File استفاده شده باشد ، عدد صفر توسط این تابع برگردانده خواهد شد . مانند مثال زیر :
"Open To Write 1,"C:Data.dat "If File Open(1)=1 Then Print "File Is Open" Else Print "File Is Close Close File 1 "If File Open(1)=1 Then Print "File Is Open" Else Print "File Is Close Wait Key
در این مثال در خط اول ، فایل Data.dat موجود در مسیر :C جهت نوشتن اطلاعت باز شد و در خط دوم تابع ()File Open به دلیل باز بودن فایل عدد یک را برگرداند و عبارت File Is Open چاپ شد و در خط سوم فایل بسته شد . به همین دلیل تابع ()File Open به دلیل بسته بودن فایل عدد صفر را برگرداند و عبارت File Is Close چاپ شد .
توجه ! اگر فایل Data.dat وجود نداشت ، با دستور Open To Write بطور خودکار ایجاد و باز می شد .
دستور WRITE WORD با این دستور می توانیم عددی را در محدوده ی متغیر از نوع Word ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE WORD FileNumber,Variable
طبق این دستورالعمل به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable عددی با محدوده متغیر Word یعنی عددی بین 0 تا 65535 جهت ذخیره شدن در Hard قرار می دهیم . مانند مثال زیر :
"Open To Write 1,"Data.dat If File Open(1)=1 write word 1,42 EndIf Close File 1
در این مثال ابتدا فایل Data.dat را جهت نوشتن اطلاعات باز می کنیم . سپس قبل از نوشتن اطلاعات داخل فایل بررسی می کنیم که آیا فایل برای نوشته شدن اطلاعات باز است یا بسته . در صورت باز بودن ، می توانیم اطلاعات را در آن بنویسیم و بعد فایل را ببندیم .
نکته : در این مثال فرض بر این است که فایل Data.dat در پوشه ی پروژه است ( یعنی فایل Data.dat کنار فایل اجرایی است ) . به خاطر همین مسیر فایل را تایپ نکردیم .
دستور OPEN TO READ با استفاده از این دستور می توانیم فایلی را جهت خواندن اطلاعات از آن باز کنیم . مانند دستورالعمل زیر :
OPEN TO READ FileNumber,Filename
طبق این دستورالعمل به جای Filename نام و مسیر فایل مورد نظرمان را قرار می دهیم . و به جای FileNumber یک عدد بین 1 تا 32 قرار می دهیم . مانند مثال زیر :
"Open To Read 1,"C:Data.dat Close File 1
با اجرای این مثال فایل Data.dat را با هدف خواندن اطلاعات از آن باز کردیم و عدد یک را به آن اختصال دادیم . و در خط بعدی با توجه به عددی که به فایل باز شده اختصاص داده بودیم ، فایل را بستیم . دقت کنید تا فایل باز شده بعد از اتمام کار حتما بسته شود تا از آسیب دیدن جلوگیری شود .
دستور READ WORD با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Word ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ WORD FileNumber,Variable
در این مثال به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable متغیری با محدوده متغیر Word قرار می دهید . مانند مثال زیر :
"Open To Read 1,"Data.dat If File Open(1)=1 Read word 1,A Print A EndIf Close File 1
در این مثال ابتدا فایل را جهت خواندن اطلاعات باز می کنیم . سپس قبل از خواندن اطلاعات داخل فایل بررسی می کنیم که آیا فایل برای خواندن اطلاعات از آن باز است یا نه . در صورت باز بودن ، می توانیم اطلاعات را از آن بخوانیم و بعد فایل را ببندیم . در این مثال ما یک متغیر به نام َA ایجاد کردیم تا از داده استفاده کنیم .
نکته : در مثال های اخیر ما مسیر فایل را مشخص نکردیم . یعنی عبارت , "Data.dat" به این معنی است که فایل در همان مسیری ایجاد شود که برنامه ما هم اکنون در آن مسیر در حال اجراست . یعنی اگر مسیر پروژه ی ما در آدرس زیر C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsprjExample ایجاد شده باشد . با اجرای برنامه ، فایل Data.dat در همین مسیر ایجاد خواهد شد . و اگر فایل را Compile کنیم . یعنی آن را اجرایی کنیم و فایلی با فرمت Exe ایجاد گردد ، می توانیم آن فایل را در هر مسیری و در هر کامپیوتری کپی کنیم و فایل Data.dat هم با این روش کنار فایل اجرایی یعنی در همان پوشه ای که فایل اجرایی در آن وجود دارد ایجاد خواهد شد . از این روش در تمامی دستورات مربوط به کار با فایل ها در تمامی وبلاگ می توان استفاده کرد . مگر اینکه مسیر جاری توسط دستور SET DIR تغییر پیدا کند .
دستور WRITE BYTE با این دستور می توانیم عددی در محدوده ی متغیری از نوع Byte ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE Byte FileNumber,Variable
دستور READ BYTE با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Byte ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ BYTE FileNumber,Variable
دستور WRITE LONG با این دستور می توانیم عددی در محدوده ی متغیری از نوع Integer ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE LONG FileNumber,Variable
دستور READ LONG با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Integer ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ WORD FileNumber,Variable
دستور WRITE FLOAT با این دستور می توانیم عددی اعشاری ( ممیزدار ) را در محدوده ی متغیری از نوع Float ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE Float FileNumber,Variable
دستور READ FLOAT با این دستور می توانیم عددی را در محدوده ی متغیری از نوع Float ، که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ Float FileNumber,Variable
برای اینکه مقدار عدد ممیز دار درست خوانده شود باید از متغیری ممیز دار نیز برای خواندن استفاده شود ، مانند مثال زیر که از متغیر #a استفاده می کنیم :
"Open To Read 1,"data.dat If File Open(1)=1 #Read Float 1,a (#Print "value = "+str$(a EndIf Close File 1 Wait Key
دستور WRITE STRING با این دستور می توانیم عبارتی کاراکتری را ، داخل فایل بنویسیم . مانند دستورالعمل زیر :
WRITE STRING FileNumber,Variable
طبق این دستورالعمل به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable عبارتی کاراکتری قرار می دهیم ( بصورت عبارت و یا متغیر کاراکتری ) . مانند مثال زیر :
"Open To Write 1,"Data.dat If File Open(1)=1 ".Write String 1,"This Is A Data EndIf Close File 1
دستور READ STRING با این دستور می توانیم عبارتی را که از قبل داخل فایل نوشته بودیم ، بخوانیم . مانند دستورالعمل زیر :
READ STRING FileNumber,Variable
طبق این دستورالعمل به جای FileNumber عدد اختصاص داده شده به فایل و به جای Variable متغیر کاراکتری قرار می دهیم . مانند مثال زیر :
"Open To Read 1,"Data.dat If File Open(1)=1 $Read String 1,A $Print A EndIf Close File 1
تابع FILE SIZE این تابع اندازه ی فایل مورد نظرمان را بر حسب بایت برمی گرداند . هر 1000 بایت 1 کیلو بایت می باشد . مانند مثال زیر :
("Print File Size("C:data.dat
درباره وبلاگ به وبلاگ من خوش آمدید موضوعات آرشيو وبلاگ پيوندها نويسندگان |
|||
|
|
نام کاربری یا ایمیل خود را وارد کنید
کد ۶ رقمی ارسالشده به ایمیل و رمز عبور جدید را وارد کنید.
در چند ثانیه حساب کاربری خود را بسازید
دیدگاه خود را با ما در میان بگذارید
ورود کاربران
خوش آمدید! لطفا وارد حساب خود شوید