مشاهدة النسخة كاملة : ارسآل Stream عن طريق الإندي ؟
AL-MOB4RM3G
18-04-2010, 12:22 PM
السلام عليكم ورحمة الله وبركاته اخوآني الكرام,
وآجهت مشكلة مع ارسآل ال Stream من العميل الى الخآدم مع مكونات الإندي والله المستعان,
محاولتي في المرفقات, والحقيقة لا ادري كيف اتقدم,
المحاولة وآضحة, اود ان ارسل نص من 3 Edit في الكلينت ويستقبل ال Server ال Stream ويحولهم الى نص في 3 edit اخرى لكن عند الخآدم,
بارك الله لكم, وجزآكم خيرا,
والسلام عليكم ورحمة الله,
mohfa
18-04-2010, 04:40 PM
اخي الكريم AL-MOB4RM3G لم افهم لماذا استعملت ال MemoryStream .
اليس من السهل استعمال ال Stringlist مع خاصية ال commatext و بعد ذلك تقوم فقط بال stringlist lines parsing عند استقبالها من طرف ال Server ويمكن كذلك ظغطها اقصد ال stringlist اذا اردت .
ام هناك استعمال اخر لل memorystream غير ارسال القيم النصية اذا كان كذلك فهذا شئ مغاير .
الله المستعان
AL-MOB4RM3G
18-04-2010, 05:08 PM
اهلا بك اخي mohfa,
في الحقيقة لا اعلم لماذا استخدمتها, كنت انظر الى الملف في هذه المشآركة (http://delphi4arab.com/forum/showpost.php?p=16750&postcount=71), كان الأخ o15s19 استخدم فيها ال MemoryStream كي يرسل المعلومات من الكلينت الى السرفر,
في الحقيقة انا لا يهمّني اية طريقة استخدمها, يعني لست مرتبط بطريقة معيّنة,
المهم عندي ان ارسل جميع المعلومات دفعة وآحدة, يعني ليس التكست في ال Edit 1 و ثم التكست في edit 2 و هكذا, بل اضع التكست في ال Edit وآحد و اثنين في حاوي ان صح التعبير و بعدها ارسلها ثم استقبلها وبعدها استخدم كل شئ لوحده,
هل من حل لذلك بارك الله لكم ؟
AL-MOB4RM3G
18-04-2010, 05:42 PM
اليس من السهل استعمال ال Stringlist مع خاصية ال commatext و بعد ذلك تقوم فقط بال stringlist lines parsing عند استقبالها من طرف ال Server ويمكن كذلك ظغطها اقصد ال stringlist اذا اردت .
همم, هذا الحل لا ينفع,
تم التطرق اليه سابقا والله المستعان في المشآركة هذه (http://delphi4arab.com/forum/showpost.php?p=13259&postcount=18),
بارك الله لكم,
mohfa
18-04-2010, 06:28 PM
كيف لا تصلح اخي الكريم AL-MOB4RM3G , هل هذا ماتبحث عنه :
procedure TForm1.Button2Click(Sender: TObject);
var
Strs:TStringList;
begin
Strs:=TStringList.Create;
Try
IdTCPClient1.Connect;
Strs.Add('HI_SERVER_PLEAS_ACCEPT_THESE_VALUES');// this is the command
Strs.Add(edit1.text);
Strs.Add(edit2.text);
Strs.Add(edit3.text);
IdTCPClient1.IOHandler.WriteLn(Strs.CommaText);
Finally
Strs.Free;
end; end;
// Receive Values from IdTCPClient1
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
Var
Strs:TStringList;
begin
Strs:=TStringList.Create;
Try
Strs.CommaText:={uppercase}(AContext.Connection.IO Handler.ReadLn);
if Strs[0]='HI_SERVER_PLEAS_ACCEPT_THESE_VALUES' then
begin
edit4.Text:=Strs[1];
edit5.Text:=Strs[2];
edit6.Text:=Strs[3];
end;
Finally
Strs.Free;
end; end;
AL-MOB4RM3G
18-04-2010, 07:08 PM
كيف لا تصلح اخي الكريم AL-MOB4RM3G , هل هذا ماتبحث عنه :
اها, نعم هذا ما كنت ابحث عنه,
في الحقيقة كنت افكر بطريقة اخرى في البدآية, يعني ان يكون كل String في سطر وآحد, ويفصلهما مثلا فآصلة او =
على كل حال, جزآك الله خيرا اخي الكريم mohfa,
بارك الله لكم وفيكم :bye1:
mohfa
18-04-2010, 07:19 PM
حظ موفق مع البرنامج
:thumbs:
vBulletin® , Copyright ©2008-2012