![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прочетать весь файл использую TFileStream
Kolan © (2006-10-12 15:11:00)Здравствуйте,
Никак не разберусь. Есть такой тип массива:
TByteArray = array of Byte;
Как использую TFileStream скопировать файл в массив этого типа?
Kolan (2006-10-12 16:15:00) [1]А се дошло...
Stream.WriteBuffer(Data[0], Length(Data) * SizeOf(Data[0]));
Kolan (2006-10-12 16:04:00) [2]А загрузить?...
Stream.WriteBuffer(Data, SizeOf(Data))
Так?
Kolan (2006-10-12 15:43:00) [3]
> SetLength(A, Stream.Size)
> Stream.Read(A[0], Stream.Size)
>
Черт забыл на кнопку "добавить" нажать, благодарю разобрался.
Не нашелStream.Sizeвот и думал сидел :)
novill (2006-10-12 15:40:00) [4]Хмм, похоже, только я.
)))
Туплю...
MBo (2006-10-12 15:39:00) [5]>novill © (12.10.06 15:29) [3]
>А если файл больше 255 байт что делать?
Все то же самое и делать.
Внимательно прочитай, к чему именноотносится последний абзац справки
umbra (2006-10-12 15:38:00) [6]2 novill © (12.10.06 15:29) [3]
а где здесь говорили о коротких строках?
novill (2006-10-12 15:29:00) [7]> [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.
Плохиш (2006-10-12 15:21:00) [8]
var
fs: TFileStream;
ba: TByteArray;
begin
fs = TFileStream.Create(<FileName>);
SetLenght(ba, fs.Size);
fs.Read(ba[Low(ba)], fs.Size);
fs.Free;
end;
MBo (2006-10-12 15:17:00) [9]SetLength(A, Stream.Size)
Stream.Read(A[0], Stream.Size)