whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1545)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (127)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (268)
VCL (243)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

34 Visitors Online


 
...load the CD-ROM icon?
Autor: Horst Kniebusch
Homepage: http://www.the-admin.de.vu
[ Print tip ]  

Tip Rating (6):  
     


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" öffnen
  //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;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners