Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Stefano - Agosto 09, 2012, 03:36:04 pm

Titolo: Leggere Device collegati
Inserito da: Stefano - Agosto 09, 2012, 03:36:04 pm
Queste righe mi restituiscono, i Drive fisici presenti nel Pc.
ma vale per Windows, infatti devo usare Windows nelle uses.

E per linux, si puo' fare qualcosa di simile alla funzione GetDriveType(PChar(DriveLetter)).
Codice: [Seleziona]
procedure TForm1.Button4Click(Sender: TObject);
var
  Drive: Char;
  DriveLetter: string;
begin
  ListBox2.Clear;

  for Drive := 'A' to 'Z' do
  begin
    DriveLetter := Drive + ':\';

    case GetDriveType(PChar(DriveLetter)) of
     DRIVE_REMOVABLE: ListBox2.Items.Add(DriveLetter + ' Mobile Drive');
     DRIVE_FIXED:     ListBox2.Items.Add(DriveLetter + ' Fixed Drive');
     DRIVE_REMOTE:    ListBox2.Items.Add(DriveLetter + ' Network Drive');
     DRIVE_CDROM:     ListBox2.Items.Add(DriveLetter + ' CD-ROM Drive');
     DRIVE_RAMDISK:   ListBox2.Items.Add(DriveLetter + ' RAM Disk');
    end;
  end;
end;
Titolo: Re:Leggere Device collegati
Inserito da: Stilgar - Agosto 09, 2012, 04:05:13 pm
linux ha un file system simil unix.
Manca proprio il concetto di Driver sotto unix.
Sotto unix puoi vedere come file anche i processi.... è proprio un altro mondo quello linux/unix rispetto a quello window.
Titolo: Re:Leggere Device collegati
Inserito da: nomorelogic - Agosto 10, 2012, 12:40:18 pm
dovresti analizzare il risultato del comando
Codice: [Seleziona]
mount

in questo modo hai il device ed anche dove è montato sul filesystem, solo devi attrezzarti in quanto sotto linux si possono montare un sacco di cose sul filesystem (ad esempio sito ftp, disco virtuale di una virtual machine (spenta ;) ), cartelle condivise di altri pc in giro per il mondo, ecc...)