Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.013 c
15-1142446816
Morgoth2
2006-03-15 21:20
2006.04.09
Delphi и Windows mobile 5.0.


15-1142790487
Суслик
2006-03-19 20:48
2006.04.09
Прокси


2-1143476056
Genry
2006-03-27 20:14
2006.04.09
Функции арифметического округления


2-1143531105
EHOT
2006-03-28 11:31
2006.04.09
Код клавиш


2-1143460798
dest81
2006-03-27 15:59
2006.04.09
Материнская плата





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский