Вверх ↑
Этот топик читают: Гость
Ответов: 101
Рейтинг: 2
#16: 2016-07-07 00:46:42 ЛС | профиль | цитата
Дак тож WinRar, понятное дело что там и удобное структурирование и сжатие и прочие привилегии. В моей схеме как раз полностью исключается использование стороннего по тут как бы с чистого листа и под другие задачи и без сжатия. В общем по началу собирал просто свой тип файла к программе, потом надоело строгое структурирование решил двигаться в сторону динамических контейнеров, вот дошёл до такого варианта, есть ещё с десяток похожих (правда вот MemoryStream не отпускает нигде), везде одна и та же проблема (файлы большого объёма), прочие мелочи не учитываются (они поправимы). А что на счёт дальнейшего применения всех этих конструкций, то тут можно по всякому, загрузил все графические аудио и прочие файлы любой своей программы в один файл и читай не отходя от библиотеки. Ну или допустим в Hiasm в DLL форму запихнуть нельзя а кучесхемостью программу забивать не хочется, собрал под программу подпрограммы, скомпилировал их в exe с нужными именами, хоть 1000 штук всё записал в один файл и вызывай по надобности любое окно, передавай параметры и радуйся. Ну эт я о глобальном. сейчас же обида на FileStream, MemoryStream и всё внимание теперь к SharedStream...
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#17: 2016-07-07 10:01:59 ЛС | профиль | цитата
MasterXP писал(а):
Разбежались мозги в разные стороны
И что, все разбежались? Ни грамма не осталось?
MasterXP писал(а):
собрал под программу подпрограммы
Нормально.
MasterXP писал(а):
скомпилировал их в exe с нужными именами, хоть 1000 штук
Тоже нормальная идея.
MasterXP писал(а):
всё записал в один файл
А это зачем? А если какую-то подпрограмму нужно изменить или заменить? Что, опять "1000 штук" переписывать "в один файл"?
И почему эти суки, создающие Виндовсы, Линуксы и др., так не делают?
Подозреваю, что у них мозги разных людей сбежались для решения общей идеи.
Леонид писал(а):
Всё получилось за 42 мин, правда архив больше исходников -- 7 Гб
Леонид, Вы можете продать и выслать получившийся файл, не разбив его на емкость носителя?
А вытащить из этого файла, например, картинку №1234 за 1 сек?

Три вещи способствуют крепкому сну:
1. Чистая совесть.
2. Мягкая подушка.
3. Отсутствие интернета.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4630
Рейтинг: 749
#18: 2016-07-07 10:22:57 ЛС | профиль | цитата
MasterXP писал(а):
Уже даже форум облазил в поисках какого нибудь модернизированного FileStreamTurboEX

Плохо лазил
StreamCopy
FileStream
DataToFile
Правда, с файлами больше 4 Гб все равно не будет работать.
карма: 26

0
Ответов: 101
Рейтинг: 2
#19: 2016-07-08 01:19:24 ЛС | профиль | цитата
Tad писал(а):
А если какую-то подпрограмму нужно изменить или заменить? Что, опять "1000 штук" переписывать "в один файл"?
Ну тут кому как удобно уже.
Netspirit писал(а):
Плохо лазил
StreamCopy
FileStream
DataToFile
О спасибо, опробую.
Netspirit писал(а):
Правда, с файлами больше 4 Гб все равно не будет работать.
Ну главное если от 1,5 до 2Гб съедят уже хорошо. А вот SharedStream мне с каждым часом всё больше и больше нравится, много прикручивать правда приходится но думаю минимизирую всё со временем. Есть вот по первым постам ещё один вопрос по компонентам StreamPack и StreamUnPack, какой максимальный размер пакета можно получить с помощью них в Гигабайтах? Чуть не забыл
Tad писал(а):
И что, все разбежались? Ни грамма не осталось?
ещё немного осталось попробую с остатками обряд провести по призыву остальных на родину.
------------ Дoбавленo в 01.19:
Вообще столкнувшись с этой проблемой задумался о компоненте разбить файл, пошёл в интернет поискать чего нить, найти то нашёл но прочесть код не смог (языков я программирования не знаю) но, < это же поправимо, особенно если сам код уже кто то написал осталось перевести только. Сказать что в коне совсем ничего не вижу это неправильно, вижу то что можно исключить так как у нас своих кнопок и диалогов достаточно допустим это > procedure TForm1.Button1Click(Sender: TObject); дальше в коде есть ещё такое что тоже можно выкинуть > [color=green] begin
if OpenDialog1.InitialDir = '' then begin
OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);
end; [/color] Но выкидывать часть мусора с кода это понятно может каждый и явное увидеть. Проблема дальше скрывается это старая тема как (откуда берётся интерфейс "GUI"). Весь процесс планировал как вставкой кода и адаптацией его (заинлайнить), и столкнулся со строчкой AssignFile(F2, OpenDialog1.FileName + '.part' + IntToStr(i)); чтож в коде постоянно этот диалог открывается то, откуда тут можно удалить что нить где начало где конец, дальше и то больше читается и понимается чем в той маленькой строчке [color=green] Rewrite(F2, 1);
BlockRead(F1, Pointer(Buff)^, SizePart);
BlockWrite(F2, Pointer(Buff)^, SizePart);
if (i = N) and (SizePartAdd > 0) then begin [/color] В общем вот как то так покатилось всё к SharedStream а это плохо тяга к лёгкому пути это синдром ЗПР а для таких спец отделения строятся Нужно как то коду поучится к кубикам привыкаешь быстро.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#20: 2016-07-08 10:01:02 ЛС | профиль | цитата
1. Код, который ты нашел у Mawrat-а - это не твой код.
Это код для разбиения большого файла на 10 мелких
2. Твой код - обыкновенная книга С ОГЛАВЛЕНИЕМ
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4630
Рейтинг: 749
#21: 2016-07-08 11:30:46 ЛС | профиль | цитата
MasterXP писал(а):
задумался о компоненте разбить файл

Если опять же до 4-х Гб, то модифицированный DataToFile в режиме dtStringLen для чтения и записи (или ещё проще - StreamCopy) плюс цикл For.
карма: 26

0
Ответов: 101
Рейтинг: 2
#22: 2016-07-08 21:22:55 ЛС | профиль | цитата
Tad писал(а):
это не твой код
А разве я утверждал что он мой?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#23: 2016-07-08 21:29:43 ЛС | профиль | цитата
MasterXP писал(а):
А разве я утверждал что он мой?
Извини, не верно выразился. Нужно было сказать
Tad писал(а):
1. Код, который ты нашел у Mawrat-а
Это не тот код, который тебе нужен.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 101
Рейтинг: 2
#24: 2016-07-08 21:39:00 ЛС | профиль | цитата
Tad писал(а):
Твой код - обыкновенная книга С ОГЛАВЛЕНИЕМ
Вот это хорошая идея, книг правда много с какой начать непонятно, на счёт книги прошу совета. Вникнуть хочу в Delphi.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#25: 2016-07-09 09:46:39 ЛС | профиль | цитата
Netspirit писал(а):
модифицированный DataToFile в режиме dtStringLen

Это кто такой
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)