Форум: "Основная";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
ВнизМожно ли отрезать кусок от файла без копирования его содержимого? Найти похожие ветки
← →
AlexAlex (2006-06-18 20:53) [0]Для передачи данных планируется дописывать к файлу дополнительную информацию (конверт). Перед доставкой файла к пользователю этот конверт надо удалить. Можно ли это сделать без того, чтобы копировать часть файла (конверт маленький, а файл может быть произвольного размера)? Можно ли дописать информацию в начало существующего файла без потерь данных в нем (из начала конверт лучше читать и шансов, что он придет больше)?
← →
Virgo_Style © (2006-06-18 21:01) [1]писать и удалять удобнее в конец, imho.
← →
Virgo_Style © (2006-06-18 21:04) [2]Хотя это справедливо, если все операции на диске... а так - никто не мешает отправить то, что надо, пропустив конверт.
← →
tesseract © (2006-06-18 21:33) [3]> Хотя это справедливо, если все операции на диске... а так
> - никто не мешает отправить то, что надо, пропустив конверт.
ничто не мешает проверять конверт при передаче по сети, но не сохранять его в файл. Ещё практичнее реализовать разбиение по блокак и по каждому высчитывать CRC - так можно оргнанизовать докачку.
ЗЫ: не очередной клиент-банк случайно?
← →
Slym © (2006-06-19 04:40) [4]Лучше заголовок вначале:
размер заголовка, CRC - обязательный парм.
данные заголовка - необязат.
размер, CRC данных - обязательный парм.
сами данные - необязат.
При приеме пропускай заголовок и не записывай
← →
AlexAlex (2006-06-19 13:32) [5]Принимаю не я. Мне этот файл приходит по FTP. Требование самостоятельного формирования и проверки (помимо того, что дает TCP/IP) контрольной суммы забито в ТЗ. Как удалить данные из конца файла? Это не клиент-банк.
← →
Плохиш © (2006-06-19 13:52) [6]
> AlexAlex (19.06.06 13:32) [5]
В качестве ответа используем новую редакцию последнего предложения из [4] - "При передаче пропускай свою дополнительную информацию и не передавай её".
← →
Сергей М. © (2006-06-19 16:18) [7]
> AlexAlex
Ты какую сторону реализуешь-то - сторону клиента ? сторону сервера ? обе ?
← →
AlexAlex (2006-06-19 16:20) [8]Клиента (получателя), но с разработчиком сервера можно договориться: он сделает так, как я попрошу
← →
AlexAlex (2006-06-19 16:21) [9]Я получаю файл по IDFTP, как можно пропустить часть данных?
← →
Сергей М. © (2006-06-19 16:26) [10]
> AlexAlex (19.06.06 16:20) [8]
> с разработчиком сервера можно договориться: он сделает так,
> как я попрошу
Вот и попроси его не слать эту хрень, которую ты собрался "отрезать" и которая тебе как клиенту нафих не нужна.
Иными словами - согласуй протокол информационного обмена.
← →
Fay © (2006-06-19 16:33) [11]2 AlexAlex (19.06.06 13:32) [5]
> Как удалить данные из конца файла?
CreateFile, SetFilePointer, SetEndOfFile, CloseHandle
← →
AlexAlex (2006-06-19 18:08) [12]To Сергей М.>Так я же должен проверить переданные параметры.
To Fay> Большое спасибо, то что нужно
← →
Leonid Troyanovsky © (2006-06-19 18:16) [13]
> Fay © (19.06.06 16:33) [11]
> CreateFile, SetFilePointer, SetEndOfFile, CloseHandle
См. также TFileStream.Size.
--
Regards, LVT.
← →
Verg © (2006-06-20 08:54) [14]
> AlexAlex (19.06.06 13:32) [5]
> Как удалить
> данные из конца файла?
Deletes all the records after the current file position.
Unit
System
Category
I/O routinesprocedure Truncate(var F);
Description
Call Truncate to cause the current file position to become end-of-file (Eof(F) is True).
F is a file variable of any type except a text file. Truncate does not work on text files. F must be open.
← →
AlexAlex (2006-06-20 10:22) [15]Большое спасибо за ответы
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.013 c