Чтение и запись длинного текста

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

Хыиуду писал(а):Как это сделать - somewhere писал уже. Про многоточие - в Дельфи это делается элементарно. Например, так:
var f:textfile;
begin
assignfile(f,'C:\123.pas.bat.exe.txt');
rewrite(f);
closefile(f);
end;
В Паскале это не сделается, думаю, потому что Паскаль поддерживает только ДОСовские имена (имя файла<=8 знаков, точка, расширение<=3 знаков - система "8.3"
Если DOS-прога запущена под Windows, то она, в принципе, имеет возможность работать с длинными именами. ПОнятное дело, не обычным образом, а некоторым оразом "через Альпы".
Дело в том, что Windows через Int 21h дает сервис (который виндовым программам доступен через WIn API) для работы с длинными именами файлов.
Я в свое время написал небольшой модуль (для собственных нужд), где пользовался функциями Ax=7160h (получить короткое или длинное имя файла), Ax = 7156h (переименовать файл).
По идее, и создание файла с указанием длинного имени там тоже должно быть.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

В принципе для любого длинного файла существует DOS Name что-то навроде PROGRA~1 (Program files) только вот само длинное имя файла, кажеться, записывается в первом секторе (512 байт) файла вместе с его аттрибутами.
It's a long way to the top if you wanna rock'n'roll
Ответить