Board.KolibriOS.org
http://board.kolibrios.org/

Файловый навигатор
http://board.kolibrios.org/viewtopic.php?f=44&t=2178
Page 6 of 9

Author:  Pathoswithin [ Wed Feb 08, 2017 9:40 pm ]
Post subject:  Re: Файловый навигатор

При копировании с tmp содержимого cmake viewtopic.php?f=31&t=659&start=150#p67822
Вообще не понятно, из других мест вроде копирует. В общем, попробуй разобраться.

Author:  0CodErr [ Wed Feb 08, 2017 9:45 pm ]
Post subject:  Re: Файловый навигатор

Pathoswithin wrote:
содержимого cmake
Siemargl wrote:
из https://cmake.org/download/ берем архив cmake-3.7.1-win32-x86.zip
Хмм, я что-то не нахожу там 3.7.1, но есть 3.7.2.
Ага, вон там есть https://cmake.org/files/v3.7/

Author:  0CodErr [ Wed Feb 08, 2017 9:59 pm ]
Post subject:  Re: Файловый навигатор

Проверил в VirtualBox.
Создал 2 tmp-диска по 60 Mb каждый.
Разархивировал внутри колибри с помощью KFAR с /cd2/1 на /tmp1/1.
Копировал с помощью fNav с /tmp1/1 на /tmp0/1.
Успешно. Ошибок не было.
Attachment:
1.PNG
1.PNG [ 16.45 KiB | Viewed 2116 times ]

Author:  Pathoswithin [ Wed Feb 08, 2017 10:26 pm ]
Post subject:  Re: Файловый навигатор

Не, всё таки ошибка при копировании на ext2 (cmake-3.7.2). Но все равно не понятно: Shell копирует, KFAR копирует, Eolite вроде тоже...

Author:  0CodErr [ Wed Feb 08, 2017 10:37 pm ]
Post subject:  Re: Файловый навигатор

Ну только размер буфера другой.

Author:  Pathoswithin [ Wed Feb 08, 2017 10:55 pm ]
Post subject:  Re: Файловый навигатор

Не, с разным размером буфера одинаково, тут что-то ещё. Папки создаёт, а на первом же файле EOF. Что он вообще делает при копировании файла?

Author:  0CodErr [ Wed Feb 08, 2017 11:00 pm ]
Post subject:  Re: Файловый навигатор

Сначала создаётся(SysFn70.2) пустой файл нулевой длины.
Проверяется возвращаемый результат, если <> 0, то Error.
Ну а потом в цикле ReadFile + WriteFile.

Попробуй, кстати, GenFiles ещё. Она только создаёт файлы.

Author:  Pathoswithin [ Thu Feb 09, 2017 6:40 pm ]
Post subject:  Re: Файловый навигатор

Ага! Таки fnav. При создании файла нужно обнулять смещение, для ext это важно.

Author:  0CodErr [ Thu Feb 09, 2017 7:33 pm ]
Post subject:  Re: Файловый навигатор

Pathoswithin wrote:
нужно обнулять смещение
Но зачем?
Вообще-то SysFn70.2 это Create|Rewrite.
Хотя, если это только создание, то оно действительно обнуляется, как я и писал выше
0CodErr wrote:
Сначала создаётся(SysFn70.2) пустой файл нулевой длины.
Примерно как в GenFiles http://websvn.kolibrios.org/filedetails ... m#line-213
Ты пробовал GenFiles?

Author:  Pathoswithin [ Thu Feb 09, 2017 9:08 pm ]
Post subject:  Re: Файловый навигатор

Как ты любишь говорить, так в документации написано. Может кто-то захочет, чтоб я сделал возможность создания файлов с записью данных с указанного места. А по факту, там общий код с 70.3.
Обнуляется не всегда. Я сделал вывод на доску с 70.2 и когда ошибка - там не ноль.

Author:  0CodErr [ Thu Feb 09, 2017 9:20 pm ]
Post subject:  Re: Файловый навигатор

Pathoswithin wrote:
Может кто-то захочет, чтоб я сделал возможность создания файлов с записью данных с указанного места.
В данном случае не имеет значения, с какого места. Потому что вот тут
Code:
  * +12 = +0xC: dword: number of bytes to write
значение равно нулю. То есть, по факту я ничего и не собирался никуда писать. Поэтому Count = 0.
Если в других ФС проблем нет, то надо просто добавить для ext проверку типа "If Count = 0 ..."

Author:  Pathoswithin [ Fri Feb 10, 2017 12:36 pm ]
Post subject:  Re: Файловый навигатор

Для данного случая исправил, но всё равно то что зарезервировано должно быть равно нулю. Я подумал, будет полезно сделать возможность создавать пустой файл указанного размера, без использования 70.4.

Author:  0CodErr [ Fri Feb 10, 2017 7:47 pm ]
Post subject:  Re: Файловый навигатор

Так оно зарезервировано для Rewrite, потому что запись идёт с начала файла(смещение 0), а Create вообще не должна учитывать эти поля, так как для Create они просто не нужны(и зачем только они проверялись в ext?).
Pathoswithin wrote:
возможность создавать пустой файл указанного размера, без использования 70.4
Тогда надо будет нулями заполнять. По аналогии
Quote:
if size difference is up to 16 MB, new space will be cleared with 0.
А почему там, кстати, такое ограничение 16 Mb?

Author:  Pathoswithin [ Fri Feb 10, 2017 8:53 pm ]
Post subject:  Re: Файловый навигатор

У 70 функции есть ещё и общее описание структуры. У NTFS тоже Rewrite и Write используют общий код. Ну и написано довольно чётко: 0 (зарезервировано).

Я ограничил, потому что нехорошая функция получается: максимальный размер файла ограничен только у FAT, а в остальных ФС можно задать размер 100 ГБ - вот уж где раздел действительно зависнет, если столько обнулять. Да и смысл такой функции в том, чтоб быстро создать большой файл, а потом писать в него данные.

Author:  punk_joker [ Fri Apr 07, 2017 11:59 pm ]
Post subject:  Re: Файловый навигатор

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

Page 6 of 9 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/