View Full Version : سوال: کار با فایل باینری
رامین مرادی
پنج شنبه 20 بهمن 1390, 18:57 عصر
سلام دوستان
اگه امکان داره کار با فایل باینری رو آموزش بدید
مثلا" من یه عکس رو به صورت باینری باز کنم و اونو با پسوند تی اکس تی ذخیره کنم
در صورت امکان یه برنامه نمونه هم بزارید
فقط من مبتدی هستم لطفا با روش های پیچیده ننویسیسد
night_secret
پنج شنبه 20 بهمن 1390, 20:53 عصر
دوست من تو سایت سرچ بکن اگه باز اگر سوالی پیش اومد بگو در خدمتم
رامین مرادی
یک شنبه 23 بهمن 1390, 18:47 عصر
مرسی از نظرتون
من جستجو رو انجام دادم ولی....
من تایپیکها رو دیدم ولی یه کمی برام گنگ بود
اگه زحمت نبود تو همون تایپیک که می نوشتید بهتر بود لینک تایپیک ها و بحث های مربوطه رو هم می نوشتید و نمی گفتید که جستجو کنید.!!!!! و این فرهگ جستجو کنید رو از بین می بردیم چی می شد خدایا!!!!!!!!
در ضمن من یه برنامه مونه هم ازتون می خوام اگه زحمتی نباشه D:
just4froum
یک شنبه 23 بهمن 1390, 20:16 عصر
سلام دوستان
اگه امکان داره کار با فایل باینری رو آموزش بدید
من به صورت خلاصه آن چه را که بلدم آموزش میدم اگر ناقص بود دیگه شما ببخشید:
اصلا کار با فایل به صورت باینری یعنی چی ؟ می دونید که کامپیوتر از 0 و 1 تشکیل شده که هر کدوم از این 0 یا 1 ها تشکیل یک بیت را می دهند و هر 8 تا از این بیت ها تشکیل یک بایت را می دهند.
حالا شما وقتی حجم یک فایل رو میگیرید مثلا فرض می کنید حجم فایل ما 1 mb باشه یعنی از 1024*1024 تا بایت تشکیل شده.
حالا شما وقتی فایلی را به صورت باینری باز می کنید در حقیقت به این 1024*1024 بایت دسترسی پیدا می کنید
خوب برای باز کردن یک فایل یه صورت باینری به صورت زیر عمل می کنیم:
Open "File Path" for binary as 1
این کد یعنی فایلی به مسیر file path رو باز می کنه
binary یعنی به صورت باینری باز می کنه و در آخر شماره 1 شماره فایل است که هر بار بخوایم از فایل استفاده کنیم از شمارش استفاده می کنیم.
just4froum
یک شنبه 23 بهمن 1390, 20:18 عصر
حالا می رسیم به طریق استفاده از فایل :
برای دریافت یک بایت از Get و برای تغییر یا گذاشتن یک بایت از Put استفاده می کنیم.
به این صورت که :
Get#1,Row Number,Variable
1 که همون شماره فایل ما هست
Row Number شماره بایت ما هست یعنی مثلا 100 , صدمین بایت از 1024*1024 به ما می دهد
Variable هم متغیری هست که بایت در اون ریخته میشه
طرز کار Put نیز دقیقا به همین شکل است.
حالا شما می توانید به شکل دیگری هم عمل کنید مثلا :
Dim My_App_Bytes (1 to (1024*1024)) as bytes
Open "File Path" for binary as 1
get#1, , My_App_Bytes
در این روش کل بایت های فایل ما که یک مگ بود در متغیر تک بعدی My_App_Bytes قرار می گیرد.
در آخر هم که کارمون با فایل تموم شد اونو می بندیم.
بدین شکل :
Close #1
just4froum
یک شنبه 23 بهمن 1390, 20:29 عصر
مثلا" من یه عکس رو به صورت باینری باز کنم و اونو با پسوند تی اکس تی ذخیره کنم
در صورت امکان یه برنامه نمونه هم بزارید
فقط من مبتدی هستم لطفا با روش های پیچیده ننویسیسد
نیازی نیست شما چنین کاری کنید چون روش های بسیار راحت تر و سریع تری وجود داره مثلا استفاده از CMD یا همون Shell وی بی یا با خود ویندوز بدین شکل
البته در ویندوز سون :
مسیر زیر را دنبال کنید:
Organize - Folder and search option - view - advanced setting - Hidden files and folder
تیک گزینه ی Hide extensions for known file types را بردارید از این پس پسوند تمام فایل هارو می نویسه با یک rename می توانید این تغییر را بدهید.
Mr'Jamshidy
یک شنبه 23 بهمن 1390, 22:53 عصر
البته اگر بخواید فایل رو تغییر نام بدید میتونید از فرمان Name خود ویبی استفاده کنید (یا از تابع MoveFile ویندوز)
روش استفاده Name File_Name As New_File_Name
File_Name: آدرس کامل فایل مورد نظر
New_File_Name: نام جدید فایل
*توجه داشته باشید که از این فرمان برای انتقال فایل هم میتونید استفاده کنید
اگر قصد جا به جایی فایل رو ندارید باید در هر دو مورد آدرس کامل رو ذکر کنید
به عنوان مثال:
Name "C:\Test\Test.txt" As "C:\Test\Test1.txt"
اگر به این روش از این فرمان استفاده بشه فایل Test.txt در مسیر C:\Test تغییر نام پیدا میکنه به Test1.txt
Name "C:\Test\Test.txt" As "C:\Test.txt"
اگر به این روش استفاده بشه فایل مذکور به آدرس C:\Text.txt منتقل میشه
Name "C:\Test\Test.txt" As "C:\Test1.txt"
و اگر به این روش استفاده بشه نه تنها فایل منتقل میشه بلکه تغییر نام هم داده میشه
-----
حالا اگر شما فقط بخوای تغییر نام بدی این ساده ترین روش هست!
و اگر بخوای ساختار فایل رو تغییر بدی روشی که دوست عزیزمون just4froum (http://barnamenevis.org/member.php?211054-just4froum) گفتن ساده ترین روش هست!
-----
از این به بعد هم لطفا سوالتون رو کامل مطرح کنید تا سریعتر به جوابتون (کامل و درست) برسید
-----
در مورد این موضوع بارها و بارها در انجمن بحث و جواب های کاملی هم داده شده و همینطور کتب کاملی هم در سطح وب میتونید در این ضمینه پیدا کنید
*این رو برای این گفتم تا اگر جواب ها شما رو به نتیجه دلخواهتون نرسوند بدونید مراجع زیادی برای رجوع دارید
رامین مرادی
پنج شنبه 27 بهمن 1390, 21:26 عصر
مرسی از شما این سه تا پاسخ واقعا" به درد من خورد جمع و جور و کامل بدون هیچ گونه ابهامی
واقعا" ممنونم
just4froum
پنج شنبه 27 بهمن 1390, 21:51 عصر
قابلی نداشت !!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.