delphi4arab منتديات دلفي للعرب

نسخة كاملة : استغلال crc من خلال function
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم  

كيف اقوم بستغلال الخاصية crc  من خلال   function


عندى EDIT1  فيه  F1E83D08
و EDIT2  تضهر فيه نتيجة  CRC

استعملت الكود هذا لكنه خاطى

edit2.Text:=Str_CRC04(edit1.Text)

PHP كود :
const

CRC8            = $1D;



function 
Str_CRC08 (Data: String): Byte;










function 
Str_CRC08(Data: String): Byte;
var
  DataIndex, BitIndex: Byte;
  Buf, Temp: Byte;
begin
  Buf 
:= NORMBYTESTART;
  for DataIndex := 1 to Length(Data)
  do begin
    Temp 
:= Byte(Data[DataIndex]);
    Buf := Buf xor Temp;
    for BitIndex := 0 to 7
    
do begin
      
if (Buf and $80) <> 0 then begin
        Buf 
:= Buf shl 1;
        Buf := Buf xor BYTEGENERATOR; end
     
else
        Buf := Buf shl 1;
    end;
  end;
  Buf := Buf xor NORMBYTEXOR;
  Result := Buf;
end; 
انت تحاول برمجة برنامج يقوم بتغيير قيم داخل ملف bin
وهو خاص باجهزة الرسيفر
استطيع مساعدتك.
مرحبا بك هل من مساعدة
وعليكم السلام

يبدوا أنك تسخدم هذه الوحدة uCRC

عموما الوحدة مرفقة قم بإستخراجها من ملف zip و وضعها بجانب المشروع
 
وأستعمل التالي:

كود :
uses   uCRC; procedure TForm1.Button1Click(Sender: TObject); begin   Edit2.Text:= IntToHex(Str_CRC04(Edit1.Text), 2); end;
شكرا لك اخي

ممكن  تعديل علا المثال  الان الكود الذي ارفقته غير صحيح 


ارفقت لك مثال
(27-01-2023, 08:20 PM)Team dz كتب : [ -> ]شكرا لك اخي

ممكن  تعديل علا المثال  الان الكود الذي ارفقته غير صحيح 


ارفقت لك مثال

المثال الذي وضعته هو بناء على ما ذكرته و وضعته أنت.

لنتكلم عمليا من أين أتيت بالنتيجة 4A16 لأتمكن من مساعدتك...
شكرا  لك  اخي مرة اخرى 

4A16  هيا مجموع الاحتباري  لقيمة  35E01A00

اريد عند حساب  مجموع لاختباري لي   35E01A00  يطلع لنا ناتج  crc  4A16 

هذا  هو الغرض من  المثال المرفق 

اتمنى ان يكون جوابي  واضح
هل يمكن أنت تعطيني مثال لأداة تقوم بحساب النتيجة أو شيء يوضح أكثر...
00000000 = 4F4C
10000000 = 4B8C
6D4C =A0000000
698C =B0000000
(27-01-2023, 09:18 PM)Team dz كتب : [ -> ]00000000 =  4F4C
10000000 =  4B8C
6D4C =A0000000
698C =B0000000

ما هذا  Huh
من أين أتيت بها  Huh
إن كان يتم حساب هذه القيم بواسطة خوارزمية ما يمكنك ذكرها غير ذلك لا يمكنني مساعدتك.
الصفحات : 1 2