Помощь - Поиск - Пользователи - Календарь
Полная версия: длина строк и файлов
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
_92
можно ли в паскале работать...
1. со строками более 255 символов
2. с именами файлов более 8 символов
klem4
1) http://forum.pascal.net.ru/index.php?showtopic=2361 читай про PChar
Atos
Цитата
2. с именами файлов более 8 символов

В TurboPascal - нет sad.gif , он DOSовский
Зато в VirtualPascаl можно, не говоря уже о FreePascal и Delphi
klem4
проще говоря в 32-х битных паскалях можно ;)
volvo
Цитата(Atos @ 21.04.05 9:41)
В TurboPascal - нет  sad.gif  , он DOSовский

Правильно, но не совсем... Дело в том, что и ТР может работать с длинными именами файлов. Другое дело, что там односторонняя работа получается: уже существующий файл может быть прочитан и перезаписан, но вот создать новый с длинным именем - невозможно...
_92
а как же тогда прочитать файл с длиным именем? - мне нужно следующее: запись всех имен файлов и папок в файл (в том числе имена >8 символов)
--
p.s. в смысле, если считывать длинное имя, то получится что-то вроде "моидок~1" вместо "мои документы" - так как различать тогда "мои документы 1" и "мои документы 2", если в итоге и то, и другое получится как "моидок~1"?..
--
p.p.s. volvo и volvo877 - это один и тот же человек? smile.gif
--
Romtek
У меня пишет "Longnames not supported." на Windows XP, зато в 98-ом работало.
uses WinDOS, lfn;

Const
ext='.pas';

var
k: integer;
SR: TLFNSearchRec;

begin
if not SupportsLFN then
begin
writeln ('Longnames not supported.');
halt;
end;

k:=LFindFirst(ext, faArchive, SR);
if k<>0 then
begin
writeln ('No such files in this path.');
halt;
end;

while k=0 do
begin
writeln (SR.Name);
k:=LFindNext(SR);
end;
end.

Модуль прикреплён.

Короче, качай компилятор FPC и не парься!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.