Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];
ВнизЕсть файл байтов (file of byte). Как сделать, чтобы массив данных Найти похожие ветки
← →
SergeyG © (2006-03-23 12:18) [0]Есть файл байтов (file of byte). Как сделать, чтобы массив данных из этого файла "оставить" в программе, а не подгружать во время работы программы?
← →
Darkwing © (2006-03-23 12:30) [1]
var H: THandle;
H := CreateFile(PChar("Имя файла"),GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, nil, nil);
FileRead(H,MyArray,LengthOfMyArray));
CloseHandle(H)
← →
SergeyG © (2006-03-23 13:38) [2]Т.е. эту процедуру можно сделать в любое время при работе программы, а потом этот заполненный массив останется в теле программы? Или можно как-то этот массив сформировать во время разработки программы?
← →
MBo © (2006-03-23 13:43) [3]>Или можно как-то этот массив сформировать во время разработки программы?
Если массив маленький, можно константный массив использовать
const a:array[1..3] of byte = (1,2,3);
Если большой - можно в ресурс засунуть.
← →
SergeyG © (2006-03-23 13:46) [4]Вручную набивать килобайт тоскливо. А что такое и как "засунуть в ресурс"?
← →
MBo © (2006-03-23 14:02) [5]Пусть файл данных называется array.dat
Пишешь текстовый файл array.rc, содержащий строчку
ARR RT_RCDATA "array.dat"
и запускаешь компилятор ресурсов
brcc32 array.rc
Получается файл array.res
В программе$R *.dfm}
{$R array.res}
procedure TForm4.FormCreate(Sender: TObject);
var
Res:TResourceStream;
begin
Res:=TResourceStream.Create(HInstance, "ARR","RT_RCDATA");
SetLength(arr, Res.Size);
Res.Read(arr[0], Res.Size);
Res.Free;
Caption:=IntToStr(arr[0]);
end;
← →
MBo © (2006-03-23 14:03) [6]здесь arr- динамический массив
arr: array of Byte;
← →
SergeyG © (2006-03-23 15:11) [7]Спасибо, буду разбираться.
← →
Leonid Troyanovsky © (2006-03-23 16:35) [8]
> MBo © (23.03.06 14:02) [5]
> ARR RT_RCDATA "array.dat"
ARR RCDATA "array.dat"
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.019 c