View Full Version : سوال: تبدیل ارایه بایت به ارایه ورد
iamehsan56
یک شنبه 24 فروردین 1393, 12:14 عصر
من یه ارایه 100 بایتی دارم که می خوام بریزمش تو یه ارایه 50 وردی
چطور می شه یه دفعه این کارو کرد
به طوری که
byte 1, byte 2 تبدیل بشن به word1
byte 2, byte3 تبدیل بشن به word2
, الی آخر
نمی خوام از یه حلقه واسه اینکار استفاده کنم
.ایا راهی داره که به یک باره بشه این کارو کرد
دلفــي
یک شنبه 24 فروردین 1393, 13:32 عصر
Type
WordArray = array of Word;
function ByteArrayToWordArray(bArray: array of byte): WordArray;
begin
SetLength(Result,SizeOf(bArray));
CopyMemory(@Result[1],@bArray[0],SizeOf(bArray));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
AByte:array [1..100] of byte;
begin
ByteArrayToWordArray(AByte);
end;
یوسف زالی
یک شنبه 24 فروردین 1393, 14:02 عصر
سلام.
اگر منظور شما اینه که دو بایت دو بایت تبدیل بشه:
var
ByteArray: array [1..100] of byte;
WordArray: array [1..50] of word ABSOLUTE ByteArray;
نیازی به کد نویسی نیست. اما همون طور که می دونید بایت باارزش بایت سمت راست می شه نه چپ:
ByteArray[2] := 1;
ShowMessage(IntToStr(WordArray[1])); // 128
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.