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

Вниз

TFileStream.CopyFrom   Найти похожие ветки 

 
AlexanderMS ©   (2006-06-03 18:40) [0]

TFileStream.CopyFrom при инструкции копировании из одного потока в другой n байт копирует от текущей позиции, но почему-то всё до конца, и сохраняется файл, обрезанный сначала (после вызова метода Seek первого файлстрима), но не обрезанный с конца. Приходится устанавливать размер второго потока через SetSize. Тогда зачем нужно число байт в параметре? Что я делаю не правильно?


 
sniknik ©   (2006-06-03 18:54) [1]

> Что я делаю не правильно?
ну... я так думаю все, все неправильно, начиная с 17й строки и по 117ю. выкинуть и переписать, предварительно сверившись с  хелпом (F1)...


 
AlexanderMS ©   (2006-06-03 19:00) [2]


> предварительно сверившись с  хелпом (F1)...

В хелпе дан простой пример: копирование одного файла в другой: от нуля до Size. Только сейчас заметил, что у меня не так:

FS2 := TFileStream.Create(filename, fmopenwrite);

А нужно было:

FS2 := TFileStream.Create(filename, fmcreate);

В файле остался мусор от прежних эксперментов. Я всё понял. Спасибо.


 
DevilDevil ©   (2006-06-03 23:07) [3]

AlexanderMS ©   (03.06.06 18:40) [0]
Скорее всего помогу, если пойму, в чём проблема


 
Eraser ©   (2006-06-03 23:26) [4]


> AlexanderMS ©   (03.06.06 18:40)


> но почему-то всё до конца

см. F1
[Delphi] function CopyFrom(Source: TStream; Count: Int64): Int64;
...
CopyFrom copies Count bytes from the stream specified by Source into the stream. It then moves the current position by Count bytes, and returns the number of bytes copied.
If Count is 0, CopyFrom sets Source position to 0 before reading and then copies the entire contents of Source into the stream. If Count is greater than or less than 0, CopyFrom reads from the current position in Source.

PS показывай код.



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1147986841
Германн
2006-05-19 01:14
2006.06.25
Установка Indy9 на Д6


2-1149350435
allrussia
2006-06-03 20:00
2006.06.25
Создание и использование своего юнита с процедурами и функциями


2-1149598657
XTD
2006-06-06 16:57
2006.06.25
как в листбоксе выделить позиции в списке ?


3-1146214759
alsov
2006-04-28 12:59
2006.06.25
Надежность FireBird Embedded


15-1149138054
Holy
2006-06-01 09:00
2006.06.25
Всех с праздником...