here is the full code of the procedure var d :char; dletter :string; begin drive:=ExtractFileDrive(Application.ExeName)+'\'; for d:='A' to 'Z' do begin dletter:=d+':\'; case GetDriveType(PChar(d+':\'))of Drive_Fixed: Memo1.Lines.Add(dletter+DiskFree(dletter)' Bytes Free'); end; end; end; any help on how to make it work incompatible type byte and strings ... Brendon Toogood E-Mail [EMAIL PROTECTED] --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/