PDA

View Full Version : سوال: چه طوری میشه با وی بی چندتا فایل رو باهم ادغام کرد



ALI TT
یک شنبه 30 تیر 1387, 12:14 عصر
سلام دوستان

چه طوری میشه با وی بی چندتا فایل رو باهم ادقام کرد .... یعنی مثلا 2 تا فایل PDF رو بزاریم کنار هم و بشن یه فایل .... طوری که نشه بدون وی بی اونا رو باز کرد .......

یه چیزی تو مایه های نرم افزاری که فایلهای BIG رو میسازه

اگه نرم افزاری .... یا .... کامپوننتی ....... یا کدی بلد هستین لطف کنید بدید .... یه دنیا ممنون میشم

ALI TT
یک شنبه 30 تیر 1387, 23:51 عصر
میگن با استفاده از System.IO میشه .

ولی چطوری ؟

DarkSoroush
دوشنبه 31 تیر 1387, 02:28 صبح
نیم اسپیس ویندوز io شامل کلاسهایی برای کار با فایهاست!!
شما میتونی ادامه یک فایل محتویات فایل دیگه رو بنویسی با استفاده از کلاس FileStream در نیم اسپیس مذکور. ولی بازیابی فایل و جدا کردن اونها از هم نیاز داره که شما حداقل سایز فایل اول رو بدونید.

ALI TT
دوشنبه 31 تیر 1387, 03:31 صبح
یه چیزایی دستگیرم شد ولی می تونید یه مثال کوچیک بزنید تا نهایت لطف رو در حقم کرده باشین ؟

DarkSoroush
دوشنبه 31 تیر 1387, 04:00 صبح
Private Sub MargeFiles(ByVal FirstAddress As String, ByVal SecondAddress As String)
Try
Dim s_FirstFile As New IO.FileStream(FirstAddress, IO.FileMode.Append)
Dim s_SecondFile As New IO.FileStream(SecondAddress, IO.FileMode.Open)
Do Until s_FirstFile.Position = s_FirstFile.Length
s_SecondFile.WriteByte(s_FirstFile.ReadByte)
Loop
s_FirstFile.Close() : s_SecondFile.Close()
Catch ex As Exception
MessageBox.Show("ERROR")
End Try
End Sub
Private Sub ExtractFile(ByVal MargeFileAddress As String, ByVal NewFileAddress As String, ByVal StartBlock As Long, ByVal Length As Long)
Try
Dim s_source As New IO.FileStream(MargeFileAddress, IO.FileMode.Open)
Dim s_file As New IO.FileStream(NewFileAddress, IO.FileMode.Create)
If s_source.Length >= StartBlock + Length Then
s_source.Position = StartBlock
Do Until s_source.Position = StartBlock + Length
s_file.WriteByte(s_source.ReadByte)
Loop
s_source.Close() : s_file.Close()
Else
s_source.Close() : s_file.Close()
End If
Catch ex As Exception
MessageBox.Show("ERROR")
End Try
End Sub
البته ممکنه یکی دوبایت بالا پایین بشه چون سریع نوشتم. باید خودتون یکم باهاش کار کنید.
بازم میگم که این فقط برای یادگیری روش انجام کار با کلاس filestream مفیده چرا که استفاده اینطوری از اون زیاد جالب نیست!! بهتره حداقل هدری براش بسازید شبیه به فایلهای zip یا wim

ALI TT
دوشنبه 31 تیر 1387, 20:33 عصر
ممنون . راست میگی این طوری درست نیست ... نرم افزاری نمیشناسی که این کار رو بکونه و بشه با وی بی با اون کار کرد

اون wim که گفتی چیه ؟

DarkSoroush
دوشنبه 31 تیر 1387, 21:50 عصر
ممنون . راست میگی این طوری درست نیست ... نرم افزاری نمیشناسی که این کار رو بکونه و بشه با وی بی با اون کار کرد

اون wim که گفتی چیه ؟
نرمافزار که اگر هم باشه برای برنامه نویسیس فایده ای نداره.
wim هم فرمتی لست به نام Windows Image که ماکروسافت برای نصب ویندوز ویستا ازش استفاده میکنه. و نوع قرارگیری اطلاعات هم اینه که در ابتدا اطلاعات به صورت کمپرس شده (با روشهای مختلف از جمله gzip) قرار میگیره و در انتها یک فایل xml در مورد ساختار ابتدای فایل توضیح میده.