arthur2 писал(а):Если эта строка, на основании которой предлагается заполнять LARGE_INTEGER - число не в байтах, а в каких-то других единицах, то число на выходе вполне уместится в лонг и пихать его в LARGE_INTEGER на этом этапе - смысла нет.
Во-первых, оно может быть как в каких-то других единицах, так и в байтах в том числе. Это первая твоя ошибка.
Подчёркнутая часть — вторая твоя ошибка. Если в качестве единиц указаны килобайты, ты не опишешь диски размером больше 2 Tb. Кем надо быть, чтобы сознательно писать дисковую утилиту, не умеющую работать с дисками больше 2 Тб?
arthur2 писал(а):А раз в строке ещё на этапе ввода будут отфильтрованы все неподходящие варианты, то Val сработает вполне корректно. Так что ни какой двойной работы с моим подходом - не вижу.
Как можно сначала писать о фильтрации, а потом говорить, что никакой двойной работы не видишь? Это шутка или что? Ты сам пишешь о двойной работе: сначала проверка ввода, потом преобразование в не тот тип, который нужно, и в конце пеобразование в тот тип, который нужно.
Я говорю:Нужен код, который преобразует строку в LARGE_INTEGER, автоматически проверив при этом правильность строки.
Ты говоришь:Нужен код, который сначала проверит правильность строки, потом код, который преобразует строку в ненужный (но удобный лентяям) тип, и потом код, который преобразует ненужный тип в LARGE_INTEGER.
Чей способ соответствует
этому топику, а чей противоречит? В чьём способе больше дополнительной работы, которая не нужна для дела, а привлекается исключительно для того, чтобы писать меньше кода?