17-08-2010, 02:42 PM
17-08-2010, 05:11 PM
السلام عليكم
الشرح متوفر في الـ Help
اطرح مشكلتك بالضبط أين هي؟
الشرح متوفر في الـ Help
اطرح مشكلتك بالضبط أين هي؟
17-08-2010, 08:23 PM
17-08-2010, 10:02 PM
مشكورين اخواني على التفاعل على كل راح اطرح المشكلة
على كل المتغيرات معرفة من قبل وكلها من نوع integer
وكما ترون الغاية تصفير مناطق من الاوفيست 10 الى 20 - in dec -
لاكن النتيجة تظهر هكدا
الكود تعدى المطلوب منه ، ما المشكلة
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
FileHandle := FileOpen(OpenDialog1.FileName,fmOpenReadWrite);
Buffer := 0;
for i:= 10 to 20 do
begin
Count := FileSeek(FileHandle, i, 0);
result := FileWrite(FileHandle,Buffer,Count);
end;
end;
وكما ترون الغاية تصفير مناطق من الاوفيست 10 الى 20 - in dec -
لاكن النتيجة تظهر هكدا
PHP كود :
offset stare (0) 43 57 53 08 18 24 00 00 78 DA (offset10) 00 00 00 00 00 00
00 00 00 00 00(offset20) 00 00 00 FF FF FF FF 00 00 00 00
00 00 00 00 00 00 00 00 18 8A 88 10 7A 91 26 D2
17-08-2010, 11:36 PM
إقتباس :الكود تعدى المطلوب منهالكود لم يتعد المطلوب، الخلل هنا:
إقتباس :على كل المتغيرات معرفة من قبل وكلها من نوع integerInteger يزن 4 bytes
جرب تغيير نوع Buffer إلى Byte أو Char (إذا استخدمت Char اكتب 0#)
ملاحظة: المتغير result لا محل له من الإعراب.
أيضا حيز begin/end بعد OpenDialog1.Execute ولا تنسى FileClose في النهاية.
أيضا يفضل استخدام TStreamFile
بالتوفيق.
18-08-2010, 01:58 AM
نعم كما قال اخى kachwahed الكود الذى طرحته ملىء بالاخطاء ...
المهم هده طريقة لتغير اول 10 بايت لملف ما . عن طريق استعمال الكلاس TMemoryStream
اطلع على الهالب لكى تفهم اكثر .
المهم هده طريقة لتغير اول 10 بايت لملف ما . عن طريق استعمال الكلاس TMemoryStream
PHP كود :
const
My10Byte: array[1..10] of Byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
var
MS: TMemoryStream;
begin
MS := TMemoryStream.Create;
try
if dlgOpen1.Execute then
begin
MS.LoadFromFile(dlgOpen1.FileName);
MS.Seek(0, 0);
MS.Write(My10Byte, SizeOf(My10Byte));
MS.SaveToFile(dlgOpen1.FileName + '.Changed');
end;
finally
MS.Free;
end;
end;
اطلع على الهالب لكى تفهم اكثر .
19-08-2010, 04:02 PM
امممم ساجرب ، مشكورين اخواني ما قصرتوا اما على الاخطاء فهدا اول كود لي هههههه