Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Вниз

узнать букву USB-диска   Найти похожие ветки 

 
batya-x   (2008-07-15 22:35) [0]

как узнать букву съёмного диска, после того как её вставили в usb порт


 
Правильный$Вася   (2008-07-15 22:37) [1]

а если их несколько?
а иногда буква автоматом не назначается (вернее, попадает на занятую другим подключением, напрмер, замапленный сетевой диск)

ps а буквы вставляют?


 
Игорь Шевченко ©   (2008-07-15 22:50) [2]

если на съемном диске несколько разделов то и буков может быть несколько.


 
KilkennyCat ©   (2008-07-15 23:48) [3]

в реестре, наверное, глобал, символьные имена... тогда можно отследить и вышеназванные особенности.


 
batya-x   (2008-07-16 00:15) [4]

что за глобал в реестре, по подробнее можно


 
имя   (2008-07-16 00:45) [5]

Удалено модератором


 
KilkennyCat ©   (2008-07-16 00:55) [6]

по-подробнее не помню. помню, что это NT-имена устройств, вроде.
посмотрите это... там куча всего...
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

или информацию по QuereDosDevice();


 
Denis__ ©   (2008-07-16 14:35) [7]

Гугли. Я в своё время нагуглил.


 
stas ©   (2008-07-16 15:11) [8]

Тут пример как получить список дисков.
Флешка это TDriveType = dtFloppy, но  буква не "A" и не "B"


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   ListBox1: TListBox;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

type TDriveType = (dtUnknown, dtNoDrive, dtFloppy, dtFixed, dtNetwork, dtCDROM,
   dtRAM);

Procedure GetDriveLst (List:TStrings);
var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
GetDriveLst (ListBox1.Items);
end;

Procedure GetDriveLst (List:TStrings);
var
 DriveNum: Integer;
 DriveChar: Char;
 DriveType: TDriveType;
 DriveBits: set of 0..25;

 procedure AddDrive(const Name:string);
 begin
  List.Add(Name);
 end;

begin
 { fill list }
 //Clear;
 Integer(DriveBits) := GetLogicalDrives;
 for DriveNum := 0 to 25 do
 begin
   if not (DriveNum in DriveBits) then Continue;
   DriveChar := Char(DriveNum + Ord("a"));
   DriveType := TDriveType(GetDriveType(PChar(DriveChar + ":\")));
 //  Memo1.Lines.Add(DriveChar)
{    if TextCase = tcUpperCase then   }
     DriveChar := Upcase(DriveChar);

   case DriveType of
     dtFloppy:   AddDrive (DriveChar+":\0");
     dtFixed:    AddDrive(DriveChar+":\1");
     dtNetwork:  AddDrive(DriveChar+":\2");
     dtCDROM:    AddDrive(DriveChar+":\3");
     dtRAM:      AddDrive(DriveChar+":\4");
   end;
 end;
end;
end.


 
Правильный$Вася   (2008-07-16 15:47) [9]


> Флешка это TDriveType = dtFloppy

гибкая флэшка - это здорово
а почему флэшка неможет быть A, если у меня флопа совсем нет? хочу - назначу


 
Игорь Шевченко ©   (2008-07-16 16:03) [10]


> Флешка это TDriveType = dtFloppy, но  буква не "A" и не
> "B"


Я тебя разочарую - даже флоппи может быть не "A" и не "B"


 
stas ©   (2008-07-17 13:10) [11]

Правильный$Вася   (16.07.08 15:47) [9]
Значит у тебя работать данный код небудет.


 
Правильный$Вася   (2008-07-17 14:38) [12]


> Значит у тебя работать данный код небудет.

в топку такие коды


 
stas ©   (2008-07-17 15:16) [13]

Правильный$Вася   (17.07.08 14:38) [12]
так опубликуйте альтернативный.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.101 c
3-1204279537
Ega23
2008-02-29 13:05
2008.08.24
Добавить GUID в базу


6-1192557976
Rembo
2007-10-16 22:06
2008.08.24
TIdIcmpClient количество посланных байт


15-1215461152
maxon
2008-07-08 00:05
2008.08.24
Никто не хочет написать НОВУЮ статью про оптимизацию?


15-1214155063
Галинка
2008-06-22 21:17
2008.08.24
Asus Eee PC 900


2-1216215791
savyhinst
2008-07-16 17:43
2008.08.24
TComponentName = type string;





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский