الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مثال لأرسال الملفات بإستخدام ال winsock

مغلق
بدأه semsem0737 في 27 يناير 2005 · 5 رد · 625 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا مثال بسيط لأرسال الملفات عن طريق الاداة winsock . :rolleyes:

***************************************

لكن ... هذه الطريقة يمكنها التعامل مع ملفات الـ txt و خاصة الخفيفة الوزن منها .. فقط. :unsure:

فهل من طريقة اخري لأرسال ملفات كبيرة الحجم ؟ ... او انواع ملفات اخري ( exe او mp3 .... ) مثلا ؟؟؟

ارجوا الافادة و شكراااااااااا

Server.zip

سبحان الله و بحمده ... سبحان الله العظيم

#2

ايه يا جماعة ؟ شكرا للرد السريع <_<

..... يظهر كده اني انا الوحيد اللي ماكنتش اعرف الطريقة دي :blink: .

طيب ماحدش عنده طريقة تانية تنقل الملفات التانية الـ exe ...و غيرها و كده يعني ؟؟؟؟؟؟

سبحان الله و بحمده ... سبحان الله العظيم

#3

السلام عليكم

انا ما شفت مثالك لسه ، بس انتا اكيد بقرأ الملف عبارة عن نص وبترسلة

نفس الاشي في الانواع الاخري من الملفات .

مثلا لازم تقرا الملف هيك ،، اذا كان exe او غيره

Dim FileCode as String 
Dim FileByte() as Byte

Open "c:\test.exe" For Binary Access Read as #1

FileCode = Space(Lof(1))
Get #1, , FileCode 

Close #1

بعدين ترسل محتويات الملف

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#4

اخي Prof

انا فعلا عملت المثال بهذه الطريقة ... لكن ... عند الاستقبال هيحصل مثلا ان

Dim MSG as string

winsock1.getdata MSG

text1.text=MSG

المعلومات القادمة هتييجي في الـ textbox

فلو كانت المعلومات دي كلام (مثلا) .. فــعادي و ممكن نعمل save في ملف جديد ، اما اذا كانت صورة او ملف exe (مثلا) فمفيش حاجة هتتكتب في الـ textbox فهيكون كلام ليس له معني او لا يكتب شيء اصلا. :wacko:

فكيف سيكون كود الاستقبال ؟؟؟

و شكرا

سبحان الله و بحمده ... سبحان الله العظيم

#5

يا جماعة ممكن بس .. انا هأوضح سؤالي لأني عايز الكود ده ضروري فعلا

انا لو ارسلت ملف txt هيوصل في برنامج الاستقبال عادي و الكلام مفهوم ، اما لو مثلا ارسلت اي ملف غير الـ txt ... فهيكون موجود في textbox في فورم برنامج الاستقبال كلام زي كده مثلا :

ھçJ²÷R®÷B¢÷Bڑç9ژç1‚ç1qç1eç„‍ïےےےےےےےےے÷كخق–Rç®kےçخےےےےûےےےےےûے÷çقضھsض¢cخڑZض–ZخژJخٹ9”†‹چےےےQےPPغ≅ےےےƒ½ےےے≅Lےےےƒ½Lےےے@Str

كلام مش له معني :blink: ، و طبعا لو عملتله save as مثلا مش هيكون زي ما كان علي الجهاز الاول.

ازاي بقي اعمله ملف زي ما كان mp3 او exe مثلا ؟ او حتي كود الاستقبال للملف هيكون عامل ازاي ؟؟؟؟؟؟؟؟؟؟

ارجوكم لو حد عندك فكرة يساعدني بيها بسرعة :unsure:

سبحان الله و بحمده ... سبحان الله العظيم

#6

السلام عليكم ورحمة الله وبركاته أما بعد ,

لحل هذه المشكلة يوجد طريقتين :

1 - فتح ملف Binary (مثل exe أو MP3 ) والقراءة منه :

dim Line as Byte

Open "path" for Binary as #1

(do while not eof(1

DoEvents

Get #1,,Line

Loop

Close#1

2 - عملية الكتابة :

dim Line as Byte

Open "path" for Binary as #2

DoEvents

Put #1,,Line

Close#1

لو عايز تحتها فى البرنامج بتاعك تحتها فى حدث إستقبال بيانات بتاعة WinSock

--------------------------------------------------------------------------------------------

طريقة لتحويل ملف نصى إلى Binary

لتحويل ملف نصى الى Binary

Dim A As String

Dim S As Byte

Open "E:\C.EXE" For Binary As #1

Open "E:\B.txt" For Input As #2

Do

DoEvents

Line Input #2, A

DoEvents

S = A

هذه الخطوة لان القراءة او الكتابة فى ملف نصى يجب ان تكون عن طريق متغير Srting

اما للكتابة او القراءة من ملف ثنائى يجب ان يكون من متغير byte

وذلك لان عندما تساوى متغير رقمى بنصى لا يأخذه هو هو بل يحوله لرقم ثنائى

DoEvents

Put #1, , S

DoEvents

Loop While Not EOF(2)

Close #1

Close #2

MsgBox "End"

هذا الموضوع مغلق.

مواضيع مشابهة