Yvlad писал(а):Своей прогой открываю (get) файл, убираю часть информации и сохраняю (put) файл. Но файл на диске остается прежней длины.
Есть ли "культурный" способ сохранять файл короче, без старой не нужной информации?
Спасибо!
a = FreeFile
Open "сдесь путь к файлу" For Output as a ' Заменяем открывшийся Print #a, "Кусок тескста которы хочешь сохранить" ' текст на этот кусок
Close #a
Yvlad писал(а):Своей прогой открываю (get) файл, убираю часть информации и сохраняю (put) файл. Но файл на диске остается прежней длины.
Есть ли "культурный" способ сохранять файл короче, без старой не нужной информации?
Спасибо!
a = FreeFile
Open "сдесь путь к файлу" For Output as a
Print #a, "Кусок тескста которы хочешь сохранить"
Close #a
Да, кстати, есть еще вариант: можно считать инфу, потом файлик похереть и... нечаянно зависнуть от пролитого пива на все, что можно.Шурик писал(а):Да кстати!!! Можно считать инфу, потом файлик похереть и заново создать его и записать туда новую инфу.
vvs_adm писал(а):Да, кстати, есть еще вариант: можно считать инфу, потом файлик похереть и... нечаянно зависнуть от пролитого пива на все, что можно.Шурик писал(а):Да кстати!!! Можно считать инфу, потом файлик похереть и заново создать его и записать туда новую инфу.
Запускаем RAR с параметром сжатия бест и ложимся спать. Просыпаемся через два-три дня и смотрим, не завис ли комп. Если не завис, то смотрим, не сжался ли файл до 2Гб. Если сжался сильнее, чем до двух Гб, дописываем нулями. Если не сжался, громко матерясь, удаляем его нафиг, как файл, не заслуживающий нашего уважения. Хотя есть вариант перед удалением неправильного файла испробовать варианты с альтернативными архиваторамиalibek писал(а):А уменьши мне файл с 3Гб до 2Гб?
Inferno писал(а):Поубирать лишние нолики. Тоесть анализируешь содержимое встречаешь нулевую последовательность и вместо нее пишешь
00 Lenght
К примеру:
AB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AB CD
можно записать как
AB 00 0E AB CD
Это наверное один из самых древних методов упаковки файлов ... Тогда, наверное, еще и компьютеров не было Ему же не надо файл упаковывать, ему хвостик отрезатьInferno писал(а):Поубирать лишние нолики.
alibek писал(а):Опять двадцать пять...
А если файл больше 2Гб размером?
Ошибка переименования файла! Данного файла отныне не существует!! Компьютер перезагрузится через 3... 2... 1... ФсеAndrey Fedorov писал(а):старый удаляем и переименовываем.
vvs_adm писал(а):Ну все же уже... Чё вы мучаетесь, кусочками, хреночками...alibek писал(а):Надо юзать SetEndOfFile.
Вообще-то поторопился я... Если вернуться к первому посту и внимательнее его прочитать, то получается, что ему не надо хвостик отрезать, ему может быть часть из середины вырезать надо. Так что и вправду придется кусочками-хреночкамиalibek писал(а):Глупо. Надо юзать SetEndOfFile.
Только SetEndOfFile и осталось. Хотя конечно безоткрываю (get) файл, убираю часть информации и сохраняю (put) файл
и без стакана не совсем ясноА вобщче код в студию
Не, не так. Потом 1 файл грохаешь и проливаешь пиво на клаву... Не, на системникInferno писал(а):Открыл 2 файла- один на чтение другой на запись.Одновременно с одного файла считываешь в другой записывашь. Потом 1 файл грохаешь а второй переименовываешь.
Сейчас этот форум просматривают: Google-бот и гости: 155