Страница 1 из 1

Определение свободного места на диске

Добавлено: 09 Сентябрь 2022, 16:23
finsoftrz
На хабе всплыла тема. Наверно, это велосипед. Может, кто скажет, как лучше в таких ситуациях делать. Соответствующей функции win api в стандартной либе клариона вроде как нет, а попытка создать libmaker из kernel32.dll вываливает большое количество прототипов, которые частично уже есть в стандартной либе. В общем, на коленке набросал вариант с динамической загрузкой. Может, кому пригодиться. Пример вызова:

Код: Выделить всё

rout_r  routine
   data
fsWinApiExtL  fsWinApiExt   
   code
   
       fsWinApiExtL.init
    
       stop(fsWinApiExtL.GetDiskFreeSpace('E:\'))
       stop(fsWinApiExtL.GetDiskFreeSpace('C:\'))
       stop(fsWinApiExtL.GetDiskFreeSpace('D:\'))
   
       fsWinApiExtL.kill 

Определение свободного места на диске

Добавлено: 09 Сентябрь 2022, 19:49
kreator
А где это можно применить?

Определение свободного места на диске

Добавлено: 09 Сентябрь 2022, 19:52
Дед Пахом
kreator писал(а): 09 Сентябрь 2022, 19:49 А где это можно применить?
Например, в своей программе :D

Определение свободного места на диске

Добавлено: 09 Сентябрь 2022, 19:57
finsoftrz
У себя я хотел проверять при запуске программы, сколько места осталось на диске с базой данных. В магазинах несколько раз наскакивали на недостаток места - старые компьютеры, доставшиеся в наследство. Можно в раздел "Информация о системе" подобную информацию вывести для облегчения технической поддержки.

Определение свободного места на диске

Добавлено: 09 Сентябрь 2022, 20:43
kreator
finsoftrz писал(а): 09 Сентябрь 2022, 19:57 У себя я хотел проверять при запуске программы, сколько места осталось на диске с базой данных.
Наверно, да. С SQL не особо актуально. А сетевой ресурс функция отрабатывает? Имею ввиду нотацию типа "\\RemoteServer\f:".