Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Laufwerkbuchstaben auslesen (https://www.delphipraxis.net/87487-laufwerkbuchstaben-auslesen.html)

-187- 1. Mär 2007 12:35

Re: Laufwerkbuchstaben auslesen
 
Hm also den versteh ich nicht. Würde gern mit dem Code weiterarbeiten:

Delphi-Quellcode:
var
  Drive:Char;
begin
  for Drive := 'A' to 'Z' do
  begin
   case GetDriveType(PChar(Drive + ':/')) of
   DRIVE_FIXED: ComboBox1.Items.Add(Drive+':\');
  end;
  end;
Aber ich weiss nich wie ich das in ein Array speichere und als Variable weiter verwenden kann :/

sakura 1. Mär 2007 12:43

Re: Laufwerkbuchstaben auslesen
 
Es kann mit all den genannten Stichworten doch nicht so schwer zu sein, sich ein bisschen damit zu befassen oder :shock: Wir haben alle mal angefangen...
Delphi-Quellcode:
var
  Drive: Char;
  Drives: array of string;
  Idx: Integer;
begin
  SetLength(Drives, 0);
  Idx := 0;
  for Drive := 'A' to 'Z' do
  begin
    if GetDriveType(PChar(Drive + ':/')) = DRIVE_FIXED then
    begin
      SetLength(Drives, Idx + 1);
      Drives[Idx] := Drive + ':\';
      Idx := Idx + 1;
    end;
  end;

  if Length(Drives) > 0 then
    for Idx := Low(Drives) to High(Drives) do
      WriteLn(Drives[Idx]);
end;
...:cat:...

-187- 1. Mär 2007 13:07

Re: Laufwerkbuchstaben auslesen
 
Ich weiss nicht ob du das getestet hast aber bei mir kommt folgender Fehler:

Delphi-Quellcode:
..
....
.....
  if Length(Drives) > 0 then
    for Idx := Low(Drives) to High(Drives) do
      WriteLn(Drives[Idx]);
end;

var blabla
. erwartet aber ; gefunden.. :/

...das Programm darf an dieser Stelle nich zuende sein =)

p0w3r5tr34m3r 1. Mär 2007 13:09

Re: Laufwerkbuchstaben auslesen
 
Zitat:

Zitat von -187-
Ich weiss nicht ob du das getestet hast aber bei mir kommt folgender Fehler:

Delphi-Quellcode:
..
....
.....
  if Length(Drives) > 0 then
    for Idx := Low(Drives) to High(Drives) do
      WriteLn(Drives[Idx]);
end;

var blabla
Anweisung erwartet aber var gefunden.. :/

dann nimm mal das var blabla raus

-187- 1. Mär 2007 13:11

Re: Laufwerkbuchstaben auslesen
 
Hab mein Beitrag nochma editiert. Der Fehler kommt:

. erwartet aber ; gefunden..

Das Programm geht ja noch weiter ich kann da kein end. hinsetzen...


Hier nochma der Code

Delphi-Quellcode:
....
....
  if Length(Drives) > 0 then
    for Idx := Low(Drives) to High(Drives) do
      WriteLn(Drives[Idx]);
end;
//

////Get System Directory Function
function GetSysDir: String;
var
  Dir : array [0..MAX_PATH+1] of Char;
begin

bitsetter 1. Mär 2007 16:53

Re: Laufwerkbuchstaben auslesen
 
Hallo,

also ich habe das Problem etwas anders gelöst, für dein 'A'..'Z' kannst du auch die Funktion GetLogicalDriveStrings() nehmen. Folgendes funktionierte jedenfalls bei mir:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  Windows;

var
  Drives: Array of Array[0..3] of Char;
  i: integer;
begin
  SetLength(Drives, 26);
  SetLength(Drives, GetLogicalDriveStrings(length(Drives), @Drives[0]) div 4);

  for i:= Low(Drives) to High(Drives) do
  if GetDriveType(PChar(String(Drives[i])))= DRIVE_FIXED then
    system.Writeln(String(Drives[i]));
end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz