kinglove0111
جمعه 17 آبان 1392, 08:53 صبح
سلام دوستان یک سوال مهم داشتم؟
من میخوام فایل های با حجم های زیاد را به هم بچسبونم!
من این کارو با فایل های که حجم کم دارند انجام دادم و هیچ مشکلی ندارد اما نمی تونم همین عملیات را بر روی فایل های بزرگ انجام بدم
به کد زیر نگاه کنید.
m = "c:\3.png"
b = FreeFile
Open m For Binary Access Write As #b
Print LOF(b)
Print Loc(b)
Seek #b, 15001
Print Loc(b)
Dim j As Byte
n = "c:\4.png"
a = FreeFile
Open n For Binary As #a
Do
Get #a, , j
Put #b, , j
DoEvents
Loop While Not EOF(a)
Close #a
Close #b
به دلیل اینکه در seek عددی از نوع long قرار میگیره نمی شود با فایل های بزرگتر از 1گیگ کار کرد.
من میخوام با فایل های خیلی بزرگ مثلا 100گیگ کار کنم که متاسفانه با این کد نمیشه
پروژه کد بالا را ضمیمه کردم دانلودش کنید و بعد اکسترکتش کنید و درونش دوتا تصویر هست که در درایو c بزاریدش و بر نامه را اجرا کنید. می بینید که دو تصویر را به هم می چسبونه و یک تصویرش میکنه، اما همین عملیات را نمیشه بر روی فایل های با حجم بالا انجام داد.
دوستان راهی هست که بشه دوتا فایل با حجم خیلی بالا را به هم چسبوند؟
من یک کد دیگه هم نوشتم که نگاش کنید
m = "C:\3.png"
b = FreeFile
Open m For Append As #b
Dim j As String
n = "C:\4.png"
a = FreeFile
Open n For Input As #a
Do
Line Input #a, j
Print #b, j;
sh = sh + 1
DoEvents
Loop While Not EOF(a)
MsgBox sh
Close #a
Close #b
اگر فایل را بصورت Append باز کنید می توانید حداکثر 5 گیگ حجم را به انتهاش اضافه کنید اما اشکالش اینجاست که اگر بخواهید فایل را بصورت Input بخوانید و به انتهای فایل قبلی اضافه کنید بیشتر از چهار خط از فایل را نمی خواند و پیام میدهد که به انتهای فایل رسیده!
خوب دوستان آیا راهی هست که بشه فایل های با حجم های خیلی بالا را خواند و نوشت؟ لطفا راهنمایی کنید.
با تشکر
112639
من میخوام فایل های با حجم های زیاد را به هم بچسبونم!
من این کارو با فایل های که حجم کم دارند انجام دادم و هیچ مشکلی ندارد اما نمی تونم همین عملیات را بر روی فایل های بزرگ انجام بدم
به کد زیر نگاه کنید.
m = "c:\3.png"
b = FreeFile
Open m For Binary Access Write As #b
Print LOF(b)
Print Loc(b)
Seek #b, 15001
Print Loc(b)
Dim j As Byte
n = "c:\4.png"
a = FreeFile
Open n For Binary As #a
Do
Get #a, , j
Put #b, , j
DoEvents
Loop While Not EOF(a)
Close #a
Close #b
به دلیل اینکه در seek عددی از نوع long قرار میگیره نمی شود با فایل های بزرگتر از 1گیگ کار کرد.
من میخوام با فایل های خیلی بزرگ مثلا 100گیگ کار کنم که متاسفانه با این کد نمیشه
پروژه کد بالا را ضمیمه کردم دانلودش کنید و بعد اکسترکتش کنید و درونش دوتا تصویر هست که در درایو c بزاریدش و بر نامه را اجرا کنید. می بینید که دو تصویر را به هم می چسبونه و یک تصویرش میکنه، اما همین عملیات را نمیشه بر روی فایل های با حجم بالا انجام داد.
دوستان راهی هست که بشه دوتا فایل با حجم خیلی بالا را به هم چسبوند؟
من یک کد دیگه هم نوشتم که نگاش کنید
m = "C:\3.png"
b = FreeFile
Open m For Append As #b
Dim j As String
n = "C:\4.png"
a = FreeFile
Open n For Input As #a
Do
Line Input #a, j
Print #b, j;
sh = sh + 1
DoEvents
Loop While Not EOF(a)
MsgBox sh
Close #a
Close #b
اگر فایل را بصورت Append باز کنید می توانید حداکثر 5 گیگ حجم را به انتهاش اضافه کنید اما اشکالش اینجاست که اگر بخواهید فایل را بصورت Input بخوانید و به انتهای فایل قبلی اضافه کنید بیشتر از چهار خط از فایل را نمی خواند و پیام میدهد که به انتهای فایل رسیده!
خوب دوستان آیا راهی هست که بشه فایل های با حجم های خیلی بالا را خواند و نوشت؟ لطفا راهنمایی کنید.
با تشکر
112639