Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.04.27;
Скачать: CL | DM;

Вниз

pbyte   Найти похожие ветки 

 
Vasa777   (2013-07-20 00:16) [0]

x,Len:integer;pbData:pbyte;st,st1:tfilestream;a1,a2:byte;
..
len:=1024;
repeat
x:=st.Read(pbData^,Len);
..
// как вот тут в начало pbData вставить a1, а в конец a2?
..
st1.Write(pbData^,Len+2);
until ..


 
RWolf ©   (2013-07-20 01:34) [1]

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


 
Vasa777   (2013-07-20 01:40) [2]

мне не в файл надо вставлять (ну в конечном итоге в него, st1 открыт на запись), а в то куда данные считываются.
я же могу обращатся к конкретным байтам как pbdata[0..len-1].

чтобы было как в строках Insert(a1,pbdata,0) и Insert(a2,pbdata,length(pbdata))


 
RWolf ©   (2013-07-20 01:40) [3]

[1] выше не читаем, торможу на ночь глядя.
не надо ничего вставлять в буфер, просто пишем в поток a1, потом pbData и a2.


 
Vasa777   (2013-07-20 01:44) [4]

++ и st1.write(a1,1);st1.Write(pbData^,x);st1.write(a2,1);
тоже не катит. нужно вставить именно в pbData до ее записи в st1


 
Vasa777   (2013-07-20 01:47) [5]

до repeat выделен буфер getmem(pbdata,len+2);


 
RWolf ©   (2013-07-20 01:48) [6]

проще всего выкинуть байты и буферы, разместить данные в AnsiChar/RawByteString, а затем складывать их как угодно.


 
Vasa777   (2013-07-20 01:51) [7]

тогда кучу других функций придется менять, а они все с pbyte работают там в промежутке, до записи. и если с a2 как бы можно просто в конец дописать, то вот с a1 проблема


 
Vasa777   (2013-07-20 01:53) [8]

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


 
RWolf ©   (2013-07-20 02:01) [9]

нет таких функций.


 
Vasa777   (2013-07-20 02:03) [10]

набрел вот http://www.delphipages.com/forum/showthread.php?t=148288
и http://stackoverflow.com/questions/15388183/widechar-to-bytes
завтра уже читать буду, ща спать хочу..



Страницы: 1 вся ветка

Текущий архив: 2014.04.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
1-1324983124
Виктор М.
2011-12-27 14:52
2014.04.27
Отправить POST-запрос в Windows-1251 в Indy


2-1374061475
Vasa777
2013-07-17 15:44
2014.04.27
процедура по имени


4-1268990516
Delphi User
2010-03-19 12:21
2014.04.27
NtQuerySystemInformation


15-1383638933
Григорьев Иван
2013-11-05 12:08
2014.04.27
Как сохранить файл Excel?


15-1383590956
KilkennyCat
2013-11-04 22:49
2014.04.27
как работает механизм установления соединения с MySQL?