منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مساعدة (خطء في كود ارسال ملف بالــ winsock) - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167)
+--- الموضوع : مساعدة (خطء في كود ارسال ملف بالــ winsock) (/showthread.php?tid=8830)



مساعدة (خطء في كود ارسال ملف بالــ winsock) - iraquk - 09-05-13

السلام عليكم شباب

عندي كود ارسال ملف بالينسوك ولاكن عندة ارسال الملف يظهر خطء ولا اعرف ماهوة السبب اتمنا المساعدة

صوؤة للخطء




الكود

كود :
Dim sending As Boolean
Public Sub Wait(iSecond As Integer)
On Error Resume Next
Dim tme As Single

tme = Timer
Do Until (Timer - tme >= iSecond) Or sending = True
    DoEvents
Loop
End Sub
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub Command2_Click()



SendFile Text1.Text

End Sub
Private Sub SendFile(pPath As String)
Dim ia As Long
On Error GoTo Down:
Dim I As Long
Dim B() As Byte
'==============
If Form1.Winsock1.State = 7 Then
    sending = False

      DoEvents
    Wait (5)
End If

Open pPath For Binary As #1
For I = 1 To LOF(1)
    If Loc(1) >= LOF(1) Then
        GoTo Down:
        Exit Sub
    End If
    If Form1.Winsock1.State <> 7 Then
        GoTo Down:
        Exit Sub
    End If
    If LOF(1) < 1024 * 8 Or LOF(1) - Loc(1) < 1024 * 8 Then
        ReDim B(LOF(1) - Loc(1) - 1)
    Else
        ReDim B(1024 * 8 - 1)
    End If
    
    Get #1, , B
    sending = True

    Form1.Winsock1.SendData "A" & "|" & B
    DoEvents
    Wait (5)
Next

Down:
Close #1

End Sub



مساعدة (خطء في كود ارسال ملف بالــ winsock) - ناجي إبراهيم - 09-05-13

السلام عليكم...

السبب هو أن B هي مصفوفة بايتات: Dim B() As Byte. و بالتالي لا يمكن دمجها بالعامل & مع الـ String.

سلام.


مساعدة (خطء في كود ارسال ملف بالــ winsock) - iraquk - 09-05-13

ناجي إبراهيم كتب :السلام عليكم...

السبب هو أن B هي مصفوفة بايتات: Dim B() As Byte. و بالتالي لا يمكن دمجها بالعامل & مع الـ String.

سلام.


تسلم بارك الله بيك اخي ولاكن ما الحل ؟ لتفادي الخطء , انا بحاجه الى اضافه المعامل & الى الكود