PDA

View Full Version : سوال: خواندن و نوشتن فایل بصورت تکه تکه



AbbasVB
دوشنبه 03 بهمن 1390, 20:40 عصر
درود به تمام برنامه نویسهای گل:لبخند:

چطوری میتوان محتوای فایلی را در Vb بصورت چند تکه با حجم مشخص خواند؟:متفکر:

مثلا توسط یک حللقه با هربار اجرا 10 کاراکتر از یک فایل را خواند در جای دیگری ذخیره و با اجرای دو باره حلقه ادامه



10 قسمت بعدی را... تا آخر فایل.

محسن واژدی
سه شنبه 04 بهمن 1390, 11:27 صبح
سلام
کد زیر در هربار 2MB از یک فایل را خوانده و در فایل جدید مینویسد، برای تغییر دادن ان به 10 کاراکتر میتوانید مقدار مورد نظر رو جایگزین "2048000"، کنید:

Private Sub Command1_Click()
Dim cur_data$, cur_record&
src = "E:\TARGET.DAT"
des = "E:\DESTINATION.DAT"
Open src For Binary As #1
On Error Resume Next: Kill des: On Error GoTo 0
Open des For Binary As #2

While Loc(1) <= FileLen(src)
cur_record = FileLen(src) - Loc(1)
If cur_record > 2048000 Then cur_record = 2048000 '2048000=2MB
cur_data = String(cur_record, " ")

Get #1, , cur_data
Put #2, , cur_data
Seek #1, Loc(1) + cur_record
Seek #2, Loc(2) + cur_record
Cls
Print Loc(1) & "/" & FileLen(src) & " (" & Int(FileLen(src) - (Loc(1) + cur_record)) & ")"
DoEvents
Wend

Close
End Sub


مسیر فایل سورس را در src و مکان مقصد را در des قرار دهید

موفق باشید