Přidáno 1 560 bajtů,
2. 10. 2012, 21:42 Rozšíří jméno souboru na plně určené jméno souboru.
;Deklarace
function FileExpand(Dest, Name: PChar): PChar;
;Režim
:Windows
;Poznámky
:Rozšíří jméno souboru v Name na plně určené jméno. Výsledek je konvertován na velká písmena a skládá se:
:* z písmena diskové jednotky
:* dvojtečky
:* cesty počínaje hlavním adresářem
:* jména souboru.
:Vložené odkazy na adresáře '.' a '..' jsou vyjmuty a všechna jména a rozšíření jsou zkrácena na 8, resp. 3 znaky. Vrácenou hodnotou je Dest. Dest a Name mohou odkazovat na totéž místo.
:Pokud předpokládáme jako aktuální disk a adresář C:\SOURCE\PAS, pak následující volání [[FileExpand]] budou vracet tyto výsledky:
FileExpand(S, 'test.pas') = 'C:\SOURCE\PAS\TEST.PAS'
FileExpand(S, '..\*.TPW') = 'C:\SOURCE\*.TPW'
FileExpand(S, 'c:\bin\turbo.exe') = 'C:\BIN\TURBO.EXE'
:Funkci [[FileSplit]] lze použít k rozdělení výsledku [[FileExpand]] na řetězec obsahující diskovou jednotku/adresář, řetězec obsahující jméno souboru a řetězec obsahující příponu.
;Viz také
:[[Délky řetězcových částí jména souboru]]
:[[FindFirst]]
:[[FindNext]]
:[[FileSplit]]
:[[TSearchRec]]
Vzorový příklad
{ FileExp.PAS }
{ Vzorový příklad pro funkci FileExpand. }
{ Pro Windows: }
{ uses WinDos, WinCrt; }
uses WinDos;
const
MyFile: PChar = 'TEST.FIL';
var
Where: PChar;
begin
GetMem(Where, 80);
FileExpand(Where, MyFile);
Writeln(MyFile, ' má úplné jméno ', Where,'.');
end.
[[Category:WinDos]]