![]() |
![]() ![]() ![]() ![]() |
|
Как загрузить иконку CD-ROMDelphi , Файловая система , CD-ROMАвтор: http://www.swissdelphicenter.ch
function GetCDIcon(Drive: Char): TIcon;
var
ico: TIcon;
ini: TIniFile;
s, p: string;
i, j: Integer;
begin
//Abbrechen wenn "AutoRun.Inf" nicht existiert.
//Abort if "AutoRun.inf" doesn't exists.
if FileExists(Drive + ':\autorun.inf') = False then
Exit;
//"AutoRun.inf" offnen
//Opens the "AutoRun.inf"
ini := TIniFile.Create(Drive + ':\autorun.inf');
ico := TIcon.Create;
try
//Dateinamen lesen
//Read the filename
s := ini.ReadString('Autorun', 'ICON', '');
//Abbrechen, wenn kein Icon festgelegt wurde
//Abort if there is no icon specified
if s = '' then
Exit;
//Icon von Datei laden
//load the icon from a file
if FileExists(s) then
ico.LoadFromFile(s);
if FileExists(Drive + ':\' + s) then
ico.LoadFromFile(Drive + ':\' + s);
//Icon aus einer Resource laden
//Load the icon from a Win32 resource
if (FileExists(s) = False) and (FileExists(Drive + ':\' + s) = False) then
begin
for j := (Pos(',', s) + 1) to Length(s) do
begin
p := p + s[j];
end;
i := StrToInt(p);
for j := Length(s) downto (Pos(',', s)) do
Delete(s, j, Length(s));
if FileExists(s) = False then
s := Drive + ':\' + s;
ico.Handle := ExtractIcon(hinstance, PChar(s), i);
end;
Result := ico;
finally
ini.Free;
end;
end;
Функция Delphi, именуемая Сигнатура функции Функция принимает одиночный параметр Инициализация Объявляются следующие переменные:
Основной логик Функция проверяет, существует ли файл "AutoRun.inf" на указанном драйве. Если нет, она выходит. Если файл существует, функция открывает файл "AutoRun.inf" с помощью объекта Затем функция читает значение "ICON" из раздела "Autorun" INI-файла. Если не указана иконка, она выходит. Далее функция пытается загрузить иконку из файла, указанного в значении "ICON". Если файл существует на текущем драйве или указанном драйве (например, "A:\icon.ico"), она загружает иконку с помощью Если файл не существует, функция пытается загрузить иконку из ресурса Win32. Она извлекает идентификатор ресурса из значения "ICON" и использует Возвращаемое значение Функция возвращает загруженную иконку как объект Обработка ошибок В случае ошибки функция освобождает INI-файл с помощью В статье описывается функция GetCDIcon для загрузки иконки CD-ROM из файла AutoRun.inf или ресурса Windows. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||