لماذا for تجعل الجهاز يهنق مع الارقام الكبيرة
مثلا نفترض ان لدينا ملف abc
يحتوي بداخله على ملفات صور bmp
يفصلها عن بعضها العبارة *OSAMA*
وتم ربطهم باستخدام العبارة Join
ولفكها نستخدم هذا الكود ولكنه يجعل الجهاز يتوقف عن العمل إذا كان عدد الصور كثير
واعتقد ان هذا بسبب FOR
dim mf
dim SsS As String
Private Sub Command1_Click()
Mf = FreeFile
Open "C:\abc.Join" For Binary As #Mf
SsS = Space(LOF(Mf))
Get Mf, , SsS
X = Split(SsS, "*OSAMA*")
For iCounter = 0 To UBound(X)
Mf = FreeFile
Open ("C:\" & iCounter & ".Bmp") For Binary As #Mf
Put Mf, , X(iCounter)
Close #Mf
Next
End Sub
فحاولت تطوير الكود قليلا .. فوضعته في Timer
ليخفف الحمل قيلا عن الجهاز ولكن بلا فائدة
Private Sub Timer3_Timer()
On Error Resume Next
Mf = FreeFile
Open "C:\abc.Join" For Binary As #Mf
SsSs = Space(LOF(Mf))
Get Mf, , SsSs
X = Split(SsSs, "*OSAMA*")
iCounter = iCounter + 1
Mff = FreeFile
Open ("C:\" & iCounter & ".Bmp") For Binary As #Mff
Put Mff, , X(iCounter)
Close #Mff
Close Mf
If iCounter = UBound(X) Then End
End Sub
فما الحل .. ارجوا المساعدة وجازاكم الله خير

