unit uModyfikowanieNazwPlików;
{
Tytuł tego artykułu trochę mi nie
wyszedł i dla wielu z Was może być on nie jasny. Więc na początku
wytłumaczę o co biega. Często, gdy korzystamy z obiektu TOpenDialog lub
TSaveDialog, dostajemy pełną nazwę pliku. Dzięki temu artykułowi
dowiecie się jak podczas działania programu np.: z nazwy pliku
dowiedzieć się w jakim katalogu znajduje się plik, jakie ma
rozszerzenie, jak brzmi sama nazwa pliku itp.
No, skoro już wszystko wiemy to zaczynamy.
Aha, wszystko podane niżej to funkcje. Co to jest? Nie wiecie??? To nie
dobrze. Najwyraźniej nie chciało się Wam czytać kursu chociażby
Pascala, nie mówiąc już o Object Pascalu.
function ChangeFileExt(const NazwaPliku, Rozszerzenie: string): string;
zmienia rozszerzenie pliku na podane przez nas pod zmienną
Rozszerzenie. Ta funkcja nie zmienia rozszerzenia pliku tylko umożliwia
utworzenie nowego pliku o podanym rozszerzeniu.
Przykład:
nazwa:=ChangeFileExt(nazwa, '.html');
|
Z nazwy 'C:\Mój Internet\index.htm' zmienimy ją na
'C:\Mój Internet\index.html'.
function ExpandFileName(const FileName: string): string;
z krótkiej nazwy pliku (np.: ..\index.html') zmieniamy ją na
dłuższą (np.: C:\Mój Internet\index.html) od bieżącego katalogu, który
możemy ustawić za pomocą procedury ChDir.
Przykład:
nazwa := ExpandFileName(nazwa);
|
Z nazwy '..\strony\index.html' możemy ją zmienić na
'C:\Mój Internet\strony\index.html'.
function ExpandUNCFileName(NazwaPliku: String):String;
j/w wyżej, ale w formacie UNC (?).
function ExtractFileDir(NazwaPliku: String): String;
podaje katalog, w którym znajduje się plik.
Przykład:
katalog := ExtractFileDir(nazwa);
|
Z nazwy 'C:\Programy\edytor.exe' dostajemy 'C:\Programy'.
function ExtractFileDrive(NazwaPliku: String): String;
podaje katalog, w którym znajduje się plik o podanej nazwie.
Przykład:
dysk := ExtractFileDrive(nazwa);
|
Gdy podamy nazwę 'C:\Programy\Chamskie :)\formater.exe' otrzymamy 'C:'.
function ExtractFileExt(NazwaPliku: String): String;
otrzymujemy rozszerzenie pliku o podanej nazwie.
Przykład:
rozszerzenie := ExtractFileExt(nazwa);
|
Po podaniu nazwy otrzymujemy rozszerzenie i kropkę przed rozszerzeniem, np.: '.htm'.
function ExtractFileName(NazwaPliku: String); String;
funkcja ta podaje samą nazwę pliku.
Przykład:
nazwa := ExtractFileName(nazwa);
|
Gdy podamy nazwę pliku wraz z jego katalogiem w jednej zmiennej,
funkcja poda nam samą nazwę, np.: 'index.htm'. Funkcja ta jest
przydatna, gdy chcemy w naszym formularzu wyświetlić nazwę pliku bez
zbędnych danych, które zapychają nam nagłowek, czyli dysk i katalog.
function ExtractFilePath(NazwaPliku: String): String;
mniej więcej to to samo co funkcja ExtractFileDir, ale na końcu nazwy dodaje '\'.
Przykład:
katalog := ExtractFilePath(nazwa);
|
Po podaniu nazwy 'C:\Program Files\Star Office\star.exe' otrzymamy 'C:\Program Files\Star Office\'.
function ExtractRelativePath(Katalog, NazwaPliku: String): String
"skraca" nazwę pliku do postaci jaką znają wszyscy HTML-owcy. Jeśli dalej nie rozumiesz looknij niżej.
Przykład:
skrot := ExtractRelativePath(katalog, nazwa);
|
Z nazwy 'C:\Mój Internet\Strona\Grafika\logo.gif' i katalogu 'C:\Mój
Internet\Strona\' otrzymamy zmienną z wartością równą
'Grafika\logo.gif'. Drugi przykład: z nazwy 'C:\Mój
Internet\Strona\index.html' i katalogu 'C:\Mój
Internet\Strona\Podstrona\' otrzymamy '..\index.html. Rozumiecie?
To by było na tyle :).
Autor: PC
|