![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
побайтно записать файл из массива [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