Главная страница
    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.019 c
2-1143021945
Lexa11_2002
2006-03-22 13:05
2006.04.09
Динамические массивы


15-1142261860
Boris Marchenko
2006-03-13 17:57
2006.04.09
Делфи - быть или не очень?..


6-1134687059
Indy
2005-12-16 01:50
2006.04.09
[INDY] Как использовать TIdIOHandlerStream совместно с TIdNNTP?


15-1142790768
Kolan
2006-03-19 20:52
2006.04.09
Интернет через разетку. Кто - нибудь пробовал?


1-1141400291
RomanH
2006-03-03 18:38
2006.04.09
Работа с ComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский