سلام
اول : دوست عزیز کاربر titbasoft ! آن یک شوخی بود نه ناشی از عصبانیت!!!!!! چرا بیچاره را پاک کردید، شدیداً کار داشتم و گفتم بعداً جواب کامل را میدهم و چون آن پست فوق العاده جالب را دیدم گفتم جوابی بدهم!
و اما جواب سوال!
همانطور که کاربر arsp_2004 اشاره کردند، کد ایشان با کمی تغییر قابل استفاده است ولی من دیشب و سر فرصت مطالب زیر را نوشتم.
---------------------------------------------------------
من واقعاً مثل این آدمک شدم ، و فکر کنم تا چند وقت به سلمانی رفتن نیازی نداشته باشم.
اگر صرفاً کپی ای از فایلهای متعدد دارید و میخواهید بفهمید که آیا هر دو فایل کاملاً یکسان هستند میتوانید از کد زیر استفاده کنید.
(کر زیر اطلاعات را بلاک بلاک خوانده و مقایسه میکند و فایل هرچه قدرهم که بزرگ باشد توفیقی نمیکند!)
Public Shared Function FileCompare(ByVal filepath1 As String, ByVal filepath2 As String) As Boolean
Const BUFFERSIZE As Integer = 256 * 1024
Dim buffer1(BUFFERSIZE - 1) As Byte
Dim buffer2(BUFFERSIZE - 1) As Byte
Dim iReaded As Integer, i As Integer
'--------------------------------------------------
Try
Using fs1 As New System.IO.FileStream(filepath1, System.IO.FileMode.Open, System.IO.FileAccess.Read)
Using fs2 As New System.IO.FileStream(filepath2, System.IO.FileMode.Open, System.IO.FileAccess.Read)
If fs1.Length <> fs2.Length Then Return False
iReaded = fs1.Read(buffer1, 0, BUFFERSIZE)
If iReaded <> fs2.Read(buffer2, 0, BUFFERSIZE) Then Return False
Do While iReaded > 0
For i = 0 To iReaded - 1
If buffer1(i) <> buffer2(i) Then Return False
Next
iReaded = fs1.Read(buffer1, 0, BUFFERSIZE)
If iReaded <> fs2.Read(buffer2, 0, BUFFERSIZE) Then Return False
Loop
Return True
End Using
End Using
Catch ex As Exception
Return False
End Try
End Function
ولی در هیچ حالتی نیاز به تبدیلی که گفتید نیست، من در پست اولم هم گفتم جمله شما ایهام دارد و تبدیل wav به hex زیاد درست نیست و رفع ابهام کنید! تمامی فایلها در ذات به حالت باینری و هگزادیسمال نگه داری میشوند و تبدیل معنی ندارد. باز اگر میگفتید که میخواهید یک فایل wav را به حالت hex نمایش دهید، یک چیزی میشد (که دوستان و اساتید هم جواب همین سوال را داده اند).
در کل (خیلی، خیلی، خیلی ....) میبخشید ولی من گمامن میکنم که شما اصلاً برنامه نویس نیستید و صرفاً یک سری فایل wav دارید که در زمان های مختلف از آنها کپی گرفته اید و حال میخواهید آنها را به یک فولدر غیر تکراری تبدیل کنید!
برای این کار هم برنامه های زیادی موجود است و با یک سرچ در داداش گوگولی! میتوانید پیدایشان کنید و حتی یک فایل خط فرمان با نام fc برای مقایسه دو فایل در خود ویندوز موجود است.
بهرهال کدی که من دادم (یا کد کاربر arsp_2004 با کمی تغییر) و این برنامه ها فقط میتوانند در صورتی فایلهای برابر را تشخیص دهند که فایلها حاصل کپی از هم باشند و شاید دو فایل را نابرابر تشخیص دهند چون یکی 2 پانیه بیش از دیگری زمان پخش دارد و یا شاید هردو به گوش انسان یکی باشند ولی این کدها آنها را متفاوت تشخیص میدهند. (فقط اگر کپی شده از روی هم باشند برابر تشخیص داده میشوند.)