25-08-22, 12:50 PM
(25-08-22, 12:21 PM)Taha Okla كتب : خذها من يد عربية :احسنت
كود :
Dim maxint As Integer = 40
Dim i As Integer
Dim all As String = ""
Dim j As Integer
For i = 0 To ListBox1.Items.Count - 1
ListBox1.SetSelected(i, True)
Dim fn As String = fpath & i.ToString("000") & ".txt"
all &= ListBox1.Text & vbNewLine
If (i + 1) >= maxint Then
If (i + 1) Mod maxint = 0 Then
IO.File.WriteAllText(fn, all)
all = ""
ElseIf (i + 1) > (maxint * ((ListBox1.Items.Count - 1) \ maxint)) Then
For j = (maxint * ((ListBox1.Items.Count - 1) \ maxint)) + 1 To ListBox1.Items.Count - 1
i = j
ListBox1.SetSelected(i, True)
all &= ListBox1.Text & vbNewLine
Next
i = j + 1
IO.File.WriteAllText(fpath & j.ToString("000") & ".txt", all)
all = ""
' i = j
End If
End If
fn = Nothing
Next
(مع أنه مو عاجبني طريقة الكود) أظن هناك أفضل من هذه الطريقة وكود أبسط لتقسيم البيانات ولكن أبقيت على نفس الطريقة التي تعرفها..
بالتوفيق ..

