Вниз
Скачать: 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.03 c
6-1149170784
Steplerr
2006-06-01 18:06
2006.10.29
Докачка FTP


2-1160791839
Incognito
2006-10-14 06:10
2006.10.29
Дождаться завершения выполнения другой функции


15-1159934091
eRoR_rrr
2006-10-04 07:54
2006.10.29
Оптимизация программы


15-1155872282
Loginov Dmitry
2006-08-18 07:38
2006.10.29
Опять за старое :)


15-1160234043
moccom
2006-10-07 19:14
2006.10.29
COM




   Наверх