AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Anzahl physischer Laufwerke. Ohne .NET
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl physischer Laufwerke. Ohne .NET

Ein Thema von FragenderHerbert · begonnen am 19. Nov 2014 · letzter Beitrag vom 19. Nov 2014
Antwort Antwort
FragenderHerbert

Registriert seit: 4. Dez 2013
47 Beiträge
 
#1

Anzahl physischer Laufwerke. Ohne .NET

  Alt 19. Nov 2014, 19:32
Die DriveInfo.GetDrives-Methode scheint zum .NET Framework zu gehören.

Gibt es eine Win API Funktion dafür oder eine Delphi Methode?

Es geht leider immer noch um das hier:

http://www.delphipraxis.net/182804-w...ml#post1280376

Ich habe beim Debuggen eine Funktion ReadDirectories gefunden, die irgendwann die Exception wirft, aber zunächst anstandslos leist. Deshalb glaube ich, das ich eine Funktion brauche, die mir die tatsächliche Anzahl meiner Laufwerkr ermittelt, damit nur von da gelesen wird und da möglichst nur, wenn das LAufwerk auch bereit ist gelesen zu werden.

Wie macht Ihr das normalerweise. Meine Unit scheint grundsätzlich fehlerhaft zu sein.

Ich habe aber den Ehrgeiz, den Fehler beheben zu wollen.

Mag ja sein, das der Delphi eigene DirectoryDialog besser arbeitet, aber der ist auch irgendwann mal entwickelt worden und ich will jetzt in meiner Unit den Fehler beheben. Sei es auch mit einem Workaround.

Den Workaround stelle ich mir so vor, das ich nur auf die wirklich vorhandenen Laufwerke zugreife und prüfe ob diese Laufwerke auch zum Zugriff bereit sind.

Aber leider weiß ich die Namen der passenden Funktionen nicht.


Kann mir jemand helfen. In der Unit schu ich dann selber nach.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Anzahl physischer Laufwerke. Ohne .NET

  Alt 19. Nov 2014, 19:50
Meinst du so was: http://www.swissdelphicenter.ch/torr...ode.php?id=562
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Anzahl physischer Laufwerke. Ohne .NET

  Alt 19. Nov 2014, 20:36
Oder MSDN-Library durchsuchenGetLogicalDrives.

Solange es nur um Laufwerksbuchstaben ala A: bis Z: geht und nicht um sonstige Moint-Points an anderen Stellen.

[edit]
das sind nur gemounte Partitionen, genauso wie das GetLogicalDriveStrings.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (19. Nov 2014 um 21:40 Uhr)
  Mit Zitat antworten Zitat
FragenderHerbert

Registriert seit: 4. Dez 2013
47 Beiträge
 
#4

AW: Anzahl physischer Laufwerke. Ohne .NET

  Alt 19. Nov 2014, 21:12
Danke @Luckie. Genau das hab ich gesucht!

@himitsu: Danke auch Dir.

Ich kann sogar beides gebrauchen, einmal zum Ermitteln der vorhandenen Laufwerke und dann die andere Funktion um die Laufwerke anzuzeigen.

  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Anzahl physischer Laufwerke. Ohne .NET

  Alt 19. Nov 2014, 21:42
Ach ja, das sind nicht die "physikalischen" Laufwerke.

* Laufwerke können mehrere Partitionen enthalten
* nicht alle Partitionen müssen gemountt sein
* man kann Partitionen auch mehrfach mounten
* man muß sie nicht als Laufwerksbuchstabe mounten, sondern kann sie sogar als Verzeichnis in eine andere NTFS-Partition mounten
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 19:32 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