![]() |
Problem mit Laufwerkstyp erkennen
Hallo,
ich habe folgendes Probleme: Ich will, wie in dem Beispiel unten, den Typ des Laufwerks im Label1 darstellen lassen. Der ItemIndex ist am Anfang 0. Er wechselt also erst wenn die Prozedur ausgeführt wird. Aber aus irgendeinem Grund zeigt er mir trotzdem den Typ vom Index 0 an, obwohl man sieht, dass er gewechselt hat, da dass zweite Laufwerk angezeigt wird. Hat einer ne Idee wieso? Wenn ich den ItemIndex manuell änder (also einfach direkt an der DriveComboBox ändern) dann zeigt er mir den richtigen Typ an. Danke
Delphi-Quellcode:
monty
procedure TForm1.Button1Click(Sender: TObject);
VAR drv_type : Integer; drv : Char; a : String; begin DriveComboBox1.ItemIndex := 1; drv := Char(DriveComboBox1.Drive); drv_type := GetDriveType(PChar(drv+':\')); Case drv_type of DRIVE_UNKNOWN: a := '1'; DRIVE_REMOVABLE: a := '2'; DRIVE_FIXED: a := '3'; DRIVE_REMOTE: a := '4'; DRIVE_CDROM: a := '5'; DRIVE_RAMDISK: a := '6'; end; Label1.Caption := a; |
Re: Problem mit Laufwerkstyp erkennen
eventuell aktualisiert die riveComboBox nicht gleich ihren Inhalt.
Versuch es mal so:
Code:
ich kenn zwar die Propertynamen nicht, aber so könnte es eventuell och gehn.
DriveComboBox1.ItemIndex := 1;
[b]Application.ProgressMessages;[/b] drv := Char(DriveComboBox1.Drive); (für DriveList muß natürlich der richtige Name der Laufwerkliste eingefügt werden)
Delphi-Quellcode:
DriveComboBox1.ItemIndex := 1;
drv := Char(DriveComboBox1.DriveList[DriveComboBox1.ItemIndex]); |
Re: Problem mit Laufwerkstyp erkennen
ich hab das eben mal probiert, und mit Application.ProcessMessages funktioniert das auch nicht..
das mit der DirList, versteh ich nicht ganz.. der listet dann nur die Verzeichnissse des Laufwerks in der DirectoryListBox auf, oder?! |
Re: Problem mit Laufwerkstyp erkennen
Versuche mal
Delphi-Quellcode:
um das Laufwerk zu ermitteln, bzw Statt ItemIndex direkt 1.
DriveComboBox1.Items[DrivecomboBox1.ItemIndex]
Florian |
Re: Problem mit Laufwerkstyp erkennen
also ich habs jetzt so gemacht, da drv vom typ char is muss ich ihn natürlich von string in char umwandeln:
Delphi-Quellcode:
.. und das funktioniert einwandfrei, danke!
drv := (DriveComboBox1.Items[1])[1];
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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