السلام عليكم
اولا عذرا على كثرة الاسئلة
ثانيا لدي مشكلة في نقل string الى array of byte
يتم النقل لكن عند التتبع يظهر مصفوفة مغايرة هذه صورة للايضاح
جزاك الله خيرا على الرد لكن لما لم تعمل معي ما السبب علما اني تتبع الدالة copymemory ووجدتها تتضمن الدالة move الكود
procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
begin
Move(Source^, Destination^, Length);
end;
يبدو من الصورة الموقع الذي تنقل منه بيانات unicode.
لا يمكن مساعدتك بصورة ضع كود..
جربتها من قبل ولم تنجح غير كذلك الى unicodestring ونفس المشكل ساعيد التجربة
ماز الت المشكلة قائمة للاسف
التعديل الذي وضعته من المفروض ان يحل المشكل الذي تتكلم عنه.
إذا يوجد عندك مشكل ابحث عنه..
نعم انا قمت بعدة تجارب اخرها عدلت على الكود الخاص بك بعمل حلقة على السترنغ ونسخ رقمين لكن اصبح يعيد نسخ العدد الذي يلي العدد المنسوخ
هذا هو الكود بعد التعديل
// Agmcz function
function StrToByteArr(Str: ansistring): TByteArray;
var
i:integer;
begin
SetLength(Result, Length(Str));
for i := 0 to Length(Str)-1 do
Result[i]:= StrToInt(Copy(str, (i), 2));
end;
///
وهذه صورة
http://www.3rbz.com/uploads/8437b9ecdff01.jpg
وعند التعديل مرة اخرى على الكود يظهر المصفوفة بعنصر واحد وفاصلة وانا اريده بعنصرين وفاصلة هذه صورة اخرى بعد التعديل
http://www.3rbz.com/uploads/b882a3ca69ab1.jpg
وهذا الكود الجديد
// Agmcz function
function StrToByteArr(Str: ansistring): TByteArray;
var i: integer;
str1

tring;
begin
SetLength(Result,lstrlen(PChar(Str)));
for i := 0 to Length(Str) - 1 do
begin
Result[i] := ord(Str[i + 1]) - 48;
end;
///
برجاء اخي لو تجرب عندك اذا ما ياخذ من وقتك كثير