استغلال crc من خلال function
#1
السلام عليكم  

كيف اقوم بستغلال الخاصية 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; 
الرد
#2
انت تحاول برمجة برنامج يقوم بتغيير قيم داخل ملف bin
وهو خاص باجهزة الرسيفر
استطيع مساعدتك.
[-] كل من 1 user says قال شكرا ل salah07230 على المشاركة المفيدة
  • Team dz
الرد
#3
مرحبا بك هل من مساعدة
الرد
#4
وعليكم السلام

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

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

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


الملفات المرفقة
.zip   uCRC.zip (الحجم : 1.18 ك ب / التحميلات : 1)
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة
  • Team dz
الرد
#5
شكرا لك اخي

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


ارفقت لك مثال


الملفات المرفقة
.rar   Nouveau dossier (9).rar (الحجم : 5.88 ك ب / التحميلات : 5)
الرد
#6
(27-01-2023, 08:20 PM)Team dz كتب : شكرا لك اخي

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


ارفقت لك مثال

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

لنتكلم عمليا من أين أتيت بالنتيجة 4A16 لأتمكن من مساعدتك...
سبحان الله وبحمده سبحان الله العظيم
الرد
#7
شكرا  لك  اخي مرة اخرى 

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

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

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

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

ما هذا  Huh
من أين أتيت بها  Huh
إن كان يتم حساب هذه القيم بواسطة خوارزمية ما يمكنك ذكرها غير ذلك لا يمكنني مساعدتك.
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة
  • ELARAPY
الرد


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


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