AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DiskFree/DiskSpace DOS HDD>2GB

Ein Thema von TUX_der_Pinguin · begonnen am 31. Jan 2007 · letzter Beitrag vom 31. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 12:18
Hallo,

ich habe mir ein kleines Programm geschrieben (Borland Turbo Pascal 7), welches von einer Windows98 Bootdiskette gestartet wird
und mir angaben über ein Laufwerk macht. Im Detail Größe und Freier Speicherplatz. Jetzt gibt es 2 Funktionen die mir
diese Informationen liefern, "DiskFree" und "Diskspace" jedoch ist mir klar das diese nur funktionieren bei Partitionen kleiner
2GB. Jetzt meine Frage wie man dennoch an die Informationen rann kommt, ich habe im Internet einige Dinge gefunden in richtung
Assembler jedoch kann ich dieses nicht, und fertige Beispiele konnte ich nicht finden.

Hat jemand von euch da evtl. etwas auf Lager was man verwenden kann? Also im Großen und ganzen möchte ich ein Programm haben
was von einer Windows98 Bootdiskette aka MS DOS ausgeführt werden kann.

mfg

TUX_der_Pinguin
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 12:24
Hallo,

nur über die neuen Windows-Funktionen.
Die könnte man auch per DLL-Imports (Stichwort: thunking) unter Dos benutzen,
aber über DOS denke ich nicht mehr nach ...


Heiko
Heiko
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 12:31
Hallo,

die erweiterte API Funktion GetDiskFreeSpaceEx() kommt mit mehr als 2GB zurecht und wird laut PSDK auch von Win98 unterstützt.

Grüße vom marabu
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 12:34
@hoika: Naja das wäre dann doch etwas zu aufwendig und kompliziert ...

@marabu: Das ist mir auch klar, jedoch geht es um eine Windows98 "BOOTDISK" was also DOS ist und da laufen nun mal keine 32Bit Programme ....
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 13:12
Theoretisch könnte man über GetDiskFreeSpace immernoch an das richtige Ergebnis rankommen
SectorSize * Anzahl der freien Sektoren,
aber leider geht das nicht, da MS in dieswer Funktion nicht die tatsächlich freien Sektoren ausgibt, sondern diese intern nur aus dem freiem Speicher und der Sektorgröße ausrechnet.

Jedoch gibt es ja noch andere Funktionen, über welche man an die Anzahl der (freien) Sektoren rankommt (auch schon unter Win9x) ... damit kannst du dann ja selber zusammenrechnen


Und falls du dennoch nicht fündig wirst:
Win9x/DOs kennt ja "nur" FAT, da kannst'e ja notfalls och die 1. FAT auslesen und selber nachzählnen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 13:28
Hallo,

das Win98-DOS sollte Int21H function 440DH minor function 60H verstehen: klick

Und zusammen mit der BP7 Dokumentation ist das dann auch ohne tiefere Assembler Kenntnisse machbar.

Freundliche Grüße
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 13:43
Hi,

also eine ähnnliche Seite habe ich auch gefunden das aber nicht geschafft das umzusetzen ... ich hab keinen Plan von
Assembler und wie man den in Turbo Pascal einsetzt.

mfg

TUX
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 13:49
Ich habe leider gerade kein Handbuch von BP7 zur Hand, aber findest du für die Funktion MSDOS() keinen Eintrag in der Hilfe?
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 13:51
Ich schau mir das nachher mal an ob ich da was zurecht gebastelt bekomme.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: DiskFree/DiskSpace DOS HDD>2GB

  Alt 31. Jan 2007, 13:54
Hier noch ein Link: klick

Schau mal unter "Systemnahes Programmieren"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:38 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