![]() |
Re: Laufwerkbuchstaben auslesen
Hm also den versteh ich nicht. Würde gern mit dem Code weiterarbeiten:
Delphi-Quellcode:
Aber ich weiss nich wie ich das in ein Array speichere und als Variable weiter verwenden kann :/
var
Drive:Char; begin for Drive := 'A' to 'Z' do begin case GetDriveType(PChar(Drive + ':/')) of DRIVE_FIXED: ComboBox1.Items.Add(Drive+':\'); end; end; |
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:
...:cat:...
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; |
Re: Laufwerkbuchstaben auslesen
Ich weiss nicht ob du das getestet hast aber bei mir kommt folgender Fehler:
Delphi-Quellcode:
. erwartet aber ; gefunden.. :/
..
.... ..... if Length(Drives) > 0 then for Idx := Low(Drives) to High(Drives) do WriteLn(Drives[Idx]); end; var blabla ...das Programm darf an dieser Stelle nich zuende sein =) |
Re: Laufwerkbuchstaben auslesen
Zitat:
|
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 |
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. |
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