كيف يتم التعامل مع الصنف TMemoryStream ؟
#1
Question 
السلام عليكم ورحمة الله تعالى وبركاته

السؤال : كيف يمكنني إستعمال متغير من الصنف 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;
الرد
#2
قمت بتجربة لكتابة 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;
الرد
#3
أضف هذا
PHP كود :
MS.Position:= 0; 

قبل القراءة من الستريم "MS.read"
[-] كل من 1 user says قال شكرا ل sofiane201 على المشاركة المفيدة
  • MasteranyOne
الرد
#4
بارك الله فيك اخي سفيان

 تمت حل المشكلة بالكود الذي قدمته
[-] كل من 1 user says قال شكرا ل MasteranyOne على المشاركة المفيدة
  • sofiane201
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم