Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как прочетать весь файл использую 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)


Наверх

Титульная страница Поиск, карта сайта Написать письмо