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

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

побайтно записать файл из массива [Delphi]


tippa ©   (2009-12-11 18:27:00) 

есть массив паскаль кода некоторого файла:

fff: array[0..132067] of byte = ($6D, $4A, $70, $00, ... );

нужно записать его в поток
делаю так:

strem:=NewReadWriteFileStream('proga.exe');//создал поток
strem.???(fff,132068);
//не нашёл подходящего метода

в VCL работает strem.write(fff,132068).


L'Autour   (2009-12-13 17:03:00) [1]

сорри: @fff[0]^, что по сути тот же Pointer(@fff)^

и еще, если используется
var ucaz_fff: ^byte;
то следует писать:
strem.Write(ucaz_fff^,132068);


tippa   (2009-12-13 12:40:00) [2]

блин, вообщем чушь какая-то пишется в поток, вернулся на
> Stream.Write(Pointer(@fff)^,...


tippa   (2009-12-13 12:02:00) [3]


var ucaz_fff: ^byte;
...
ucaz_fff:=@fff[0];
...
strem.Write(ucaz_fff,132068);


L'Autour   (2009-12-12 21:08:00) [4]

@fff[0]


tippa   (2009-12-12 20:10:00) [5]


> Можно просто fff[0]

если так
strem.Write(fff[0],132068);
то не пашет, опять:
Constant object cannot be passed as var parameter.


Dufa   (2009-12-12 15:17:00) [6]

Можно просто fff[0]


tippa   (2009-12-11 22:51:00) [7]

да вы тут прям волшебники, все заработало


Дмитрий К   (2009-12-11 22:27:00) [8]

Stream.Write(Pointer(@fff)^,...


tippa   (2009-12-11 22:19:00) [9]

причем если массив не делать константой, а задавать посимвольно, то все окей, но у меня 100 килобайтный файлик...


tippa   (2009-12-11 21:42:00) [10]

сразу так и делал, но пишет
Constant object cannot be passed as var parameter.
мол не может константа использоваться как переменная


Слон   (2009-12-11 20:15:00) [11]

.write


Наверх

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