Avatar billede michdan Nybegynder
14. september 2003 - 11:15 Der er 8 kommentarer og
1 løsning

læse og skrive til USB memory stick

jeg søger et eksempel/info på hvordan man kan læse/skrive til og fra en USB memory stik.

Hvordan ser jeg om USB enheden er tilstede ?

mvh
michael
Avatar billede spil-eksperten Nybegynder
14. september 2003 - 11:18 #1
der plejer at hoppe et lille vindue op i højre hjørne: ny enhed tilsluttet, + du kan vist nok se den inde i denne-computer
Avatar billede thesurfer Nybegynder
14. september 2003 - 11:34 #2
nu programmere jeg godt nok i vb, men jeg ville løbe drevene igennem og checke hvad de er..
eks.: removable, harddisk, cdrom
du ved at dit diskette drev (som er removable) er A:.. hvis der så er et andet drev som er removable, f.eks. g:, er det nok ikke diskette drevet.. hellere ikke harddisk eller cdrom..

jeg mener at det er sådan man "populater" en combobox med drevene (bogstaver og label)..

bare et forslag..
Avatar billede michdan Nybegynder
14. september 2003 - 11:41 #3
men hvordan kan se om et drev er removable, harddisk, cdrom o.lign. ?
Avatar billede snowball Novice
14. september 2003 - 12:06 #4
Ved at bruge nedenstående finder du først alle tilgængelige drev og derefter hvilken type de er.

function GetDriveTypes(Drive: String): String;
var
  typ: Integer;
  s:  string;
begin
  s  := Drive;
  typ := GetDriveType(PChar(s));
  if Typ <> 0 then case typ of
      DRIVE_REMOVABLE:
        begin
          Result := Drive + ' = Drive Removable / Diskette';
        end;
      DRIVE_FIXED:
        begin
          Result := Drive + ' = Drive fixed / Harddrive';
        end;
      DRIVE_CDROM:
        begin
          Result := Drive + ' = CD ROM Drive';
        end;
      DRIVE_RAMDISK:
        begin
          Result := Drive + ' = RAM Drive';
        end;
      DRIVE_REMOTE:
        begin
          Result := Drive + ' = Remote Drive / Network drive';
        end;
    end;
end;

procedure GetDrives;
const
  DRIVE_UNKNOWN = 0;
  DRIVE_NO_ROOT_DIR = 1;
  DRIVE_REMOVABLE = 2;
  DRIVE_FIXED = 3;
  DRIVE_REMOTE = 4;
  DRIVE_CDROM = 5;
  DRIVE_RAMDISK = 6;
var
  r: LongWord;
  Drives: array[0..128] of char;
  pDrive: PChar;
begin
  r := GetLogicalDriveStrings(SizeOf(Drives), Drives);
  if r = 0 then Exit;
  if r > SizeOf(Drives) then
    raise Exception.Create(SysErrorMessage(ERROR_OUTOFMEMORY));
  pDrive := Drives;
  while pDrive^ <> #0 do
  begin
    if (GetDriveType(pDrive) = DRIVE_FIXED) OR (GetDriveType(pDrive) = DRIVE_REMOVABLE) OR (GetDriveType(pDrive) = DRIVE_REMOTE) OR
      (GetDriveType(pDrive) = DRIVE_CDROM) then
        Form1.ListBox1.Items.Add(GetDriveTypes(pDrive));

    Inc(pDrive, 4);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Getdrives;
end;

Snowball
Avatar billede michdan Nybegynder
14. september 2003 - 14:45 #5
takker snowball.....

Ved du også hvordan man kan checke hvornår der indsættes en USB memory stick ?
Avatar billede michdan Nybegynder
14. september 2003 - 14:48 #6
og hvordan man skriver/læser til/fra en USB memory stick ?
Avatar billede snowball Novice
14. september 2003 - 15:03 #7
Umiddelbart vil jeg tro at du bare kan kopiere filerne som hvis det var en normal harddisk da jeg mener at en memory stick vil fremstå som et selvstændigt drev !? Er ikke sikker da jeg aldrig har haft en selv, men hvis den kommer frem som et drev, så er det jo bare at kopiere filer som normalt. (Brug evt. Borrisholts FileHandling http://www.borrisholt.com/FileIO/DelphiSource/Filehandling.zip)

Snowball
Avatar billede michdan Nybegynder
14. september 2003 - 15:13 #8
takker for svaret.......hvordan skal jg give dig point når det kun er en kommentar ?
Avatar billede snowball Novice
14. september 2003 - 16:22 #9
Nu kan du give mig point :)

Snowball
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging