@Linda-chan

Linda-chan

Линда Кайе
Linda-chan

Дата рождения: 01.11.1983

Тотальная неудачница и убийца жёстких дисков. Самая большая поклонница Ариэль. Член ордена Вселенского тормоза имени Осаки-сан. Любительница каваййных переднеприводных машинок. Суккуб на полставки. Когти прилагаются.

https://www.lindachan.net

10 я читаю 59 меня читают
15074 постов
25802 комментариев
Linda-chan
11 Nov 2021

В программизме самое сложное – рассматривая очень старый, местами неказистый, код, не думать, что человек, который его писал – не очень умный человек, а вот сейчас-то у тебя опыта больше и такую фигню ты больше писать не будешь. Короче, есть такая функция, GetLongPathName(). Думает она то же, что и GetShortPathName(), но в обратную сторону. В Windows 9x и NT4 её не было, и народ там страдал. Функция полезна, например, тем, что позволяет сделать регистр символов в произвольном имени файла как оно на самом деле на диске. Но в Windows 9x её нет, как и в NT4, а описание GetShortPathName() рекомендует использовать FindFirstFile() для нужного нам эффекта. Поскольку эта функция возвращает не прямо полное имя файла, а только имя без пути, нужно пробежаться по всему имени файла и для каждого компонента применить эту функцию. Муторно, но реализуемо, что я и сделала в далёком 2013 году на Цэ. Но вот мне потребовалось то же самое на FreeBasic, и, глядя на тот код, стало грустно. Решила написать заново. Получилось довольно ловко, хитро и гораздо компактнее. И всё заработало! Но потом полезли нюансы, каждый из которых надо было учесть, что влекло увеличение кода и потерю ловкости. Но самое печальное – не было всего этого в коде на Цэ, и из него не лезли все эти нюансы! Короче, пострадала, попечалилась и портировала код на FB, заодно отловив один баг. И вроде не такой уж и неуклюжий код то был, тоже ловкий, просто большая часть непонятного мусора – управление строками. В итоге у меня снова всё работает под Windows 9x и, что немаловажно, на NT4.

17 Nov 2021

небось на самом деле лезли, просто ты не заметила.

17 Nov 2021

Возможно, что-то пропустила, но именно то, что сразу обнаружила, как раз решалось старым кодом.

#zlnma/2 в ответ на /1

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.