Announcement

Collapse
No announcement yet.

GetDriveType bitte Hilfe Source anbei

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • GetDriveType bitte Hilfe Source anbei

    Hallo! Ich möchte alle freie Netzlaufwerke in einer Combo anzeigen. Soweit ist auch alles i.o. Nur sind am anfang die Anzahl der bereits benutzten Laufwerke mit drin. Wie zeige ich nur die freien an ? Ohne Leere am Anfang der Combo ??

    Hier mein Sample:
    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    ComboBox1: TComboBox;
    procedure FormCreate(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.FormCreate(Sender: TObject);
    var
    i2 : integer;
    i : byte;
    result : String;
    begin
    i := 99;
    result := ' ';
    for i2 := 0 to 22 do begin
    begin
    if getdrivetype(Pchar(chr(i)+':\'))=1 then
    result := chr(i);
    ComboBox1.Items.Add(uppercase(result));
    inc(i);
    end;
    end;
    end;

    end.

    Danke!

  • #2
    result ist kein guter Name fuer eine Variable. Result ist in Funktionen bereits vorbelegt, deshalb sollte man ihn in Prozeduren meiden.
    Deine Schleife sollte von 'A' bis 'Z' laufen. Was soll die 99? Da sind viel zu viele unnuetze Variablen

    Comment


    • #3
      Hallo,

      vielleicht solltest Du auch vorher prüfen, welche Laufwerk überhaupt vorhanden sind. Ich denke es ist sinnlos Laufwerke zu ermitteln, die nicht vorhanden sind und bei manchen Laufwerken kann das auch heißen, dass sie zuerst einmal "angeheizt" werden müssen. Feststellen, welche Laufwerke vorhanden sind, kannst Du mit GetLogicalDrives oder GetLogicalDrivesStrings

      Gruß, Marti

      Comment

      Working...
      X