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

كيف اعمل Split لمتغير؟

مغلق
بدأه DR-A في 28 أغسطس 2001 · 4 رد · 670 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أولا أشكركم على هذا المنتدى الأكثر من رائع, خاصه لأنه للغة الدلفيييييييي.. أخيرا اشتريت دلفي 6 و صرت ما اقررب جمب الفيجوال بيسك :D ...بالفعل هي أففففففضل لغة برمجة و ان شاء الله راح اتعلمها من أولها الى أخرها.. و بيكون لله الفضل ثم انتوا :) ...

بالفيجوال بيسك ممكن استخدم الأمر Split(String) لكي آخذ كلمة او كلام من بين متغير...... وليس كل المتغير

انا الأن قاعد أبني مشروع صغير بالدلفي. و واجهت مشكلة. انه ما اعرف كيف بالدلفي أقسم المتغير.. و اخذ منها اللي احتاجه فقط...

المتغير تقريبا راح يكون مثل كذا :

Hello Server:Port Byee

و انا ابي اخذ منه الـServer و احطه بمتغير لحاله علشان اشبك عليه و الـPort اضعة متغير آخر لوحة لكي اشبك عن طريقة بالسيرفر...

فهمتوا قصدي؟؟

أنا متأكد اني راح أجد عندكم الجواب

أنتظرة على أحر من الجمر :)

أشكركم مقدما.. أخوكم اللي من اليوم و طالع راح تشوفونه دائم لحضور في هذا القسم.. DR-A :D

#2

بسم الله الرحمن الرحيم

اولاً ارحب بك اخي DR_A

في هذا المنتدى وإن شاء الله تجد فيه مايفيدك

على العموم

حل مشكلتك هي استخدام امر Copy

لنسخ الجمل المخصصة في النصوص

مثلاً

لديك 2 متغيير string

الأول اسمه a و الثاني اسمه b

المتغيير الأول a يحمل هذا النص

Hello Server:Port Byee

وتريد ان تنسخ كلمة Server فقط ل المتغير b

فيمكنك ذلك بواسطة هذا الكود

b:=Copy(a,7,6);

فلاحظ رقم 7 فهو يدل على موقع بداية النسخ في الكلمة

ولاحظ الرقم 6 فهو يدل على عدد الكلمات المراد نسخها

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

سيلزمني في هذه الحالة ان اقوم بتحديد موقع الكلمة

طبعاً لاتخف

يمكنك استخدام امر pos لتحديد موقع الكلمة

اليك هذا المثال

b:=Copy(a,pos('Server',a),6);

طبعاً جرب ماقلت لك واخبرني اذا كنت تواجهه مشكلة اخرى

لكي اساعدك فيها

وتقبل اطيب تحياتي اخوك SUM

#3

أهلااا أخي

أنا ايضا سألت على الـmIRC في قناة #Delphi و اجابوني نفس الجواب... لكن ليس هذا ا أردته.

أخي الـServer و الـPort متغيرين. ما اعرف كل مرة ايش راح يكونوا.. علشان كذا انا ابي اللي بعد المسافة الأولى و قبل الـ: لكي يكون السيرفر.

و بعد الـ: و قبل المسافة الثانيه ليكون البورت.

فهمت قصدي؟

أتمنى انك تساعدني في هالشغله لأنها مهمة جدا بالنسبه لي

أشكرك مقدما...

#4

السلام عليكم

بالنسبة لسؤالك فقد كان بامكانك معرفة الحل من اجابة الأخ SUM :)

هذا الكود يفي بما تريد ان شاء الله

Server := Copy(str, 1, Pos(':', str)-1);
Port := Copy(str, Pos(':',mystr)+1,10);

لاحظ أنني في السطر الثاني وضعت طول السلسلة المطلوب نسخها عشرة ، مع أنه يفي بالمطلوب وزيادة ولكن بامكانك أن تكون أكثر دقة وتضع الطول كالتالي

Length(str)-Pos(':',str)+1

تحياتي

#5

:D

يسلموا الديات :)))))))

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

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

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

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

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

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