![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
Alex |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Можно ди как-нибудь в Паскале сделать так, чтобы имя файла было не 8 символов, а больше, хотя бы 16, но конечно лучше больше.
|
GLuk |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Стандартными функциями - нет.
|
Alex |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
А нестандартными??
|
Ivs |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 209 Репутация: ![]() ![]() ![]() |
Ну здесь Паскаль совсем не виноват это во всех dos программах....
Вообще-то длина файла в дос до 80 символов , ну это естественно вместе с путем к нему, а имя самого файла 8 символов + 3 на расширение, длинные имена стали доступны только с появлением ОС Windows, и из нее (в режиме эмуляции дос) в принципе можно обращаться к файлам и каталогам с длинными именами , для этого просто нужно брать их в кавычки, ну а так собснно, думаю, - нет. Вобщем вот такие пироги. -------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
Vit |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 156 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нельзя
-------------------- With the best regards Vit
Все всегда уезжают навсегда. Вернуться невозможно-вместо нас всегда возвращается кто-то другой |
GLuk |
![]()
Сообщение
#6
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Работай с FAT под голой ДОС, а то винда ругается...и зачем тебе это надо?
|
Alex |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Цитата ...и зачем тебе это надо? Да нужно программу написать, которая будет вытаскивать имя файла и записывать его в другой файл, а имена файлов в основном длинные.Собственно я нашел одну интересную штучку: USES Strings; type TSearchRec = record attr : longint; creation : comp; lastaccess : comp; lastmodification : comp; highfilesize : longint; lowfilesize : longint; reserved : comp; name : array[0..259] of char; shortname : array[0..13] of char; handle : word; end; const faReadOnly = $01; faHidden = $02; faSysFile = $04; faVolumeID = $08; faDirectory = $10; faArchive = $20; faAnyFile = $3F; function findfirst(filespec:string;attr:word;var S:TSearchRec):integer; begin filespec := filespec + #0; S.attr := attr; asm push ds push ss pop ds lea dx,filespec+1 les di,S mov ax,$714e mov cx,attr mov si,0 int $21 les di,S mov word ptr es:[di+TSearchRec.handle], ax jc @1 xor ax,ax @1: mov @result,ax pop ds end; end; function FindNext(var S:TSearchRec):integer; begin asm mov ax,$714f mov si,0 les di,S mov bx,word ptr es:[di+TSearchRec.Handle] int $21 jc @1 xor ax,ax @1: mov @result,ax end; end; function FindClose(var S:TSearchRec):integer; begin asm mov ax,$71a1 les di,S mov bx,word ptr es:[di+TSearchRec.Handle] int $21 jc @1 xor ax,ax @1: mov @result,ax end; end; procedure ShowLongNames(const path:string); var S : TSearchRec; Res : Integer; begin Res := findfirst(path+'*.*',faAnyFile-faVolumeID,S); while Res = 0 do begin with S do begin if (S.Attr and faDirectory) <> 0 then begin if (StrComp(Name,'.') <> 0) and (StrComp(Name,'..') <> 0) then begin if ShortName[0] <> #0 then ShowLongNames(path+''+StrPas(ShortName)) else ShowLongNames(path+''+StrPas(Name)); end; end; if ShortName[0] <> #0 then writeln('ren ',path+''+StrPas(ShortName),' "',name,'"'); end; Res := FindNext(S); end; FindClose(S); end; var x : integer; begin showlongnames('D:'); end. На как сделать поиск файлов(*.mp3) вот с такой фигней пока не догадался! |
AlaRic |
![]()
Сообщение
#8
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Может легче сократить имена файлов?!
|
![]() ![]() |
![]() |
Текстовая версия | 12.02.2025 11:15 |