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

الى خبراء الوينسوك ونقل البيانات عبر الشبكة...ارجو المساعده

مغلق
بدأه nasser bahaj في 10 يناير 2007 · 2 رد · 643 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

اخواني

لدي برنامج صممته لنقل البيانات عبر الشبكة المحلية وهذه البيانات

ياخذها من قاعدة البيانات.

ويتم النقل عبر الوينسوك

وهذه طريقة عمل البرنامج

rs.open "select name from mytable",db
do while rs.EOF=false
winsock1.senddata rs("name")
doevents
rs.movnext
loop

وفي البرنامج المستقبل للبيانات

في حدث data arraival

dim info
winsock1.getdata info
flexgrid1.additem info

عندما جربت هذا البرنامج في جهازي الشخصي عبر الايبي المحلي

اشتغل زي الفل ونقل البيانات بنجاح

ولكن عندما شغلت البرنامج على شبكة محلية

نقل البيانات ولكنها مخربطة بمعنى انه يضع الاسم الاول في الفلكس جريد بنجاح

ولكن باقي الاسماء يضعها في صف واحد في الفلكس جريد كانها اسم واحد

ارجو لمن لديه الحل .. ان يساعدني في هذه المشكلة

واسف على الازعاج

ودمتم

#2

تداخل بيانات

راجع

/index.ph...rt=#entry579341

كما قال رغيد الطيب يجب وضع علامة معينة تتعامل معها في فصل البيانات لو تداخلت

كمثال :

في المرسل

rs.open "select name from mytable",db

do while rs.EOF=false

winsock1.senddata rs("name") & "#"

doevents

rs.movnext

loop

في المستقبل

dim info

dim S

winsock1.getdata info

FOT i =1 TO LEN(info)

if i ="#" then

flexgrid1.additem S

S= S + i

end if

افهم الفكرة بس ...

تم تعديل هذه المشاركة بواسطة haking33 في 20 ديسمبر 2007 في 14:03

#3

الحل بسيط

قم بجمع جميع الأسماء التي تريد ارسالها أولا في متغير نصي و افصل بينها بعلامة معينة كما ذكر الأخ hacking وذلك بهذه الطريقة مثلا :

rs.open "select name from mytable",db
dim Names as string
do while rs.EOF=false
names= names & "()" & rs("name")
doevents
rs.movnext
loop
winsock1.senddata names

و في برنامج ال Server

عند الحصول على البيانات قم بتقسيمها على حسب الفاصل الذي حددته و في مثالي هو "()"

dim info
dim SplitInfo() as string
winsock1.getdata info
SplitInfo = Split(info,"()")

ثم تقوم بعمل حلقة لو ضع البيانات في المكان الذي تريد

for i = 0 to Ubound(SplitInfo)
flexgrid1.additem SplitInfo(i)
next

أظن ان هذه الطريقة ستكون ناجحة

المهم جربها و رد علينا

و ال سلام عليكم

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…