AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Problem mit Laufwerkstyp erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Laufwerkstyp erkennen

Ein Thema von monty.ms · begonnen am 13. Jul 2006 · letzter Beitrag vom 13. Jul 2006
Antwort Antwort
monty.ms

Registriert seit: 19. Nov 2004
76 Beiträge
 
#1

Problem mit Laufwerkstyp erkennen

  Alt 13. Jul 2006, 18:39
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:
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;
monty
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#2

Re: Problem mit Laufwerkstyp erkennen

  Alt 13. Jul 2006, 19:45
eventuell aktualisiert die riveComboBox nicht gleich ihren Inhalt.

Versuch es mal so:
Code:
DriveComboBox1.ItemIndex := 1;
[b]Application.ProgressMessages;[/b]
drv := Char(DriveComboBox1.Drive);
ich kenn zwar die Propertynamen nicht, aber so könnte es eventuell och gehn.
(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]);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
monty.ms

Registriert seit: 19. Nov 2004
76 Beiträge
 
#3

Re: Problem mit Laufwerkstyp erkennen

  Alt 13. Jul 2006, 20:24
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?!
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Problem mit Laufwerkstyp erkennen

  Alt 13. Jul 2006, 20:42
Versuche mal DriveComboBox1.Items[DrivecomboBox1.ItemIndex] um das Laufwerk zu ermitteln, bzw Statt ItemIndex direkt 1.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
monty.ms

Registriert seit: 19. Nov 2004
76 Beiträge
 
#5

Re: Problem mit Laufwerkstyp erkennen

  Alt 13. Jul 2006, 21:03
also ich habs jetzt so gemacht, da drv vom typ char is muss ich ihn natürlich von string in char umwandeln:

drv := (DriveComboBox1.Items[1])[1]; .. und das funktioniert einwandfrei, danke!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz