Вниз
Скачать: CL | DM;

Как прочетать весь файл использую TFileStream   Найти похожие ветки 

← →
Kolan ©   (2006-10-12 15:11) [0]

Здравствуйте,
 Никак не разберусь. Есть такой тип массива:
TByteArray = array of Byte;
Как использую TFileStream скопировать файл в массив этого типа?


← →
MBo ©   (2006-10-12 15:17) [1]

SetLength(A, Stream.Size)
Stream.Read(A[0], Stream.Size)


← →
Плохиш ©   (2006-10-12 15:21) [2]


var
 fs: TFileStream;
 ba: TByteArray;
begin
 fs = TFileStream.Create(<FileName>);
 SetLenght(ba, fs.Size);
 fs.Read(ba[Low(ba)], fs.Size);
 fs.Free;
end;


← →
novill ©   (2006-10-12 15:29) [3]

> [1] MBo ©   (12.10.06 15:17)

А если файл больше  255 байт что делать?

procedure SetLength(var S; NewLength: Integer);

Description

S is a string or dynamic-array variable.

NewLength is the new number of characters or elements in S.

For a short-string variable, SetLength simply sets the length-indicator character (the character at S[0]) to the given value. In this case, NewLength must be a value between 0 and 255.


← →
umbra ©   (2006-10-12 15:38) [4]

2 novill ©   (12.10.06 15:29) [3]

а где здесь говорили о коротких строках?


← →
MBo ©   (2006-10-12 15:39) [5]

>novill ©   (12.10.06 15:29) [3]
>А если файл больше  255 байт что делать?
Все то же самое и делать.
Внимательно прочитай, к чему именно относится последний абзац справки


← →
novill ©   (2006-10-12 15:40) [6]

Хмм, похоже, только я.
)))
Туплю...


← →
Kolan ©   (2006-10-12 15:43) [7]


> SetLength(A, Stream.Size)
> Stream.Read(A[0], Stream.Size)
>

Черт забыл на кнопку "добавить" нажать, благодарю разобрался.

Не нашел Stream.Size вот и думал сидел :)


← →
Kolan ©   (2006-10-12 16:04) [8]

А загрузить?...
Stream.WriteBuffer(Data,  SizeOf(Data))
Так?


← →
Kolan ©   (2006-10-12 16:15) [9]

А се дошло...
Stream.WriteBuffer(Data[0], Length(Data) * SizeOf(Data[0]));



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.974 c
15-1159942031
Курдль
2006-10-04 10:07
2006.10.29
Совсем не в тему Delphi, но такие строки больно берут за душу...


15-1159992827
dreamse
2006-10-05 00:13
2006.10.29
Есть ли на свете кнопка ?


15-1160392917
default
2006-10-09 15:21
2006.10.29
Очередь


15-1160018364
Alx_
2006-10-05 07:19
2006.10.29
Касперский. DISK BOOT FAILURE


6-1149315294
wsxedc
2006-06-03 10:14
2006.10.29
Как передавать из программы параметры методами GET/POST?




   Наверх