delphi4arab منتديات دلفي للعرب
كيف يتم التعامل مع الصنف TMemoryStream ؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتم التعامل مع الصنف TMemoryStream ؟ (/showthread.php?tid=10959)



كيف يتم التعامل مع الصنف TMemoryStream ؟ - MasteranyOne - 16-07-2020

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

السؤال : كيف يمكنني إستعمال متغير من الصنف TMemoryStream للكتابة والقرائة ؟

1- كتابة وقرائة النوع integer 
2- كتابة وقرائة النوع string
3- النوع record

قمت بالمحاولة لكتابة قيم رقمية لكن لم تنجح :
كود :
procedure TForm1.Button1Click(Sender: TObject); var MS:TMemoryStream;     i,Res : Integer; begin   i:=100;   MS:=TMemoryStream.Create;   try     MS.WriteBuffer(i, Sizeof(Integer));     MS.ReadBuffer(Res,Sizeof(Integer));     ShowMessage(Res.ToString);   finally     FreeAndNil(MS);   end; end;



RE: كيف يتم التعامل مع الصنف TMemoryStream ؟ - MasteranyOne - 18-07-2020

قمت بتجربة لكتابة record على TMemoryStream على النحو التالي (لكن لم تنجح؟؟)


كود :
procedure TForm1.Button1Click(Sender: TObject); var   wPersonne, rPersonne : TPersonne;   MS : TMemoryStream; begin   with wPersonne do   begin     ID := 2020;     Nom := 'Batata';     Prenom := 'joun';   end;   MS := TMemoryStream.Create;   try     MS.Write(wPersonne,sizeof(TPersonne));     MS.Read(rPersonne, sizeof(TPersonne));     with rPersonne do     begin       memo1.Lines.Add(format('ID = %d, Nom = %s, Prenom = %s',[ID, Nom, Prenom]));     end;   finally     FreeAndNil(MS);   end; end;



RE: كيف يتم التعامل مع الصنف TMemoryStream ؟ - sofiane201 - 18-07-2020

أضف هذا
PHP كود :
MS.Position:= 0; 

قبل القراءة من الستريم "MS.read"


RE: كيف يتم التعامل مع الصنف TMemoryStream ؟ - MasteranyOne - 18-07-2020

بارك الله فيك اخي سفيان

 تمت حل المشكلة بالكود الذي قدمته